.card[data-astro-cid-mspuyifq]{position:relative;display:grid;border-radius:var(--radius-lg);overflow:hidden;background:var(--accent);color:var(--color-on-dark);min-height:clamp(22rem,40vw,34rem);isolation:isolate;box-shadow:var(--shadow-card)}.card-media[data-astro-cid-mspuyifq]{grid-area:1 / 1}.card-media[data-astro-cid-mspuyifq] img[data-astro-cid-mspuyifq]{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-out)}.card[data-astro-cid-mspuyifq]:hover .card-media[data-astro-cid-mspuyifq] img[data-astro-cid-mspuyifq]{transform:scale(1.03)}.card-body[data-astro-cid-mspuyifq]{grid-area:1 / 1;position:relative;z-index:1;align-self:stretch;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:clamp(1.25rem,1rem + 1.5vw,2.5rem);background:linear-gradient(to top,#000000d9,#0000008c 35%,#0000 65%);padding-top:var(--space-9)}@media(max-width:699px){.card[data-astro-cid-mspuyifq]{min-height:0;grid-template-rows:auto auto}.card-media[data-astro-cid-mspuyifq]{grid-area:1 / 1;aspect-ratio:4 / 3;overflow:hidden}.card-body[data-astro-cid-mspuyifq]{grid-area:2 / 1;background:none;padding-top:var(--space-5);position:static}}.card-meta[data-astro-cid-mspuyifq]{display:flex;gap:var(--space-3);flex-wrap:wrap;font-size:var(--text-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase}.card-lock[data-astro-cid-mspuyifq]{padding:0 var(--space-2);border:1px solid rgb(255 255 255 / .6);border-radius:var(--radius-pill)}.card-title[data-astro-cid-mspuyifq]{font-family:var(--font-serif);font-weight:400;font-size:var(--text-2xl);color:inherit;line-height:var(--leading-tight);margin-top:var(--space-2)}.card-link[data-astro-cid-mspuyifq]{color:inherit;text-decoration:none}.card-link[data-astro-cid-mspuyifq]:after{content:"";position:absolute;inset:0;z-index:2}.card-link[data-astro-cid-mspuyifq]:focus-visible{outline:none}.card[data-astro-cid-mspuyifq]:has(.card-link:focus-visible){outline:3px solid var(--color-teal-strong);outline-offset:4px}.card-summary[data-astro-cid-mspuyifq]{margin-top:var(--space-2);max-width:38ch;font-size:var(--text-md);opacity:.95}.card-cta[data-astro-cid-mspuyifq]{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-5);font-size:var(--text-sm);font-weight:500;border-bottom:1.5px solid var(--link-color, currentColor);padding-bottom:2px}.hero{background:var(--color-surface-alt);min-height:calc(100svh - 4.5rem);display:grid;align-items:center;padding-block:var(--space-8)}.hero-grid{width:min(100% - 2 * var(--gutter),70rem);margin-inline:auto;display:grid;gap:var(--space-6);align-items:center}.hero-title{font-size:clamp(2rem,1.2rem + 3.4vw,4rem);font-weight:600;line-height:1.1;letter-spacing:-.5px;color:#4b4b4b;margin-bottom:1.8rem}.hero-subtitle{font-size:clamp(1.375rem,1rem + 1.2vw,1.9375rem);font-weight:400;line-height:1.2;letter-spacing:-.1rem;background:var(--gradient-hero);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-link{display:inline-block;margin-top:var(--space-6);font-size:var(--text-sm);color:var(--color-ink);text-decoration:none;padding-block:var(--space-2)}.hero-link:hover{text-decoration:underline}.hero-avatar img{width:min(100%,16rem);height:auto;margin-inline:auto}@media(min-width:960px){.hero-grid{grid-template-columns:3fr 2fr;gap:var(--space-5)}.hero-avatar img{width:100%;max-width:22rem}}.section-head{margin-bottom:var(--space-7)}.section-head .eyebrow{margin-bottom:var(--space-2)}.work{background:var(--color-surface-alt);padding-top:var(--space-6)}.work-grid{list-style:none;padding:0;display:grid;gap:var(--space-5)}.work-grid>li{display:grid}.work-grid>li>.card{height:100%}@media(min-width:900px){.work-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-6)}}.about-grid{display:grid;gap:var(--space-7);align-items:center}@media(min-width:900px){.about-grid{grid-template-columns:5fr 7fr;gap:var(--space-9)}}.about-portrait img{width:min(100%,26rem);height:auto;margin-inline:auto}.about-portrait-empty{display:none}.about-portrait.is-empty .about-portrait-empty{display:grid;place-content:center;text-align:center;gap:var(--space-2);width:min(100%,26rem);aspect-ratio:9 / 11;margin-inline:auto;border:2px dashed var(--color-rose);border-radius:var(--radius-lg);background:#fdf6f7;color:var(--color-rose-strong);font-size:var(--text-sm)}.about-intro{font-size:var(--text-xl);font-weight:500;margin-top:var(--space-2)}.about-body{margin-top:var(--space-4);font-size:var(--text-md);color:var(--color-ink-soft)}.skills{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-6)}.skills li{font-size:var(--text-sm);padding:.35rem .9rem;border-radius:var(--radius-pill);background:var(--color-rose-soft);color:var(--color-ink)}.services{margin-top:var(--space-9)}.services-title{font-size:var(--text-lg);font-weight:500;color:var(--color-muted);margin-bottom:var(--space-6)}.services-grid{list-style:none;padding:0;display:grid;gap:var(--space-5)}@media(min-width:700px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1100px){.services-grid{grid-template-columns:repeat(4,1fr)}}.service{border-top:1px solid #d9d9d9;padding-top:var(--space-5)}.service-num{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--color-rose)}.service-icon{display:block;color:var(--color-teal);margin-bottom:var(--space-4)}.service h4{font-size:var(--text-md);font-weight:600}.service p{margin-top:var(--space-2);color:var(--color-ink-soft);font-size:var(--text-sm)}.experience{background:var(--color-rose-soft)}.eyebrow-dark{color:var(--color-ink-soft)}.timeline{list-style:none;padding:0;border-top:1px solid rgb(0 0 0 / .15)}.job{border-bottom:1px solid rgb(0 0 0 / .15)}.job-summary{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--space-2) var(--space-6);padding-block:var(--space-5);cursor:pointer;list-style:none}.job-summary::-webkit-details-marker{display:none}.job-role{font-size:var(--text-md);color:var(--color-ink)}.job-role strong{font-weight:500}.job-company{font-style:italic;color:var(--color-ink-soft)}.job-dates{color:var(--color-ink-soft);font-size:var(--text-sm);white-space:nowrap}.job-icon{position:relative;width:16px;height:16px;flex:none}.job-icon:before,.job-icon:after{content:"";position:absolute;left:0;top:50%;width:16px;height:1.5px;margin-top:-.75px;background:var(--color-ink);transition:transform .25s var(--ease-out)}.job-icon:after{transform:rotate(90deg)}.job-details[open] .job-icon:after{transform:rotate(0)}.job-summary:hover .job-role strong{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.job-body{padding-bottom:var(--space-6);max-width:52rem}.job-location{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-soft)}.job-text{margin-top:var(--space-3);color:var(--color-ink)}.job-highlights{margin-top:var(--space-4);padding-left:1.1rem;color:var(--color-ink-soft);display:grid;gap:var(--space-2)}.job-details[open] .job-body{animation:job-open .3s var(--ease-out)}@keyframes job-open{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media(max-width:699px){.job-summary{grid-template-columns:1fr auto}.job-dates{grid-row:2;grid-column:1}.job-icon{grid-row:1 / span 2;grid-column:2}}.experience-cv:before{display:none}.experience-cv-icon{flex:none;transition:transform .25s var(--ease-out)}.experience-cv:hover .experience-cv-icon{transform:translateY(2px)}.experience-earlier{margin-top:var(--space-6);font-size:var(--text-sm);color:var(--color-ink-soft)}.experience-cv{margin-top:var(--space-4)}.contact{padding-top:var(--section-y);padding-bottom:clamp(3rem,2rem + 4vw,6rem)}.contact-title{font-size:clamp(2rem,1.4rem + 2.2vw,3rem);font-weight:400;line-height:1.3;letter-spacing:0;color:#191919}.contact-divider{width:min(100%,465px);height:4px;border:0;margin:36px 0 44px;background:#000}.contact-text{font-size:clamp(1.0625rem,.95rem + .4vw,1.25rem);color:#191919}.contact-email{display:inline-block;margin-top:var(--space-1);font-size:clamp(1.5rem,1.1rem + 1.4vw,2.25rem);font-weight:600;text-decoration:none;overflow-wrap:anywhere;background:linear-gradient(90deg,#e6a1a9 33.654%,#7cceae);-webkit-background-clip:text;background-clip:text;color:transparent}.contact-email:hover{text-decoration:underline;text-decoration-color:#7cceae}@media(max-width:699px){.contact-break{display:none}}.card-media picture{display:contents}
