:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#24113d;text-rendering:optimizelegibility;background:#fbf7ff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 0 0,#a855f738,#0000 34rem),linear-gradient(135deg,#fff7ff 0%,#f4ecff 45%,#efe7ff 100%);min-height:100vh;margin:0}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,Times New Roman,serif;line-height:1.05}p{color:#5f4b79;max-width:70ch;line-height:1.75}.page-shell{max-width:1080px;margin:0 auto;padding:4rem 1.5rem 6rem}.hero-section{border-bottom:1px solid #6b21a82e;padding:1.25rem 0 3.5rem}.site-nav{justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:5rem;display:flex}.brand-link{color:#4c1d95;font-weight:800}.nav-links{flex-wrap:wrap;gap:.5rem;display:flex}.nav-links a{color:#5b21b6;background:#ffffffad;border:1px solid #6b21a833;border-radius:999px;padding:.6rem .9rem;font-size:.92rem;font-weight:700;transition:background-color .18s,border-color .18s,transform .18s}.nav-links a:hover,.nav-links a:focus-visible{background:#fff;border-color:#6b21a86b;transform:translateY(-1px)}.eyebrow{color:#7e22ce;letter-spacing:.16em;text-transform:uppercase;margin-bottom:1rem;font-size:.95rem}.hero-intro{max-width:48rem}.hero-title{color:#2e1065;letter-spacing:0;max-width:11ch;font-size:clamp(3rem,6vw,5.65rem)}.hero-copy{color:#4f3a68;max-width:42rem;margin-top:1.25rem;font-size:clamp(1.08rem,2vw,1.3rem);line-height:1.65}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;display:flex}.primary-link,.secondary-link{border-radius:999px;justify-content:center;align-items:center;padding:.82rem 1.05rem;font-size:.95rem;font-weight:800;transition:background-color .18s,border-color .18s,color .18s,transform .18s;display:inline-flex}.primary-link{color:#fff;background:#4c1d95;border:1px solid #4c1d9552}.secondary-link{color:#5b21b6;background:#ffffffb8;border:1px solid #6b21a833}.primary-link:hover,.primary-link:focus-visible,.secondary-link:hover,.secondary-link:focus-visible{transform:translateY(-1px)}.primary-link:hover,.primary-link:focus-visible{background:#3b0764}.secondary-link:hover,.secondary-link:focus-visible{background:#fff;border-color:#6b21a86b}.about-section,.page-section{padding:4rem 0 0}.about-section{grid-template-columns:minmax(0,1fr) minmax(17rem,22rem);align-items:center;gap:3rem;display:grid}.about-copy{gap:1rem;display:grid}.about-copy .eyebrow{margin-bottom:0}.about-section h2,.page-section h2{color:#3b0764;letter-spacing:0;max-width:17ch;font-size:clamp(2rem,4vw,3.25rem)}.portrait-frame{aspect-ratio:4/5;background:linear-gradient(145deg,#14532d33,#fff6),linear-gradient(315deg,#be185d2e,#f4ecffd1);border:1px solid #14532d2e;border-radius:1rem;justify-self:end;place-items:center;width:min(100%,22rem);display:grid;position:relative;overflow:hidden;box-shadow:0 1.5rem 3rem #4c1d951a}.portrait-frame:before{z-index:1;content:"";pointer-events:none;border:1px solid #ffffffb8;border-radius:.7rem;position:absolute;inset:1rem}.portrait-frame img{object-fit:cover;width:100%;height:100%}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding-top:3rem;display:grid}.card{background:linear-gradient(#ffffffd1,#faf5ffe6),#fff;border:1px solid #6b21a829;border-radius:1.25rem;min-height:13rem;padding:1.35rem;box-shadow:0 1.5rem 3rem #4c1d951a}.card-link{flex-direction:column;justify-content:space-between;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex}.card-link:hover,.card-link:focus-visible{border-color:#7e22ce6b;transform:translateY(-3px);box-shadow:0 1.75rem 3.5rem #4c1d9529}.card-link span,.card h3{color:#4c1d95;font-family:Georgia,Times New Roman,serif;font-size:1.55rem;font-weight:700}.card-link p,.card p{margin-top:1rem}.home-focus-grid{grid-template-columns:minmax(0,2fr) minmax(16rem,.85fr);align-items:stretch;gap:1rem;padding-top:3rem;display:grid}.work-feature-card,.secondary-feature-card{background:#ffffffc7;border:1px solid #6b21a829;border-radius:1rem;flex-direction:column;justify-content:space-between;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex;box-shadow:0 1.5rem 3rem #4c1d951a}.work-feature-card:hover,.work-feature-card:focus-visible,.secondary-feature-card:hover,.secondary-feature-card:focus-visible{border-color:#7e22ce6b;transform:translateY(-3px);box-shadow:0 1.75rem 3.5rem #4c1d9529}.work-feature-card{background:linear-gradient(135deg,#ffffffe6,#e8f5e994),#fff;min-height:18rem;padding:1.5rem}.secondary-feature-card{background:#ffffffad;min-height:18rem;padding:1.25rem}.work-feature-card .eyebrow,.secondary-feature-card .eyebrow{margin-bottom:.85rem}.work-feature-card h2,.secondary-feature-card h2{color:#3b0764;letter-spacing:0}.work-feature-card h2{max-width:18ch;font-size:clamp(2rem,4vw,3.25rem)}.secondary-feature-card h2{font-size:clamp(1.55rem,2vw,2rem)}.work-feature-card p,.secondary-feature-card p{margin-top:1rem}.page-header{padding:4rem 0 1rem}.page-header h1{color:#2e1065;letter-spacing:0;max-width:12ch;font-size:clamp(3.25rem,7vw,6.5rem)}.page-header p{margin-top:1.25rem;font-size:1.08rem}.work-contact-panel{border-bottom:1px solid #6b21a829;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;padding-bottom:1.25rem;display:flex}.resume-contact,.site-footer{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.resume-contact{border-top:1px solid #6b21a829;border-bottom:1px solid #6b21a829;margin-top:2rem;padding:1.5rem 0}.site-footer{border-top:1px solid #6b21a829;max-width:1080px;margin:0 auto;padding:2rem 1.5rem 4rem}.resume-contact .eyebrow,.site-footer .eyebrow{margin-bottom:.55rem}.resume-contact h2,.site-footer h2,.resume-section h2{color:#3b0764;letter-spacing:0;font-size:clamp(1.85rem,3vw,2.65rem)}.contact-actions,.social-links{align-items:center;gap:.75rem;display:flex}.contact-button{color:#fff;cursor:pointer;font:inherit;background:#5b21b6;border:1px solid #6b21a847;border-radius:999px;justify-content:center;align-items:center;padding:.8rem 1.05rem;font-weight:800;transition:background-color .18s,border-color .18s,transform .18s;display:inline-flex}.contact-button:hover,.contact-button:focus-visible{background:#4c1d95;border-color:#4c1d9580;transform:translateY(-1px)}.contact-button:disabled,.contact-secondary-button:disabled{cursor:not-allowed;opacity:.62;transform:none}.contact-modal{z-index:30;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.contact-modal-backdrop{background:#1e1036b8;position:absolute;inset:0}.contact-modal-panel{z-index:1;background:#fffaff;border:1px solid #6b21a82e;border-radius:.75rem;gap:1rem;width:min(100%,38rem);max-height:calc(100vh - 2.5rem);padding:1.25rem;display:grid;position:relative;overflow:auto;box-shadow:0 2rem 5rem #1e103647}.contact-modal-header,.contact-modal-actions{justify-content:space-between;align-items:center;gap:1rem;display:flex}.contact-modal-header .eyebrow{margin-bottom:.5rem}.contact-modal-header h2{color:#3b0764;letter-spacing:0;font-size:clamp(1.85rem,4vw,2.65rem)}.contact-modal-close,.contact-secondary-button{color:#5b21b6;cursor:pointer;font:inherit;background:#ffffffc2;border:1px solid #6b21a833;font-weight:800}.contact-modal-close{border-radius:999px;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.35rem;line-height:1;display:inline-flex}.contact-secondary-button{border-radius:999px;padding:.8rem 1.05rem}.contact-modal label{color:#4c1d95;gap:.45rem;font-weight:800;display:grid}.contact-modal input,.contact-modal select,.contact-modal textarea{color:#24113d;width:100%;font:inherit;background:#fff;border:1px solid #6b21a833;border-radius:.5rem;padding:.75rem .8rem;font-weight:500}.contact-modal textarea{resize:vertical}.contact-modal input:focus,.contact-modal select:focus,.contact-modal textarea:focus{border-color:#6b21a88c;outline:3px solid #7e22ce29}.contact-honeypot{position:absolute;left:-9999px}.contact-status{border-radius:.5rem;max-width:none;padding:.75rem .85rem;font-weight:800;line-height:1.45}.contact-status-sent{color:#14532d;background:#dcfce7}.contact-status-error{color:#7f1d1d;background:#fee2e2}.icon-link{color:#5b21b6;background:#ffffffc2;border:1px solid #6b21a838;border-radius:999px;justify-content:center;align-items:center;width:2.85rem;height:2.85rem;transition:background-color .18s,border-color .18s,color .18s,transform .18s;display:inline-flex}.icon-link:hover,.icon-link:focus-visible{color:#fff;background:#5b21b6;border-color:#4c1d956b;transform:translateY(-1px)}.icon-link svg{fill:currentColor;width:1.25rem;height:1.25rem}.resume-section{padding-top:3.5rem}.resume-section .eyebrow{margin-bottom:.7rem}.resume-list{gap:1rem;margin-top:1.5rem;display:grid}.resume-entry{background:#ffffffb8;border:1px solid #6b21a824;border-radius:.5rem;padding:1.25rem;box-shadow:0 1rem 2rem #4c1d9512}.resume-entry-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.resume-entry h3{color:#4c1d95;letter-spacing:0;font-size:1.35rem}.resume-entry-header p{color:#5f4b79;margin-top:.35rem;line-height:1.5}.resume-date{color:#7e22ce;text-align:right;flex:none;max-width:14rem;font-size:.95rem;font-weight:800}.resume-entry-meta,.education-meta{flex:none;justify-items:end;gap:.25rem;display:grid}.resume-location,.education-gpa{color:#4c1d95;text-align:right;line-height:1.4}.resume-location{font-weight:400}.education-gpa{font-weight:800}.resume-role-list{border-top:1px solid #6b21a81f;border-bottom:1px solid #6b21a81f;gap:1rem;margin-top:1rem;padding:1rem 0;display:grid}.resume-role{gap:.65rem;display:grid}.resume-role+.resume-role{border-top:1px solid #6b21a81a;padding-top:1rem}.resume-role-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.resume-role-title{color:#4c1d95;font-weight:800;line-height:1.45}.resume-role-location{color:#5f4b79;margin-top:.15rem;line-height:1.4}.resume-role-date{color:#7e22ce;text-align:right;flex:none;max-width:14rem;font-size:.92rem;font-weight:800;line-height:1.45}.resume-role-bullets{color:#5f4b79;gap:.55rem;margin:0;padding-left:1.2rem;line-height:1.6;display:grid}.resume-role-bullets li::marker{color:#7e22ce}.resume-entry ul{color:#5f4b79;gap:.65rem;margin:1rem 0 0;padding-left:1.2rem;line-height:1.65;display:grid}.resume-entry li::marker{color:#7e22ce}.skills-list{background:#ffffffb8;border:1px solid #6b21a824;border-radius:.5rem;gap:.8rem;margin-top:1.5rem;padding:1.25rem;display:grid;box-shadow:0 1rem 2rem #4c1d9512}.skills-list p{max-width:none}.skills-list strong{color:#4c1d95}.back-link{color:#5b21b6;width:fit-content;margin-bottom:2rem;font-weight:800;display:inline-flex}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;padding-top:3rem;display:grid}.category-card{background:#ffffffd1;border:1px solid #6b21a829;border-radius:1.25rem;transition:border-color .18s,box-shadow .18s,transform .18s;overflow:hidden;box-shadow:0 1.5rem 3rem #4c1d951a}.category-card:hover,.category-card:focus-visible{border-color:#7e22ce6b;transform:translateY(-3px);box-shadow:0 1.75rem 3.5rem #4c1d9529}.category-actions{justify-content:center;margin-top:1.5rem;display:flex}.category-preview{background:linear-gradient(135deg,#7e22ce1f,#ffffffb8),#f4ecff;grid-template-columns:repeat(3,minmax(0,1fr));min-height:18rem;display:grid}.category-preview img{object-fit:cover;width:100%;height:100%;min-height:18rem}.category-card-copy{justify-content:space-between;align-items:end;gap:1rem;padding:1.2rem;display:flex}.category-card-copy h2,.empty-gallery h2{color:#3b0764;letter-spacing:0;font-size:clamp(1.45rem,2.5vw,2.1rem)}.category-card-copy p{color:#7e22ce;font-size:.95rem;font-weight:800}.art-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;padding-top:1.5rem;display:grid}.art-card{background:#ffffffd1;border:1px solid #6b21a829;border-radius:1.25rem;overflow:hidden;box-shadow:0 1.5rem 3rem #4c1d951a}.art-zoom-button{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.art-zoom-button img{aspect-ratio:4/5;object-fit:cover;background:#f4ecff;width:100%;display:block}.art-zoom-button:focus-visible{outline-offset:-3px;outline:3px solid #7e22ce80}.art-card-copy{padding:1.1rem}.art-card-copy h3{color:#4c1d95;font-size:1.35rem}.art-card-copy p{margin-top:.65rem;font-size:.95rem;line-height:1.55}.art-date{color:#7e22ce;font-weight:800}.art-tags{flex-wrap:wrap;gap:.45rem;margin-top:.85rem;display:flex}.art-tags span,.tag-button,.tag-clear-button{color:#5b21b6;background:#f4ecffb3;border:1px solid #6b21a82e;border-radius:999px;padding:.38rem .62rem;font-size:.82rem;font-weight:800}.tag-filter{border-top:1px solid #6b21a829;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-top:2.5rem;padding-top:1.25rem;display:flex}.tag-filter h2{color:#3b0764;font-size:1.55rem}.tag-filter p{color:#7e22ce;margin-top:.4rem;font-size:.92rem;font-weight:800;line-height:1.4}.tag-filter-controls{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.tag-button,.tag-clear-button{cursor:pointer;font-family:inherit}.tag-button:hover,.tag-button:focus-visible,.tag-button-active{color:#fff;background:#6d28d9;border-color:#7e22ce80}.tag-clear-button{color:#7f1d1d;background:#fee2e2d1}.empty-gallery{background:#ffffffd1;border:1px solid #6b21a829;border-radius:1.25rem;gap:1rem;margin-top:3rem;padding:1.35rem;display:grid;box-shadow:0 1.5rem 3rem #4c1d951a}.empty-gallery code{color:#4c1d95;background:#f4ecff;border-radius:.75rem;padding:.85rem;font-size:.9rem;display:block;overflow-x:auto}.lightbox{z-index:20;background:#1e1036d1;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.lightbox-panel{background:#160a28;border:1px solid #ffffff3d;border-radius:1.25rem;grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,74rem);max-height:calc(100vh - 2.5rem);display:grid;overflow:hidden;box-shadow:0 2rem 5rem #00000057}.lightbox-toolbar,.lightbox-controls{justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;display:flex}.lightbox-toolbar h2{color:#fff;font-size:1.35rem}.lightbox-toolbar p,.lightbox-controls p{color:#ffffffbd;font-size:.92rem;line-height:1.4}.lightbox button{color:#fff;cursor:pointer;font:inherit;background:#ffffff14;border:1px solid #ffffff38;border-radius:999px;padding:.6rem .9rem;font-size:.92rem;font-weight:800}.lightbox button:hover,.lightbox button:focus-visible{background:#ffffff29}.lightbox-panel>img{object-fit:contain;background:#0f071a;width:100%;height:100%;min-height:0;display:block}@media (max-width:760px){.page-shell{padding:2rem 1rem 4rem}.site-nav{flex-direction:column;align-items:flex-start;margin-bottom:3.5rem}.hero-section{padding-bottom:3rem}.hero-title{max-width:8ch}.about-section{grid-template-columns:1fr;gap:2rem}.portrait-frame{justify-self:stretch;width:100%;max-width:20rem}.card-grid,.home-focus-grid{grid-template-columns:1fr}.work-feature-card,.secondary-feature-card{min-height:12rem}.resume-contact,.site-footer,.resume-entry-header,.contact-actions{flex-direction:column;align-items:flex-start}.contact-modal{padding:.75rem}.contact-modal-panel{max-height:calc(100vh - 1.5rem)}.contact-modal-actions{flex-direction:column-reverse;align-items:stretch}.resume-date{text-align:left;max-width:none}.resume-entry-meta,.education-meta{justify-items:start}.resume-location,.education-gpa{text-align:left}.resume-role-header{flex-direction:column;gap:.2rem}.resume-role-date{text-align:left;max-width:none}.category-grid,.art-grid{grid-template-columns:1fr}.category-preview,.category-preview img{min-height:13rem}.category-card-copy,.tag-filter,.lightbox-toolbar,.lightbox-controls{flex-direction:column;align-items:flex-start}.tag-filter-controls{justify-content:flex-start}.lightbox{padding:.75rem}.lightbox-panel{max-height:calc(100vh - 1.5rem)}}
