.page-width{width:min(100%, var(--content-width,1600px));padding-inline:var(--page-padding,48px);margin-inline:auto}.cv-page{background:var(--surface)}.section-label{color:var(--blue);letter-spacing:.07em;text-transform:uppercase;margin:0 0 12px;font-size:13px;font-weight:750}.cv-header{border-bottom:1px solid var(--border);padding-block:clamp(64px,8vw,110px) clamp(44px,5vw,70px)}.cv-header h1{color:var(--text);letter-spacing:-.065em;margin:0;font-size:clamp(42px,5vw,70px);font-weight:760;line-height:.97}.cv-header__text{max-width:580px;color:var(--text-muted);margin:28px 0 0;font-size:15px;line-height:1.75}.cv-timeline-section{padding-block:clamp(46px,5vw,74px) clamp(65px,7vw,100px)}.timeline{padding-block:8px;position:relative}.timeline:before{background:var(--border);content:"";width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-entry{width:100%;margin-bottom:38px;display:flex;position:relative}.timeline-entry:last-child{margin-bottom:0}.timeline-entry--left{justify-content:flex-start}.timeline-entry--right{justify-content:flex-end}.timeline-entry__content{border:1px solid var(--border);border-radius:8px;width:calc(50% - 48px);padding:24px 24px 22px;transition:transform .16s,border-color .16s,box-shadow .16s;position:relative}.timeline-entry__dot{background:var(--surface);border:2px solid var(--blue);width:13px;height:13px;box-shadow:0 0 0 5px var(--surface);border-radius:50%;position:absolute;top:27px;left:50%;transform:translate(-50%)}.timeline-entry__period{color:var(--blue);letter-spacing:.07em;text-transform:uppercase;margin-bottom:14px;font-size:11.5px;font-weight:750;display:inline-block}.timeline-entry__content h3{color:var(--text);letter-spacing:-.02em;margin:0;font-size:15px;font-weight:700;line-height:1.4}.timeline-entry__subtitle{color:var(--text);margin:6px 0 0;font-size:12.5px;font-weight:600;line-height:1.55}.timeline-entry__description{color:var(--text-muted);margin:14px 0 0;font-size:14px;line-height:1.75}.timeline-entry--study .timeline-entry__content{border-color:#1557ff2e}.timeline-entry__document-link{width:fit-content;color:var(--blue);letter-spacing:.02em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;margin-top:18px;padding:0;font-size:11.5px;font-weight:700;transition:color .16s;display:inline-flex}.timeline-entry__document-link span:last-child{font-size:15px;transition:transform .16s}.timeline-entry__document-link:hover span:last-child{transform:translate(3px)}a.timeline-entry__document-link:hover span:last-child{transform:translate(3px,-2px)}.grades-dialog{width:min(100% - 40px,580px);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:0;box-shadow:0 30px 90px #0000002e}.grades-dialog:not([open]){display:none}.grades-dialog::backdrop{backdrop-filter:blur(3px);background:#00000073}.grades-dialog__inner{width:100%}.grades-dialog__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:30px;padding:28px 28px 24px;display:flex}.grades-dialog__header .section-label{margin-bottom:9px}.grades-dialog__header h2{color:var(--text);letter-spacing:-.04em;margin:0;font-size:clamp(25px,2.5vw,34px);font-weight:720;line-height:1.15}.grades-dialog__close{width:36px;height:36px;color:var(--text);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:50%;flex:none;place-items:center;padding:0;font-size:24px;font-weight:300;line-height:1;transition:color .16s,border-color .16s,transform .16s;display:grid}.grades-dialog__close:hover{color:var(--blue);border-color:var(--blue);transform:rotate(4deg)}.grades-dialog__description{color:var(--text-muted);border-bottom:1px solid var(--border);margin:0;padding:24px 28px;font-size:13.5px;line-height:1.7}.semester-list{padding:8px 28px}.semester-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:30px;min-height:64px;display:flex}.semester-row:last-child{border-bottom:0}.semester-row__name{color:var(--text);font-size:13px;font-weight:650}.semester-row__grade{align-items:center;gap:16px;display:flex}.semester-row__grade span{color:var(--text-muted);font-size:11px}.semester-row__grade strong{min-width:28px;color:var(--text);text-align:right;font-size:15px;font-weight:800;line-height:1}.semester-row__pending{color:var(--text-muted);font-size:11.5px;font-weight:650}.grades-dialog__footer{border-top:1px solid var(--border);padding:17px 28px}.grades-dialog__footer p{color:var(--text-muted);margin:0;font-size:9px}.timeline-entry__document-link:focus-visible,.grades-dialog button:focus-visible{outline-offset:4px;outline:3px solid #1557ff38}@media (width<=900px){.timeline-entry__content{width:calc(50% - 32px)}.timeline-entry__content:after{width:22px}.timeline-entry--left .timeline-entry__content:after{right:-22px}.timeline-entry--right .timeline-entry__content:after{left:-22px}.cv-project-box{flex-direction:column;align-items:flex-start}}@media (width<=760px){.section-label{font-size:12px}.cv-header h1{font-size:clamp(38px,11vw,54px)}.cv-header__text{font-size:14px}.timeline-entry__period{font-size:11px}.timeline-entry__content h3{font-size:14px}.timeline-entry__subtitle{font-size:12px}.timeline-entry__description{font-size:13px}.timeline-entry__document-link{font-size:11px}.grades-dialog__header h2{font-size:26px}.grades-dialog__description{font-size:13px}.semester-row__name{font-size:12.5px}.semester-row__grade span{font-size:10.5px}.semester-row__grade strong{font-size:14px}.semester-row__pending{font-size:11px}}@media (width<=700px){.page-width{padding-inline:18px}.cv-header{padding-block:50px 36px}.cv-timeline-section{padding-block:42px 56px}.timeline:before{left:5px;transform:none}.timeline-entry,.timeline-entry--left,.timeline-entry--right{justify-content:flex-start}.timeline-entry{margin-bottom:22px;padding-left:28px}.timeline-entry__content{width:100%;padding:20px 18px 18px}.timeline-entry__content:after{display:none}.timeline-entry__dot{width:11px;height:11px;top:24px;left:0;transform:none}.grades-dialog{width:calc(100% - 24px)}.grades-dialog__header{padding:22px 20px}.grades-dialog__description{padding:20px}.semester-list{padding:6px 20px}.grades-dialog__footer{padding:16px 20px}.cv-project-box{gap:26px;margin-bottom:50px;padding:24px 20px}.cv-project-box__content h2{font-size:clamp(21px,7vw,28px)}.cv-project-box__link{width:100%}}@media (width<=440px){.semester-row{gap:18px}.semester-row__grade{gap:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important}}.cv-header__actions{align-items:center;margin-top:2rem;display:flex}.cv-download-button{color:#2563ff;background:0 0;border:1px solid #2563ff;border-radius:6px;align-items:center;gap:.7rem;width:fit-content;padding:.85rem 1.15rem;font-size:.82rem;font-weight:700;line-height:1;text-decoration:none;transition:background-color .2s,color .2s,transform .2s,box-shadow .2s;display:inline-flex}.cv-download-button:hover{color:#fff;background:#2563ff;transform:translateY(-2px);box-shadow:0 8px 20px #2563ff26}.cv-download-button:focus-visible{outline-offset:4px;outline:2px solid #2563ff}.cv-download-button__icon{justify-content:center;align-items:center;display:flex}.cv-download-button__icon svg{display:block}@media (width<=640px){.cv-header__actions{margin-top:1.5rem}.cv-download-button{justify-content:center;width:100%;padding:.95rem 1rem}}
