@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&family=Manrope:wght@200..800&display=swap');:root{color-scheme:light;--portfolio-font-heading:"Josefin Sans",sans-serif;--portfolio-font-body:"Manrope",sans-serif;--bs-font-sans-serif:var(--portfolio-font-body);--bs-font-monospace:var(--portfolio-font-body);--bs-body-font-family:var(--portfolio-font-body);--portfolio-white:#ffffff;--portfolio-cream:#faf6f1;--portfolio-sand:#f2ece4;--portfolio-beige-light:#dfcfbb;--portfolio-beige:#c3a785;--portfolio-beige-dark:#a48865;--portfolio-gray:#d0d2d1;--portfolio-mist:#e9eceb;--portfolio-black-rgb:34,34,34;--portfolio-muted:#6b6259;--portfolio-charcoal:#333333;--portfolio-black:#222222;--bs-white:var(--portfolio-white);--bs-black:var(--portfolio-black);--bs-white-rgb:255,255,255;--bs-black-rgb:var(--portfolio-black-rgb);--bs-muted-color:var(--portfolio-muted);--bs-primary-hover-bg:var(--portfolio-charcoal);--bs-primary-hover-border-color:var(--portfolio-charcoal);--bs-primary-active-bg:var(--portfolio-charcoal);--bs-primary-active-border-color:var(--portfolio-charcoal);--bs-primary-contrast:var(--portfolio-white);--bs-primary-focus-ring-color:rgba(var(--bs-primary-rgb),.25);--bs-primary-outline-focus-ring-color:var(--bs-primary-focus-ring-color);--bs-secondary-link-hover-color:var(--portfolio-black);--bs-dark-link-hover-color:var(--portfolio-muted);--bs-primary:var(--portfolio-black);--bs-primary-rgb:var(--portfolio-black-rgb);--bs-secondary:var(--portfolio-beige);--bs-secondary-rgb:195,167,133;--bs-light:var(--portfolio-cream);--bs-light-rgb:250,246,241;--bs-dark:var(--portfolio-black);--bs-dark-rgb:var(--portfolio-black-rgb);--bs-gray:var(--portfolio-muted);--bs-gray-dark:var(--portfolio-charcoal);--bs-body-color:var(--portfolio-black);--bs-body-color-rgb:var(--portfolio-black-rgb);--bs-body-bg:var(--portfolio-cream);--bs-body-bg-rgb:250,246,241;--portfolio-border-width:2px;--portfolio-border-radius:.25rem;--portfolio-border-radius-pill:999px;--portfolio-card-shadow:0 4px 16px rgba(var(--portfolio-black-rgb),.06);--bs-border-width:var(--portfolio-border-width);--bs-border-radius:var(--portfolio-border-radius);--bs-border-radius-sm:var(--portfolio-border-radius);--bs-border-radius-lg:var(--portfolio-border-radius);--bs-border-radius-xl:var(--portfolio-border-radius);--bs-border-radius-xxl:var(--portfolio-border-radius);--bs-border-radius-pill:var(--portfolio-border-radius-pill);--bs-border-color:var(--portfolio-beige-light);--bs-link-color:var(--portfolio-black);--bs-link-hover-color:var(--portfolio-muted);}@media screen and (prefers-color-scheme:dark){:root{color-scheme:dark;--portfolio-white:#2d2925;--portfolio-cream:#222222;--portfolio-sand:#302b26;--portfolio-beige-light:#594c40;--portfolio-beige:#c3a785;--portfolio-beige-dark:#dfcfbb;--portfolio-gray:#656765;--portfolio-mist:#303534;--portfolio-black-rgb:250,246,241;--portfolio-muted:#b9afa4;--portfolio-charcoal:#dfcfbb;--portfolio-black:#faf6f1;--bs-white-rgb:45,41,37;--bs-secondary-rgb:195,167,133;--bs-light-rgb:34,34,34;--bs-body-bg-rgb:34,34,34}}body{font-family:var(--portfolio-font-body);color:var(--bs-body-color);background-color:var(--bs-body-bg);}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,.display-1,.display-2,.display-3,.display-4,.display-5,.display-6{font-family:var(--portfolio-font-heading);font-weight:600;}a{color:var(--bs-link-color)}a:hover{color:var(--bs-link-hover-color)}@media not all and (prefers-color-scheme:dark),print{.d-dark.d-dark{display:none!important}}@media screen and (prefers-color-scheme:dark){.d-light.d-light{display:none!important}}.container-readable{max-width:65ch}.container-lead{max-width:90ch}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))!important}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))!important}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))!important}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))!important}.grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))!important}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))!important}.grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))!important}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))!important}@media (min-width:576px){.grid-cols-sm-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.grid-cols-sm-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.grid-cols-sm-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.grid-cols-sm-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.grid-cols-sm-5{grid-template-columns:repeat(5,minmax(0,1fr))!important}.grid-cols-sm-6{grid-template-columns:repeat(6,minmax(0,1fr))!important}.grid-cols-sm-7{grid-template-columns:repeat(7,minmax(0,1fr))!important}.grid-cols-sm-8{grid-template-columns:repeat(8,minmax(0,1fr))!important}.grid-cols-sm-9{grid-template-columns:repeat(9,minmax(0,1fr))!important}.grid-cols-sm-10{grid-template-columns:repeat(10,minmax(0,1fr))!important}.grid-cols-sm-11{grid-template-columns:repeat(11,minmax(0,1fr))!important}.grid-cols-sm-12{grid-template-columns:repeat(12,minmax(0,1fr))!important}}@media (min-width:768px){.grid-cols-md-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.grid-cols-md-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.grid-cols-md-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.grid-cols-md-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.grid-cols-md-5{grid-template-columns:repeat(5,minmax(0,1fr))!important}.grid-cols-md-6{grid-template-columns:repeat(6,minmax(0,1fr))!important}.grid-cols-md-7{grid-template-columns:repeat(7,minmax(0,1fr))!important}.grid-cols-md-8{grid-template-columns:repeat(8,minmax(0,1fr))!important}.grid-cols-md-9{grid-template-columns:repeat(9,minmax(0,1fr))!important}.grid-cols-md-10{grid-template-columns:repeat(10,minmax(0,1fr))!important}.grid-cols-md-11{grid-template-columns:repeat(11,minmax(0,1fr))!important}.grid-cols-md-12{grid-template-columns:repeat(12,minmax(0,1fr))!important}}@media (min-width:992px){.grid-cols-lg-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.grid-cols-lg-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.grid-cols-lg-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.grid-cols-lg-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.grid-cols-lg-5{grid-template-columns:repeat(5,minmax(0,1fr))!important}.grid-cols-lg-6{grid-template-columns:repeat(6,minmax(0,1fr))!important}.grid-cols-lg-7{grid-template-columns:repeat(7,minmax(0,1fr))!important}.grid-cols-lg-8{grid-template-columns:repeat(8,minmax(0,1fr))!important}.grid-cols-lg-9{grid-template-columns:repeat(9,minmax(0,1fr))!important}.grid-cols-lg-10{grid-template-columns:repeat(10,minmax(0,1fr))!important}.grid-cols-lg-11{grid-template-columns:repeat(11,minmax(0,1fr))!important}.grid-cols-lg-12{grid-template-columns:repeat(12,minmax(0,1fr))!important}}@media (min-width:1200px){.grid-cols-xl-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.grid-cols-xl-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.grid-cols-xl-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.grid-cols-xl-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.grid-cols-xl-5{grid-template-columns:repeat(5,minmax(0,1fr))!important}.grid-cols-xl-6{grid-template-columns:repeat(6,minmax(0,1fr))!important}.grid-cols-xl-7{grid-template-columns:repeat(7,minmax(0,1fr))!important}.grid-cols-xl-8{grid-template-columns:repeat(8,minmax(0,1fr))!important}.grid-cols-xl-9{grid-template-columns:repeat(9,minmax(0,1fr))!important}.grid-cols-xl-10{grid-template-columns:repeat(10,minmax(0,1fr))!important}.grid-cols-xl-11{grid-template-columns:repeat(11,minmax(0,1fr))!important}.grid-cols-xl-12{grid-template-columns:repeat(12,minmax(0,1fr))!important}}@media (min-width:1400px){.grid-cols-xxl-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.grid-cols-xxl-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.grid-cols-xxl-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.grid-cols-xxl-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.grid-cols-xxl-5{grid-template-columns:repeat(5,minmax(0,1fr))!important}.grid-cols-xxl-6{grid-template-columns:repeat(6,minmax(0,1fr))!important}.grid-cols-xxl-7{grid-template-columns:repeat(7,minmax(0,1fr))!important}.grid-cols-xxl-8{grid-template-columns:repeat(8,minmax(0,1fr))!important}.grid-cols-xxl-9{grid-template-columns:repeat(9,minmax(0,1fr))!important}.grid-cols-xxl-10{grid-template-columns:repeat(10,minmax(0,1fr))!important}.grid-cols-xxl-11{grid-template-columns:repeat(11,minmax(0,1fr))!important}.grid-cols-xxl-12{grid-template-columns:repeat(12,minmax(0,1fr))!important}}.portfolio-nav{background:transparent;padding-block:1.25rem;--bs-navbar-color:var(--portfolio-black);--bs-navbar-hover-color:var(--portfolio-black);--bs-navbar-brand-color:var(--portfolio-black);--bs-navbar-brand-hover-color:var(--portfolio-black);}.portfolio-nav .navbar-brand{font-family:var(--portfolio-font-heading);font-weight:600;font-size:clamp(1.25rem,3vw,1.75rem);}.portfolio-nav__link{width:fit-content;padding-bottom:.65rem;}.portfolio-nav__link::after{content:"";position:absolute;inset-inline:0;bottom:0;border-bottom:var(--portfolio-border-width) solid currentColor;transform:scaleX(0);transform-origin:left;transition:transform 220ms ease;}.portfolio-nav__link:hover::after,.portfolio-nav__link:focus::after{transform:scaleX(1);}.portfolio-nav__link:focus-visible,.portfolio-nav__toggle:focus-visible{outline:var(--portfolio-border-width) solid currentColor;outline-offset:3px;}.portfolio-nav__toggle{width:44px;height:44px;color:var(--portfolio-black);background:transparent;}.portfolio-nav__toggle:focus{-webkit-box-shadow:none;box-shadow:none;}.portfolio-nav__bar{position:absolute;left:10px;top:21px;width:24px;height:2px;background:currentColor;transition:transform 220ms ease,opacity 160ms ease;}.portfolio-nav__bar:first-child{transform:translateY(-7px)}.portfolio-nav__bar:last-child{transform:translateY(7px)}.portfolio-nav__toggle[aria-expanded="true"] .portfolio-nav__bar:first-child{transform:rotate(45deg)}.portfolio-nav__toggle[aria-expanded="true"] .portfolio-nav__bar:nth-child(2){opacity:0}.portfolio-nav__toggle[aria-expanded="true"] .portfolio-nav__bar:last-child{transform:rotate(-45deg)}@media (prefers-reduced-motion:reduce){.portfolio-nav__link::after,.portfolio-nav__bar{transition:none}}figcaption{color:var(--bs-muted-color)}.btn-link:hover,.btn-link:focus,.btn-link:focus-visible{text-decoration:none}.btn-link{text-decoration:none;--button-outline-color:var(--portfolio-black)}:is(.btn,.print-toolbar button,.project-carousel__arrow,.rock-contributions__toggle){--bs-btn-border-width:var(--portfolio-border-width);--button-outline-color:var(--bs-btn-border-color,currentColor);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:var(--portfolio-border-radius);}.btn-primary,.btn-link,.print-toolbar button{--button-outline-color:var(--portfolio-black);}.btn-outline-light{--button-outline-color:var(--portfolio-cream)}.btn:is(:focus,:focus-visible),.btn-check:focus-visible + .btn{-webkit-box-shadow:none;box-shadow:none;}:is(.btn,.print-toolbar button,.project-carousel__arrow,.rock-contributions__toggle):is(:focus,:focus-visible){outline:none;}.btn:not([class*="btn-outline-"]):is(:hover,:focus,:focus-visible):not(:disabled):not(.disabled),.btn-check:focus-visible + .btn:not([class*="btn-outline-"]),.print-toolbar button:is(:hover,:focus,:focus-visible):not(:disabled){outline:var(--portfolio-border-width) solid var(--button-outline-color);outline-offset:var(--portfolio-border-width);-webkit-box-shadow:none;box-shadow:none;}.btn[class*="btn-outline-"]:is(:hover,:focus,:focus-visible):not(:disabled):not(.disabled),.btn-check:focus-visible + .btn[class*="btn-outline-"]{border-color:var(--portfolio-black);-webkit-box-shadow:none;box-shadow:none;}:is(.btn,.print-toolbar button,.project-carousel__arrow) .btn-icon-default{display:flex}:is(.btn,.print-toolbar button,.project-carousel__arrow) .btn-icon-hover{display:none}:is(.btn,.print-toolbar button,.project-carousel__arrow):is(:hover,:focus,:focus-visible):not(:disabled):not(.disabled) .btn-icon-default{display:none}:is(.btn,.print-toolbar button,.project-carousel__arrow):is(:hover,:focus,:focus-visible):not(:disabled):not(.disabled) .btn-icon-hover{display:flex}:is(.project-card,.rock-contribution){-webkit-box-shadow:var(--portfolio-card-shadow);box-shadow:var(--portfolio-card-shadow);transition:border-color 180ms ease,-webkit-box-shadow 180ms ease,box-shadow 180ms ease;}:is(.project-card,.rock-contribution):is(:hover,:focus,:focus-visible){color:var(--portfolio-black);border-color:var(--portfolio-black);outline:none;}.project-carousel{--carousel-ink:var(--portfolio-black);--carousel-surface:var(--portfolio-cream);--carousel-border:var(--carousel-ink);color:var(--carousel-ink);}.project-carousel__slider{border:var(--portfolio-border-width) solid var(--carousel-border);border-radius:var(--portfolio-border-radius);background:var(--carousel-surface);}.project-carousel .carousel-inner{overflow:hidden;border-radius:var(--portfolio-border-radius) var(--portfolio-border-radius) 0 0;}.project-carousel__screen{aspect-ratio:16 / 10;place-items:center;}.project-carousel__screen img{width:100%;height:100%;min-height:0;object-fit:contain;}.project-carousel__placeholder span{display:block;font-size:clamp(2rem,8vw,5rem);font-weight:300;line-height:1.2;}.project-carousel__placeholder p{margin:.5rem 0 0}.project-carousel--reference .carousel-item:nth-child(2){background:var(--portfolio-sand)}.project-carousel--reference .carousel-item:nth-child(3){background:var(--portfolio-mist)}.project-carousel__arrow{--button-outline-color:var(--carousel-ink);width:48px;height:48px;border:var(--portfolio-border-width) solid var(--carousel-ink);background:transparent;color:var(--carousel-ink);}.project-carousel__arrow:hover,.project-carousel__arrow:focus{background:var(--carousel-ink);color:var(--portfolio-white);}.project-carousel__arrow .btn-icon{font-size:1.375rem}.project-carousel__progress{min-width:0;}.project-carousel__segment{flex:1;min-width:0;max-width:64px;}.project-carousel__segment-button{min-height:44px;background:transparent;}.project-carousel__segment-button::before{content:"";width:100%;height:4px;background:var(--carousel-ink);opacity:.25;}.project-carousel__segment.active .project-carousel__segment-button::before,.project-carousel__segment-button:hover::before,.project-carousel__segment-button:focus-visible::before{opacity:1;}.project-carousel:focus-visible,.project-carousel__segment-button:focus-visible{outline:var(--portfolio-border-width) solid var(--carousel-ink);outline-offset:2px;}@media (prefers-reduced-motion:reduce){.project-carousel .carousel-item{transition:none}}.rock-contributions__intro{max-width:65ch;margin:.75rem 0 0;color:var(--portfolio-muted);line-height:1.65;}.rock-contributions__toggle{padding-inline:.75rem;min-height:44px;min-width:44px;border:var(--portfolio-border-width) solid var(--portfolio-beige-light);background:transparent;color:var(--portfolio-muted);font-size:.875rem;}.rock-contributions__toggle[hidden],.rock-contributions__group[hidden]{display:none!important}.rock-contributions__play-icon,.rock-contributions__toggle[aria-pressed="true"] .rock-contributions__pause-icon{display:none}.rock-contributions__toggle[aria-pressed="true"] .rock-contributions__play-icon{display:inline}.rock-contributions__toggle:is(:hover,:focus,:focus-visible){color:var(--portfolio-black);border-color:currentColor;}.rock-contributions__viewport{overflow-x:auto;scrollbar-width:none;overflow-anchor:none;}.rock-contributions__viewport::-webkit-scrollbar{display:none}.rock-contributions__track,.rock-contributions__group{width:max-content;}.rock-contributions__group li{flex:0 0 auto;width:clamp(16rem,28vw,20rem);}.rock-contribution{min-height:13rem;border:var(--portfolio-border-width) solid var(--portfolio-beige-light);border-radius:var(--portfolio-border-radius);background:var(--portfolio-white);color:var(--portfolio-black);}.rock-contribution__meta{width:fit-content;gap:.625rem;color:var(--portfolio-muted);font-size:.875rem;}.rock-contribution__icon{width:3rem;height:3rem;background:var(--portfolio-sand);color:var(--portfolio-beige-dark);font-size:1.125rem;}.rock-contribution__title{line-height:1.45}@media print{.rock-contributions__toggle,.rock-contributions__group[aria-hidden]{display:none!important}.rock-contributions__viewport{overflow:visible}.rock-contributions__track,.rock-contributions__group{width:auto;flex-wrap:wrap}}.resume-summary{max-width:75ch}.resume-logo{object-fit:contain}.resume-position{font-family:var(--portfolio-font-body)}.resume-divider hr{min-width:2rem}@media (min-width:992px){.resume-section-heading{position:sticky;top:1.5rem}}.about-page{max-width:1200px;}.about-profile{width:clamp(180px,35vw,240px);aspect-ratio:1;object-fit:cover;}.about-copy{max-width:75ch;line-height:1.8;}.about-strengths__grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1.25rem;}.about-strength{background:var(--portfolio-sand);border-radius:var(--portfolio-border-radius);}.about-strength__icon{width:88px;height:110px;object-fit:contain;}@media (min-width:576px){.about-strengths__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:992px){.about-strengths__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.bearkatbundle-copy{max-width:75ch;}.bearkatbundle-process-image{width:auto;height:200px;object-fit:contain;}.project-filters[hidden],.project-card[hidden]{display:none!important;}.project-filters fieldset{padding:0;margin:0;border:0;}.project-filters legend{float:none;width:auto;margin-bottom:.5rem;font-size:1rem;font-weight:600;}.project-filters__options{gap:.625rem;}.project-filter{cursor:pointer;}.project-filter input{position:absolute;width:1px;height:1px;opacity:0;}.project-filter__label,.project-skill{display:inline-flex;align-items:center;gap:.375rem;border:var(--portfolio-border-width) solid var(--portfolio-beige-light);border-radius:var(--portfolio-border-radius-pill);}.project-filter__label{min-height:44px;padding:.5rem .875rem;background:var(--portfolio-white);font-size:.875rem;}.project-filter:hover .project-filter__label{border-color:var(--portfolio-muted);}.project-filter input:checked + .project-filter__label{color:var(--portfolio-white);background:var(--portfolio-black);border-color:var(--portfolio-black);}.project-filter input:focus-visible + .project-filter__label{border-color:var(--portfolio-black);}.project-filters__clear:focus-visible{outline:var(--portfolio-border-width) solid var(--portfolio-black);outline-offset:4px;}.project-filters__clear{min-height:44px;background:transparent;color:var(--portfolio-black);font-size:.875rem;text-decoration:underline;text-underline-offset:.2em;}.project-filters__clear:disabled{color:var(--portfolio-muted);text-decoration:none;}.project-filters__count{color:var(--portfolio-muted);}.project-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr;gap:1.5rem;}.project-card{grid-template-rows:auto auto 1fr auto;align-content:start;min-width:0;padding:clamp(1rem,3vw,1.5rem);border:var(--portfolio-border-width) solid var(--portfolio-beige-light);border-radius:var(--portfolio-border-radius);background:var(--portfolio-white);color:var(--portfolio-black);}.project-card__cover{border-radius:var(--portfolio-border-radius);aspect-ratio:16 / 9;object-fit:contain;}.project-card__description{line-height:1.65;color:var(--portfolio-muted);}.project-card__skills{align-self:start;align-items:flex-start;}.project-skill{flex:0 0 auto;padding:.25rem .625rem;background:var(--portfolio-cream);font-size:.75rem;line-height:1.5;white-space:nowrap;}.skill-icon{flex:0 0 auto;width:1em;height:1em;}@media (min-width:768px){.project-grid--featured{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:992px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.project-grid--featured{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.project-card,.rock-contribution{transition:none}}.footer-projects{column-count:1;}@media (min-width:768px){.footer-projects{column-width:250px;column-gap:1.5rem;column-count:auto}}