:root{--primary-color: #0047AB;--primary-dark: #003585;--text-color: #0E1B33;--muted-color: #55627A;--bg-color: #F6F8FC;--card-bg: #FFFFFF;--tint-color: #E8EFFB;--border-color: #D3DCEC;--rule-color: #8FA3C4;--mark-color: #C26A00;--on-primary: #FFFFFF;--heading-color: var(--primary-color);--font-head: "Outfit","Trebuchet MS",Arial,sans-serif;--font-body: "Source Sans 3","Segoe UI",Arial,sans-serif;--font-mono: "IBM Plex Mono",Consolas,monospace;--card-shadow: 0 1px 2px rgba(8,20,48,.05);--card-shadow-hover: 0 8px 24px rgba(8,20,48,.10);--spacing-sm: 5px;--spacing-md: 10px;--spacing-lg: 20px;--spacing-xl: 40px;--border-radius: 10px;--border-radius-sm: 8px;--tl-date-col: 200px;--tl-marker-col: 40px;--tl-gap: 40px;--transition-standard: all 0.3s ease}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--primary-color: #7FAEFF;--primary-dark: #A8C8FF;--text-color: #E6ECF7;--muted-color: #9AA8C2;--bg-color: #0B1220;--card-bg: #121C30;--tint-color: #18284A;--border-color: #293A5C;--rule-color: #5F7499;--mark-color: #FFB547;--on-primary: #0B1220;--card-shadow: 0 1px 2px rgba(0,0,0,.35);--card-shadow-hover: 0 8px 24px rgba(0,0,0,.45)}}:root[data-theme="dark"]{--primary-color: #7FAEFF;--primary-dark: #A8C8FF;--text-color: #E6ECF7;--muted-color: #9AA8C2;--bg-color: #0B1220;--card-bg: #121C30;--tint-color: #18284A;--border-color: #293A5C;--rule-color: #5F7499;--mark-color: #FFB547;--on-primary: #0B1220;--card-shadow: 0 1px 2px rgba(0,0,0,.35);--card-shadow-hover: 0 8px 24px rgba(0,0,0,.45)}*{box-sizing: border-box;margin: 0;padding: 0}body{background-color: var(--bg-color);font-family: var(--font-body);color: var(--text-color);line-height: 1.6;font-size: 17px;-webkit-text-size-adjust: 100%}@media (prefers-reduced-motion: no-preference){html{scroll-behavior: smooth}}a{color: var(--primary-color);text-decoration: none;transition: var(--transition-standard)}a:not(.button):hover{color: var(--primary-dark);text-decoration: underline}:focus-visible{outline: 3px solid var(--mark-color);outline-offset: 2px}h1,h2,h3,h4,h5,h6{font-family: var(--font-head);color: var(--heading-color);margin-top: 0;line-height: 1.15;text-wrap: balance}h1{font-weight: 700;letter-spacing: -0.015em}h2{font-weight: 600}h2{font-size: 1.45rem;border-bottom: 1px solid var(--border-color);padding-bottom: var(--spacing-md);margin-bottom: var(--spacing-lg)}.sr-only{position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0,0,0,0);white-space: nowrap;border-width: 0}.skip-link{position: absolute;top: -60px;left: 0;background: var(--primary-color);color: var(--on-primary);padding: 10px 16px;border-radius: 0 0 var(--border-radius-sm) 0;font-family: var(--font-head);font-weight: 600;z-index: 1100}.skip-link:focus{top: 0}.main-wrapper{display: flex;flex-wrap: nowrap;max-width: 1200px;margin: var(--spacing-lg) auto;padding: 0 var(--spacing-lg)}.sidebar{flex: 0 0 250px;background: var(--card-bg);padding: var(--spacing-lg);border: 1px solid var(--border-color);border-radius: var(--border-radius);box-shadow: var(--card-shadow);margin-right: var(--spacing-lg);height: fit-content}.sidebar h2{font-family: var(--font-mono);font-size: .78rem;font-weight: 500;letter-spacing: .09em;text-transform: uppercase;color: var(--muted-color);text-align: left;border-bottom: none;padding-bottom: 0;margin-bottom: var(--spacing-md)}.sidebar-nav{list-style: none;padding-left: 0}.sidebar-nav li{margin-bottom: 4px}.sidebar-nav a{display: block;padding: 8px 12px;border-radius: var(--border-radius-sm);font-family: var(--font-head);font-size: .92rem;font-weight: 500;color: var(--muted-color);line-height: 1.3;transition: background-color .2s ease,color .2s ease}.sidebar-nav a:hover{background: var(--tint-color);color: var(--primary-color);text-decoration: none}.sidebar-nav a[aria-current="true"]{background: var(--primary-color);color: var(--on-primary)}.content{flex: 1;max-width: 100%;min-width: 0}@media (min-width: 769px){.sidebar{position: sticky;top: var(--spacing-lg);align-self: flex-start}}#resume-container{background: var(--card-bg);border: 1px solid var(--border-color);border-radius: var(--border-radius);box-shadow: var(--card-shadow);padding: var(--spacing-xl) var(--spacing-lg)}.resume-header{text-align: center;margin-bottom: var(--spacing-xl)}.candidate-name{font-size: clamp(1.7rem,3.6vw,2.3rem);margin-bottom: var(--spacing-md)}.subheading{font-family: var(--font-mono);font-size: .82rem;letter-spacing: .09em;text-transform: uppercase;color: var(--muted-color);margin: 0 0 var(--spacing-lg)}.contact{font-size: .95rem;display: flex;flex-wrap: wrap;justify-content: center;gap: var(--spacing-md) var(--spacing-lg)}.contact-item{display: inline-flex;align-items: center;color: var(--muted-color)}.contact-item i{margin-right: 8px;color: var(--rule-color)}.section{margin-bottom: var(--spacing-xl)}.section-hint{font-size: .9rem;color: var(--muted-color);margin: calc(var(--spacing-lg) * -1 + 4px) 0 var(--spacing-md)}.timeline{position: relative;margin: var(--spacing-lg) 0 0}.timeline-item{display: grid;grid-template-columns: var(--tl-date-col) var(--tl-marker-col) 1fr;align-items: start;margin-bottom: var(--tl-gap);position: relative}.timeline-item:last-child{margin-bottom: 0}.timeline-date{display: block;font-family: var(--font-mono);font-size: .84rem;letter-spacing: .04em;color: var(--muted-color);padding-top: 2px}.timeline-marker{position: relative;width: 14px;height: 14px;background: var(--card-bg);border: 2px solid var(--primary-color);border-radius: 50%;margin: 4px auto 0;z-index: 1}.timeline-item:first-child .timeline-marker{background: var(--primary-color)}.timeline-item:not(:last-child)::after{content: '';position: absolute;left: calc(var(--tl-date-col) + var(--tl-marker-col) / 2);transform: translateX(-50%);top: 22px;width: 1px;height: calc(100% + var(--tl-gap) - 18px);background: var(--border-color);z-index: 0}.timeline-card{background: var(--card-bg);border: 1px solid var(--border-color);padding: var(--spacing-lg);border-radius: var(--border-radius-sm);box-shadow: var(--card-shadow);margin-left: var(--spacing-lg);transition: box-shadow .25s ease,border-color .25s ease}.timeline-card:hover{box-shadow: var(--card-shadow-hover);border-color: var(--rule-color)}.job-title{font-size: 1.12rem;font-weight: 600;margin: 0 0 var(--spacing-sm)}.company{font-family: var(--font-head);font-size: .98rem;font-weight: 500;color: var(--muted-color);margin: 0 0 var(--spacing-md)}.job-details{margin: 0;padding: 0;list-style: none;font-size: .98rem}.job-details li{position: relative;padding-left: 18px;margin-bottom: 8px}.job-details li:last-child{margin-bottom: 0}.job-details li::before{content: '';position: absolute;left: 0;top: .62em;width: 6px;height: 6px;border-radius: 50%;background: var(--rule-color)}.education-timeline{margin: var(--spacing-lg) 0 0}.education-item{margin-bottom: var(--spacing-lg)}.education-item:last-child{margin-bottom: 0}.education-card{background: var(--card-bg);border: 1px solid var(--border-color);padding: var(--spacing-lg);border-radius: var(--border-radius-sm);box-shadow: var(--card-shadow);transition: box-shadow .25s ease,border-color .25s ease}.education-card:hover{box-shadow: var(--card-shadow-hover);border-color: var(--rule-color)}.edu-title{font-size: 1.12rem;font-weight: 600;margin: 0 0 var(--spacing-sm)}.edu-institution{font-family: var(--font-head);font-size: .98rem;font-weight: 500;color: var(--muted-color);margin: 0 0 var(--spacing-md);display: flex;flex-wrap: wrap;gap: 2px 14px;align-items: baseline}.edu-date{font-family: var(--font-mono);font-size: .82rem;font-weight: 400;color: var(--muted-color);white-space: nowrap}.edu-details{margin: 0;padding: 0;list-style: none;font-size: .98rem}.edu-details > li{position: relative;padding-left: 18px;margin-bottom: 8px}.edu-details > li:last-child{margin-bottom: 0}.edu-details > li::before{content: '';position: absolute;left: 0;top: .62em;width: 6px;height: 6px;border-radius: 50%;background: var(--rule-color)}.edu-details strong{font-family: var(--font-head);font-weight: 600;color: var(--text-color)}.edu-details ul{list-style: none;margin: 8px 0 0;padding: 0;display: flex;flex-wrap: wrap;gap: 6px 8px;font-size: .88rem}.edu-details ul li{border: 1px solid var(--border-color);border-radius: 999px;padding: 3px 12px;color: var(--muted-color)}.skills-container{display: flex;margin-top: var(--spacing-lg);border: 1px solid var(--border-color);border-radius: var(--border-radius-sm);overflow: hidden;position: relative}.skill-slide{position: relative;overflow: hidden;height: 350px;flex: 1;background-color: var(--card-bg);padding: var(--spacing-md);transition: flex .5s ease,background-color .5s ease}.skill-slide + .skill-slide{border-left: 1px solid var(--border-color)}.skill-title{position: absolute;margin: 0;top: 50%;left: 50%;transform: translate(-50%,-50%) rotate(-90deg);transform-origin: center center;transition: top .5s ease,left .5s ease,transform .5s ease;white-space: nowrap}.skill-toggle{font: 600 1.2rem var(--font-head);color: var(--primary-color);background: none;border: 0;padding: 4px 6px;border-radius: 6px;cursor: pointer;display: inline-flex;align-items: center;gap: 8px;line-height: 1.2}.skill-toggle:hover{color: var(--primary-dark)}.skill-content{opacity: 0;visibility: hidden;color: var(--text-color);transition: opacity .4s ease,visibility 0s linear .4s;margin-top: 74px;max-height: calc(350px - 74px - var(--spacing-lg));overflow-y: auto;font-size: .98rem}.skill-content ul{list-style: none;margin: 0;padding: 0}.skill-content li{border-top: 1px solid var(--border-color);padding: 7px 0}@media (hover: hover) and (pointer: fine){.skill-slide:hover{flex: 3;background-color: var(--tint-color)}.skill-slide:hover .skill-title{top: 16px;left: 16px;transform: rotate(0deg)}.skill-slide:hover .skill-content{opacity: 1;visibility: visible;transition-delay: 0s}}.skill-slide:focus-within,.skill-slide.is-open{flex: 3;background-color: var(--tint-color)}.skill-slide:focus-within .skill-title,.skill-slide.is-open .skill-title{top: 16px;left: 16px;transform: rotate(0deg)}.skill-slide:focus-within .skill-content,.skill-slide.is-open .skill-content{opacity: 1;visibility: visible;transition-delay: 0s}.loading-overlay{position: fixed;inset: 0;background: var(--bg-color);display: flex;justify-content: center;align-items: center;z-index: 1000;color: var(--muted-color);font-family: var(--font-mono);font-size: .82rem;letter-spacing: .09em;text-transform: uppercase;animation: overlay-autohide .1s ease 4s forwards}.loading-overlay.is-hidden{opacity: 0;visibility: hidden;pointer-events: none;transition: opacity .4s ease,visibility 0s linear .4s}@keyframes overlay-autohide{to{opacity: 0;visibility: hidden;pointer-events: none}}.loading-container{display: flex;flex-direction: column;align-items: center}.spinner-container{position: relative;width: 60px;height: 60px;margin-bottom: var(--spacing-lg)}.cube1,.cube2{background-color: var(--primary-color);width: 15px;height: 15px;position: absolute;top: 0;left: 0;animation: sk-cubemove 1.8s infinite ease-in-out}.cube2{animation-delay: -0.9s}@keyframes sk-cubemove{25%{transform: translateX(42px) rotate(-90deg) scale(0.5)}50%{transform: translateX(42px) translateY(42px) rotate(-180deg)}75%{transform: translateX(0) translateY(42px) rotate(-270deg) scale(0.5)}100%{transform: rotate(-360deg)}}.button{display: inline-block;padding: 10px 18px;background-color: var(--primary-color);color: var(--on-primary);text-decoration: none;border: 1px solid var(--primary-color);border-radius: var(--border-radius-sm);font-family: var(--font-head);font-weight: 600;font-size: .9rem;margin-bottom: var(--spacing-lg);text-align: center;cursor: pointer;transition: filter .2s ease,transform .2s ease}.button:hover{filter: brightness(1.08);transform: translateY(-1px);color: var(--on-primary);text-decoration: none}.small-section{margin-bottom: var(--spacing-lg)}.small-section:last-child{margin-bottom: 0}@media (max-width: 768px){body{font-size: 16px}.main-wrapper{flex-direction: column;margin: var(--spacing-md) auto;padding: 0 var(--spacing-md)}.sidebar{margin-right: 0;margin-bottom: var(--spacing-lg);width: 100%;position: static}.sidebar-nav{display: flex;flex-wrap: wrap;gap: 4px}.sidebar-nav li{margin-bottom: 0}.timeline-item{grid-template-columns: 1fr;grid-template-areas: "date" "content"}.timeline-date{grid-area: date;margin-bottom: var(--spacing-sm);display: block}.timeline-marker{display: none}.timeline-card{grid-area: content;margin-left: 0}.timeline-item:not(:last-child)::after{display: none}.skills-container{flex-direction: column}.skill-slide{flex: none;width: 100%;height: auto;padding: 0;border-left: 0 !important}.skill-slide + .skill-slide{border-top: 1px solid var(--border-color)}.skill-title{position: static;transform: none;white-space: normal}.skill-toggle{width: 100%;justify-content: flex-start;padding: 14px var(--spacing-md);border-radius: 0}.skill-toggle::after{content: '+';margin-left: auto;font-family: var(--font-mono);font-size: 1.1rem;color: var(--muted-color)}.skill-slide.is-open .skill-toggle::after,.skill-slide:focus-within .skill-toggle::after{content: '\2212'}.skill-content{display: none;opacity: 1;visibility: visible;margin-top: 0;max-height: none;overflow: visible;padding: 0 var(--spacing-md) var(--spacing-md)}.skill-slide.is-open .skill-content,.skill-slide:focus-within .skill-content{display: block}}@media (max-width: 480px){.contact{flex-direction: column;align-items: center;gap: var(--spacing-sm)}.candidate-name{font-size: 1.5rem}#resume-container{padding: var(--spacing-lg) var(--spacing-md)}}@media (prefers-reduced-motion: reduce){*{transition: none !important;animation-duration: .001s !important}}@media print{:root{--primary-color: #0047AB;--primary-dark: #0047AB;--text-color: #111827;--muted-color: #4B5563;--bg-color: #FFFFFF;--card-bg: #FFFFFF;--tint-color: #FFFFFF;--border-color: #C9D2E3;--rule-color: #6B7A93;--card-shadow: none;--card-shadow-hover: none}body{margin: 0;padding: 0;background: #fff;font-size: 10.5pt;line-height: 1.45}.button,.sidebar,.skip-link,.section-hint,.loading-overlay{display: none !important}.main-wrapper{display: block;margin: 0;padding: 0;max-width: 100%}.content{width: 100%}#resume-container{width: 100%;padding: 0;box-shadow: none;border: none}h2{font-size: 13pt}.candidate-name{font-size: 20pt}.timeline-item,.education-item,.skill-slide{break-inside: avoid;page-break-inside: avoid}.timeline-card,.education-card{border: 0;box-shadow: none;padding: 0}.timeline-item{grid-template-columns: 130px 1fr;margin-bottom: 16px}.timeline-marker{display: none}.timeline-item::after{display: none !important}.timeline-card{margin-left: 0}.skills-container{display: grid;grid-template-columns: 1fr 1fr;gap: 10px 28px;border: 0}.skill-slide{height: auto;border: 0 !important;padding: 0;overflow: visible}.skill-title{position: static;transform: none}.skill-toggle{font-size: 11pt;padding: 0;color: var(--text-color)}.skill-toggle::after{content: '' !important}.skill-content{display: block;opacity: 1;visibility: visible;margin-top: 4px;max-height: none;overflow: visible;padding: 0}a{text-decoration: none;color: var(--text-color)}a.print-url::after{content: " (" attr(href) ")";font-size: 8.5pt;color: var(--muted-color);word-break: break-all}}