@font-face{font-family:'Open Runde';src:url('../fonts/OpenRunde-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Open Runde';src:url('../fonts/OpenRunde-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Open Runde';src:url('../fonts/OpenRunde-Semibold.woff2') format('woff2');font-weight:600;font-display:swap}
:root{--text-small:14px;--text-medium:28px;--text-large:56px;--sans:'Open Runde',sans-serif;--serif:'Open Runde',sans-serif;--paper:#fafafd;--ink:#303039;--muted:#656571;--line:#e2e2eb;--accent:#525064;--soft:#efedf6;--card:#fff}
body,body *{font-family:'Open Runde',sans-serif!important;font-size:var(--text-small)!important;font-weight:400!important;font-style:normal!important}
h1,h1 *, .cv-hero__name{font-size:var(--text-large)!important;font-weight:600!important}
h2,h2 *,h3,h3 *,.case-deck,.case-quote{font-size:var(--text-medium)!important;font-weight:500!important}
strong,b, .wordmark,.identity-card strong{font-weight:600!important}
.folder-card h2,.folder-card h2 *,.portrait-caption *,.testimonials .voice *, .site-header *, .eyebrow,.eyebrow *{font-size:var(--text-small)!important}
body{background:var(--paper);color:var(--ink);padding-top:88px}
body .site-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);height:88px;width:calc(100% - 80px);max-width:1600px;gap:18px;border:0;align-items:center;position:fixed;top:0;left:0;right:0;z-index:50;background:none;margin-inline:auto;pointer-events:none}
body .site-header>*{pointer-events:auto}
.wordmark{display:flex;gap:10px;align-items:center;white-space:nowrap}.wordmark img{width:30px;height:30px;object-fit:contain}
body .site-header .glass-nav{display:flex;gap:0;width:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
body .glass-nav a{min-height:44px;display:flex;align-items:center;padding:10px 18px;margin:0;color:var(--ink);border:1px solid #ffffff70;border-left-width:0;border-right-width:0;background:#ebeaf21c;backdrop-filter:blur(18px) saturate(160%);box-shadow:none;text-decoration:none;border-radius:0;transition:margin .3s,border-radius .3s,background .3s,box-shadow .3s;white-space:nowrap;font-weight:500!important}
body .glass-nav a.group-start{border-radius:25px 0 0 25px;border-left-width:1px}body .glass-nav a.group-end{border-radius:0 25px 25px 0;border-right-width:1px}body .glass-nav a.group-start.group-end{border-radius:25px}
body .glass-nav a.is-liquid-active{border-radius:25px;margin-inline:8px;background:linear-gradient(135deg,#c9dcff70,#87b4fb55);box-shadow:inset 0 1px 1px #fff,0 3px 10px #53678612;border-inline-width:1px;color:var(--ink);text-decoration:none}body .glass-nav a:first-child{margin-left:0}body .glass-nav a:last-child{margin-right:0}
.theme-toggle{justify-self:end;position:relative;display:flex;align-items:center;justify-content:space-around;width:76px;height:42px;border-radius:30px;border:1px solid #ffffff80;background:#d6d3e535;backdrop-filter:blur(18px) saturate(150%);box-shadow:inset 0 1px 1px #ffffffa0,0 3px 12px #2923360c;color:#666479;cursor:pointer;padding:4px}.theme-thumb{position:absolute;width:32px;height:32px;left:4px;top:4px;border-radius:50%;background:linear-gradient(145deg,#fff,#f4f3fb);box-shadow:0 2px 5px #29233630,inset 0 1px 2px #fff;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.theme-toggle .sun,.theme-toggle .moon{position:relative;width:20px;height:20px;line-height:20px}.sun{opacity:0}
[data-theme=dark]{color-scheme:dark;--paper:#18191f;--ink:#efeff5;--muted:#b1afbd;--line:#373740;--accent:#c6bfdc;--soft:#292832;--card:#25262e}
[data-theme=dark] body .glass-nav a{background:#c4c2ce15;color:var(--ink);border-color:#ffffff22;box-shadow:none}[data-theme=dark] body .glass-nav a.is-liquid-active{background:linear-gradient(135deg,#5077ba88,#608cce55)}[data-theme=dark] .theme-toggle{background:#39374660;border-color:#ffffff25;box-shadow:inset 0 1px 2px #ffffff25}[data-theme=dark] .theme-thumb{transform:translateX(34px)}[data-theme=dark] .sun{opacity:1;color:#d6d2e6}[data-theme=dark] .moon{color:#5d5873}[data-theme=dark] .wordmark img{filter:invert(1)}
[data-theme=dark] .case-nav{background:var(--paper)}[data-theme=dark] .case-result,[data-theme=dark] .decision,[data-theme=dark] .cv-job{color:var(--ink)}
/* Compact opening: one type family, a dark-to-light heading, work in the first view. */
.folder-intro{padding-top:22px!important}.folder-intro h1{line-height:1.07;letter-spacing:-.055em;margin:0 auto 20px;max-width:950px;color:#393842}.folder-intro .title-fade{background:linear-gradient(115deg,#54515e 0%,#8a8594 55%,#65606f 100%);background-clip:text;-webkit-background-clip:text;color:transparent;display:inline;line-height:inherit;letter-spacing:inherit}
[data-theme=dark] .folder-intro h1{color:var(--ink)}[data-theme=dark] .title-fade{background-image:linear-gradient(115deg,#f0edf6,#aaa1b9,#dcd6e8)}
.intro-description{max-width:570px;line-height:1.5;color:var(--muted)}.identity-row{margin-top:38px;max-width:660px;gap:30px}.identity-card{width:265px;min-height:72px;padding:10px 12px 10px 106px}.identity-card>img{width:115px;height:112px;left:-5px;bottom:0;object-fit:cover;object-position:center 12%;border-radius:0 0 0 20px}.identity-card span>span{line-height:1.25;margin-top:3px}.identity-card{transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s cubic-bezier(.22,1,.36,1)}.identity-card:hover,.identity-card:focus-visible{transform:rotate(-3deg) translateY(-6px);box-shadow:0 18px 30px #30294122}
.resume-card{height:50px;padding-left:76px;padding-right:22px;gap:0;min-width:165px;transition:background .3s,color .3s;isolation:isolate}.resume-arrow{display:none}.company-stack{left:4px;top:-5px;width:62px;height:62px}.company-stack img{padding:0;background:transparent;border:0;box-shadow:none;width:62px;height:62px;border-radius:0;transform:translate(calc((var(--i) - 2)*3px),0) rotate(calc((var(--i) - 2)*8deg));transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.resume-card:hover,.resume-card:focus-visible{background:var(--ink);color:var(--paper)}
.resume-card:hover .company-stack img,.resume-card:focus-visible .company-stack img{transform:translate(var(--logo-x),var(--logo-y)) rotate(var(--logo-r))}
.company-stack img:nth-child(1){--logo-x:-13px;--logo-y:26px;--logo-r:-12deg}.company-stack img:nth-child(2){--logo-x:36px;--logo-y:-16px;--logo-r:14deg}.company-stack img:nth-child(3){--logo-x:37px;--logo-y:35px;--logo-r:16deg}.company-stack img:nth-child(4){--logo-x:0px;--logo-y:7px;--logo-r:-5deg}.company-stack img:nth-child(5){--logo-x:-17px;--logo-y:-26px;--logo-r:-14deg}
.folder-scroll{margin-top:-52px}.folder-card-top h2{font-weight:500!important}.card-bottom{min-height:110px;line-height:1.35}.card-default small{margin-top:6px}.folder-label small{line-height:1.4}.folder-scroll-hint{bottom:0}
.about-sheet{position:relative;z-index:10;background:var(--paper);border-top:1px solid var(--line);border-radius:36px 36px 0 0;box-shadow:0 -25px 65px #30294109;margin-top:75px;padding-top:50px}.personal{padding:60px 0 80px;gap:65px}.personal h2{line-height:1.65}.testimonials{padding-top:96px}.portrait-card{min-width:300px}.portrait-caption{flex-wrap:wrap}.portrait-caption a{padding:8px 12px}.testimonials .voice{width:285px;min-height:230px}.voices-pause{display:none}.testimonials h2{line-height:1.4}.contact-row{display:flex;align-items:center;gap:35px;flex-wrap:wrap}.folder-seal{font-family:'Open Runde',sans-serif!important}.voice figcaption strong{font-weight:500!important}
@media(max-width:1000px){body .site-header{width:calc(100% - 40px)}body .glass-nav a{padding-inline:12px}.personal{gap:35px}.portrait-card{min-width:260px}}
@media(max-width:760px){:root{--text-small:12px;--text-medium:24px;--text-large:36px}body{padding-top:172px}body .site-header{grid-template-columns:1fr auto;height:auto;padding:16px 0;gap:14px}body .site-header .glass-nav{grid-row:2;grid-column:1/-1;justify-self:center}.theme-toggle{grid-row:1;grid-column:2}.folder-intro{padding-top:12px!important}.folder-intro h1{margin-bottom:18px}.intro-description{max-width:440px}.identity-row{margin-top:34px;max-width:440px;gap:18px}.identity-card{min-height:67px;width:220px;padding-left:82px;padding-right:9px}.identity-card>img{width:85px;height:98px;left:-8px;object-position:center 12%}.resume-card{min-width:120px;padding-left:49px;padding-right:12px;height:44px}.company-stack{left:0;top:0}.company-stack img{width:46px;height:46px}.resume-card:hover .company-stack img,.resume-card:focus-visible .company-stack img{transform:translate(calc(var(--logo-x)*.7),calc(var(--logo-y)*.7)) rotate(var(--logo-r))}.folder-scroll{margin-top:-65px}.card-bottom{min-height:145px}.folder-card--linko{--open-y:288px}.folder-stage{height:630px}.folder-scroll.is-animated{height:960px}.about-sheet{margin-top:100px;padding-top:15px;border-radius:24px 24px 0 0}.personal{padding-top:45px;grid-template-columns:1fr;gap:45px}.portrait-card{min-width:0;width:290px}.testimonials .voice{width:250px;min-height:210px}.contact-row{gap:20px}.personal-actions a{padding:10px 18px}}
@media(max-width:380px){.identity-row{gap:10px}.identity-card{width:195px;padding-left:75px}.identity-card>img{width:79px}.resume-card{min-width:106px;padding-left:44px;padding-right:8px}.company-stack img{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){.about-sheet{box-shadow:none}.folder-intro .title-fade{animation:none}}
/* The next paper surface rises over the bottom of the envelope. */
.about-sheet{margin-top:-90px;padding-top:100px}.folder-scroll{padding-bottom:0}.personal{padding-bottom:90px}
@media(max-width:760px){.about-sheet{margin-top:-35px;padding-top:70px}}
.folder-home .site-header{height:88px;gap:18px}
@media(max-width:760px){.folder-home .site-header{height:auto;padding:16px 0;gap:14px}}

/* Original split navigation, with a restrained reflective edge. */
body .glass-nav a{background:#ebeaf21c;border-color:#cbc5d955;box-shadow:none;backdrop-filter:blur(20px) saturate(160%)}
body .glass-nav a.is-liquid-active{background:linear-gradient(145deg,#e8f0ffab,#a7c2ef70);box-shadow:inset 0 1px 2px #ffffffef,0 2px 7px #53678618}
[data-theme=dark] body .glass-nav a{background:#c4c2ce15;border-color:#ffffff30;box-shadow:none}
[data-theme=dark] body .glass-nav a.is-liquid-active{background:linear-gradient(145deg,#789ac26b,#5076ae65);box-shadow:inset 0 1px 2px #ffffff50,0 2px 7px #0002}
/* Compact homepage cards and a theme-matched Resume logo cluster. */
.folder-home .resume-card,.folder-home .resume-card:hover,.folder-home .resume-card:focus-visible{background:var(--card);color:var(--ink);padding-left:88px;transition:background .3s,color .3s}
.folder-home .company-stack{width:56px;height:56px;top:-3px}
.folder-home .company-stack img{width:56px;height:56px;padding:5px;background:var(--card);border:1px solid var(--line);border-radius:15px;box-shadow:0 2px 5px #29233612}
.company-stack img:nth-child(1){--logo-x:-32px;--logo-y:22px}.company-stack img:nth-child(2){--logo-x:8px;--logo-y:-19px}.company-stack img:nth-child(3){--logo-x:8px;--logo-y:29px}.company-stack img:nth-child(4){--logo-x:-13px;--logo-y:4px}.company-stack img:nth-child(5){--logo-x:-35px;--logo-y:-24px}
.folder-home .card-bottom{display:grid;min-height:0;padding-right:9px}
.folder-home .card-default,.folder-home .card-description{grid-area:1/1;position:relative;inset:auto;margin:0;padding:0}
.folder-home .card-description{padding-right:5px}
@media(max-width:760px){.folder-home .resume-card{padding-left:60px}.folder-home .company-stack{width:42px;height:42px;top:0}.folder-home .company-stack img{width:42px;height:42px;padding:4px;border-radius:12px}}
@media(max-width:380px){.folder-home .resume-card{padding-left:56px}.folder-home .company-stack img{width:39px;height:39px}}
.reveal-up{opacity:0;transform:translateY(40px) scale(.97);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.reveal-up.in-view{opacity:1;transform:none}
.reveal-up.reveal-tilt{transform:translateY(40px) rotate(-6deg) scale(.96)}
.reveal-up.reveal-tilt.in-view{transform:rotate(-6deg)}
.reveal-up[data-reveal-delay="1"]{transition-delay:.15s}
@media(prefers-reduced-motion:reduce){.reveal-up{transition:none;opacity:1;transform:none}.reveal-up.reveal-tilt{transform:rotate(-6deg)}}
