@charset "UTF-8";@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}:root{--colour-accent:#5468ff;--colour-accent-strong:#4054ed;--colour-accent-soft:#eef0ff;--colour-text:#2b2b2b;--colour-muted:#6f747c;--colour-border:#e3e5ec;--colour-surface:#fff;--colour-hero-overlay:rgba(18, 30, 133, .82);--colour-tag-text:#aaa;--colour-social-bg:#fff;--colour-social-text:#222;--colour-email:#8b8b8b;--colour-nav-text:#6d6d6d;--colour-skill-bullet:#d65ad7;--colour-skill-strong:#444;--colour-org-text:#6d6d6d;--colour-timeline-date:#6d6d6d;--colour-fact-value:#888;--colour-identity-bg:rgba(255, 255, 255, .85);--colour-identity-text:#2b2b2b;--content-width:1170px;--radius:8px;--space:1rem;--font-sans:Arial, Helvetica, sans-serif;--shadow:0 3px 12px rgba(0, 0, 0, .08)}[data-theme=dark]{--colour-accent:#7b8cff;--colour-accent-strong:#93a2ff;--colour-accent-soft:#e8eaf0;--colour-text:#e8eaf0;--colour-muted:#a0a4b0;--colour-border:#3a3f4d;--colour-surface:#1e2230;--colour-hero-overlay:rgba(10, 15, 50, .88);--colour-tag-text:#c0c4d0;--colour-social-bg:#2a3040;--colour-social-text:#e8eaf0;--colour-email:#a0a4b0;--colour-nav-text:#a0a4b0;--colour-skill-bullet:#e07ae0;--colour-skill-strong:#d0d4e0;--colour-org-text:#a0a4b0;--colour-timeline-date:#a0a4b0;--colour-fact-value:#a0a4b0;--colour-identity-bg:rgba(30, 34, 48, .9);--colour-identity-text:#e8eaf0;--shadow:0 3px 12px rgba(0, 0, 0, .3)}.theme-toggle,body.resume-site-body{color:var(--colour-text);background:var(--colour-surface)}.theme-toggle{position:fixed;top:20px;right:20px;z-index:1000;display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:2px solid var(--colour-border);border-radius:50%;cursor:pointer;box-shadow:var(--shadow);transition:all .3s ease}.theme-toggle:hover,a{color:var(--colour-accent)}.theme-toggle:hover{border-color:var(--colour-accent);transform:scale(1.05)}.theme-toggle i{font-size:1.3rem}[data-theme=dark] .theme-toggle .la-sun,img{display:block}.theme-toggle .la-sun,[data-theme=dark] .theme-toggle .la-moon{display:none}*,::after,::before{box-sizing:border-box}html{scroll-behavior:smooth}body.resume-site-body{margin:0;font:16px/1.65 var(--font-sans);-webkit-font-smoothing:antialiased;transition:background-color .3s ease,color .3s ease}img{max-width:100%;height:auto}a{text-decoration:none}a:hover{color:var(--colour-accent-strong)}a:focus-visible{outline:3px solid rgba(84,104,255,.35);outline-offset:3px}h1,h2,h3,h4,h5,h6{color:var(--colour-text);line-height:1.25}h2{font-size:1.5rem}h2,p{margin:0 0 1rem}.resume-container{width:min(100% - 30px,var(--content-width));margin-inline:auto}.resume-layout>.resume-container{width:100%}.profile-hero{color:#fff;background:linear-gradient(var(--colour-hero-overlay),var(--colour-hero-overlay)),url(../assets/images/headercover.jpg)center/cover no-repeat}.profile-hero-inner{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;width:min(100% - 30px,var(--content-width));margin-inline:auto}.profile-actions,.profile-hero-left{padding-top:48px}.profile-tags{margin:0}.profile-tags,.social-links{padding:0;list-style:none}.profile-meta,.skills-list{margin:0;padding:0;list-style:none}.profile-fact-value ul,.sidebar-panel-list{margin:0;list-style:none}.profile-fact-value ul{padding:0}.profile-tags{display:flex;flex-wrap:wrap;gap:20px}.profile-tags li>span{display:block;min-width:108px;padding:7px 18px;color:var(--colour-tag-text);text-align:center;border:2px solid #fff;border-radius:5px}.social-links{display:flex;gap:18px;margin:108px 0 0}.social-links a{display:grid;place-items:center;width:48px;height:48px;color:var(--colour-social-text);background:var(--colour-social-bg);border:2px solid currentColor;border-radius:50%;transition:all .2s ease}.social-links a:hover{color:var(--colour-accent);transform:translateY(-2px)}.profile-identity{min-width:0;text-align:center}.profile-photo-frame{width:140px;height:140px;max-width:35vw;max-height:35vw;margin:0 auto 16px;border-radius:50%;border:3px solid rgba(188,188,188,.9);padding:4px;box-shadow:0 4px 20px rgba(0,0,0,.15);transition:width .3s ease,height .3s ease}.profile-photo{width:100%;height:100%;object-fit:cover;border-radius:50%}@media (max-width:991px){.profile-photo-frame{width:120px;height:120px;max-width:30vw;max-height:30vw}}@media (max-width:640px){.profile-photo-frame{width:100px;height:100px;max-width:28vw;max-height:28vw;margin-bottom:12px}}@media (max-width:400px){.profile-photo-frame{width:88px;height:88px;max-width:26vw;max-height:26vw}}.profile-hero,.profile-hero-inner{min-height:240px}.profile-name{margin:0 0 8px;font-size:1.7rem}.profile-role{color:var(--colour-accent);margin:0 0 3px;font-size:1.05rem}.profile-email a{color:var(--colour-email)}.profile-email i{margin-right:7px}.profile-actions{display:flex;min-height:285px;flex-direction:column;align-items:flex-end}.profile-meta{display:flex;gap:30px;font-weight:700}.badges-list>li,.profile-meta>div{display:flex;align-items:center;gap:8px}.profile-meta i{font-size:1.4rem}.profile-location-link{color:#fff}.resume-download{margin-top:auto;margin-bottom:30px}.resume-download a{display:inline-flex;align-items:center;gap:10px;padding:12px 40px;color:var(--colour-accent-soft);font-weight:700;border:2px solid var(--colour-accent-soft);border-radius:4px;transition:all .2s ease}.resume-download a:hover{color:#fff;background:var(--colour-accent)}.section-nav{margin:34px 0 30px}.section-nav-inner{width:100%;min-width:0;border:2px solid var(--colour-border);border-radius:var(--radius);background:var(--colour-surface);transition:background-color .3s ease,border-color .3s ease}.section-nav-list{display:flex;flex-flow:row nowrap;justify-content:center;width:100%;min-width:0;margin:0;padding:0;overflow-x:auto;overflow-y:hidden;list-style:none;scrollbar-width:thin}.section-nav-item{flex:0 0 auto}.section-nav-link{display:flex;align-items:center;padding:17px 24px;color:var(--colour-nav-text);white-space:nowrap;transition:color .2s ease}.section-nav-link i{display:inline-block}.section-nav-link.active,.section-nav-link:hover{color:var(--colour-accent)}.sidebar-panel--badges .sidebar-panel-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px;font-size:1.2rem;font-weight:400}.badges-toggle{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;color:#4a5fd0;font-size:.8rem;font-weight:600;background:var(--colour-accent-soft);border:0;border-radius:20px;cursor:pointer;transition:all .2s ease}.badges-toggle:hover{background:var(--colour-accent);color:#fff}.badges-toggle i{font-size:.9rem;transition:transform .3s ease}.badges-toggle[aria-expanded=false] i{transform:rotate(180deg)}.badges-toggle-text{white-space:nowrap}.badges-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;padding:16px;border:2px solid var(--colour-border);border-radius:var(--radius);background:var(--colour-surface);list-style:none;margin:0;transition:all .3s ease;max-height:600px;overflow:auto}.badges-list.collapsed{max-height:200px;position:relative}.badges-list.collapsed::after{content:"";position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to bottom,transparent,var(--colour-surface));pointer-events:none}.badges-list>li{flex-direction:column;gap:12px;margin:0!important}.badges-list iframe,.badges-list img{width:100%!important;max-width:120px;height:auto!important;max-height:135px;border-radius:8px;transition:transform .2s ease}.badges-list iframe:hover,.badges-list img:hover{transform:scale(1.05)}.badges-list>li>div[data-share-badge-id]{width:100%;display:flex;justify-content:center}@media (max-width:400px){.badges-list{grid-template-columns:1fr;max-height:400px}.badges-list.collapsed{max-height:180px}}@media print{.badges-list.collapsed::after,.badges-toggle{display:none!important}.badges-list{max-height:none!important;overflow:visible!important}}@media screen and (min-width:481px) and (max-width:768px){.section-nav-list{flex-flow:row wrap;align-content:flex-start;justify-content:center;max-height:92px;overflow:hidden;scrollbar-width:none}.section-nav-list::-webkit-scrollbar{display:none}.section-nav-link{min-height:46px;padding:12px 16px;font-size:.9rem}.section-nav-link i{display:inline-block;margin-right:6px;font-size:.9em}}@media screen and (max-width:480px){.section-nav-list{flex-flow:row wrap;align-content:flex-start;justify-content:center;max-height:88px;overflow:hidden;scrollbar-width:none}.section-nav-list::-webkit-scrollbar{display:none}.section-nav-link{justify-content:center;min-width:44px;min-height:44px;padding:10px 12px;font-size:.85rem}.section-nav-link span{display:none}.section-nav-link i{display:inline-block;margin-right:0;font-size:1.1rem}}.resume-columns{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,1fr);gap:30px}.resume-primary>div{scroll-margin-top:80px;margin-bottom:1.55rem}.profile-fact-value,.resume-primary li,.resume-primary p{color:var(--colour-muted)}.skills-list{padding-left:2.7rem}.skills-list li{position:relative;margin-bottom:.2rem}.skills-list li::before{content:"♧";position:absolute;left:-1.2rem;color:var(--colour-skill-bullet)}.skills-list strong{color:var(--colour-skill-strong)}.credentials-list,.timeline{margin:0}.credentials-list dt,.timeline dt{position:relative;margin-left:8px;padding:0 0 .4rem 32px}.credentials-list dt::before,.timeline dt::before{content:"";position:absolute;top:.35rem;left:0;width:14px;height:14px;background:var(--colour-surface);border:2px solid var(--colour-accent);border-radius:50%;transition:background-color .3s ease;z-index:1}.credentials-list dd,.timeline dd{margin:0 0 1.5rem 14px;padding:0 0 1.5rem 20px;border-left:2px solid var(--colour-border);position:relative}.credentials-list dt:last-of-type+dd,.timeline dt:last-of-type+dd{padding-bottom:0;margin-bottom:0}@media (max-width:640px){.credentials-list dt,.timeline dt{margin-left:4px;padding-left:28px}.credentials-list dd,.timeline dd{margin-left:10px;padding-left:16px}.credentials-list dd::before,.timeline dd::before{left:-16px}}.timeline-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:.55rem}.credential-title,.timeline-role{color:var(--colour-accent);font-size:1.18rem}.credential-issuer,.timeline-organisation{color:var(--colour-org-text);font-size:1.05rem}.credential-issuer::before{content:" · "}.timeline-date{display:block;color:var(--colour-timeline-date);font-size:.95rem}.timeline dd ul{margin-top:.75rem}.sidebar-panel{margin-bottom:24px}.sidebar-panel-title{margin:0 0 9px;font-size:1.2rem;font-weight:400}.sidebar-panel-list{padding:18px 24px;border:2px solid var(--colour-border);border-radius:var(--radius);background:var(--colour-surface);transition:background-color .3s ease,border-color .3s ease}.sidebar-panel-list>li+li{margin-top:28px}.profile-fact{display:grid;grid-template-columns:36px 1fr;gap:16px}.profile-fact-icon{color:var(--colour-accent);font-size:1.7rem}.profile-fact-content h6{margin:0 0 3px;font-size:1rem}.profile-fact-value a,.profile-fact-value span{color:var(--colour-fact-value)}.profile-fact-value .fi{width:34px;margin-right:11px;vertical-align:middle}.sidebar-panel:not(.sidebar-panel--overview) .sidebar-panel-list img{width:100%}.sidebar-panel-list iframe{max-width:100%}.profile-identity{background:var(--colour-identity-bg);padding:16px 20px 24px;border-radius:12px;backdrop-filter:blur(8px);transition:background-color .3s ease}.profile-name{color:var(--colour-identity-text)}.site-footer{margin-top:60px;padding:24px 0;border-top:2px solid var(--colour-border);background:var(--colour-surface)}.footer-content{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.footer-compatibility{display:flex;align-items:center;gap:8px;color:var(--colour-muted);font-size:.9rem}.footer-compatibility i{color:var(--colour-accent);font-size:1.1rem}.footer-compatibility a{color:#4a5fd0;font-weight:600}.browser-popup-footer a:hover,.footer-compatibility a:hover{text-decoration:underline}.browser-popup-header p,.footer-copyright{color:var(--colour-muted);font-size:.85rem}.browser-popup-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.75);backdrop-filter:blur(4px);animation:fadeIn .3s ease}.browser-popup-overlay[hidden]{display:none}.browser-popup{position:relative;width:min(560px,100%);max-height:90vh;overflow-y:auto;padding:32px;background:var(--colour-surface);border-radius:16px;box-shadow:0 25px 50px -12px rgba(0,0,0,.5);animation:slideUp .3s ease}.browser-popup-close{position:absolute;top:16px;right:16px;width:36px;height:36px;padding:0;color:var(--colour-muted);font-size:1.5rem;line-height:1;background:0 0;border:0;border-radius:50%;cursor:pointer;transition:all .2s ease}.browser-popup-close:hover{color:var(--colour-text);background:var(--colour-border)}.browser-popup-header{text-align:center;margin-bottom:28px}.browser-popup-icon{font-size:3rem;margin-bottom:12px}.browser-popup-header h2{font-size:1;margin:0 0 8px;font-size:1.5rem;color:var(--colour-text)}.browser-popup-header p{margin:0;font-size:.95rem;line-height:1.5}.browser-popup-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.browser-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 16px;color:var(--colour-text);text-decoration:none;background:var(--colour-surface);border:2px solid var(--colour-border);border-radius:12px;transition:all .2s ease}.browser-card:hover{border-color:var(--colour-accent);transform:translateY(-4px);box-shadow:0 8px 24px rgba(84,104,255,.15)}.browser-card img{width:56px;height:56px;object-fit:contain}.browser-name{font-weight:700;font-size:1rem}.browser-cta{padding:6px 16px;color:#fff;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:var(--colour-accent);border-radius:20px;transition:background .2s ease}.browser-card:hover .browser-cta{background:var(--colour-accent-strong)}.browser-popup-footer{text-align:center;padding-top:16px;border-top:1px solid var(--colour-border)}.browser-popup-footer p{margin:0;color:var(--colour-muted);font-size:.9rem}.browser-popup-footer a{color:var(--colour-accent);font-weight:600;cursor:pointer}@media (max-width:480px){.browser-popup{padding:24px 20px}.browser-popup-grid{grid-template-columns:1fr}.footer-content{flex-direction:column;text-align:center}}[data-theme=dark] .browser-popup{box-shadow:0 25px 50px -12px rgba(0,0,0,.8)}[data-theme=dark] .browser-card:hover{box-shadow:0 8px 24px rgba(123,140,255,.25)}@media (max-width:991px){.profile-hero,.profile-hero-inner{min-height:0}.profile-hero-inner{grid-template-columns:1fr;padding-bottom:28px}.profile-identity{grid-row:1}.profile-hero-left{grid-row:2;padding-top:0}.profile-actions{grid-row:3;min-height:0;padding-top:24px;align-items:center}.profile-meta,.profile-tags,.social-links{justify-content:center}.social-links{margin-top:22px}.resume-download{margin:22px 0 0}.resume-columns{grid-template-columns:1fr}.resume-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}@media (max-width:960px){.section-nav-list{flex-wrap:wrap;justify-content:center;max-height:108px;overflow:hidden;overflow-x:visible;scrollbar-width:none}.section-nav-list::-webkit-scrollbar{display:none}.section-nav-link{padding:12px 16px;font-size:.9rem}.section-nav-link i{display:inline-block;margin-right:6px;font-size:.9em}}@media (max-width:480px){.section-nav-list{max-height:96px}.section-nav-link{padding:10px 12px;font-size:.85rem}.section-nav-link span{display:none}.section-nav-link i{margin-right:0;font-size:1.1rem}}@media (max-width:768px){.section-nav-wrapper{position:relative}.section-nav-wrapper::after{content:"";position:absolute;top:0;right:0;bottom:0;width:40px;background:linear-gradient(to right,transparent,var(--colour-surface));pointer-events:none;opacity:0;transition:opacity .3s ease}.section-nav-wrapper.has-overflow::after{opacity:1}}@media (max-width:640px){body.resume-site-body{font-size:15px}.theme-toggle{top:12px;right:12px;width:42px;height:42px}.profile-tags{gap:8px}.profile-tags li{min-width:90px;padding-inline:10px}.profile-meta{flex-direction:column;gap:6px}.section-nav-list{justify-content:flex-start}.section-nav-link{padding:14px 16px}.resume-sidebar{grid-template-columns:1fr}.credentials-list dt,.timeline dt{margin-left:0;padding-left:34px}.credentials-list dd,.timeline dd{margin-left:9px;padding-left:24px}.skills-list{padding-left:1.6rem}}@media print{.browser-popup-overlay,.resume-download,.section-nav,.site-footer,.social-links,.theme-toggle{display:none!important}.profile-hero,.profile-hero *{color:#111!important;background:#fff!important}.profile-hero-inner,.resume-columns{display:block}.profile-photo-frame{border-color:#ddd}a{color:inherit}:root{--colour-text:#2b2b2b!important;--colour-muted:#6f747c!important;--colour-surface:#fff!important;--colour-border:#e3e5ec!important}}