:root{--floating-top:40px}
.floating-nav{position:fixed;z-index:30;top:var(--floating-top);left:50%;display:flex;align-items:center;gap:3px;padding:5px;border:1px solid rgba(255,255,255,.32);border-radius:999px;background:linear-gradient(145deg,rgba(255,255,255,.3),rgba(255,255,255,.11));box-shadow:inset 0 1px 0 rgba(255,255,255,.46),0 10px 36px rgba(0,0,0,.13);-webkit-backdrop-filter:blur(24px) saturate(185%);backdrop-filter:blur(24px) saturate(185%);transform:translateX(-50%)}
.floating-nav a,.floating-nav button{display:flex;align-items:center;justify-content:center;height:34px;padding:0 12px;border:0;border-radius:999px;background:transparent;color:#666;font:500 13px Inter,Arial,sans-serif;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .2s,color .2s}
.floating-nav a:hover,.floating-nav button:hover,.floating-nav a:focus-visible,.floating-nav button:focus-visible{background:rgba(127,127,127,.13);color:#333}
.floating-nav .floating-icon{width:34px;padding:0}
.floating-nav .floating-icon img{width:15px;height:15px;filter:brightness(0);opacity:.58}
.email-glyph{position:relative;width:16px;height:12px;border:1.5px solid currentColor;border-radius:3px}
.email-glyph:before,.email-glyph:after{content:"";position:absolute;top:2px;width:9px;height:1.5px;background:currentColor}
.email-glyph:before{left:1px;transform:rotate(34deg)}
.email-glyph:after{right:1px;transform:rotate(-34deg)}
.floating-nav.on-dark a,.floating-nav.on-dark button{color:rgba(255,255,255,.76)}
.floating-nav.on-dark .floating-icon img{filter:none;opacity:.74}
.info-nav{font-family:Georgia,serif!important;font-size:14px!important}
.glass-control{border:1px solid rgba(255,255,255,.34);background:linear-gradient(145deg,rgba(255,255,255,.3),rgba(255,255,255,.11));box-shadow:inset 0 1px 0 rgba(255,255,255,.46),0 8px 28px rgba(0,0,0,.12);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%)}
.case-back{position:fixed;z-index:31;top:var(--floating-top);left:32px;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;color:#555;font-size:18px;text-decoration:none;transition:background .2s,color .2s}
.case-page main{padding-top:calc(var(--floating-top) + 46px + 64px)}
.case-back:hover,.case-back:focus-visible{background:rgba(127,127,127,.13);color:#333}
.case-back:focus-visible,.floating-nav :focus-visible,.profile-close:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.profile-backdrop{position:fixed;z-index:60;inset:0;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.31);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:profile-backdrop-in .42s ease both}
.profile-backdrop[hidden]{display:none}
.profile-modal{position:relative;width:min(560px,100%);max-height:calc(100dvh - 40px);padding:24px;border-radius:24px;background:#fff;color:#171717;box-shadow:0 25px 90px rgba(0,0,0,.24);overflow:auto;transform-origin:center bottom;animation:profile-card-in .7s cubic-bezier(.2,.85,.25,1) both}
.profile-close{position:absolute;z-index:2;top:12px;right:12px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.86);color:#444;font-size:20px;cursor:pointer}
.profile-image{margin:0 auto 24px;width:176px;aspect-ratio:3/4;border-radius:20px;overflow:hidden}
.profile-image img{display:block;height:100%;width:100%;object-fit:cover;object-position:center 28%;border-radius:inherit}
.profile-modal h2{margin:0 0 14px;font-size:15px;font-weight:600}
.profile-modal p{margin:0 0 13px;font-size:14px;line-height:1.35}
.profile-modal p strong{font-weight:600}
.profile-links{display:flex;gap:28px;padding-top:3px}
.profile-links a{font-size:14px;text-underline-offset:4px}
.profile-open{overflow:hidden}
@keyframes profile-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes profile-card-in{from{opacity:0;transform:translate3d(0,96px,0) scale(.97);filter:blur(5px)}to{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}}
.profile-backdrop.is-closing{pointer-events:none;animation:profile-backdrop-out .31s ease both}
.profile-backdrop.is-closing .profile-modal{animation:profile-card-out .31s cubic-bezier(.55,0,.8,.2) both}
@keyframes profile-backdrop-out{from{opacity:1}to{opacity:0}}
@keyframes profile-card-out{from{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}to{opacity:0;transform:translate3d(0,96px,0) scale(.97);filter:blur(5px)}}
@media(max-width:479.98px){:root{--floating-top:24px}.floating-nav{top:var(--floating-top)}.floating-nav a,.floating-nav button{padding-inline:9px}.case-back{left:12px}.case-page main{padding-top:calc(var(--floating-top) + 46px + 40px)}.case-page .floating-name{display:none}.profile-modal{padding:20px;border-radius:20px}.profile-image{width:164px}}
@media(prefers-reduced-motion:reduce){.profile-backdrop,.profile-modal{animation:none}}

.profile-experience{margin:24px 0;color:#171717}
.profile-experience h3{font-size:14px;font-weight:600;margin:0 0 6px}
.profile-links{flex-wrap:wrap;gap:12px 24px}
.profile-modal{overscroll-behavior:contain;color-scheme:light}
html.is-eased-scroll{scroll-behavior:auto}

.experience-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px;line-height:1.45;text-align:left}
.experience-table .company-column{width:38%}
.experience-table .title-column{width:auto}
.experience-table .date-column{width:88px}
.experience-table th,.experience-table td{padding:12px 12px 12px 0;vertical-align:top;border-bottom:1px solid #ededed;overflow-wrap:break-word}
.experience-table thead th{font-size:13px;font-weight:500;color:#737373;padding-top:8px;padding-bottom:10px}
.experience-table tbody th{font-weight:500;color:#171717}
.experience-table td{color:#626262}
.experience-table th:last-child,.experience-table td:last-child{padding-right:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.experience-table tbody td:last-child{font-size:13px}
.experience-table tbody tr:last-child>*{border-bottom:0}
@media(max-width:479.98px){.experience-table .date-column{width:80px}.experience-table th,.experience-table td{padding-right:8px}.experience-table .company-column{width:35%}}

.experience-table a{color:inherit;text-decoration:none;transition:color .2s}
.experience-table a:hover{color:#626262}
.experience-table a:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:2px}

.company-link-arrow{display:inline-block;vertical-align:baseline;margin-left:2px;opacity:.6;transition:transform .2s,opacity .2s}
.experience-table a:hover .company-link-arrow,.experience-table a:focus-visible .company-link-arrow{transform:translate(1px,-1px);opacity:1}
@media(prefers-reduced-motion:reduce){.company-link-arrow{transition:none}.experience-table a:hover .company-link-arrow,.experience-table a:focus-visible .company-link-arrow{transform:none}}

/* Discourage casual saving without interfering with links or keyboard access. */
img{user-select:none;-webkit-user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}
.project-visual,.photo-grid figure,.case-cover,.visual-panel{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
