/* The home switch owns views, not case transitions. */
.home-panel[hidden]{display:none!important}
.home-nav{position:fixed;z-index:8;bottom:max(22px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:5px;width:230px;border:1px solid #1112;border-radius:100px;background:#fffffff0;box-shadow:0 5px 28px #0000000a;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.home-nav>a{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:100px;font-size:14px;transition:color 220ms}
.home-nav>a[aria-current=page]{color:white}.home-nav-active{position:absolute;top:5px;bottom:5px;left:5px;width:calc(50% - 7px);background:#161616;border-radius:100px;transition:transform 450ms var(--ease)}
.home-nav[data-view=cv] .home-nav-active{transform:translateX(calc(100% + 4px))}
.case-focused .home-nav,.case-open .home-nav{visibility:hidden;pointer-events:none}
.portfolio>footer{padding-bottom:100px}
.cv-view{color:#171717;padding-bottom:120px}
.cv-hero{max-width:1100px;min-height:620px;margin:auto;padding:90px 40px 0;display:grid;grid-template-columns:290px 1fr;gap:70px;align-items:center}
.cv-portrait{display:block;width:100%;height:500px;object-fit:contain;object-position:bottom}
.cv-introduction{padding-bottom:45px;max-width:650px}
.cv-introduction h1{font-size:clamp(40px,4.7vw,64px);line-height:1.08;letter-spacing:-.045em;margin:0 0 22px;font-weight:400}
.cv-introduction>p{font-size:18px;line-height:1.6;max-width:600px;margin:0 0 25px}
.cv-introduction>.cv-position{font-size:23px;line-height:1.3;margin-bottom:18px}
.cv-links{display:flex;gap:16px;flex-wrap:wrap;padding-top:10px}
.cv-links>.cv-action{display:inline-grid;position:relative;border:1px solid #17171730;border-radius:100px;overflow:hidden;text-decoration:none;isolation:isolate;background:transparent}
.cv-action-face{grid-area:1/1;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 23px;min-width:140px;min-height:56px;font-size:20px;line-height:1.2;color:#171717}
.cv-action-face svg{display:block;width:24px;height:24px;flex:none}
.cv-action-fill{position:relative;color:#fff;background:#171717;clip-path:circle(0% at calc(100% - 35px) 50%);transition:clip-path 480ms cubic-bezier(.22,1,.36,1);pointer-events:none}
.cv-action:is(:hover,:focus-visible):not(:active) .cv-action-fill,.cv-action:active .cv-action-fill{clip-path:circle(150% at calc(100% - 35px) 50%)}
@media(hover:none){.cv-action-fill{transition-duration:180ms}}
.cv-section{padding:80px max(32px,calc((100vw - 1140px)/2));background:white}
.cv-section-heading{display:grid;grid-template-columns:1fr 1.35fr;gap:60px;margin-bottom:60px;align-items:start}
.cv-section h2{font-size:clamp(30px,3.1vw,44px);font-weight:400;line-height:1.1;letter-spacing:-.03em;margin:0}
.cv-section-heading>p{font-size:20px;line-height:1.5;margin:0;max-width:530px}
.cv-job{display:grid;grid-template-columns:1fr 1.35fr;gap:60px;padding:40px 0;border-top:1px solid #17171726}
.cv-job h3,.cv-product h3,.cv-education h3{font-size:25px;font-weight:400;letter-spacing:-.025em;margin:0 0 12px}
.cv-role{font-size:16px;line-height:1.5;margin:0 0 6px}
.cv-dates{font-size:14px;line-height:1.5;color:#626262;margin:0}
.cv-job-intro{font-size:21px;line-height:1.4;margin:0 0 22px}
.cv-job ul{margin:0;padding-left:18px;font-size:16px;line-height:1.6;color:#444}
.cv-job li+li{margin-top:14px}
.cv-independent{background:transparent}
.cv-products{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.cv-product>p:last-child{font-size:16px;line-height:1.6;color:#444}
.cv-foundations{display:grid;grid-template-columns:1fr 1.35fr;gap:60px}
.cv-foundations h2{margin-bottom:32px}
.cv-education{list-style:none;padding:0;margin:0}.cv-education li+li{margin-top:32px}
.cv-education h3{font-size:19px;margin-bottom:6px}.cv-education p{font-size:15px;line-height:1.5;margin:0 0 4px}
.cv-skills{font-size:18px;line-height:1.9;margin:0}
@media(max-width:650px){
 .home-nav{bottom:max(16px,env(safe-area-inset-bottom));width:218px}.portfolio>footer{padding-bottom:104px}
 .cv-hero{min-height:0;padding:55px 24px 0;grid-template-columns:1fr;gap:0}
 .cv-portrait{height:260px;width:160px;margin:auto;order:2}.cv-introduction{padding-bottom:20px}
 .cv-introduction h1{font-size:42px}.cv-introduction>.cv-position{font-size:21px}.cv-introduction>p{font-size:17px;line-height:1.55}
 .cv-links{gap:12px}.cv-action-face{min-width:128px;min-height:52px;padding-inline:20px;gap:20px;font-size:18px}.cv-section{padding:44px 24px}.cv-section-heading,.cv-job,.cv-foundations{grid-template-columns:1fr;gap:25px}
 .cv-section-heading{margin-bottom:36px}.cv-section-heading>p{font-size:19px}.cv-job{padding:30px 0;gap:22px}
 .cv-job-intro{font-size:20px}.cv-job ul{font-size:16px}.cv-products{grid-template-columns:1fr;gap:28px}.cv-product>p:last-child{margin-bottom:0}
 .cv-foundations{gap:45px}.cv-view{padding-bottom:110px}
}
@media(prefers-reduced-motion:reduce){.home-nav-active,.home-nav>a,.cv-action-fill{transition:none}}
