﻿/*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */*,::before,::after{box-sizing:border-box}html{font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";line-height:1.15;-webkit-text-size-adjust:100%;tab-size:4}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{border-color:currentcolor}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}@font-face{font-display:swap;font-family:"Playfair Display";font-style:normal;font-weight:400;src:url("../fonts/playfair-display-v40-latin-regular.woff2") format("woff2")}@font-face{font-display:swap;font-family:"Playfair Display";font-style:italic;font-weight:400;src:url("../fonts/playfair-display-v40-latin-italic.woff2") format("woff2")}@font-face{font-display:swap;font-family:"Playfair Display";font-style:normal;font-weight:500;src:url("../fonts/playfair-display-v40-latin-500.woff2") format("woff2")}@font-face{font-display:swap;font-family:"Playfair Display";font-style:normal;font-weight:600;src:url("../fonts/playfair-display-v40-latin-600.woff2") format("woff2")}@font-face{font-display:swap;font-family:"Plus Jakarta Sans";font-style:normal;font-weight:400;src:url("../fonts/plus-jakarta-sans-v12-latin-regular.woff2") format("woff2")}@font-face{font-display:swap;font-family:"Plus Jakarta Sans";font-style:normal;font-weight:700;src:url("../fonts/plus-jakarta-sans-v12-latin-700.woff2") format("woff2")}@font-face{font-display:swap;font-family:"Plus Jakarta Sans";font-style:normal;font-weight:800;src:url("../fonts/plus-jakarta-sans-v12-latin-800.woff2") format("woff2")}@font-face{font-display:swap;font-family:"Nunito";font-style:normal;font-weight:400;src:url("../fonts/nunito-v32-latin-regular.woff2") format("woff2")}@font-face{font-display:swap;font-family:"Nunito";font-style:normal;font-weight:700;src:url("../fonts/nunito-v32-latin-700.woff2") format("woff2")}:root{color-scheme:light;--header-stop-1: oklch(100% 0 90);--header-stop-2: oklch(98.22% 0.0091 330.95);--header-stop-3: oklch(94.68% 0.025 311.70);--header-stop-4: oklch(90.92% 0.0421 308.66);--gutter: clamp(1rem, 5vw, 4.5rem)}[hidden]{display:none !important}body{background-color:oklch(.8774 .0618 305.17);color:oklch(.3723 .0755 305.54);font-family:"Plus Jakarta Sans",system-ui,-apple-system,sans-serif;font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,p,ul{margin:0;padding:0}h1,h2,h3{font-weight:inherit;font-size:inherit}svg{display:block}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.page{display:flex;flex-direction:column;min-height:100dvh}.main{flex:1 1 auto}.content-wrapper{width:min(100% - 2*var(--gutter),72rem);margin-inline:auto}.header-inner{display:grid;gap:2rem;padding-block:3rem 2rem}@media(min-width: 80rem){.header-inner{grid-template-columns:minmax(18rem, 1fr) minmax(0, 45.625rem);align-items:center;column-gap:3rem}}.header-inner .header-intro{display:flex;flex-direction:column;gap:.75rem}@media(min-width: 48rem){.header-inner .header-intro{align-items:center}.header-inner .header-intro .blurb{text-align:center}}.filter-wrapper{display:flex;flex-direction:column;gap:.75rem;min-width:0;width:100%}@media(min-width: 48rem){.filter-wrapper{text-align:center}.filter-wrapper .filter-label{align-self:center}}@media(min-width: 80rem){.filter-wrapper{align-items:flex-end}}.cards-wrapper{display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 20rem), 1fr));gap:1.5rem;padding-block:2rem 3rem}.header{background:radial-gradient(120% 90% at 20% 0%, var(--header-stop-1) 0%, var(--header-stop-2) 34%, var(--header-stop-3) 68%, var(--header-stop-4) 100%)}.header .page-heading{display:flex;align-items:center;gap:.75rem}.header .frostpetal{flex:none;overflow:visible;color:oklch(.482 .1588 301.99)}.header .me{font-family:"Playfair Display",Georgia,"Times New Roman",serif;font-size:1.5rem;font-style:italic;font-weight:400;letter-spacing:-0.01em;color:oklch(.482 .1588 301.99)}.header .role-title{font-family:"Nunito",system-ui,-apple-system,sans-serif;font-size:.875rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;line-height:1.3;letter-spacing:.22em;color:oklch(.5158 .166 302.27)}.header .blurb{max-width:34ch;font-size:1.125rem;line-height:1.5;color:oklch(.3496 .0738 302.52)}.filter-label{font-family:"Nunito",system-ui,-apple-system,sans-serif;font-size:.875rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;line-height:1.3;letter-spacing:.22em;color:oklch(.3496 .0738 302.52)}.filter-status{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;min-height:2.25rem;padding-top:1.5rem;font-size:.875rem;color:oklch(.3496 .0738 302.52)}.filter-reset{padding:0;border:0;background:none;font:inherit;color:oklch(.4643 .1542 318.6);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.filter-reset:focus-visible{outline:2px solid currentcolor;outline-offset:3px}.frostpetal{color:oklch(.482 .1588 301.99)}.frostpetal.rotate{transform-origin:50% 50%;animation:spin 27s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.devops-symbol{container-type:inline-size;container-name:symbol;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;width:100%;max-width:45.625rem;--dev-x: 29.4506849315%;--ops-x: 70.5493150685%;--loop-y: 50%;--seg-plan: oklch(87.5% 0.062 296deg);--seg-code: oklch(83.5% 0.1 300deg);--seg-build: oklch(77.5% 0.145 305deg);--seg-test: oklch(80.5% 0.13 316deg);--seg-release: oklch(85.5% 0.1 324deg);--seg-deploy: oklch(88% 0.058 341deg);--seg-operate: oklch(83% 0.095 349deg);--seg-monitor: oklch(78% 0.125 357deg);--ink-dev: oklch(34.56% 0.1418 293.54deg);--ink-ops: oklch(39.79% 0.1378 352.56deg);--button-bg-dev: oklch(100% 0 0deg);--button-bg-ops: oklch(100% 0 0deg)}.devops-symbol .infinity{display:none;pointer-events:none}.devops-symbol .filter-controls{display:flex;flex-wrap:wrap;gap:.75rem}@media(min-width: 48rem){.devops-symbol{display:block;position:relative;margin-inline:auto;aspect-ratio:730/300}.devops-symbol .infinity{display:block;width:100%;height:100%}.devops-symbol .infinity use,.devops-symbol .infinity text{transition:stroke 250ms ease,fill 250ms ease}.devops-symbol .filter-controls{display:block}}@media(min-width: 80rem){.devops-symbol{margin-inline:0}}.devops-symbol[data-active=software]{--seg-deploy: oklch(87.49% 0.0163 310.08deg);--seg-operate: oklch(87.49% 0.0163 310.08deg);--seg-monitor: oklch(87.49% 0.0163 310.08deg);--ink-ops: oklch(41.88% 0.0222 302.91deg);--button-bg-dev: oklch(69.559% 0.12685 299.698deg)}.devops-symbol[data-active=devops]{--seg-plan: oklch(87.49% 0.0163 310.08deg);--seg-code: oklch(87.49% 0.0163 310.08deg);--seg-build: oklch(87.49% 0.0163 310.08deg);--ink-dev: oklch(41.88% 0.0222 302.91deg);--button-bg-ops: oklch(66.338% 0.17036 337.963deg)}.filter-controls .button{position:relative;display:grid;place-items:center;text-align:center;padding:.75rem 1.5rem;border:0;border-radius:999px;background-color:oklch(1 0 0);box-shadow:0 6px 18px oklch(.2667 .0418 317.48/.16);font-family:"Playfair Display",Georgia,"Times New Roman",serif;font-size:1rem;font-weight:600;line-height:1.1;cursor:pointer;transition:transform 150ms ease,background-color 150ms ease,color 150ms ease,box-shadow 150ms ease}.filter-controls .button::before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 40px 8px var(--glow);opacity:0;pointer-events:none;transition:opacity 200ms ease}.filter-controls .button:active{transform:scale(0.97)}.filter-controls .button:focus-visible{outline:2px solid currentcolor;outline-offset:3px}.filter-controls .button-dev{--glow: oklch(58.34% 0.1687 298.61deg / 0.34);color:var(--ink-dev, oklch(34.56% 0.1418 293.54deg));background-color:var(--button-bg-dev, oklch(100% 0 0deg))}.filter-controls .button-ops{--glow: oklch(67.54% 0.1464 347.14deg / 0.34);color:var(--ink-ops, oklch(39.79% 0.1378 352.56deg));background-color:var(--button-bg-ops, oklch(100% 0 0deg))}.filter-controls .button:hover::before{animation:breathe 1900ms ease-in-out infinite}@media(min-width: 48rem){.filter-controls .button{position:absolute;top:var(--loop-y);translate:-50% -50%;width:19.1780821918%;aspect-ratio:1;padding:0;border-radius:50%;font-size:clamp(1.125rem,4.3835616438cqw,2rem)}.filter-controls .button:hover{transform:scale(1.04)}.filter-controls .button:hover::before{opacity:1}.filter-controls .button[aria-pressed=true]{box-shadow:rgba(20,8,44,.26) 0px 2px 6px inset,0 0 40px 8px var(--glow)}.filter-controls .button-dev{left:var(--dev-x)}.filter-controls .button-dev[aria-pressed=true]{color:oklch(100% 0.00011 271.152deg)}.filter-controls .button-ops{left:var(--ops-x)}.filter-controls .button-ops[aria-pressed=true]{color:oklch(100% 0.00011 271.152deg)}}@keyframes breathe{0%,100%{opacity:0}50%{opacity:1}}.skill-cards .card{container-type:inline-size;container-name:card;display:flex;flex-direction:column;gap:.625rem;padding:1.5rem 1.5rem;border:1px solid oklch(1 0 0/.7);border-radius:1.25rem;background-color:oklch(1 0 0/.86);box-shadow:0 4px 16px oklch(.2667 .0418 317.48/.08)}@media(min-width: 30rem){.skill-cards .card{padding:1.75rem 1.875rem}}.skill-cards .card{--badge-ink: oklch(48.55% 0.111 301.82deg)}.skill-cards .card.discipline-software{--badge-ink: oklch(48.55% 0.111 301.82deg)}.skill-cards .card.discipline-devops{--badge-ink: oklch(48.71% 0.1865 346.73deg)}.skill-cards .card.discipline-software.discipline-devops{--badge-ink: oklch(46.43% 0.1542 318.6deg)}.skill-cards .card .disciplines{font-family:"Nunito",system-ui,-apple-system,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;line-height:1.3;color:var(--badge-ink)}.skill-cards .card .category-label{font-family:"Playfair Display",Georgia,"Times New Roman",serif;font-size:1.75rem;font-weight:600;line-height:1.15;letter-spacing:-0.01em;color:oklch(.2548 .0764 304);text-wrap:balance}.skills-list{list-style:none;font-size:1rem;line-height:1.7;color:oklch(.3723 .0755 305.54)}.skills-list .entry{display:inline}.skills-list .entry+.entry::before{content:" · "/""}@container card (max-width: 17rem){.skill-cards .category-label{font-size:1.5rem}.skill-cards .skills-list{font-size:.875rem}}@media(prefers-reduced-motion: reduce){.header .frostpetal.rotate,.frostpetal.rotate{animation:none}.infinity use,.infinity text{transition:none}.fiilter-controls .button,.button{transition:none;animation:none}.fiilter-controls .button:before,.button:before{transition:none}.fiilter-controls .button[aria-pressed=true]::before,.button[aria-pressed=true]::before{animation:none;opacity:1}.fiilter-controls .button:hover,.fiilter-controls .button:active,.button:hover,.button:active{transform:none}}
