._site_1iwal_1{background:var(--canvas);color:var(--ink);min-height:100vh}._header_1iwal_7{border-bottom:1px solid var(--border);align-items:center;gap:3rem;max-width:1440px;margin:auto;padding:24px 64px;display:flex}._brand_1iwal_17{letter-spacing:-.13em;padding-right:.3rem;font-family:Manrope Variable,sans-serif;font-size:2.1rem;font-weight:800;line-height:1;text-decoration:none}._brand_1iwal_17 span{color:var(--cobalt)}._header_1iwal_7 ._desktopNav_1iwal_31{align-items:center;gap:2.1rem;margin-left:auto;display:flex}._header_1iwal_7 ._desktopNav_1iwal_31 a{align-items:center;min-height:44px;font-size:1rem;text-decoration:none;display:flex}._header_1iwal_7 ._desktopNav_1iwal_31 a[aria-current]{color:var(--cobalt);box-shadow:inset 0 -2px var(--cobalt)}._cvLink_1iwal_51{white-space:nowrap;border:1px solid #737984;border-radius:4px;padding:.75rem 1rem;font-size:1rem;text-decoration:none}._cvLink_1iwal_51 span{margin-left:1rem}._hero_1iwal_64,._workSection_1iwal_65,._petSection_1iwal_66,._approach_1iwal_67,._githubPulse_1iwal_68,._page_1iwal_69,._footer_1iwal_70{max-width:1312px;margin:auto;padding-left:64px;padding-right:64px}._hero_1iwal_64{padding-top:48px;padding-bottom:32px}._heroMeta_1iwal_82{color:var(--muted);justify-content:space-between;align-items:center;display:flex}._heroMeta_1iwal_82>span:last-child{font-size:1rem}._heroGrid_1iwal_93{grid-template-columns:1.4fr 1fr;align-items:end;gap:64px;padding:54px 0 58px;display:grid}._hero_1iwal_64 h1{letter-spacing:-.06em;font-size:clamp(42px,6.6vw,87px);font-weight:600;line-height:1.13}._hero_1iwal_64 h1 span{color:var(--cobalt)}._heroRole_1iwal_112{color:var(--muted);margin:22px 0 0;font-size:1.05rem}._heroStatement_1iwal_118 h2{letter-spacing:-.04em;max-width:380px;font-size:clamp(25px,2.7vw,35px)}._heroStatement_1iwal_118 p{color:var(--muted);max-width:360px;font-size:1.03rem}._heroMark_1iwal_130{color:var(--ember);margin-bottom:20px;font-size:3rem;line-height:1;display:block}._heroBottom_1iwal_138{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;padding-top:24px;font-size:1rem;display:flex}._heroBottom_1iwal_138>span{align-items:center;gap:.6rem;display:flex}._heroBottom_1iwal_138 i{background:#176947;border-radius:50%;width:6px;height:6px}._heroBottom_1iwal_138 a{text-decoration:none}._heroBottom_1iwal_138 a span{margin-left:2rem}._workSection_1iwal_65{padding-top:40px}._sectionHeading_1iwal_172{justify-content:space-between;align-items:center;gap:2rem;margin-bottom:24px;display:flex}._sectionHeading_1iwal_172 p{color:var(--muted);margin:0;font-size:1rem}._projectRow_1iwal_186{background:#e9e5de;border-radius:6px;grid-template-columns:1fr 1fr;margin-bottom:32px;display:grid;overflow:hidden}._projectCopy_1iwal_195{flex-direction:column;justify-content:center;align-items:start;padding:40px;display:flex}._projectTop_1iwal_203{justify-content:space-between;align-items:center;gap:1rem;width:100%;margin-bottom:44px;display:flex}._projectCopy_1iwal_195 h3{font-size:clamp(32px,4vw,54px)}._projectCopy_1iwal_195 h3 a{align-items:center;gap:1.5rem;text-decoration:none;display:flex}._projectCopy_1iwal_195 h3 a span{font-size:max(1rem,.65em)}._projectCopy_1iwal_195>p{max-width:420px}._projectCopy_1iwal_195>._contribution_1iwal_231{opacity:.85;margin:1rem 0 1.5rem;font-size:1rem}._projectMedia_1iwal_237{background:#dfdcd5;justify-content:center;align-items:center;min-height:430px;text-decoration:none;display:flex;position:relative;overflow:hidden}._projectMedia_1iwal_237 img{object-fit:cover;object-position:center top;width:100%;height:100%;transition:transform .28s var(--ease);position:absolute;inset:0}._flagship_1iwal_259{background:var(--cobalt);color:#fff}._flagship_1iwal_259 ._projectCopy_1iwal_195 .text-link:hover{color:#fff}._flagship_1iwal_259 .tags span{border-color:#fff6}._flagship_1iwal_259 ._projectMedia_1iwal_237{background:#dbe1fb}._phoneMedia_1iwal_276{align-items:center;gap:1.6rem;padding:40px 32px;position:relative}._phoneMedia_1iwal_276 img{object-fit:contain;border-radius:19px;width:190px;height:auto;max-height:425px;position:static;transform:rotate(-6deg);box-shadow:0 22px 45px #172a8733}._productCaption_1iwal_294{color:#172a87;letter-spacing:-.04em;font-family:Manrope Variable,sans-serif;font-size:clamp(18px,1.8vw,25px);font-weight:650;line-height:1.25}._sectionEnd_1iwal_303{text-align:right;padding:0 0 20px}._petSection_1iwal_66{padding-top:80px;padding-bottom:80px}._petIntro_1iwal_313{grid-template-columns:1fr 1fr;align-items:end;gap:4rem;margin:32px 0 42px;display:grid}._petIntro_1iwal_313 h2{font-size:clamp(35px,4.1vw,54px)}._petIntro_1iwal_313 h2 span{color:var(--ember)}._petIntro_1iwal_313 p{color:var(--muted);max-width:380px;margin:0 0 4px}._petGrid_1iwal_335{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;display:grid}._petCard_1iwal_341{border-top:1px solid var(--border);align-items:start;gap:18px;padding:25px 0;text-decoration:none;display:flex}._petCard_1iwal_341 h3,._petCard_1iwal_341 h2{letter-spacing:-.025em;font-size:1.27rem}._petCard_1iwal_341 p{color:var(--muted);max-width:340px;margin:.7rem 0;font-size:1rem}._petCard_1iwal_341>span:last-child{margin-left:auto}._addonNumber_1iwal_367{color:var(--ember);padding-top:5px;font-family:Manrope Variable,sans-serif;font-size:1rem}._approach_1iwal_67{border-top:1px solid var(--border);padding-top:60px;padding-bottom:70px}._approach_1iwal_67>h2{max-width:600px;margin:24px 0 48px;font-size:clamp(32px,4.2vw,55px)}._approach_1iwal_67>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;display:grid}._approach_1iwal_67 article>span{color:var(--cobalt);margin-bottom:20px;font-size:1rem;display:block}._approach_1iwal_67 h3{letter-spacing:-.025em;font-size:1.15rem}._approach_1iwal_67 p{color:var(--muted);font-size:1rem}._githubPulse_1iwal_68{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:5rem;padding-top:60px;padding-bottom:80px;display:grid}._githubPulse_1iwal_68 h2{margin-top:24px;font-size:clamp(35px,4vw,48px)}._githubPulse_1iwal_68 p{color:var(--muted);max-width:370px}._repoTeaser_1iwal_428{padding-top:20px}._repoTeaser_1iwal_428 a{border-bottom:1px solid var(--border);justify-content:space-between;padding:24px 0;font-size:1.05rem;text-decoration:none;display:flex}._repoTeaser_1iwal_428 a>span:last-child{color:var(--muted);font-size:1rem}._repoTeaser_1iwal_428 a>span:last-child span{margin-left:1.5rem}._contactBand_1iwal_450{background:var(--ink);color:var(--canvas);padding:64px max(32px,50vw - 592px)}._contactBand_1iwal_450 h2{margin-top:24px;font-size:clamp(38px,5.4vw,70px)}._contactBand_1iwal_450 p{color:#cdcbd0;margin-bottom:2rem}._contactBand_1iwal_450 .text-link{color:var(--canvas)}._contactActions_1iwal_470{flex-wrap:wrap;align-items:center;gap:.75rem 2rem;display:flex}._contactBand_1iwal_450 ._contactCareer_1iwal_477{color:var(--canvas);padding:1rem 0;display:inline-block}@media (width<=600px){._contactActions_1iwal_470>*{flex:100%}._contactBand_1iwal_450 ._contactCareer_1iwal_477{border:1px solid #f5f2ec73;border-radius:4px;justify-content:space-between;align-items:center;min-height:48px;padding:.95rem 1.2rem;font-weight:650;text-decoration:none;display:flex}}._page_1iwal_69{padding-top:70px;padding-bottom:80px}._pageHeader_1iwal_505{max-width:890px;margin-bottom:55px}._pageHeader_1iwal_505 h1{margin-top:22px;font-size:clamp(38px,5vw,68px)}._pageHeader_1iwal_505>p{color:var(--muted);max-width:680px;margin-top:25px;font-size:1.25rem}._footer_1iwal_70{grid-template-columns:1fr auto;align-items:start;gap:1rem;padding-top:36px;padding-bottom:32px;display:grid}._footer_1iwal_70 p{color:var(--muted);margin:.8rem 0 0;font-size:1rem}._footer_1iwal_70 nav{flex-wrap:wrap;gap:1.7rem;display:flex}._footer_1iwal_70 nav a{align-items:center;min-height:44px;font-size:1rem;text-decoration:none;display:flex}._footer_1iwal_70>span{color:var(--muted);grid-column:1/-1;margin-top:12px;font-size:1rem}@media (hover:hover){._petCard_1iwal_341:hover h3,._petCard_1iwal_341:hover h2,._header_1iwal_7 ._desktopNav_1iwal_31 a:hover{color:var(--cobalt)}._projectMedia_1iwal_237:hover img{transform:scale(1.02)}._phoneMedia_1iwal_276:hover img{transform:rotate(-6deg)scale(1.02)}}@media (width>=1600px){._hero_1iwal_64 h1{font-size:92px}}@media (width<=1100px){._header_1iwal_7,._hero_1iwal_64,._workSection_1iwal_65,._petSection_1iwal_66,._approach_1iwal_67,._githubPulse_1iwal_68,._page_1iwal_69,._footer_1iwal_70{padding-left:32px;padding-right:32px}._header_1iwal_7{gap:1.5rem}._header_1iwal_7 ._desktopNav_1iwal_31{gap:1.2rem}._heroGrid_1iwal_93{gap:36px}._hero_1iwal_64 h1{font-size:clamp(45px,6.8vw,75px)}._projectCopy_1iwal_195{padding:30px}._phoneMedia_1iwal_276{padding:30px 20px}._phoneMedia_1iwal_276 img{width:155px}._productCaption_1iwal_294{font-size:1.2rem}}@media (width<=800px){._header_1iwal_7{gap:1rem;padding-top:20px;padding-bottom:20px}._hero_1iwal_64{padding-top:30px}._heroGrid_1iwal_93{grid-template-columns:1fr;gap:35px;padding:38px 0}._hero_1iwal_64 h1{font-size:clamp(40px,8.6vw,69px)}._heroStatement_1iwal_118{position:relative}._heroMark_1iwal_130{font-size:2rem;position:absolute;top:0;right:5px}._heroStatement_1iwal_118 h2{max-width:330px;font-size:1.7rem}._heroStatement_1iwal_118 p{max-width:430px}._projectRow_1iwal_186{grid-template-columns:1fr}._projectTop_1iwal_203{margin-bottom:30px}._projectMedia_1iwal_237{min-height:330px}._phoneMedia_1iwal_276{gap:3rem;min-height:390px;padding:30px}._phoneMedia_1iwal_276 img{width:160px;max-height:360px}._productCaption_1iwal_294{font-size:1.4rem}._sectionHeading_1iwal_172{align-items:start}._sectionHeading_1iwal_172 p{text-align:right;max-width:200px}._petIntro_1iwal_313{grid-template-columns:1fr;gap:25px}._petIntro_1iwal_313 h2{font-size:2.5rem}._petIntro_1iwal_313 p{max-width:520px}._petGrid_1iwal_335{grid-template-columns:1fr}._approach_1iwal_67>div{grid-template-columns:1fr;gap:25px}._approach_1iwal_67 article>span{margin-bottom:12px}._approach_1iwal_67 p{max-width:450px}._githubPulse_1iwal_68{grid-template-columns:1fr;gap:20px}._footer_1iwal_70{grid-template-columns:1fr}._footer_1iwal_70 nav{gap:1.5rem}._petSection_1iwal_66{padding-top:55px;padding-bottom:50px}._page_1iwal_69{padding-top:48px}}@media (width<=400px){._header_1iwal_7,._hero_1iwal_64,._workSection_1iwal_65,._petSection_1iwal_66,._approach_1iwal_67,._githubPulse_1iwal_68,._page_1iwal_69,._footer_1iwal_70{padding-left:20px;padding-right:20px}._hero_1iwal_64 h1{font-size:10.3vw}._heroMeta_1iwal_82{gap:1rem}._heroMeta_1iwal_82>span:first-child{font-size:1rem}._heroBottom_1iwal_138{gap:1rem;font-size:1rem}._heroBottom_1iwal_138 a span{margin-left:.5rem}._sectionHeading_1iwal_172 p{max-width:145px;font-size:1rem}._projectCopy_1iwal_195{padding:24px}._phoneMedia_1iwal_276{gap:1.3rem;padding:24px}._phoneMedia_1iwal_276 img{width:135px}._productCaption_1iwal_294{font-size:1.15rem}._petCard_1iwal_341 h3{font-size:1.2rem}._petCard_1iwal_341 .pill{width:max-content;margin:.5rem 0 0;display:block}._contactBand_1iwal_450{padding:44px 20px}}._menuToggle_1iwal_779,._menuClose_1iwal_780{min-height:44px;color:inherit;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;gap:.75rem;padding:0 .25rem;font-size:1rem;font-weight:600;display:none}._menuClose_1iwal_780{display:inline-flex}._menuIcon_1iwal_800{width:22px;height:10px;position:relative}._menuIcon_1iwal_800:before,._menuIcon_1iwal_800:after{content:"";height:2px;transition:transform .3s var(--ease), top .3s var(--ease), width .3s var(--ease);background:currentColor;border-radius:2px;position:absolute;right:0}._menuIcon_1iwal_800:before{width:100%;top:0}._menuIcon_1iwal_800:after{width:65%;top:8px}._menuIcon_1iwal_800[data-open]:before,._menuIcon_1iwal_800[data-open]:after{width:100%;top:4px}._menuIcon_1iwal_800[data-open]:before{transform:rotate(45deg)}._menuIcon_1iwal_800[data-open]:after{transform:rotate(-45deg)}._menuSheet_1iwal_844{width:100%;max-width:none;height:100dvh;max-height:none;padding:0 32px calc(24px + env(safe-area-inset-bottom));background:var(--canvas);color:var(--ink);overscroll-behavior:contain;clip-path:inset(0 0 100%);transition:clip-path .26s cubic-bezier(.55, 0, .75, .2), display .26s allow-discrete, overlay .26s allow-discrete;border:0;margin:0;position:fixed;inset:0;overflow-y:auto}._menuSheet_1iwal_844:popover-open{clip-path:inset(0);animation:_sheet-in_1iwal_1 .46s var(--ease) both;flex-direction:column;display:flex}._menuSheet_1iwal_844::backdrop{background:0 0}._menuBar_1iwal_878{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 0;display:flex}._menuLinks_1iwal_886{flex:1;align-items:center;padding:1.5rem 0;display:flex}._menuLinks_1iwal_886 ol{width:100%;margin:0;padding:0;list-style:none}._menuLinks_1iwal_886 li{border-bottom:1px solid var(--border)}._menuSheet_1iwal_844:popover-open ._menuLinks_1iwal_886 li{animation:_menu-item-in_1iwal_1 .56s var(--ease) both;animation-delay:calc(.14s + var(--i,0) * 50ms)}._menuSheet_1iwal_844:popover-open ._menuFoot_1iwal_905{animation:_menu-item-in_1iwal_1 .56s var(--ease) both;animation-delay:calc(.14s + var(--i,0) * 50ms)}._menuSheet_1iwal_844:popover-open ._menuFoot_1iwal_905{--i:6}._menuLinks_1iwal_886 a{letter-spacing:-.03em;-webkit-tap-highlight-color:transparent;grid-template-columns:2.5rem 1fr auto;align-items:center;padding:.85rem 0;font-family:Manrope Variable,sans-serif;font-size:clamp(1.5rem,6.8vw,2rem);font-weight:700;line-height:1.1;text-decoration:none;display:grid}._menuIndex_1iwal_928{letter-spacing:.08em;font-variant-numeric:tabular-nums;color:var(--muted);align-self:start;padding-top:.35em;font-family:"Source Sans 3 Variable",sans-serif;font-size:.8rem;font-weight:600}._menuLabel_1iwal_939{transition:transform .3s var(--ease)}._menuLinks_1iwal_886 a>span:last-child{color:var(--muted);transition:transform .3s var(--ease);font-size:1.2rem}._menuLinks_1iwal_886 a:active ._menuLabel_1iwal_939{transform:translate(6px)}._menuLinks_1iwal_886 a[aria-current],._menuLinks_1iwal_886 a[aria-current] ._menuIndex_1iwal_928,._menuLinks_1iwal_886 a[aria-current]>span:last-child{color:var(--cobalt)}._menuFoot_1iwal_905{gap:1rem;display:grid}._menuStatus_1iwal_964{color:var(--muted);align-items:center;gap:.6rem;margin:0;display:flex}._menuStatus_1iwal_964 i{background:#176947;border-radius:50%;width:6px;height:6px}._menuEmail_1iwal_979{overflow-wrap:anywhere;text-underline-offset:.25em;font-size:1.15rem;font-weight:600}._menuSocial_1iwal_986{flex-wrap:wrap;gap:0 1.75rem;display:flex}._menuSocial_1iwal_986 a{align-items:center;min-height:44px;text-decoration:none;display:flex}._menuCv_1iwal_999{background:var(--ink);min-height:56px;color:var(--canvas);border-radius:4px;justify-content:space-between;align-items:center;margin-top:.25rem;padding:0 1.25rem;font-weight:600;text-decoration:none;display:flex}@media (hover:hover){._menuLinks_1iwal_886 a:hover ._menuLabel_1iwal_939{transform:translate(6px)}._menuLinks_1iwal_886 a:hover>span:last-child{color:var(--cobalt);transform:translate(3px,-3px)}}@media (width<=800px){._header_1iwal_7 ._desktopNav_1iwal_31{display:none}._cvLink_1iwal_51{margin-left:auto;padding:.6rem .9rem}._menuToggle_1iwal_779{display:inline-flex}}@media (width<=400px){._menuSheet_1iwal_844{padding-left:20px;padding-right:20px}}@media (width<=359px){._cvLink_1iwal_51{display:none}._menuToggle_1iwal_779{margin-left:auto}}@media (width>=801px){._menuSheet_1iwal_844{display:none!important}}@keyframes _sheet-in_1iwal_1{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}@keyframes _menu-item-in_1iwal_1{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media (width<=600px){._header_1iwal_7,._hero_1iwal_64,._workSection_1iwal_65,._petSection_1iwal_66,._approach_1iwal_67,._githubPulse_1iwal_68,._page_1iwal_69,._footer_1iwal_70,._menuSheet_1iwal_844{padding-left:24px;padding-right:24px}._header_1iwal_7{padding-top:16px;padding-bottom:16px}._hero_1iwal_64{padding-top:40px;padding-bottom:8px}._heroMeta_1iwal_82{flex-direction:column;align-items:flex-start;gap:6px}._heroGrid_1iwal_93{gap:48px;padding:32px 0 48px}._heroRole_1iwal_112{margin-top:16px}._heroStatement_1iwal_118 h2{max-width:17ch;font-size:1.5rem}._heroMark_1iwal_130{font-size:1.5rem}._heroStatement_1iwal_118 .actions{flex-direction:column;align-items:stretch;gap:12px;margin-top:28px}._heroStatement_1iwal_118 .text-link{border:1px solid #737984;border-radius:4px;justify-content:space-between;min-height:48px;padding:.95rem 1.2rem}._heroBottom_1iwal_138{padding-top:20px}._heroBottom_1iwal_138 a{display:none}._sectionHeading_1iwal_172{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:28px}._sectionHeading_1iwal_172 p{text-align:left;max-width:none}._workSection_1iwal_65{padding-top:64px}._petSection_1iwal_66{padding-top:72px;padding-bottom:72px}._approach_1iwal_67{padding-top:64px;padding-bottom:72px}._githubPulse_1iwal_68{gap:32px;padding-top:64px;padding-bottom:72px}._contactBand_1iwal_450{padding:64px 24px 72px}._page_1iwal_69{padding-top:40px;padding-bottom:72px}._projectRow_1iwal_186{margin-bottom:24px}._projectCopy_1iwal_195{padding:28px 24px 32px}._projectTop_1iwal_203{flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:28px}._projectCopy_1iwal_195 h3{font-size:2rem}._projectCopy_1iwal_195 h3 a{gap:1rem}._projectCopy_1iwal_195>._contribution_1iwal_231{margin:.75rem 0 1.5rem}._projectMedia_1iwal_237{min-height:240px}._phoneMedia_1iwal_276{gap:1.5rem;min-height:320px;padding:32px 24px}._phoneMedia_1iwal_276 img{width:128px}._productCaption_1iwal_294{font-size:1.1rem}._sectionEnd_1iwal_303{padding-bottom:0}._petIntro_1iwal_313{gap:12px;margin:16px 0 36px}._petIntro_1iwal_313 h2{font-size:2.125rem}._petCard_1iwal_341{gap:14px;padding:24px 0}._addonNumber_1iwal_367{flex:none;min-width:1.5rem}._petCard_1iwal_341 h3,._petCard_1iwal_341 h2{font-size:1.15rem}._petCard_1iwal_341 p{margin:.5rem 0 .75rem}._petCard_1iwal_341 .pill{margin:0 0 0 .5rem;display:inline-block}._petCard_1iwal_341 .eyebrow{color:var(--muted);letter-spacing:.08em;font-weight:650}._petSection_1iwal_66{flex-direction:column;display:flex}._petSection_1iwal_66 ._sectionHeading_1iwal_172{display:contents}._petSection_1iwal_66 ._sectionHeading_1iwal_172 .text-link{order:1;align-self:flex-start;margin-top:28px}._approach_1iwal_67>h2{margin:16px 0 40px;font-size:2.125rem}._approach_1iwal_67>div{gap:32px}._approach_1iwal_67 article>span{margin-bottom:8px}._approach_1iwal_67 p{margin-bottom:0}._githubPulse_1iwal_68 h2{margin-top:16px;font-size:2.125rem}._repoTeaser_1iwal_428{padding-top:0}._repoTeaser_1iwal_428 a{padding:18px 0}._contactBand_1iwal_450 h2{margin-top:16px;font-size:2.25rem}._contactBand_1iwal_450 p{margin-bottom:28px}._pageHeader_1iwal_505{margin-bottom:40px}._pageHeader_1iwal_505 h1{margin-top:16px;font-size:2.25rem}._pageHeader_1iwal_505>p{margin-top:16px;font-size:1.125rem}._footer_1iwal_70{gap:20px;padding-top:40px;padding-bottom:40px}._footer_1iwal_70 nav{gap:0 1.5rem}._footer_1iwal_70>span{margin-top:0}}@font-face{font-family:Manrope Variable;font-style:normal;font-weight:200 800;font-display:optional;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2)format("woff2")}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-weight:200 900;font-display:optional;src:url(/assets/source-sans-3-latin-wght-normal-Bo_j9asI.woff2)format("woff2")}:root{color:#161923;font-synthesis:none;--canvas:#f5f2ec;--ink:#161923;--cobalt:#2445e8;--ember:#b63e12;--muted:#525866;--border:#d3cec5;--ease:cubic-bezier(.22, 1, .36, 1);background:#f5f2ec;font-family:"Source Sans 3 Variable",sans-serif;font-size:max(16px,100%)}*{box-sizing:border-box}body{margin:0;font-size:1rem}small{font-size:1rem}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4{overflow-wrap:anywhere;letter-spacing:-.045em;margin:0;font-family:Manrope Variable,sans-serif;font-weight:650;line-height:1.12}p,li,a{overflow-wrap:anywhere}p{margin:1rem 0;font-size:1.14rem;line-height:1.6}:focus-visible{outline:3px solid var(--ember);outline-offset:5px}[tabindex="-1"]:focus{outline:none}.skip-link{z-index:100;color:var(--ink);background:#fff;padding:1rem;position:fixed;top:-100px;left:1rem}.skip-link:focus{top:1rem}.eyebrow{letter-spacing:.12em;text-transform:uppercase;font-family:Manrope Variable,sans-serif;font-size:1rem;font-weight:750;line-height:1.5}.button{border:1px solid var(--cobalt);background:var(--cobalt);color:#fff;border-radius:4px;justify-content:space-between;align-items:center;gap:2rem;min-height:48px;padding:.95rem 1.2rem;font-size:1rem;font-weight:650;text-decoration:none;transition:background .16s,transform .16s;display:inline-flex}.button-light{background:var(--canvas);color:var(--ink);border-color:var(--canvas)}.text-link{border-bottom:1px solid;align-items:center;gap:1.5rem;min-height:44px;font-weight:600;text-decoration:none;display:inline-flex}.actions{flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:2rem;display:flex}.status{text-transform:capitalize;align-items:center;gap:.4rem;font-size:1rem;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.pill{letter-spacing:.03em;vertical-align:middle;text-transform:uppercase;border:1px solid;border-radius:3px;margin-left:.7rem;padding:.28rem .4rem;font-size:1rem}.tags{flex-wrap:wrap;gap:.5rem;display:flex}.tags span{border:1px solid #737984;border-radius:3px;padding:.2rem .5rem;font-size:1rem}.blocks{max-width:780px;margin:4rem auto}.block{margin-bottom:2.5rem}.block h2{margin:2rem 0 1rem;font-size:clamp(1.5rem,3vw,2.2rem)}.block p,.block li{font-size:1.15rem;line-height:1.7}.block code{font-size:1rem}pre{color:#f5f2ec;background:#161923;border-radius:5px;padding:1.5rem;overflow:auto}figure{margin:0}figcaption{color:var(--muted);margin-top:.7rem;font-size:1rem;line-height:1.5}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;display:grid}.gallery img{border-radius:18px;width:auto;max-height:600px;margin:auto}.ownership-panel,.decision{border-left:3px solid var(--cobalt);background:#e6ebff;padding:1rem 2rem}dt{margin-top:1rem;font-weight:700}dd{margin:.4rem 0;line-height:1.6}.architecture{flex-wrap:wrap;gap:.7rem;padding:0;list-style:none;display:flex}.architecture li{border:1px solid #737984;flex:1;padding:1rem}.architecture li+li:before{content:"→ "}.metric strong{font-size:3rem;display:block}.metric span{font-size:1.3rem}.case-meta{border-top:1px solid var(--border);grid-template-columns:2fr 1fr 1fr;gap:3rem;padding:2rem 0;display:grid}.case-meta p{font-size:1rem}.case-hero{background:#e9e5de;border-radius:6px;justify-content:center;padding:3rem;display:flex}.case-hero img{object-fit:contain;max-height:700px}.case-phone{background:#e6ebff}.case-phone img{border-radius:20px;width:auto;box-shadow:0 20px 45px #172a8722}.case-links{border-top:1px solid var(--border);margin-top:3rem;padding:2rem 0}.case-links h2{margin-bottom:1rem}.case-links a{overflow-wrap:anywhere;margin-right:1.5rem}.timeline article{border-top:1px solid var(--border);grid-template-columns:1fr 2fr;gap:3rem;padding:2.5rem 0;display:grid}.timeline article>div{color:var(--muted);align-content:start;gap:.6rem;display:grid}.timeline h2{font-size:2rem}.timeline h3{letter-spacing:-.01em;margin-top:.7rem;font-size:1.1rem}.qualifications,.skill-evidence{border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin:3rem 0;padding-top:2rem;display:grid}.qualifications>h2,.skill-evidence>h2{grid-column:1/-1}.skill-evidence a{padding:.4rem 0;display:block}.about-copy{max-width:720px}.about-copy>p:first-child{font-size:1.65rem}.about-copy h2{margin-top:3rem}.contact-email{letter-spacing:-.04em;overflow-wrap:anywhere;margin:2rem 0;font-family:Manrope Variable,sans-serif;font-size:clamp(1rem,3.8vw,2.8rem);display:block}.contact-details>div{gap:2rem;display:flex}.notes-list article{border-top:1px solid var(--border);padding:2rem 0}.notes-list h2{margin-top:1rem}.note{max-width:780px;margin:auto}.note>p{color:var(--muted)}.repo-filters{grid-template-columns:2fr 1fr 1fr;gap:1rem;margin:2rem 0 1rem;display:grid}label{gap:.45rem;font-weight:600;display:grid}input,select,textarea{color:#161923;background:#fff;border:1px solid #737984;border-radius:4px;width:100%;min-height:44px;padding:.75rem}.scope-note{color:var(--muted);max-width:780px;font-size:1rem}.repo{border-top:1px solid var(--border);padding:2rem 0}.repo>header{justify-content:space-between;gap:2rem;display:flex}.repo h2{font-size:1.6rem}.repo header>span{white-space:nowrap;font-size:1rem}.language-bars{flex-wrap:wrap;gap:.8rem;margin-bottom:1rem;font-size:1rem;display:flex}details summary{cursor:pointer;min-height:44px;padding:.75rem 0}details li{margin-bottom:.8rem;line-height:1.6}details time{color:var(--muted);font-size:1rem}.activity-highlight{background:#e6ebff;margin:2rem 0;padding:2rem}.activity-highlight h2{margin-top:1rem}.calendar{margin-top:3rem}.calendar-grid{flex-wrap:wrap;gap:5px;margin:2rem 0;display:flex}.calendar-grid span{background:var(--cobalt);border-radius:2px;width:14px;height:14px}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;padding:.7rem}caption{text-align:left;margin:1rem 0}.notice{border-left:3px solid var(--ember);background:#fce9de;padding:1rem}@media (hover:hover){.button:hover{background:#172a87;transform:translateY(-2px)}.button-light:hover{background:#fff}.text-link:hover{color:var(--cobalt)}}@media (width<=768px){.case-meta,.timeline article,.repo-filters{grid-template-columns:1fr;gap:1rem}.qualifications,.skill-evidence{grid-template-columns:1fr}.case-hero{padding:1.5rem}.gallery{gap:1rem}.repo>header{display:block}.contact-details>div{flex-wrap:wrap}}@media (width<=600px){p{font-size:1.0625rem;line-height:1.65}.eyebrow{letter-spacing:.1em}.actions{margin-top:1.75rem}.blocks{margin:2.5rem auto}.block{margin-bottom:2rem}.block h2{margin:2.25rem 0 .75rem;font-size:1.5rem}.block p,.block li{font-size:1.0625rem}.ownership-panel,.decision{padding:1rem 1.25rem}.architecture{flex-direction:column}.case-meta{gap:1.25rem;padding:1.5rem 0}.case-hero{padding:1.5rem 1rem}.case-links{margin-top:2.5rem}.case-links a{margin-right:1.25rem}.timeline article{gap:.75rem;padding:2rem 0 2.25rem}.timeline article>div{flex-wrap:wrap;row-gap:.25rem;display:flex}.timeline article>div>:nth-child(2):before{content:"·";margin:0 .5rem}.timeline article>div>:nth-child(3){flex-basis:100%}.timeline h2{font-size:1.6rem}.timeline h3{margin-top:.4rem}.timeline ul{margin:1.25rem 0 0;padding-left:1.1rem}.timeline li{margin-bottom:.6rem;line-height:1.6}.qualifications,.skill-evidence{gap:1.5rem;margin:2.5rem 0}.about-copy>p:first-child{font-size:1.3rem;line-height:1.55}.about-copy h2{margin-top:2.5rem}.contact-email{margin:1.5rem 0;font-size:1.35rem}.contact-details>div{gap:0 1.5rem}.notes-list article,.repo{padding:1.75rem 0}.repo h2{font-size:1.35rem}.activity-highlight{padding:1.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}}@media (forced-colors:active){.button,.pill,.tags span,.architecture li{border:1px solid buttontext}}.screenshot-dialog{background:var(--canvas);color:var(--ink);border:1px solid #737984;border-radius:6px;max-width:min(95vw,1200px);max-height:95vh;padding:1.5rem}.screenshot-dialog::backdrop{background:#161923cc}.screenshot-dialog header{justify-content:space-between;align-items:center;gap:2rem;display:flex}.screenshot-dialog .dialog-image{width:auto;max-width:100%;max-height:65vh;animation:screenshot-enter .2s var(--ease);margin:auto}@keyframes screenshot-enter{0%{opacity:.8}to{opacity:1}}
