:root{--brand:#146520;--brand-deep:#103024;--brand-mid:#1f6f3c;--brand-soft:#e8f1ec;--ink:#1f2937;--muted:#6b7280;--line:#e2e8e3;--card:#fff;--chip:#f5f8f3;--shadow-sm:0 1px 2px #102d230f;--shadow-card:0 1px 2px #102d230d, 0 10px 24px -12px #102d232e;--shadow-card-hover:0 2px 4px #102d2312, 0 18px 36px -14px #102d2347;--ring-focus:0 0 0 3px #14652047;--radius-card:14px}*{box-sizing:border-box}img{-webkit-user-drag:none;user-select:none}.resume [data-fold][hidden]{display:none}body{overflow-x:clip}.resume{font-variant-numeric:tabular-nums;border:1px solid var(--line);max-width:1100px;color:var(--ink);background:linear-gradient(145deg,#fafafa,#fff);border-radius:16px;margin:20px auto;padding:24px;transition:transform .5s,box-shadow .25s;animation:.5s backwards resumeIn;box-shadow:0 6px 16px #00000014}.resume .resume-header,.resume .resume-chapters,.resume .details>*{animation:.55s cubic-bezier(.22,1,.36,1) backwards resumeRise}.resume .resume-header{animation-delay:80ms}.resume .resume-chapters{animation-delay:.12s}.resume .details>:first-child{animation-delay:.16s}.resume .details>:nth-child(2){animation-delay:.22s}.resume .details>:nth-child(3){animation-delay:.28s}.resume .details>:nth-child(4){animation-delay:.34s}.resume .details>:nth-child(5){animation-delay:.4s}.resume .details>:nth-child(6){animation-delay:.46s}.resume .details>:nth-child(7){animation-delay:.52s}.resume .details>:nth-child(8){animation-delay:.58s}.resume .details>:nth-child(9){animation-delay:.64s}.resume .details>:nth-child(n+10){animation-delay:.7s}@keyframes resumeIn{0%{opacity:.01;transform:translateY(10px)}}@keyframes resumeRise{0%{opacity:.01;transform:translateY(14px)}}@keyframes resumeFade{0%{opacity:.01}}@media (prefers-reduced-motion:reduce){.resume,.resume .resume-header,.resume .resume-chapters,.resume .details>*{animation-name:resumeFade;animation-duration:.3s;animation-timing-function:ease}}.resume:hover{box-shadow:0 10px 24px #0000001f}.resume-header{grid-template-columns:128px 1fr;align-items:center;gap:20px;margin-bottom:12px;display:grid}.profile-image{object-fit:cover;width:128px;height:128px;box-shadow:0 0 0 1px #102d2314, 0 0 0 5px var(--brand-soft), 0 12px 26px -10px #102d2359;border:3px solid #fff;border-radius:50%}.resume-title{color:var(--ink);letter-spacing:.2px;text-wrap:balance;margin:0;font-size:clamp(26px,2.2vw + 10px,36px);font-weight:800}.details{line-height:1.7}.details h2{letter-spacing:-.01em;color:var(--brand-deep);border:0;margin:26px 0 14px;font-size:1.28rem;font-weight:800}.details p{color:#374151;margin:0 0 10px}.contact-link{background:linear-gradient(145deg,#f3f4f6,#e5e7eb);border:0;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;transition:transform .25s,box-shadow .25s;display:flex;box-shadow:0 4px 10px #0000001f,inset 0 -2px 5px #fff9}.contact-icon{width:32px;height:32px}.skills-grid{flex-wrap:wrap;gap:10px;display:flex}.skill-item{color:#103424;box-shadow:var(--shadow-sm);background:linear-gradient(#fff,#f5f8f3);border:1px solid #e2e8e3;border-radius:999px;padding:8px 14px;font-size:.94rem;font-weight:600;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s}.skill-item:hover{border-color:var(--brand-mid);background:linear-gradient(180deg, #fff, var(--brand-soft));transform:translateY(-2px);box-shadow:0 8px 18px -10px #102d2373}.resume a:focus-visible,.resume button:focus-visible,.resume [role=button]:focus-visible{box-shadow:var(--ring-focus);border-radius:10px;outline:none}.experience-container{margin-top:6px}.experience-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-card);align-items:flex-start;gap:10px;margin-bottom:14px;padding:16px 18px;transition:box-shadow .22s,transform .22s,border-color .22s;display:flex}.experience-card:hover{box-shadow:var(--shadow-card-hover);border-color:#d4e4db;transform:translateY(-2px)}.timeline{flex-direction:column;align-items:center;width:32px;display:flex;position:relative}.timeline-marker{background:var(--brand);border:2px solid #fff;border-radius:50%;width:14px;height:14px;box-shadow:0 0 0 2px #d6e9dd}.timeline-marker.active{transform:scale(1.1)}.timeline-line{background:#e2e8e3;flex:auto;width:2px;margin-top:6px}.experience-content{flex:1}.job-title{color:#111827;margin:2px 0 4px;font-size:1.1rem;font-weight:700}.job-company{color:#374151;margin:0 0 4px;font-style:italic}.job-dates,.job-location{color:var(--muted);margin:0 0 4px;font-size:.9rem}.job-description{color:#374151;line-height:1.55}.toggle-experience,.toggle-projects,.toggle-courses,.toggle-publications,.toggle-certifications{text-align:center;margin-top:10px}.show-all-button,.show-less-button{color:#fff;cursor:pointer;background:#0969da;border:none;border-radius:8px;padding:8px 14px;font-weight:600;transition:transform .2s,background .2s}.show-all-button:hover,.show-less-button:hover{background:#0a56bb;transform:translateY(-1px)}.certifications-container{gap:10px;margin-top:6px;display:grid}.cert-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-card);grid-template-columns:44px 1fr auto;align-items:start;gap:12px;padding:14px;transition:box-shadow .22s,transform .22s,border-color .22s;display:grid}.cert-org img{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:6px;width:40px;height:40px}.cert-main{justify-items:start}.cert-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.cert-title{color:#0b1324;margin:0;font-size:1rem;font-weight:700;line-height:1.2}.cert-meta,.cert-id{color:var(--muted);margin:0;font-size:.88rem}.cert-skills{color:#374151;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.92rem;line-height:1.35;display:-webkit-box;overflow:hidden}.cert-thumb{cursor:pointer;background:0 0;border:0;place-self:center end;margin:0;padding:0}.cert-thumb img{object-fit:contain;border-radius:8px;width:180px;max-height:110px;box-shadow:0 2px 8px #0000001a}.show-credential,.show-credential:hover{text-decoration:none}.show-credential{color:#fff;cursor:pointer;background:#0969da;border:0;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:.85rem;font-weight:700;line-height:1;transition:background .15s,box-shadow .15s,transform .15s;display:inline-flex;transform:translateZ(0);box-shadow:0 3px 8px #0c63d633}.show-credential:hover,.show-credential:focus-visible{background:#0a56bb;outline:none;transform:translateY(-1px);box-shadow:0 5px 12px #0a56bb38}.show-credential:active{transform:translateY(0);box-shadow:0 2px 6px #0a56bb2e}.clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (width<=640px){.cert-card{grid-template-columns:36px 1fr}.cert-thumb{grid-column:1/-1;justify-self:start;margin-top:6px}.cert-thumb img{width:100%;max-height:160px}}.courses-container{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-items:stretch;gap:16px;margin:12px 0 0;display:grid}.course-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-card);grid-template-columns:48px 1fr;align-items:start;gap:12px;padding:16px;transition:box-shadow .22s,transform .22s,border-color .22s;display:grid}.course-card:hover{box-shadow:var(--shadow-card-hover);border-color:#d4e4db;transform:translateY(-2px)}.course-content{flex-direction:column;min-height:160px;display:flex}.course-title{-webkit-line-clamp:3;hyphens:auto;overflow-wrap:anywhere;word-break:normal;-webkit-box-orient:vertical;min-height:3.66em;margin:0 0 6px;font-size:1rem;font-weight:700;line-height:1.22;display:-webkit-box;overflow:hidden}.course-icon{border-radius:6px;flex:none;width:40px;height:40px}.course-content h3{color:#111827;margin:0 0 6px;font-size:1rem;font-weight:700}.course-desc{color:#374151;margin:4px 0 0;line-height:1.5;position:relative}.course-desc.clamped{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.course-desc.clamped:after{content:"";pointer-events:none;background:linear-gradient(to bottom, #fff0, var(--card));height:2em;position:absolute;bottom:0;left:0;right:0}.course-desc.expanded{display:block}@media (width<=640px){.course-card{grid-template-columns:40px 1fr}.course-title{-webkit-line-clamp:2;line-clamp:2;min-height:2.44em}}.edu-body{gap:4px;display:grid}.edu-institution{color:#0b1324;margin:0;font-size:1rem;font-weight:700;line-height:1.2}.edu-years{color:var(--muted);white-space:nowrap;flex-shrink:0;font-size:.85rem}.edu-degree{color:#374151;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.95rem;line-height:1.35;display:-webkit-box;overflow:hidden}.edu-skills{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.awards-container{gap:8px;margin-top:6px;display:grid}.resume-scroll-top{color:#0e3d18;cursor:pointer;opacity:0;pointer-events:none;width:72px;height:72px;z-index:var(--z-fab);background:#fffdf8;border:1px solid #1034241a;border-radius:50%;place-items:center;padding:0;transition:opacity .35s,transform .4s cubic-bezier(.22,1,.36,1),background .25s,color .25s,box-shadow .25s,border-color .25s;display:grid;position:fixed;bottom:38px;right:38px;transform:translateY(14px)scale(.9);box-shadow:0 16px 34px #102d2329}.resume-scroll-top.visible{opacity:1;pointer-events:auto;transform:none}.resume-scroll-top:hover{color:#f4e6c2;background:#0e3d18;border-color:#d9b46a80;transform:translateY(-2px);box-shadow:0 20px 40px #0a34104d}.resume-scroll-top:active{transform:scale(.94)}.resume-scroll-top:focus-visible{box-shadow:var(--ring-focus,0 0 0 3px #1f6f3c66), var(--shadow-card-hover,0 8px 24px #1465204d);outline:none}.resume-scroll-top__ring{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.resume-scroll-top__track{fill:none;stroke:#1034241a;stroke-width:2px}.resume-scroll-top__progress{fill:none;stroke:#d9b46a;stroke-width:2px;stroke-linecap:round;transition:stroke-dashoffset .1s linear,stroke .2s}.resume-scroll-top:hover .resume-scroll-top__track{stroke:#f4e6c233}.resume-scroll-top:hover .resume-scroll-top__progress{stroke:#f4e6c2}.resume-scroll-top__time{z-index:1;flex-direction:column;align-items:center;line-height:1;transition:opacity .2s,transform .25s cubic-bezier(.22,1,.36,1);display:flex;position:relative}.resume-scroll-top__time strong{font-variant-numeric:tabular-nums;font-family:Lora,Georgia,Times New Roman,serif;font-size:1.7rem;font-weight:600;line-height:1}.resume-scroll-top__unit{letter-spacing:.02em;color:#8a6d3a;margin-top:2px;font-family:Lora,Georgia,Times New Roman,serif;font-size:.6rem;font-style:italic;transition:color .2s}.resume-scroll-top:hover .resume-scroll-top__unit{color:#f4e6c2bf}.resume-scroll-top__icon{z-index:1;opacity:0;font-size:1.6rem;line-height:1;transition:opacity .2s,transform .25s cubic-bezier(.22,1,.36,1);position:absolute;transform:translateY(8px)}.resume-scroll-top:hover .resume-scroll-top__time,.resume-scroll-top:focus-visible .resume-scroll-top__time,.resume-scroll-top.at-end .resume-scroll-top__time{opacity:0;transform:translateY(-6px)}.resume-scroll-top:hover .resume-scroll-top__icon,.resume-scroll-top:focus-visible .resume-scroll-top__icon,.resume-scroll-top.at-end .resume-scroll-top__icon{opacity:1;transform:none}@media (width<=640px){.resume-scroll-top{width:64px;height:64px;bottom:22px;right:22px}.resume-scroll-top__time strong{font-size:1.25rem}}@media (prefers-reduced-motion:reduce){.resume-scroll-top,.resume-scroll-top__icon,.resume-scroll-top__time,.resume-scroll-top__progress{transition:opacity .2s,background .2s,color .2s}}@media (width<=900px){.resume-header{grid-template-columns:96px 1fr}.profile-image{width:96px;height:96px}}@media (width<=640px){.resume{margin:12px auto;padding:16px}.resume-header{grid-template-columns:72px 1fr;gap:12px}.profile-image{width:72px;height:72px}.contact-info{flex-flow:row;display:flex}}.resume{color:#0f1f17;background:linear-gradient(165deg,#fffefb,#faf8f1);border:1px solid #10342414;border-radius:22px;max-width:1160px;margin:clamp(14px,2.4vw,30px) auto;padding:clamp(20px,2.6vw,34px);font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif;position:relative;overflow:hidden;box-shadow:0 24px 56px #102d231a}.resume:before{content:"";background:linear-gradient(90deg,#d9b46a00 0%,#d9b46ad9 50%,#d9b46a00 100%);height:2px;position:absolute;top:0;left:0;right:0}.resume:hover{transition:transform .25s,box-shadow .25s;transform:translateY(-1px);box-shadow:0 30px 62px #102d2321}.resume-header{grid-template-columns:132px 1fr;align-items:center;gap:24px;margin-bottom:18px}.profile-image{border:3px solid #fff;width:132px;height:132px;box-shadow:0 0 0 1px #d9b46a80,0 14px 30px #102d2338}.resume-header__content{gap:12px;min-width:0;display:grid}.resume-kicker{color:#8a6d3a;letter-spacing:.2em;text-transform:uppercase;background:0 0;border:0;border-radius:0;width:max-content;padding:0;font-size:.66rem;font-weight:600;display:block}.resume-title{letter-spacing:-.01em;color:#0e3d18;margin:0;font-family:Lora,Georgia,Times New Roman,serif;font-size:clamp(1.9rem,1.4rem + 1.4vw,2.8rem);font-weight:600;line-height:1.08}.resume-official-title{color:#5b6b60;letter-spacing:.01em;margin:6px 0 0;font-size:.86rem;line-height:1.4}.resume-signals{border-top:1px solid #1034241a;flex-wrap:wrap;align-items:stretch;gap:0;margin-top:4px;padding-top:14px;display:flex}.resume-signal{color:#0e3d18;background:0 0;border:0;border-left:1px solid #1034241f;border-radius:0;align-items:center;padding:2px 18px;font-family:Lora,Georgia,Times New Roman,serif;font-size:.9rem;font-weight:600;display:inline-flex}.resume-signal:first-child{border-left:0;padding-left:0}.resume-chapters{z-index:5;backdrop-filter:blur(6px);background:linear-gradient(#fffefb 60%,#faf8f1f0);border-top:1px solid #10342414;border-bottom:1px solid #10342414;align-items:center;gap:12px;margin:20px 0 10px;padding:12px 0;display:flex;position:sticky;top:0}.resume-chapters__links{flex-wrap:wrap;gap:6px;display:flex}.resume-download{color:#fffdf8;letter-spacing:.02em;cursor:pointer;background:linear-gradient(135deg,#0e3d18 0%,#146520 55%,#1f6f3c 100%);border:1px solid #10342424;border-radius:999px;flex:none;align-items:center;gap:8px;margin-left:auto;padding:7px 16px;font-family:inherit;font-size:.78rem;font-weight:700;transition:transform .18s,box-shadow .18s,filter .18s;display:inline-flex;box-shadow:0 1px 2px #102d232e,0 10px 22px -12px #102d2380}.resume-download__icon{flex:none;transition:transform .2s}.resume-public-note{color:#102d23b3;margin:10px 0 0;font-size:.78rem;line-height:1.5}.resume-public-note__cta{color:#146520;text-underline-offset:2px;font-weight:700;text-decoration:underline}.resume-public-note__cta:hover{color:#0e3d18}.resume-contact-print{display:none}.resume-download:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 2px 4px #102d2338,0 16px 30px -12px #102d2399}.resume-download:hover .resume-download__icon{transform:translateY(1px)}.resume-download:active{transform:translateY(0)}.resume-download:focus-visible{box-shadow:var(--ring-focus,0 0 0 3px #14652047);outline:none}.resume-download[disabled]{cursor:progress;opacity:.7;pointer-events:none}@media (width<=560px){.resume-download__label{display:none}.resume-download{padding:7px 12px}}.resume-chapter{color:#3d4f45;letter-spacing:.02em;border:1px solid #1034241a;border-radius:999px;align-items:center;padding:6px 14px;font-size:.78rem;font-weight:600;text-decoration:none;transition:color .18s,border-color .18s,background .18s;display:inline-flex}.resume-chapter:hover{color:#0e3d18;background:#d9b46a14;border-color:#d9b46a8c}.details h2[id]{scroll-margin-top:70px}.details h2{letter-spacing:-.015em;text-transform:none;color:#0e3d18;border:0;border-top:1px solid #ece4d3;align-items:center;gap:18px;margin:66px 0 20px;padding:26px 0 0;font-family:Lora,Georgia,Times New Roman,serif;font-size:1.52rem;font-weight:600;display:flex;position:relative}.details h2:before{content:"";background:linear-gradient(90deg,#d9b46a 0%,#b8923f 100%);border-radius:2px;width:46px;height:2px;position:absolute;top:-1px;left:0}.details>h2:first-of-type{border-top:0;margin-top:12px;padding-top:0}.details>h2:first-of-type:before{display:none}.about-story{margin:0}.about-lead{box-shadow:none;color:#2b3a31;background:0 0;border:0;border-radius:0;margin:0 0 18px;padding:0;font-family:Lora,Georgia,Times New Roman,serif;font-size:1.075rem;font-weight:500;line-height:1.78}.about-lead:first-letter{float:left;color:#0e3d18;padding:6px 12px 0 0;font-family:Lora,Georgia,Times New Roman,serif;font-size:3.4rem;font-weight:600;line-height:.82}.about-para{color:#3d4f45;margin:0 0 14px;font-size:1.02rem;line-height:1.75}.about-para:last-child{margin-bottom:0}.contact-info{flex-flow:wrap;justify-content:flex-start;align-items:flex-start;gap:18px;margin:6px 0 4px;display:flex}.contact-info p{margin:0}.contact-card{flex-direction:column;align-items:center;gap:9px;display:flex}.contact-card__label{letter-spacing:.14em;text-transform:uppercase;color:#8a6d3a;text-align:center;border-top:1px solid #d9b46a66;width:100%;padding-top:7px;font-family:Lora,Georgia,Times New Roman,serif;font-size:.72rem;font-weight:600}.contact-link{background:linear-gradient(150deg,#0a3410,#12551f);border:1px solid #d9b46a59;border-radius:14px;width:54px;height:54px;box-shadow:0 8px 18px #0a341038}.contact-link:hover{transform:translateY(-2px);box-shadow:0 12px 24px #0a34104d}.contact-icon{filter:grayscale()brightness(0)invert()opacity(.9);width:26px;height:26px}.skills-groups{flex-direction:column;gap:24px;margin-top:6px;display:flex}.skills-group__label{letter-spacing:.18em;text-transform:uppercase;color:#8a6d3a;align-items:center;gap:12px;margin-bottom:13px;font-family:Lora,Georgia,Times New Roman,serif;font-size:.72rem;font-weight:600;display:flex}.skills-group__label:after{content:"";background:linear-gradient(90deg,#d9b46a8c 0%,#d9b46a00 100%);flex:1;height:1px}.skills-grid{gap:9px 10px}.skill-item{color:#294034;letter-spacing:.004em;background:linear-gradient(#ffffffe6,#faf8f1eb);border:1px solid #1034241f;border-radius:999px;padding:7px 15px;font-size:.85rem;font-weight:600;transition:transform .22s cubic-bezier(.22,1,.36,1),border-color .22s,background .22s,box-shadow .22s,color .22s;position:relative;box-shadow:0 1px 1px #102d230a}.skill-item:hover{color:#103424;background:linear-gradient(#fff,#fbf6ea);border-color:#d9b46a99;transform:translateY(-2px);box-shadow:0 8px 18px -12px #8a6d3a80}.experience-container,.certifications-container,.courses-container,.awards-container{margin-top:8px}.experience-card{background:#fff;border:1px solid #e2e8e3;border-radius:14px;gap:12px;padding:16px 16px 16px 14px;box-shadow:0 8px 22px #102d230f}.experience-card:hover{border-color:#d9b46a80;box-shadow:0 12px 28px -10px #102d2329}.timeline{width:24px}.timeline-marker{background:radial-gradient(circle at 35% 30%,#34a853,#0d4a1c);border:1px solid #fff;width:12px;height:12px;box-shadow:0 0 0 4px #e8f5ec}.timeline-marker.active{background:radial-gradient(circle at 35% 30%,#27ae60,#146520);box-shadow:0 0 0 3px #d9b46a3d,0 0 0 4px #d9b46a73}.timeline-line{background:linear-gradient(#d4e4db 0%,#e8f1ec 100%);width:2px}.job-title{color:#112a21;font-size:1.05rem}.job-company{color:#3f5a4f;font-style:normal;font-weight:600}.job-dates,.job-location{font-size:.84rem}.job-description{color:#3f5a4f;margin-top:6px;line-height:1.58}.job-bullets{flex-direction:column;gap:7px;margin:10px 0 0;padding:0;list-style:none;display:flex}.job-bullets li{color:#3f5a4f;padding-left:20px;line-height:1.6;position:relative}.job-bullets li:before{content:"";background:linear-gradient(135deg,#d9b46a,#b8923f);border-radius:1px;width:6px;height:6px;position:absolute;top:.62em;left:3px;transform:translateY(-50%)rotate(45deg);box-shadow:0 1px 1px #8a6d3a4d}.resume-projects{flex-direction:column;margin:8px 0 0;padding:0;list-style:none;display:flex}.rproject{border-top:1px solid #e2e8e3;padding:18px 0}.rproject:first-child{border-top:0;padding-top:4px}.rproject__head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.rproject__title{letter-spacing:-.01em;color:#112a21;margin:0;font-family:Lora,Georgia,Times New Roman,serif;font-size:1.06rem;font-weight:600}.rproject__title a{color:inherit;background-image:linear-gradient(#d9b46a99,#d9b46a99);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1.5px;text-decoration:none;transition:background-size .3s}.rproject__title a:hover{background-size:100% 1.5px}.rproject__year{font-variant-numeric:tabular-nums;color:#6f8478;flex:none;font-size:.82rem;font-weight:600}.rproject__cat{letter-spacing:.15em;text-transform:uppercase;color:#8a6d3a;margin:0 0 6px;font-family:Lora,Georgia,Times New Roman,serif;font-size:.66rem;font-weight:600;display:block}.rproject__desc{color:#3f5a4f;margin:9px 0 0;font-size:.92rem;line-height:1.62}.rproject__tags{color:#6f8478;letter-spacing:.01em;margin:8px 0 0;font-size:.78rem}.rproject__link{color:#146520;align-items:baseline;gap:6px;margin-top:11px;font-size:.82rem;font-weight:600;text-decoration:none;transition:color .2s;display:inline-flex}.rproject__arrow{transition:transform .2s}.rproject__link:hover{color:#0d4f18}.rproject__link:hover .rproject__arrow{transform:translate(3px)}.rproject__status{color:#6f8478;align-items:center;gap:8px;margin-top:11px;font-size:.8rem;font-weight:600;display:inline-flex}.rproject__dot{background:radial-gradient(circle at 35% 30%,#34a853,#0d4a1c);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #1465201f}.course-card{background:#fff;border:1px solid #e2e8e3;border-radius:14px;padding:14px;box-shadow:0 8px 22px #102d230f}.edu-timeline{margin:10px 0 0;padding:0;list-style:none}.edu-entry{grid-template-columns:26px 1fr;gap:14px;padding:4px 0 22px;display:grid;position:relative}.edu-entry:last-child{padding-bottom:2px}.edu-rail{justify-content:center;padding-top:5px;display:flex;position:relative}.edu-entry:not(:last-child) .edu-rail:before{content:"";background:linear-gradient(#d4e4db 0%,#e8f1ec 100%);width:2px;position:absolute;top:16px;bottom:-22px}.edu-node{z-index:1;background:radial-gradient(circle at 35% 30%,#34a853,#0d4a1c);border:1px solid #fff;border-radius:50%;width:12px;height:12px;position:relative;box-shadow:0 0 0 4px #e8f5ec}.edu-node.active{background:radial-gradient(circle at 35% 30%,#27ae60,#146520);box-shadow:0 0 0 3px #d9b46a3d,0 0 0 4px #d9b46a73}.edu-body{min-width:0}.edu-head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.edu-institution{letter-spacing:-.01em;color:#112a21;margin:0;font-family:Lora,Georgia,Times New Roman,serif;font-size:1.04rem;font-weight:600;line-height:1.3}.edu-years{font-variant-numeric:tabular-nums;color:#6f8478;white-space:nowrap;flex:none;font-size:.82rem;font-weight:600}.edu-degree{color:#3f5a4f;margin:5px 0 0;font-size:.92rem;line-height:1.5}.edu-recognition{color:#6f5828;background:linear-gradient(#fffdf8,#fdf6e5);border:1px solid #d9b46a80;border-radius:999px;align-items:center;gap:8px;margin:10px 0 0;padding:5px 12px 5px 9px;font-size:.78rem;font-weight:600;line-height:1.35;display:inline-flex}.edu-recognition__seal{background:radial-gradient(circle at 35% 30%,#e0c07f,#b8923f);border-radius:50%;flex:none;width:16px;height:16px;position:relative;box-shadow:inset 0 0 0 1px #8a6d3a59}.edu-recognition__seal:after{content:"";border-bottom:1.6px solid #fffdf8;border-right:1.6px solid #fffdf8;width:4px;height:7px;position:absolute;top:3px;left:5px;transform:rotate(45deg)}.edu-skills{color:#6f8478;letter-spacing:.01em;margin:8px 0 0;font-size:.78rem;line-height:1.5}.edu-entry--featured{padding-bottom:26px}.edu-entry--featured .edu-body{background:radial-gradient(120% 140% at 100% 0,#d9b46a21,#0000 55%),linear-gradient(#fffdf8 0%,#fbf6ea 100%);border:1px solid #d9b46a8c;border-radius:14px;margin:-4px 0 0;padding:16px 20px 18px;position:relative;box-shadow:inset 0 1px #ffffffb3,0 10px 26px -18px #8a6d3a8c}.edu-entry--featured .edu-body:before{content:"";background:linear-gradient(90deg,#0000,#d9b46ad9,#0000);border-radius:2px;height:2px;position:absolute;top:0;left:18px;right:18px}.edu-entry--featured .edu-node.active{background:radial-gradient(circle at 35% 30%,#f0d59b,#b8923f);width:14px;height:14px;box-shadow:0 0 0 3px #d9b46a4d,0 0 0 5px #d9b46a80}.edu-entry--featured .edu-institution{font-size:1.12rem}.edu-flag{align-items:center;gap:10px;margin:0 0 10px;display:inline-flex}.edu-flag__label{letter-spacing:.14em;text-transform:uppercase;color:#8a6d3a;font-family:Lora,Georgia,Times New Roman,serif;font-size:.7rem;font-weight:600}.edu-flag__seal{background:radial-gradient(circle at 34% 28%,#f0dcae,#b8923f);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid;transform:rotate(-9deg);box-shadow:inset 0 0 0 1px #ffffff8c,inset 0 0 0 3px #8a6d3a47,0 2px 5px -1px #8a6d3a80}.edu-flag__seal-inner{letter-spacing:.06em;color:#fffdf8;text-shadow:0 1px 1px #8a6d3a99;border:1px dashed #fffdf8bf;border-radius:50%;place-items:center;width:24px;height:24px;font-family:Lora,Georgia,Times New Roman,serif;font-size:.56rem;font-weight:700;display:grid}.edu-entry--featured .edu-recognition{background:linear-gradient(#f7efdc,#f7eccf);border-color:#b8923f8c;border-radius:10px;width:100%;margin-top:12px;padding:8px 14px;display:flex}.pub-editorial{margin-top:8px}.pub-summary{border-bottom:1px solid #ece4d3;flex-wrap:wrap;align-items:baseline;gap:6px;margin:0 0 14px;padding-bottom:13px;display:flex}.pub-summary__count{color:#b8923f;font-variant-numeric:tabular-nums;font-family:Lora,Georgia,serif;font-size:1.15rem;font-weight:600}.pub-summary__label{color:#6f8478;font-size:.82rem}.pub-summary__outlets{color:#3f5a4f;font-family:Lora,Georgia,serif;font-size:.84rem;font-weight:600}.pub-lead{background:radial-gradient(130% 120% at 100% 0,#d9b46a1f,#0000 55%),linear-gradient(#fffdf8 0%,#fbf6ea 100%);border:1px solid #d9b46a80;border-radius:16px;padding:20px 22px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffb3,0 14px 34px -22px #8a6d3a8c}.pub-lead:before{content:"“";color:#b8923f1f;pointer-events:none;font-family:Lora,Georgia,serif;font-size:8rem;line-height:1;position:absolute;top:-26px;right:6px}.pub-lead__ribbon{color:#fffdf8;letter-spacing:.16em;text-transform:uppercase;background:linear-gradient(135deg,#d9b46a,#b8923f);border-radius:999px;align-items:center;height:22px;margin-bottom:10px;padding:0 11px;font-family:Lora,Georgia,serif;font-size:.64rem;font-weight:700;display:inline-flex;box-shadow:0 2px 5px -1px #8a6d3a80}.pub-lead__eyebrow{letter-spacing:.04em;color:#8a6d3a;align-items:center;gap:7px;margin:0 0 6px;font-size:.76rem;font-weight:600;display:flex}.pub-lead__mark{background:#fffdf8;border:1px solid #b8923f80;border-radius:50%;place-items:center;width:26px;height:26px;display:inline-grid;box-shadow:inset 0 0 0 2px #fff9}.pub-lead__mark img{object-fit:contain;filter:grayscale()brightness(.35);opacity:.85;width:15px;height:15px}.pub-lead__dot{color:#c9b287}.pub-lead__date{color:#9a8455;font-variant-numeric:tabular-nums}.pub-lead__title{letter-spacing:-.015em;color:#112a21;margin:0;font-family:Lora,Georgia,Times New Roman,serif;font-size:1.32rem;font-weight:600;line-height:1.28}.pub-lead__excerpt{color:#3f5a4f;max-width:62ch;margin:10px 0 0;font-size:.92rem;line-height:1.62}.pub-lead__link{color:#8a6d3a;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(#fffdf8,#f7efdc);border:1px solid #b8923f8c;border-radius:999px;align-items:center;gap:8px;margin-top:16px;padding:9px 18px;font-size:.76rem;font-weight:700;text-decoration:none;transition:box-shadow .2s,transform .2s,background .2s;display:inline-flex;box-shadow:0 6px 14px -8px #8a6d3a99}.pub-lead__link:hover{background:linear-gradient(#fffdf8,#f4e6c2);text-decoration:none;transform:translateY(-1px);box-shadow:0 10px 20px -8px #8a6d3ab3}.pub-lead__arrow{border-top:1.6px solid #b8923f;border-right:1.6px solid #b8923f;width:6px;height:6px;transition:transform .2s;transform:rotate(45deg)}.pub-lead__link:hover .pub-lead__arrow{transform:translate(2px,-2px)rotate(45deg)}.pub-ledger{margin:6px 0 0;padding:0;list-style:none}.pub-row{border-bottom:1px solid #e8f1ec;border-radius:10px;grid-template-columns:40px 1fr;gap:16px;padding:18px 12px 18px 2px;transition:background .2s,box-shadow .2s;display:grid}.pub-row:last-child,.pub-row:has(+[hidden]){border-bottom:0}.pub-row:hover{background:linear-gradient(#fffdf8,#faf7ee);box-shadow:inset 3px 0 #b8923f8c}.pub-row__index{font-variant-numeric:tabular-nums;color:#c2a668;font-family:Lora,Georgia,serif;font-size:1.02rem;font-weight:600;line-height:1.4}.pub-row__body{min-width:0}.pub-row__head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.pub-row__title{letter-spacing:-.01em;color:#112a21;margin:0;font-family:Lora,Georgia,Times New Roman,serif;font-size:1.02rem;font-weight:600;line-height:1.34}.pub-row__date{font-variant-numeric:tabular-nums;color:#6f8478;white-space:nowrap;flex:none;font-size:.8rem;font-weight:600}.pub-row__platform{letter-spacing:.02em;color:#8a6d3a;margin:4px 0 0;font-size:.76rem;font-weight:600}.pub-row__excerpt{color:#3f5a4f;margin:8px 0 0;font-size:.88rem;line-height:1.6}.pub-row__excerpt.clamped{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.pub-row__excerpt.expanded{display:block}.pub-row__actions{align-items:center;gap:18px;margin-top:4px;display:flex}.pub-row__actions .cert-more{color:#6f8478;margin-top:8px;font-weight:600}.pub-row__actions .cert-more:hover{color:#3f5a4f}.pub-row__link{color:#8a6d3a;letter-spacing:.02em;align-items:center;gap:6px;margin-top:8px;font-size:.78rem;font-weight:700;text-decoration:none;transition:color .2s;display:inline-flex}.pub-row__link:link,.pub-row__link:visited{color:#8a6d3a}.pub-row__link:hover,.pub-row__link:focus-visible{color:#b8923f;outline:none;text-decoration:none}.pub-row__arrow{border-top:1.6px solid #b8923f;border-right:1.6px solid #b8923f;width:5px;height:5px;transition:transform .2s;transform:rotate(45deg)}.pub-row__link:hover .pub-row__arrow{transform:translate(2px,-2px)rotate(45deg)}.awards-container.cert-preview-scope{gap:0;display:block;position:relative}.laureate-list{margin:8px 0 0;padding:0;list-style:none}.award-summary{border-bottom:1px solid #ece4d3;flex-wrap:wrap;align-items:baseline;gap:6px;margin:0 0 16px;padding-bottom:13px;display:flex}.award-summary__count{color:#b8923f;font-variant-numeric:tabular-nums;font-family:Lora,Georgia,serif;font-size:1.15rem;font-weight:600}.award-summary__label{color:#6f8478;font-size:.82rem}.award-summary__outlets{color:#3f5a4f;font-family:Lora,Georgia,serif;font-size:.84rem;font-weight:600}.laureate{border-bottom:1px solid #e8f1ec;border-radius:12px;grid-template-columns:54px 1fr auto;gap:8px 18px;padding:20px 12px 20px 4px;transition:background .2s,box-shadow .2s;display:grid}.laureate:last-child,.laureate:has(+[hidden]){border-bottom:0}.laureate:hover{background:linear-gradient(#fffdf8,#faf7ee);box-shadow:inset 3px 0 #b8923f8c}.laureate__medal{background:radial-gradient(circle at 34% 28%,#fffdf8,#f7efdc);border:1px solid #b8923f8c;border-radius:50%;place-items:center;width:46px;height:46px;display:grid;position:relative;box-shadow:inset 0 0 0 3px #ffffffb3,inset 0 0 0 4px #b8923f38,0 3px 8px -3px #8a6d3a73}.laureate__medal img{object-fit:contain;width:24px;height:24px}.laureate__body{grid-column:2;min-width:0}.laureate__head{flex-wrap:wrap;align-items:baseline;gap:8px 12px;display:flex}.laureate__title{letter-spacing:-.01em;color:#112a21;margin:0;font-family:Lora,Georgia,Times New Roman,serif;font-size:1.06rem;font-weight:600;line-height:1.32;text-decoration:none}a.laureate__title:hover{color:#146520;text-decoration:none}.laureate__tag{color:#8a6d3a;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:linear-gradient(#f7efdc,#f7eccf);border:1px solid #b8923f73;border-radius:999px;flex:none;align-items:center;height:20px;padding:0 10px;font-family:Lora,Georgia,serif;font-size:.66rem;font-weight:700;display:inline-flex}.laureate__meta{color:#6f8478;margin:6px 0 0;font-size:.8rem}.laureate__date{font-variant-numeric:tabular-nums;color:#8a6d3a;font-weight:600}.laureate__dot{color:#c9b287}.laureate__desc{color:#3f5a4f;margin:9px 0 0;font-size:.88rem;line-height:1.62}.laureate__desc.clamped{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.laureate__desc.expanded{display:block}.laureate__actions{margin-top:2px}.laureate__actions .cert-more{color:#6f8478;font-weight:600}.laureate__actions .cert-more:hover{color:#3f5a4f}.laureate__thumb{cursor:pointer;background:#fffdf8;border:1px solid #ece4d3;border-radius:10px;grid-area:1/3/4;align-self:start;width:112px;height:74px;padding:0;transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden;box-shadow:0 4px 12px -6px #8a6d3a66}.laureate__thumb img{object-fit:cover;width:100%;height:100%;display:block}.laureate__thumb:hover{border-color:#b8923f99;transform:translateY(-2px);box-shadow:0 8px 18px -8px #8a6d3a8c}.laureate-list--google{margin-bottom:8px}.laureate--google{background:radial-gradient(120% 140% at 100% 0,#d9b46a1f,#0000 55%),linear-gradient(#fffdf8 0%,#fbf6ea 100%);border:1px solid #b8923f80;border-radius:14px;padding:16px 18px;box-shadow:inset 0 1px #ffffffb3,0 14px 34px -24px #8a6d3a80}.laureate--google+.laureate--google{margin-top:12px}.laureate__medal--google{background:linear-gradient(#fffdf8,#f7ecd6);border-color:#b8923f8c}.laureate__tag--google{color:#fdf6e5;background:linear-gradient(#146520,#0d4f18);border-color:#0000}@media (width<=640px){.laureate{grid-template-columns:44px 1fr;gap:6px 14px}.laureate__thumb{aspect-ratio:180/110;grid-area:auto/2;width:100%;max-width:240px;height:auto;margin-top:12px}.laureate--google{padding:14px}}.certifications-container{gap:0}.cert-group{align-items:center;gap:12px;margin:22px 0 2px;display:flex}.cert-group:first-child{margin-top:6px}.cert-group__name{letter-spacing:.16em;text-transform:uppercase;color:#8a6d3a;white-space:nowrap;font-family:Lora,Georgia,Times New Roman,serif;font-size:.72rem;font-weight:600}.cert-group__count{font-variant-numeric:tabular-nums;letter-spacing:.04em;color:#b8923f;white-space:nowrap;background:linear-gradient(#fffdf8,#fdf6e5);border:1px solid #d9b46a80;border-radius:999px;padding:2px 8px;font-size:.68rem;font-weight:700}.cert-group__rule{background:linear-gradient(90deg,#d9b46a80,#d9b46a00);flex:1;height:1px}.cert-card{box-shadow:none;background:0 0;border:0;border-top:1px solid #e2e8e3;border-radius:0;grid-template-columns:46px 1fr auto;gap:18px;padding:20px 0}.cert-group+.cert-card{border-top:0;padding-top:10px}.cert-card:first-child{border-top:0;padding-top:6px}.cert-card:hover{box-shadow:none;border-color:#e2e8e3;transform:none}.cert-org img{background:#fff;border:1px solid #e2e8e3;border-radius:9px;width:42px;height:42px;padding:4px;box-shadow:0 1px 2px #102d230a}.cert-title{letter-spacing:-.01em;color:#112a21;font-family:Lora,Georgia,Times New Roman,serif;font-size:1.04rem;font-weight:600}.cert-meta{color:#6f8478;margin-top:3px;font-size:.85rem}.cert-id{color:#9aa8a0;letter-spacing:.02em;margin-top:5px;font-size:.76rem}.cert-skills{color:#6f8478;margin-top:8px;font-size:.82rem;line-height:1.5}.cert-skills strong{letter-spacing:.11em;text-transform:uppercase;color:#8a6d3a;font-family:Lora,Georgia,Times New Roman,serif;font-size:.7rem;font-weight:600}.cert-thumb img{object-fit:contain;background:#fff;border:1px solid #ece4d3;border-radius:7px;width:150px;max-height:96px;padding:5px;box-shadow:0 2px 10px -4px #8a6d3a47}.cert-preview-scope{position:relative}.cert-preview{z-index:6;backdrop-filter:blur(3px);background:#0f1a1457;border-radius:12px;animation:.18s both certPreviewFade;position:absolute;inset:0}.cert-preview__box{background:linear-gradient(#fff 0%,#faf8f1 100%);border:1px solid #ece4d3;border-radius:16px;width:min(560px,90%);padding:22px 22px 20px;animation:.22s cubic-bezier(.22,1,.36,1) both certPreviewPop;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 34px 70px -26px #0f1a148c,0 0 0 1px #d9b46a24}.cert-preview__head{text-align:center;margin-bottom:14px;padding:0 26px}.cert-preview__eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#8a6d3a;font-family:Lora,Georgia,Times New Roman,serif;font-size:.64rem;font-weight:600;display:block}.cert-preview__title{letter-spacing:-.01em;color:#112a21;margin:5px 0 0;font-family:Lora,Georgia,Times New Roman,serif;font-size:1.02rem;font-weight:600;line-height:1.3}.cert-preview__frame{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#fff;border:1px solid #ece4d3;border-radius:10px;max-height:min(58vh,440px);padding:14px;overflow:auto;box-shadow:inset 0 0 0 1px #d9b46a47}.cert-preview__frame.is-zoomed{cursor:grab;touch-action:none}.cert-preview__frame.is-grabbing{cursor:grabbing;user-select:none}.cert-preview__frame.is-grabbing img{pointer-events:none}.cert-preview__frame img{border-radius:4px;width:100%;height:auto;transition:width .18s;display:block}.cert-preview__verify{color:#146520;width:max-content;margin:14px auto 2px;font-size:.82rem;font-weight:600;text-decoration:none;transition:color .18s;display:block}.cert-preview__verify:hover{color:#0d4f18}.cert-preview__zoom{background:linear-gradient(#fff,#faf8f1);border:1px solid #d9b46a73;border-radius:999px;align-items:stretch;gap:2px;width:max-content;margin:12px auto 0;padding:3px;display:flex}.cert-preview__zoom button{color:#174835;cursor:pointer;background:0 0;border:0;border-radius:999px;min-width:34px;height:30px;padding:0 10px;font-size:1rem;font-weight:700;line-height:1;transition:background .15s,color .15s}.cert-preview__zoom button:hover:not(:disabled){color:#103024;background:#d9b46a29}.cert-preview__zoom button:disabled{color:#b6c2ba;cursor:default}.cert-preview__zoom .cert-preview__zoom-level{font-variant-numeric:tabular-nums;letter-spacing:.02em;color:#6f8478;font-size:.76rem}@media (width<=640px){.cert-card{grid-template-columns:38px 1fr;gap:12px;padding:18px 0}.course-card.cert-card{grid-template-columns:38px 1fr}.cert-org img{width:38px;height:38px}.cert-thumb{grid-column:1/-1;justify-self:start;margin-top:10px}.cert-thumb img{width:100%;max-height:none}.cert-preview__box{width:94%;padding:18px 14px 16px}.cert-preview__head{padding:0 20px}.cert-preview__frame{max-height:52vh;padding:10px}}.cert-preview__close{color:#b6a988;cursor:pointer;background:0 0;border:0;width:28px;height:28px;padding:0;font-size:24px;line-height:1;transition:color .15s;position:absolute;top:8px;right:12px}.cert-preview__close:hover{color:#112a21}@keyframes certPreviewFade{0%{opacity:0}to{opacity:1}}@keyframes certPreviewPop{0%{opacity:0;transform:translate(-50%)translateY(6px)scale(.97)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.cert-title,.course-title,.edu-institution{color:#112a21}.cert-skills,.course-desc,.edu-degree{color:#3f5a4f}.courses-container{gap:0;margin-top:8px;display:block}.course-card.cert-card{grid-template-columns:46px 1fr auto}.course-card .course-content{min-height:0;display:block}.course-card .course-title{-webkit-line-clamp:2;letter-spacing:-.01em;color:#112a21;min-height:0;margin:0;font-family:Lora,Georgia,Times New Roman,serif;font-size:1.04rem;font-weight:600}.course-card .course-icon{background:#fff;border:1px solid #e2e8e3;border-radius:9px;width:42px;height:42px;padding:4px;box-shadow:0 1px 2px #102d230a}.course-card .course-desc{color:#3f5a4f;margin:8px 0 0;font-size:.88rem;line-height:1.6}.course-card .course-desc.clamped{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.course-card .course-desc.clamped:after{content:none}.course-card .course-desc.expanded{display:block}.course-card .show-credential{margin-top:10px}.cert-more{color:#146520;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin-top:8px;padding:0;font-size:.78rem;font-weight:600;display:inline-flex}.cert-more:hover{color:#0d4f18}.cert-more__chevron{border-bottom:1.5px solid #b8923f;border-right:1.5px solid #b8923f;width:5px;height:5px;transition:transform .2s;transform:translateY(-1px)rotate(45deg)}.cert-more[aria-expanded=true] .cert-more__chevron{transform:translateY(1px)rotate(-135deg)}.certifications-container,.awards-container{gap:12px}.show-credential{color:#146520;box-shadow:none;background:0 0;border:0;border-radius:0;align-items:baseline;gap:6px;margin-top:12px;padding:0;font-size:.82rem;font-weight:600;display:inline-flex;transform:none}.show-credential:after{content:"→";transition:transform .2s}.show-credential:visited{color:#146520}.show-credential:hover,.show-credential:focus-visible{color:#0d4f18;box-shadow:none;background:0 0;outline:none;transform:none}.show-credential:hover:after{transform:translate(3px)}.show-credential:active{box-shadow:none;transform:none}.show-all-button,.show-less-button{color:#174835;letter-spacing:.13em;text-transform:uppercase;background:linear-gradient(#fff,#faf8f1);border:1px solid #14652042;border-radius:999px;align-items:center;gap:9px;padding:8px 20px;font-size:.74rem;font-weight:700;display:inline-flex;box-shadow:0 4px 10px #102d2314}.show-all-button:after,.show-less-button:after{content:"";border-bottom:1.6px solid #b8923f;border-right:1.6px solid #b8923f;width:6px;height:6px;transition:transform .2s,border-color .2s;transform:translateY(-2px)rotate(45deg)}.show-less-button:after{transform:translateY(1px)rotate(-135deg)}.show-all-button:hover,.show-less-button:hover{color:#103024;background:linear-gradient(#fff,#fbf6ea);border-color:#d9b46a99}.show-all-button:hover:after{border-color:#a8842f;transform:translateY(0)rotate(45deg)}.show-less-button:hover:after{border-color:#a8842f;transform:translateY(-1px)rotate(-135deg)}.resume-projects+.toggle-projects,.courses-container .toggle-courses,.certifications-container .toggle-certifications,.pub-editorial .toggle-publications,.awards-container .toggle-awards,.experience-container .toggle-experience{text-align:center;grid-column:1/-1;justify-self:center;margin-top:12px}.pub-editorial .toggle-publications,.awards-container .toggle-awards{justify-content:center;display:flex}@media (width<=900px){.resume{border-radius:18px;padding:18px}.resume-header{grid-template-columns:102px 1fr;gap:16px}.profile-image{width:102px;height:102px}.cert-card{grid-template-columns:40px 1fr}.cert-thumb{grid-column:1/-1;justify-self:start;margin-top:8px}.cert-thumb img{width:100%;max-height:180px}}@media (width<=640px){.resume{margin:10px auto;padding:14px}.resume-header{text-align:center;grid-template-columns:1fr;justify-items:center;margin-bottom:14px}.resume-header__content{justify-items:center}.profile-image{width:86px;height:86px}.resume-signals{justify-content:center}.contact-info{gap:10px}.contact-link{border-radius:12px;width:50px;height:50px}.contact-icon{width:24px;height:24px}.courses-container{grid-template-columns:1fr}}.resume-print-footer{display:none}@media print{@page{size:A4;margin:12mm 12mm 18mm}p,li,.about-para,.about-lead,.laureate__desc,.course-desc,.pub-row__excerpt{orphans:3;widows:3}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}html,body{background:#fff!important;margin:0!important;padding:0!important}body:before,body:after,.background-wrapper:before,.background-wrapper:after,.app-bg{content:none!important;background:0 0!important;display:none!important}.app-bg,.background-wrapper>.app-bg,.cv-selector,.resume-chapters,.resume-download,.resume-public-note,.resume-scroll-top,.cert-preview,.show-all-button,.show-less-button,.cert-more{display:none!important}.resume-contact-print{color:#103024!important;border-top:1px solid #d9b46a80!important;flex-wrap:wrap!important;gap:6px 14px!important;margin:12px 0 2px!important;padding-top:8px!important;font-size:9.5pt!important;line-height:1.4!important;display:flex!important}.resume-contact-print>span{white-space:nowrap!important}.resume-contact-print>span+span:before{content:none!important}.background-wrapper,.app.cv-page{background:#fff!important;display:block!important}.cv-page .cv-content,.content.cv-content{will-change:auto!important;background:#fff!important;width:100%!important;min-height:0!important;margin:0!important;padding:0!important;animation:none!important;transform:none!important}.resume{max-width:none!important;box-shadow:none!important;color:#0a120e!important;opacity:1!important;background:#fff!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;font-size:10.5pt!important;line-height:1.4!important;transition:none!important;animation:none!important;transform:none!important}.resume .resume-header,.resume .resume-chapters,.resume .details>*{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}.resume-header{break-inside:avoid;border-bottom:1px solid #1034242e;text-align:left!important;grid-template-columns:96px 1fr!important;place-items:center start!important;gap:22px!important;margin-bottom:0!important;padding-bottom:16px!important;display:grid!important}.resume-header__content{text-align:left!important;justify-items:start!important}.profile-image{width:96px!important;height:96px!important;box-shadow:0 0 0 1px #d9b46a80!important}.resume-kicker{letter-spacing:.2em!important;color:#9a7b3f!important}.resume-signals{justify-content:flex-start!important;margin-top:2px!important}.resume-title{font-size:20pt!important}.details h2{break-after:avoid;page-break-after:avoid;border-bottom:1px solid #10342424;color:#103024!important;padding-bottom:5px!important;font-size:13pt!important}h3{break-after:avoid;page-break-after:avoid}.experience-card,.rproject,.cert-card,.course-card,.edu-timeline>li,.pub-lead,.pub-row,.laureate{break-inside:avoid;page-break-inside:avoid}.details>h2{margin-top:22px!important}.details>h2:first-child{margin-top:24px!important}a{color:#103024!important;text-decoration:none!important}.clamp-1,.clamp-2,.clamped,.course-desc,.laureate__desc,.cert-skills,.pub-row__excerpt{-webkit-line-clamp:unset!important;line-clamp:unset!important;display:block!important;overflow:visible!important}.clamped:after,.course-desc.clamped:after{display:none!important}.cert-thumb,.laureate__thumb{max-width:120px!important;max-height:120px!important}.resume *{box-shadow:none!important}.pub-lead{background:#fff!important;border:1px solid #d9b46a73!important}.pub-lead:before{display:none!important}.pub-lead__ribbon{color:#8a6d3a!important;background:0 0!important;border:1px solid #b8923fa6!important}.resume-print-footer{letter-spacing:.02em;color:#475467;border-top:1px solid #d9b46a8c;align-items:baseline;gap:8px;padding-top:4px;font-family:Lora,Georgia,Times New Roman,serif;font-size:7.5pt;position:fixed;bottom:4mm;left:0;right:0;display:flex!important}.resume-print-footer__name{color:#103024;letter-spacing:.04em;font-weight:600}.resume-print-footer__role{color:#6b7280;font-style:italic}.resume-print-footer__sep{background:#b8923f;border-radius:50%;width:3px;height:3px;transform:translateY(-2px)}.resume-print-footer__site{color:#8a6d3a;letter-spacing:.06em;margin-left:auto;font-weight:600}}
