:root{color:#658dbf;font-synthesis:none;background:#fff;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{background:#fff}body{min-width:320px;min-height:100vh;margin:0}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #295c9c}.portfolio-shell{background:#fff;min-height:100dvh;overflow:hidden}.home-page,.projects-page{min-height:100dvh;position:relative}.home-page{grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);align-items:center;gap:clamp(48px,7vw,120px);padding:clamp(48px,8vh,96px) clamp(54px,8vw,140px);display:grid}.intro{text-align:center;align-self:center;margin-top:-3vh}.intro h1{letter-spacing:-.055em;color:#7699c6;max-width:720px;margin:0 auto 36px;font-family:Palatino Linotype,Palatino,Book Antiqua,Georgia,serif;font-size:clamp(64px,7.3vw,116px);font-weight:400;line-height:.88}.intro p{letter-spacing:-.015em;margin:0;font-size:clamp(19px,1.6vw,30px);font-weight:700;line-height:1.34}.education-entry p{color:#000;font-size:clamp(14px,1.05vw,18px);font-weight:600;line-height:1.45}.education-entry+.education-entry{margin-top:14px}.profile-block{flex-direction:column;justify-self:end;align-items:center;gap:28px;width:min(100%,540px);display:flex}.profile-photo-frame{aspect-ratio:1;border-radius:50%;width:min(24vw,340px);overflow:hidden;box-shadow:0 12px 38px #22446e1f}.profile-photo{object-fit:cover;--photo-zoom:2.3;--photo-x:60%;--photo-y:50%;object-position:var(--photo-x) var(--photo-y);width:100%;height:100%;transform:scale(var(--photo-zoom));transform-origin:var(--photo-x) var(--photo-y);display:block}.social-links{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.social-links a{color:#000;justify-content:center;align-items:center;width:40px;height:40px;font-size:30px;text-decoration:none;transition:color .16s,transform .16s;display:inline-flex}.social-links a:hover{color:#7699c6;transform:translateY(-2px)}.page-arrow{color:#7699c6;cursor:pointer;background:0 0;border:0;place-items:center;width:56px;height:48px;padding:0;transition:transform .18s;display:grid;position:absolute}.page-arrow:hover{transform:translate(6px)}.page-arrow-next{bottom:clamp(30px,6vh,70px);right:clamp(32px,5vw,80px)}.page-arrow-back{bottom:clamp(30px,6vh,70px);left:clamp(32px,5vw,80px)}.page-arrow-back:hover{transform:translate(-6px)}.arrow{width:48px;height:28px;display:block}.arrow-left{transform:scaleX(-1)}.projects-page{flex-direction:column;justify-content:center;padding:clamp(50px,7vh,88px) clamp(32px,5vw,78px) 130px;display:flex}.projects-page h2{color:#658dbf;letter-spacing:.01em;text-align:center;margin:0 0 clamp(28px,5vh,48px);font-size:clamp(26px,2vw,34px);font-weight:800}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.2vw,32px);width:100%;max-width:1180px;margin:0 auto;display:grid}.project-card{color:#fff;background:#afc0dc;border-radius:28px;flex-direction:column;padding:clamp(20px,2vw,30px);display:flex;box-shadow:0 10px 28px #3a5a8317}.project-card h3{letter-spacing:-.025em;margin:0 0 6px;font-size:clamp(18px,1.4vw,24px);font-weight:800;line-height:1.18}.project-card .project-tech{flex:none;margin:0 0 18px;font-size:clamp(13px,.95vw,16px);font-style:italic;font-weight:600;line-height:1.4}.project-card p{flex:1;margin:0 0 20px;font-size:clamp(14px,1vw,17px);font-weight:600;line-height:1.5}.project-card p span{font-weight:800;display:block}.project-links{flex-wrap:wrap;gap:8px 22px;display:flex}.project-link{color:#fff;text-underline-offset:4px;align-self:flex-start;font-size:clamp(16px,1.15vw,21px);font-weight:800;text-decoration:underline;text-decoration-thickness:2px}.project-link:hover{color:#244e82}.project-note{color:#fff;font-size:clamp(16px,1.15vw,21px);font-weight:800}@media (width<=900px){.home-page{text-align:center;grid-template-columns:1fr;gap:38px;padding:64px 28px 124px}.intro{margin-top:0}.intro h1{margin-bottom:22px;margin-left:auto;margin-right:auto;font-size:clamp(56px,15vw,92px)}.profile-block{justify-self:center}.profile-photo-frame{width:min(76vw,410px)}.project-grid{grid-template-columns:1fr;max-width:560px}.projects-page{justify-content:flex-start;padding-bottom:124px}.project-card{min-height:280px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
