@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#182429;font-synthesis:none;text-rendering:optimizelegibility;background:#c7dddc;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh}button,a{color:inherit;font:inherit}button{cursor:pointer}a{text-decoration:none}.site-canvas{background:linear-gradient(135deg,#ffffff52,#0000 38%),radial-gradient(circle at 12% 82%,#12484b57,#0000 26rem),#b8d4d3;place-items:center;min-height:100vh;padding:clamp(1rem,4vw,3.5rem);display:grid;overflow:hidden}.site-canvas:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff1a 1px,#0000 1px),linear-gradient(90deg,#ffffff1a 1px,#0000 1px);background-size:42px 42px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 75%);mask-image:linear-gradient(#000,#0000 75%)}.profile-shell{z-index:1;filter:drop-shadow(0 28px 45px #1e414433);grid-template-columns:310px minmax(0,1fr);width:min(1180px,100%);height:min(760px,100vh - 4rem);display:grid;position:relative}.identity-card{color:#fff;text-align:center;background:linear-gradient(#135454bf,#0f3138f0),url(/assets/headshot-BVHgJrS2.jpg) 50%/cover;flex-direction:column;align-items:center;min-height:100%;padding:4.5rem 2.5rem 2rem;display:flex;position:relative;overflow:hidden}.identity-card:before{content:"";background:linear-gradient(#0000 42%,#092027e0 83%),radial-gradient(circle at 50% 20%,#6dc8bc47,#0000 18rem);position:absolute;inset:0}.identity-card>*{z-index:1;position:relative}.identity-mark{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #ffffff73;border-radius:50%;place-items:center;width:94px;height:94px;display:grid}.identity-mark img{width:62px;height:62px}.identity-copy{margin-top:auto}.identity-kicker,.eyebrow{color:#54bda7;letter-spacing:.17em;text-transform:uppercase;margin:0 0 .75rem;font-size:.68rem;font-weight:700}.identity-kicker{color:#fff9}.identity-copy h2{margin:0;font:700 1.85rem/1.15 Manrope,sans-serif}.identity-copy>p:last-child{color:#ffffffb8;margin:.5rem 0 0;font-size:.84rem}.identity-links{gap:1.5rem;margin-top:1.65rem;display:flex}.identity-links a{color:#fffc;letter-spacing:.14em;border-bottom:1px solid #ffffff5c;font-size:.65rem;font-weight:700;transition:color .18s,border-color .18s}.identity-links a:hover{color:#77dfc9;border-color:#77dfc9}.identity-footer{color:#ffffff7a;letter-spacing:.06em;justify-content:space-between;width:100%;margin-top:3rem;font-size:.62rem;display:flex}.content-card{background:#f8f9f6;grid-template-columns:minmax(0,1fr) 82px;min-width:0;display:grid}.panel-stage{min-width:0;animation:.48s cubic-bezier(.22,.7,.3,1) both panel-in;overflow:auto}.panel{min-height:100%;padding:clamp(2.5rem,6vw,5.5rem)}.panel--about{grid-template-columns:minmax(260px,.95fr) minmax(260px,1.05fr);align-items:center;gap:clamp(1.5rem,5vw,4rem);display:grid;position:relative;overflow:hidden}.about-intro{z-index:2;position:relative}.about-intro h1{color:#101b20;letter-spacing:-.07em;margin:0 0 1.5rem;font:800 clamp(3.7rem,7vw,6.5rem)/.88 Manrope,sans-serif}.lead{color:#657176;max-width:35rem;margin:0;font-size:clamp(.95rem,1.5vw,1.08rem);line-height:1.75}.panel-actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.action-button{letter-spacing:.08em;text-transform:uppercase;background:0 0;border:1px solid #d0d8d5;min-height:46px;padding:0 1.25rem;font-size:.73rem;font-weight:700;transition:transform .18s,background .18s,color .18s}.action-button:hover{transform:translateY(-2px)}.action-button--primary{color:#fff;background:#3eaa94;border-color:#3eaa94}.action-button--quiet:hover{background:#edf2ef}.portrait-wrap{align-self:stretch;min-height:430px;position:relative}.portrait-wrap:after{aspect-ratio:1;content:"";background:linear-gradient(145deg,#7ad2c761,#d8eeea29);border-radius:50%;width:135%;position:absolute;bottom:-20%;right:-22%}.portrait-wrap img{z-index:2;object-fit:cover;object-position:center 25%;border-radius:52% 48% 8px 8px/42% 42% 8px 8px;width:min(120%,500px);height:88%;position:absolute;bottom:0;right:-5%;box-shadow:0 26px 50px #2a4a4a2b}.portrait-orbit{z-index:3;border:1px solid #3eaa9480;border-radius:50%;width:42px;height:42px;position:absolute;top:10%;right:4%}.portrait-orbit:after{content:"";background:#3eaa94;border-radius:50%;width:6px;height:6px;position:absolute;top:7px;left:7px}.about-note{z-index:4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f8f9f6e0;flex-direction:column;padding:.8rem 1rem;display:flex;position:absolute;bottom:2.5rem;right:clamp(2rem,5vw,5rem);box-shadow:0 10px 30px #284a481f}.about-note span{color:#8a9597;letter-spacing:.12em;text-transform:uppercase;font-size:.6rem}.about-note strong{margin-top:.2rem;font-size:.82rem}.panel-nav{background:#fff;border-left:1px solid #dfe5e2;flex-direction:column;display:flex}.panel-nav button{color:#a1acaa;background:0 0;border:0;border-bottom:1px solid #edf0ee;place-items:center;min-height:82px;transition:color .18s,background .18s;display:grid;position:relative}.panel-nav button:before{content:"";opacity:0;background:#42b59e;width:3px;height:100%;position:absolute;top:0;right:0}.panel-nav button:hover,.panel-nav button.is-active{color:#32977f;background:#f5f9f7}.panel-nav button.is-active:before{opacity:1}.panel-nav svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.4px;width:23px}.panel-nav span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.panel-heading{max-width:620px;margin-bottom:2.5rem}.panel-heading h2{color:#101b20;letter-spacing:-.055em;margin:0 0 1rem;font:800 clamp(2.4rem,5vw,4.6rem)/1 Manrope,sans-serif}.panel-heading>p:last-child{color:#718084;margin:0;line-height:1.7}.project-list{border-top:1px solid #dce3e0}.project-row{border-bottom:1px solid #dce3e0;grid-template-columns:40px minmax(0,1fr) 40px;gap:1rem;padding:1.25rem 0;transition:padding .18s,background .18s;display:grid}.project-row:hover{background:#f0f5f2;padding-left:.75rem;padding-right:.75rem}.project-number{color:#a1aeab;padding-top:.2rem;font-size:.68rem;font-weight:700}.project-title-line{align-items:center;gap:.8rem;display:flex}.project-title-line h3{margin:0;font:700 1.05rem/1.3 Manrope,sans-serif}.project-status{color:#7b8987;letter-spacing:.08em;text-transform:uppercase;border:1px solid #d9e3df;flex:none;padding:.2rem .45rem;font-size:.54rem;font-weight:700}.project-status--live{color:#268a75;border-color:#3eaa9459}.project-main>p{color:#758184;margin:.4rem 0 .65rem;font-size:.8rem;line-height:1.55}.project-tags{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.project-tags li{color:#3d9b87;font-size:.62rem;font-weight:700}.project-link{color:#359d87;border:1px solid #d6dfdc;align-self:center;place-items:center;width:34px;height:34px;display:grid}.project-link--disabled{color:#bbc3c1}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.contact-card{border:1px solid #dce3e0;flex-direction:column;justify-content:flex-end;min-height:145px;padding:1.25rem;transition:border .18s,transform .18s,background .18s;display:flex;position:relative}.contact-card:hover{background:#f0f6f3;border-color:#54bda7;transform:translateY(-3px)}.contact-card>span:first-child{color:#3eaa94;letter-spacing:.12em;text-transform:uppercase;font-size:.65rem;font-weight:700}.contact-card strong{overflow-wrap:anywhere;margin-top:.35rem;font-family:Manrope,sans-serif}.contact-arrow{color:#9ca8a5;position:absolute;top:1rem;right:1rem}.availability{color:#74817e;align-items:center;gap:.65rem;margin-top:2rem;font-size:.78rem;display:flex}.availability-dot{background:#46b99f;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px #46b99f1f}:focus-visible{outline-offset:3px;outline:2px solid #32977f}@keyframes panel-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (width<=900px){.site-canvas{padding:1rem;overflow:visible}.profile-shell{grid-template-columns:230px minmax(0,1fr);height:auto;min-height:calc(100vh - 2rem)}.content-card{grid-template-columns:minmax(0,1fr) 66px}.panel{padding:2.5rem}.panel--about{grid-template-columns:1fr;align-content:center}.portrait-wrap{display:none}.about-note{right:2.5rem}}@media (width<=650px){.site-canvas{padding:0;display:block}.profile-shell{width:100%;min-height:100vh;display:block}.identity-card{text-align:left;background-position:50% 22%;align-items:flex-start;min-height:235px;padding:2rem}.identity-mark{width:58px;height:58px}.identity-mark img{width:40px;height:40px}.identity-copy{margin-top:2rem}.identity-copy h2{font-size:1.45rem}.identity-links{position:absolute;bottom:2rem;right:2rem}.identity-footer{display:none}.content-card{flex-direction:column-reverse;min-height:calc(100vh - 235px);display:flex}.panel-nav{z-index:10;border-bottom:1px solid #dfe5e2;border-left:0;flex-direction:row;position:sticky;top:0}.panel-nav button{border-bottom:0;border-right:1px solid #edf0ee;flex:1;min-height:64px}.panel-nav button:before{width:100%;height:3px;top:auto;bottom:0;right:0}.panel{min-height:calc(100vh - 299px);padding:2.25rem 1.5rem 3rem}.about-intro h1{font-size:clamp(3.5rem,19vw,5.4rem)}.about-note{width:fit-content;margin-top:2.5rem;position:static}.project-row{grid-template-columns:30px minmax(0,1fr)}.project-link{display:none}.project-title-line{flex-direction:column;align-items:flex-start;gap:.35rem}.contact-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
