.bio-header{position:relative;z-index:50;background:#fff;border-bottom:1px solid #ededed;color:#1c1c1c;width:100%;font-family:clby,"Helvetica Neue",Arial,sans-serif}.bio-header-inner{max-width:1280px;margin:auto;min-height:112px;display:flex;align-items:center;justify-content:space-between;padding:12px 40px;gap:35px;box-sizing:border-box}.bio-brand{display:flex;align-items:center;flex-shrink:0}.bio-brand img{display:block;width:132px;height:86px;object-fit:contain}.bio-nav{display:flex;align-items:center;gap:24px}.bio-nav>a,.bio-dropdown>summary,.bio-search-button{font:400 16px/1.4 clby,Arial,sans-serif;color:#6a6a6a;text-decoration:none;cursor:pointer;white-space:nowrap}.bio-nav>a{padding:9px 12px;border-radius:24px}.bio-nav>a:hover,.bio-nav>a[aria-current=page],.bio-dropdown[open]>summary,.bio-dropdown>summary:hover{background:#f0f0f0;color:#1c1c1c}.bio-dropdown{position:relative}.bio-dropdown>summary{display:flex;align-items:center;gap:9px;list-style:none;padding:9px 14px;border-radius:24px}.bio-dropdown>summary::-webkit-details-marker{display:none}.bio-menu{position:absolute;top:calc(100% + 12px);left:0;min-width:290px;padding:10px;background:#fff;border:1px solid #e7e7e7;border-radius:12px;box-shadow:0 14px 40px #00000012}.bio-menu a{display:block;padding:13px 14px;text-decoration:none;color:#555;font-size:15px;line-height:1.4;border-radius:7px}.bio-menu a:hover,.bio-menu a:focus-visible{background:#f1f1f1;color:#111}.bio-search-button{border:0;background:transparent;display:flex;padding:10px;border-radius:50%}.bio-search-button:hover{background:#f0f0f0}.bio-nav :focus-visible,.bio-page :focus-visible{outline:2px solid #6a6a6a;outline-offset:4px}.bio-page{max-width:1120px;margin:auto;padding:85px 40px 100px;font:17px/1.75 clby,Arial,sans-serif;color:#555}.bio-intro{max-width:850px;margin-bottom:70px}.bio-eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:#777;margin:0 0 22px}.bio-page h1{font:600 clamp(36px,4.7vw,62px)/1.12 clby,Arial,sans-serif;letter-spacing:-1.5px;color:#1c1c1c;margin:0 0 26px}.bio-lead{font-size:21px;line-height:1.65;color:#6a6a6a;max-width:790px}.bio-page h2{font:600 28px/1.25 clby,Arial,sans-serif;color:#222;margin:0 0 20px}.bio-columns{display:grid;grid-template-columns:1fr 1fr;gap:70px}.bio-page p{margin:0 0 22px}.bio-panel,.bio-callout{padding:36px;background:#f5f5f5;border:1px solid #eee;border-radius:6px}.bio-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:#262626;color:#fff!important;text-decoration:none;padding:14px 23px;border:0;border-radius:30px;cursor:pointer;font:400 16px/1.4 clby,Arial,sans-serif}.bio-button:hover{background:#555}.bio-category-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.bio-category{display:block;padding:34px;border:1px solid #ddd;border-radius:6px;color:#6a6a6a;text-decoration:none;transition:background .2s}.bio-category:hover{background:#f6f6f6}.bio-category>span{font-size:13px;display:block;margin-bottom:28px;color:#888}.bio-category strong{font-size:14px;color:#333}.bio-callout{margin-top:60px}.bio-faq{border-top:1px solid #ddd}.bio-faq details{border-bottom:1px solid #ddd;padding:23px 0}.bio-faq summary{font-size:21px;line-height:1.4;color:#222;cursor:pointer;padding-right:20px}.bio-faq details p{padding-top:20px;max-width:850px;margin-bottom:0}.bio-contact{display:flex;flex-direction:column;gap:10px}.bio-contact label{font-size:14px;font-weight:600;color:#444}.bio-contact input,.bio-contact textarea,.bio-search input{font:16px/1.6 clby,Arial,sans-serif;border:1px solid #d2d2d2;border-radius:5px;padding:12px 15px;background:#fff;color:#222;box-sizing:border-box;width:100%;margin-bottom:13px}.bio-contact textarea{resize:vertical}.bio-note,.bio-form-status{font-size:14px;color:#777}.bio-footer{padding:30px 40px;border-top:1px solid #eee;display:flex;justify-content:center;gap:30px;flex-wrap:wrap;font:14px/1.6 clby,Arial,sans-serif;color:#888}.bio-footer a{color:#666;text-decoration:none}.bio-search{box-sizing:border-box;border:1px solid #ddd;border-radius:14px;padding:28px;width:min(600px,calc(100% - 32px));max-height:80vh;box-shadow:0 30px 100px #0002;color:#333;font:16px/1.5 clby,Arial,sans-serif}.bio-search::backdrop{background:#0005}.bio-search-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.bio-search h2{font-size:26px;margin:0}.bio-close{font:30px/1 Arial;border:0;background:transparent;cursor:pointer;color:#666}.bio-search label{font-size:14px;display:block;margin-bottom:8px}.bio-results a{display:block;text-decoration:none;padding:16px 10px;border-top:1px solid #eee;color:#222}.bio-results small{display:block;color:#777;margin-top:5px}.bio-results p{color:#777}.bio-search:not([open]){display:none}@media(min-width:1100px){.bio-header-inner{padding-left:50px;padding-right:50px}.bio-brand img{width:150px;height:92px}}@media(max-width:720px){.bio-header-inner{padding:12px 18px;gap:12px;flex-direction:column;min-height:unset}.bio-brand img{width:110px;height:70px}.bio-nav{width:100%;justify-content:center;gap:3px}.bio-nav>a,.bio-dropdown>summary{font-size:13px;padding:9px 8px}.bio-search-button{padding:8px}.bio-menu{left:50%;transform:translateX(-50%);min-width:265px}.bio-page{padding:50px 23px 65px}.bio-intro{margin-bottom:45px}.bio-page h1{letter-spacing:-.8px}.bio-lead{font-size:18px}.bio-columns,.bio-category-grid{grid-template-columns:1fr;gap:28px}.bio-panel,.bio-callout,.bio-category{padding:26px}.bio-footer{padding:25px;gap:18px}.bio-faq summary{font-size:18px}}@media(prefers-reduced-motion:reduce){.bio-category{transition:none}}

.bio-header .bio-nav{width:auto;max-width:none;flex:0 0 auto;float:none;text-align:left}.bio-header .bio-nav>a{flex:0 0 auto}.bio-header .bio-dropdown{flex:0 0 auto}@media(max-width:720px){.bio-header .bio-nav{width:100%;flex-wrap:wrap}}

/* Larger brand mark in the shared header. */
.bio-header .bio-brand img{width:200px;height:130px}.bio-header-inner{min-height:150px}@media(min-width:1100px){.bio-header .bio-brand img{width:225px;height:146px}.bio-header-inner{min-height:170px}}@media(max-width:720px){.bio-header .bio-brand img{width:165px;height:107px}.bio-header-inner{min-height:unset}}

/* Prominent purple navigation buttons. */
.bio-header .bio-nav{gap:12px}.bio-header .bio-nav>a,.bio-header .bio-dropdown>summary,.bio-header .bio-search-button{background:#70518f;color:#fff;font-size:19px;font-weight:600;border-radius:16px;padding:13px 18px;transition:background .18s ease}.bio-header .bio-search-button{padding:14px}.bio-header .bio-nav>a:hover,.bio-header .bio-nav>a[aria-current=page],.bio-header .bio-dropdown[open]>summary,.bio-header .bio-dropdown>summary:hover,.bio-header .bio-search-button:hover{background:#54376f;color:#fff}.bio-header .bio-nav :focus-visible{outline:3px solid #bda6d4;outline-offset:4px}.bio-header .bio-nav{flex-wrap:wrap;justify-content:flex-end}.bio-menu a:hover,.bio-menu a:focus-visible{background:#f0e9f6;color:#54376f}@media(max-width:900px){.bio-header-inner{gap:20px}.bio-header .bio-nav{gap:9px;flex:1 1 auto}.bio-header .bio-nav>a,.bio-header .bio-dropdown>summary{font-size:17px;padding:12px 15px}}@media(max-width:720px){.bio-header .bio-nav{justify-content:center;flex:0 0 auto}.bio-header .bio-nav>a,.bio-header .bio-dropdown>summary{font-size:16px;padding:11px 13px}.bio-header .bio-search-button{padding:12px}}

.bio-header .bio-nav{flex:0 1 auto;min-width:0}@media(max-width:720px){.bio-header .bio-nav{flex:0 0 auto}}

/* Lavender tones coordinated with the logo. */
.bio-header .bio-nav>a,.bio-header .bio-dropdown>summary,.bio-header .bio-search-button{background:#b4aed3;color:#302b45}.bio-header .bio-nav>a:hover,.bio-header .bio-nav>a[aria-current=page],.bio-header .bio-dropdown[open]>summary,.bio-header .bio-dropdown>summary:hover,.bio-header .bio-search-button:hover{background:#9f97c4;color:#252039}.bio-header .bio-nav :focus-visible{outline-color:#77709e}.bio-menu a:hover,.bio-menu a:focus-visible{background:#eeecf5;color:#48415f}

/* First medical cover: a soft, cinematic reveal when it enters view. */
.medical-reveal .cover-image-wrap{overflow:hidden}.medical-reveal-pending .cover__img{filter:blur(22px);opacity:.16;transform:scale(1.075)}.medical-reveal-playing .cover__img{animation:medical-focus-reveal 3.2s cubic-bezier(.19,1,.22,1) both;will-change:filter,transform,opacity}@keyframes medical-focus-reveal{0%{filter:blur(22px);opacity:.16;transform:scale(1.075)}35%{opacity:.78}70%{filter:blur(2px);opacity:1}100%{filter:blur(0);opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.medical-reveal-pending .cover__img,.medical-reveal-playing .cover__img{animation:none;filter:none;opacity:1;transform:none;will-change:auto}}

/* Keep the original image and its frame sharp; reveal the printed content through a matching gray veil. */
.medical-reveal-pending .cover__img,.medical-reveal-playing .cover__img{filter:none;opacity:1;transform:none;animation:none;will-change:auto}.medical-reveal .cover-normal::after{content:'';position:absolute;z-index:1;inset:1.3% 1.5%;background:linear-gradient(135deg,#d5d9dd 0%,#c2cbd0 45%,#b1bfc5 74%,#a2b4bc 100%);pointer-events:none;opacity:0}.medical-reveal-pending .cover-normal::after{opacity:1}.medical-reveal-playing .cover-normal::after{animation:medical-ink-reveal 4s cubic-bezier(.4,0,.2,1) both;will-change:opacity}@keyframes medical-ink-reveal{0%,8%{opacity:1}100%{opacity:0}}@media(prefers-reduced-motion:reduce){.medical-reveal .cover-normal::after{display:none;animation:none}}

/* Organic waves confined to the artwork, with the original frame untouched. */
.medical-wave-surface{position:absolute;inset:0;z-index:2;clip-path:inset(1.3% 1.5%);pointer-events:none;opacity:0;overflow:hidden}.medical-wave-surface svg{position:absolute;inset:0;width:100%;height:100%}.medical-reveal-playing .medical-wave-surface{animation:medical-organic-surface 4.6s ease-in-out both}.medical-reveal-playing .cover-normal::after{animation-duration:4.6s}.medical-wave-rings{position:absolute;inset:-45%;background:repeating-radial-gradient(ellipse at 42% 54%,transparent 0%,transparent 11%,rgba(255,255,255,.22) 11.3%,rgba(255,255,255,.035) 12%,transparent 13%,transparent 22%);opacity:0}.medical-reveal-playing .medical-wave-rings{animation:medical-organic-rings 4.6s cubic-bezier(.2,.65,.35,1) both}@keyframes medical-organic-surface{0%,7%{opacity:0;clip-path:ellipse(6% 10% at 44% 53%)}25%{opacity:.9}65%{opacity:1;clip-path:ellipse(92% 105% at 48% 50%)}88%{opacity:.6}100%{opacity:0;clip-path:ellipse(105% 120% at 50% 50%)}}@keyframes medical-organic-rings{0%{opacity:0;transform:scale(.55) rotate(-7deg)}25%{opacity:.55}65%{opacity:.18}100%{opacity:0;transform:scale(1.3) rotate(3deg)}}@media(prefers-reduced-motion:reduce){.medical-wave-surface{display:none}}

.medical-reveal-playing .medical-wave-surface svg{animation:medical-organic-reveal 4.6s ease-in-out both}@keyframes medical-organic-surface{0%,7%{opacity:0}25%{opacity:.9}65%{opacity:1}88%{opacity:.6}100%{opacity:0}}@keyframes medical-organic-reveal{0%,7%{clip-path:ellipse(6% 10% at 44% 53%)}65%{clip-path:ellipse(92% 105% at 48% 50%)}100%{clip-path:ellipse(105% 120% at 50% 50%)}}

/* Fluid editorial reveal: a feathered, irregular front with no decorative rings. */
.medical-wave-rings{display:none}.medical-reveal-playing .medical-wave-surface svg{animation:none;clip-path:none}.medical-reveal-playing .medical-wave-surface{animation:medical-editorial-surface 4.6s linear both}.medical-reveal-playing .cover-normal::after{animation:medical-ink-reveal 4.6s linear both}@keyframes medical-ink-reveal{0%,78%{opacity:1}100%{opacity:0}}@keyframes medical-editorial-surface{0%,90%{opacity:1}100%{opacity:0}}

.medical-fluid-layer{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;clip-path:inset(1.3% 1.5%);background:linear-gradient(135deg,#d5d9dd,#b1bfc5 74%,#a2b4bc)}@media(prefers-reduced-motion:reduce){.medical-fluid-layer{display:none}}

.portfolio-introduction{max-width:1000px;margin:0 auto 56px;padding:0 36px;box-sizing:border-box;text-align:center}.portfolio-introduction p{font:400 20px/1.8 clby,Arial,sans-serif;color:#555;margin:0;letter-spacing:.05px}@media(max-width:720px){.portfolio-introduction{padding:0 25px;margin-bottom:38px}.portfolio-introduction p{font-size:17px;line-height:1.8;text-align:left}}

/* Clear, readable typography throughout the site. */
body,body :is(h1,h2,h3,h4,p,a,button,summary,label,input,textarea,small,strong,span,li,div){font-family:Arial,Helvetica,sans-serif!important}
.bio-header .bio-nav>a,.bio-header .bio-dropdown>summary{font-weight:600;letter-spacing:0}.bio-menu a{font-size:16px;line-height:1.5}
.portfolio-hero{box-sizing:border-box;min-height:calc(100svh - var(--site-header-height,170px) + 64px);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:32px;padding:72px 32px 100px;background:#fff}
.portfolio-hero .masthead{height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;width:100%!important;position:static!important}
.portfolio-hero .masthead-contents,.portfolio-hero .masthead-text{height:auto!important;min-height:0!important;padding:0!important;margin:0 auto!important;position:static!important;width:100%!important;max-width:980px!important;transform:none!important}
.portfolio-hero .masthead h1{font-size:clamp(30px,3.3vw,46px)!important;line-height:1.25!important;font-weight:600!important;letter-spacing:-.8px!important;color:#292735!important;margin:0!important;padding:0!important}
.portfolio-hero .masthead-buttons{display:none}.portfolio-hero .portfolio-introduction{max-width:940px;margin:0;padding:0}
.portfolio-hero .portfolio-introduction p{font-size:20px;line-height:1.85;letter-spacing:0;color:#5d5a66;text-align:left;margin:0}
@media(max-width:720px){.portfolio-hero{padding:52px 26px 80px;gap:28px;min-height:calc(100svh - var(--site-header-height,190px) + 48px)}.portfolio-hero .masthead h1{font-size:31px!important;letter-spacing:-.5px!important}.portfolio-hero .portfolio-introduction p{font-size:18px;line-height:1.8}.bio-header .bio-nav>a,.bio-header .bio-dropdown>summary{font-size:16px}}

.portfolio-hero .masthead::after{display:none!important;content:none!important}

.portfolio-gallery-title{font:600 clamp(28px,3vw,38px)/1.25 Arial,Helvetica,sans-serif;color:#302b45;text-align:center;letter-spacing:-.5px;margin:0 0 36px;padding:0 24px}@media(max-width:720px){.portfolio-gallery-title{margin-bottom:28px}}

/* Clients and collaborators: an open, evenly spaced logo wall. */
.collaborators-section{clear:both;margin-top:110px;padding:76px 36px 88px;background:#f6f5fa;border-top:1px solid #eeebf4;box-sizing:border-box;width:100%}
.collaborators-inner{max-width:1280px;margin:0 auto}.collaborators-section h2{text-align:center;text-transform:uppercase;letter-spacing:2px;font-size:18px;font-weight:600;line-height:1.5;color:#75668f;margin:0 0 54px}
.collaborators-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:35px 28px;align-items:center}.collaborator-logo{height:94px;display:flex;align-items:center;justify-content:center;min-width:0;padding:10px;box-sizing:border-box}.collaborator-logo img{display:block;max-width:100%;max-height:74px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.8;mix-blend-mode:multiply;transition:filter .25s ease,opacity .25s ease}.collaborator-logo:hover img{filter:grayscale(0);opacity:1}
@media(max-width:1100px){.collaborators-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:30px 25px}}@media(max-width:800px){.collaborators-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px}.collaborators-section{padding:56px 25px 65px;margin-top:75px}}@media(max-width:560px){.collaborators-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 28px}.collaborators-section h2{font-size:16px;letter-spacing:1.5px;margin-bottom:35px}.collaborator-logo{height:88px;padding:8px}.collaborator-logo img{max-height:70px}}@media(prefers-reduced-motion:reduce){.collaborator-logo img{transition:none}}

.collaborators-section{padding:0;background:transparent;border:0}.collaborators-section>h2{font:600 clamp(28px,3vw,38px)/1.25 Arial,Helvetica,sans-serif;color:#302b45;text-transform:none;letter-spacing:-.5px;margin:0 0 36px;padding:0 24px}.collaborators-panel{background:#f6f5fa;border-top:1px solid #eeebf4;padding:55px 36px 65px}.collaborators-inner{max-width:1280px;margin:0 auto}@media(max-width:800px){.collaborators-section{padding:0}.collaborators-panel{padding:40px 25px 50px}}@media(max-width:720px){.collaborators-section>h2{font-size:28px;letter-spacing:-.5px;margin-bottom:28px}}

/* Larger clients, balanced by visible artwork rather than file margins. */
.collaborators-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:35px 35px}.collaborator-logo{height:124px;padding:6px}.collaborator-logo img{max-height:104px;max-width:100%;opacity:.9}.collaborators-panel{padding-top:48px;padding-bottom:58px}@media(max-width:1100px){.collaborators-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}}@media(max-width:800px){.collaborators-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.collaborator-logo{height:112px}.collaborator-logo img{max-height:94px}}@media(max-width:560px){.collaborators-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 25px}.collaborator-logo{height:115px;padding:5px}.collaborator-logo img{max-height:98px}}

/* An illustrator-led About page. */
.about-profile{max-width:1240px;padding-top:72px}.about-profile-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.85fr);gap:70px;align-items:center;margin-bottom:95px}.about-profile-copy h1{font-size:clamp(39px,4.8vw,65px);letter-spacing:-1.6px;line-height:1.08;margin-bottom:20px}.about-profession{font-size:15px;line-height:1.6;font-weight:600;letter-spacing:.35px;color:#75668f}.about-profile-copy .bio-lead{font-size:23px;line-height:1.5;color:#3c3648;margin-top:22px}.about-profile-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:30px}.about-text-link{color:#66567d;text-decoration:none;font-size:15px;font-weight:600}.about-profile-photo{margin:0;align-self:start;background:#f6f5fa;border-radius:12px;overflow:hidden}.about-profile-photo img{display:block;width:100%;height:auto;aspect-ratio:1083/1453;object-fit:cover}.about-profile-photo figcaption{font-size:12px;letter-spacing:.2px;text-align:center;color:#756c82;padding:15px}.about-background{display:grid;grid-template-columns:1fr 1.45fr;gap:65px;border-top:1px solid #e8e4ef;padding-top:55px;margin-bottom:70px}.about-background h2,.about-working h2{font-size:30px;line-height:1.3}.about-experience{padding:50px 0 55px;border-top:1px solid #e8e4ef;border-bottom:1px solid #e8e4ef}.about-experience-heading{max-width:840px}.about-expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:40px}.about-expertise-grid article>span{font-size:13px;color:#9586ac;display:block;margin-bottom:18px}.about-profile h3{font-size:19px;font-weight:600;line-height:1.4;color:#302b45;margin:0 0 14px}.about-expertise-grid p{font-size:15px;line-height:1.8}.about-working{display:grid;grid-template-columns:1.3fr 1fr;gap:65px;padding-top:65px}.about-profile-links{background:#f6f5fa;padding:34px;border-radius:8px;align-self:start}.about-profile-links p{font-size:15px}.about-profile-links a{display:flex;justify-content:space-between;color:#5c4d73;text-decoration:none;border-top:1px solid #dfd8e8;padding:16px 0;font-size:15px;font-weight:600}.about-profile-links a:hover,.about-text-link:hover{color:#342744}.about-final{margin-top:60px}.about-profile .bio-button{background:#705d89}.about-profile .bio-button:hover{background:#56436f}@media(max-width:900px){.about-profile-hero{gap:35px;grid-template-columns:1.15fr .85fr}.about-profile-copy .bio-lead{font-size:20px}.about-background,.about-working{gap:35px}.about-expertise-grid{gap:25px}}@media(max-width:720px){.about-profile{padding-top:45px}.about-profile-hero{grid-template-columns:1fr;gap:38px;margin-bottom:55px}.about-profile-copy h1{font-size:42px}.about-profile-photo{max-width:380px;width:100%;justify-self:center}.about-background,.about-working,.about-expertise-grid{grid-template-columns:1fr;gap:24px}.about-background{padding-top:35px;margin-bottom:35px}.about-experience{padding:35px 0}.about-working{padding-top:38px}.about-profile-links{padding:27px}.about-profile .bio-eyebrow{font-size:11px;letter-spacing:1.5px}}

/* Academic background with clear qualifications and balanced institution marks. */
.about-background.about-education{display:block;padding-top:55px}.about-education>h2{font:600 clamp(28px,3vw,38px)/1.25 Arial,Helvetica,sans-serif;color:#302b45;letter-spacing:-.5px;margin:0 0 25px}.education-introduction{max-width:830px;color:#5d5a66}.education-list{list-style:none;padding:0;margin:35px 0 0}.education-list>li{display:grid;grid-template-columns:200px minmax(0,1fr);gap:48px;align-items:center;padding:28px 12px;border-top:1px solid #e8e4ef;min-height:130px;box-sizing:border-box}.education-list>li:last-child{border-bottom:1px solid #e8e4ef}.education-logo{height:105px;display:flex;align-items:center;justify-content:center}.education-logo img{display:block;max-width:190px;max-height:100px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.9;mix-blend-mode:multiply;transition:filter .25s ease,opacity .25s ease}.education-logo:hover img{filter:grayscale(0);opacity:1}.education-description h3{position:relative;padding-left:20px;font-size:21px;line-height:1.4;margin:0 0 9px}.education-description h3::before{content:'•';position:absolute;left:0;top:0;color:#9484aa}.education-description p{padding-left:20px;font-size:16px;line-height:1.6;color:#6b6475;margin:0}@media(max-width:720px){.about-background.about-education{padding-top:35px}.education-list>li{grid-template-columns:110px minmax(0,1fr);gap:20px;padding:25px 0}.education-logo{height:90px}.education-logo img{max-width:110px;max-height:85px}.education-description h3{font-size:18px;padding-left:16px}.education-description p{font-size:14px;padding-left:16px}}@media(max-width:420px){.education-list>li{grid-template-columns:85px minmax(0,1fr);gap:15px}.education-logo img{max-width:85px;max-height:75px}}@media(prefers-reduced-motion:reduce){.education-logo img{transition:none}}

/* Compact, centered academic credentials. */
.about-education .education-list{width:100%;max-width:1000px;margin:32px auto 0}.about-education .education-list>li{grid-template-columns:180px minmax(0,1fr);gap:36px;padding:22px 18px;min-height:118px}.about-education .education-logo{height:90px}.about-education .education-logo img{max-width:170px;max-height:86px}.about-education .education-description h3{font-size:19px;margin-bottom:7px}.about-education .education-description p{font-size:15px}.about-experience-heading .experience-highlight{color:#806399}@media(max-width:720px){.about-education .education-list>li{grid-template-columns:100px minmax(0,1fr);gap:20px;padding:20px 0}.about-education .education-logo{height:82px}.about-education .education-logo img{max-width:100px;max-height:78px}.about-education .education-description h3{font-size:17px}.about-education .education-description p{font-size:14px}}@media(max-width:420px){.about-education .education-list>li{grid-template-columns:80px minmax(0,1fr);gap:14px}.about-education .education-logo img{max-width:80px;max-height:72px}}

/* A brief introduction between the gallery and clients. */
.home-about{clear:both;display:grid;grid-template-columns:210px minmax(0,1fr);align-items:center;gap:48px;max-width:1000px;margin:85px auto 0;padding:36px 40px;background:#f6f5fa;border-radius:14px;box-sizing:border-box}.home-about-photo{margin:0;border-radius:10px;overflow:hidden}.home-about-photo img{display:block;width:100%;height:auto;aspect-ratio:1083/1453;object-fit:cover}.home-about-copy .home-about-eyebrow{font:600 11px/1.5 Arial,Helvetica,sans-serif;letter-spacing:1.8px;color:#806399;margin:0 0 10px}.home-about-copy h2{font:600 clamp(25px,2.5vw,31px)/1.25 Arial,Helvetica,sans-serif;letter-spacing:-.5px;color:#302b45;margin:0 0 17px}.home-about-copy p{font:400 16px/1.75 Arial,Helvetica,sans-serif;color:#625c6a;margin:0 0 13px}.home-about-link{display:inline-flex;gap:22px;align-items:center;font:600 15px/1.5 Arial,Helvetica,sans-serif;color:#705d89;text-decoration:none;margin-top:8px}.home-about-link:hover{color:#453354;text-decoration:underline}.home-about-link:focus-visible{outline:2px solid #806399;outline-offset:5px}@media(max-width:1100px){.home-about{margin-left:30px;margin-right:30px}}@media(max-width:720px){.home-about{grid-template-columns:145px minmax(0,1fr);gap:26px;margin:60px 24px 0;padding:28px 25px}.home-about-copy p{font-size:15px}.home-about-photo{align-self:start}}@media(max-width:520px){.home-about{grid-template-columns:1fr;padding:28px 24px;gap:25px}.home-about-photo{width:145px;justify-self:center}.home-about-copy h2,.home-about-eyebrow{text-align:center}}

/* Give the homepage introduction more presence. */
.home-about{max-width:1160px;grid-template-columns:245px minmax(0,1fr);gap:56px;padding:46px 48px}@media(max-width:1240px){.home-about{margin-left:30px;margin-right:30px}}@media(max-width:850px){.home-about{grid-template-columns:190px minmax(0,1fr);gap:34px;padding:35px}}@media(max-width:720px){.home-about{grid-template-columns:145px minmax(0,1fr);gap:26px;margin-left:24px;margin-right:24px;padding:28px 25px}}@media(max-width:520px){.home-about{grid-template-columns:1fr;gap:25px;padding:30px 26px}.home-about-photo{width:165px}}

/* Section heading follows the gallery and client heading style. */
.home-about-section{clear:both;margin-top:85px}.home-about-section .home-about{margin-top:0}.home-about-copy h3{font:600 clamp(25px,2.5vw,31px)/1.25 Arial,Helvetica,sans-serif;letter-spacing:-.5px;color:#302b45;margin:0 0 17px}@media(max-width:720px){.home-about-section{margin-top:60px}}@media(max-width:520px){.home-about-copy h3{text-align:center}}

/* Six illustration services using the supplied artwork. */
.home-services{clear:both;max-width:1240px;margin:85px auto 0;padding:0 30px;box-sizing:border-box}.home-services>.portfolio-gallery-title{margin-bottom:18px}.home-services-intro{max-width:680px;margin:0 auto 38px;text-align:center;font:400 17px/1.7 Arial,Helvetica,sans-serif;color:#6b6475}.home-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.home-service-card{min-width:0;background:#fff;border:1px solid #e8e3ef;border-radius:14px;overflow:hidden;box-shadow:0 4px 20px #302b4505}.home-service-art{height:235px;padding:17px 22px 0;box-sizing:border-box;background:#fff;display:flex;align-items:center;justify-content:center}.home-service-art img{display:block;width:100%;height:100%;object-fit:contain}.home-service-copy{padding:24px 27px 29px;background:#f8f7fb;min-height:160px;box-sizing:border-box}.home-service-copy h3{font:600 20px/1.35 Arial,Helvetica,sans-serif;color:#554469;margin:0 0 12px;letter-spacing:-.2px}.home-service-copy p{font:400 15px/1.75 Arial,Helvetica,sans-serif;color:#6b6475;margin:0}@media(max-width:900px){.home-services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.home-service-art{height:220px}}@media(max-width:600px){.home-services{margin-top:60px;padding:0 24px}.home-services-grid{grid-template-columns:1fr;max-width:420px;margin:auto}.home-services-intro{font-size:16px;margin-bottom:28px}.home-service-art{height:240px}.home-service-copy{min-height:0;padding:22px 25px 26px}}

/* Reuse the cover liquid reveal on the About portrait. */
.portrait-reveal{position:relative;overflow:hidden;isolation:isolate}.portrait-reveal>.medical-fluid-layer{clip-path:none}

/* Accessible artwork descriptions shown on hover and keyboard focus. */
.grid__item-container.gallery-caption-target{background:#faf9fc;cursor:pointer}.gallery-caption-target>img.grid__item-image{transition:opacity .3s ease}.gallery-artwork-caption{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;text-align:center;padding:22px;box-sizing:border-box;pointer-events:none;font:600 clamp(14px,1.15vw,18px)/1.55 Arial,Helvetica,sans-serif;color:#302b45;opacity:0;transition:opacity .3s ease;overflow-wrap:break-word}.gallery-caption-target:hover>img.grid__item-image,.gallery-caption-target:focus-visible>img.grid__item-image{opacity:.17!important}.gallery-caption-target:hover>.gallery-artwork-caption,.gallery-caption-target:focus-visible>.gallery-artwork-caption{opacity:1}.gallery-caption-target:focus-visible{outline:2px solid #806399;outline-offset:-3px}@media(prefers-reduced-motion:reduce){.gallery-caption-target>img.grid__item-image,.gallery-artwork-caption{transition:none}}@media(max-width:600px){.gallery-artwork-caption{font-size:13px;line-height:1.45;padding:12px}}

/* Fixed gallery columns keep incomplete rows at the same scale. */
.portfolio-fixed-grid .grid--main{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}.portfolio-fixed-grid .grid--main>.grid__item-container{width:auto!important;min-width:0;flex-grow:0!important;align-self:start}@media(max-width:700px){.portfolio-fixed-grid .grid--main{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:400px){.portfolio-fixed-grid .grid--main{grid-template-columns:1fr}}

/* Cover captions lead with the scientific topic; journal names are secondary. */
.gallery-cover-caption{flex-direction:column;gap:12px}.gallery-cover-publication{font:400 12px/1.45 Arial,Helvetica,sans-serif;color:#6a5c7e;max-width:100%}

/* Common and scientific names for natural history artwork. */
.gallery-species-caption{flex-direction:column;gap:10px}.gallery-scientific-name{font:italic 400 clamp(13px,1.05vw,16px)/1.45 Arial,Helvetica,sans-serif;color:#67547e;max-width:100%;overflow-wrap:break-word}

@media (prefers-reduced-motion: no-preference) {
  .home-service-art img {
    animation: service-icon-float 3.6s ease-in-out infinite;
  }

  .home-service-card:nth-child(3n + 2) .home-service-art img {
    animation-delay: -1.2s;
  }

  .home-service-card:nth-child(3n) .home-service-art img {
    animation-delay: -2.4s;
  }
}

@keyframes service-icon-float {
  0%, 100% { transform: translateY(8px); }
  50% { transform: translateY(-12px); }
}
.portfolio-hero-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: center; gap: clamp(20px, 2.5vw, 40px); width: 100%; max-width: 1010px; }
.portfolio-hero-title { font: 600 clamp(27px, 2.85vw, 41px)/1.2 Arial, sans-serif; color: #292735; letter-spacing: -.7px; margin: 0 0 22px; }
.portfolio-hero-text { font: 400 clamp(15.5px, 1.2vw, 19px)/1.8 Arial, sans-serif; color: #5d5a66; margin: 0; text-align: left; }
.portfolio-hero-art { display: block; width: 94%; height: auto; justify-self: center; }
@media (max-width: 760px) {
  .portfolio-hero-layout { grid-template-columns: minmax(0, 1fr); }
  .portfolio-hero-title { margin-bottom: 16px; }
  .portfolio-hero-art { width: min(94%, 325px); }
}
/* Decorative shapes occupy only the outer margins of the desktop hero. */
@media (min-width: 1440px) {
  .portfolio-hero { position: relative; isolation: isolate; }
  .portfolio-hero::before,
  .portfolio-hero::after {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
    width: min(240px, calc((100% - 1180px) / 2 - 28px));
    height: min(340px, 55%);
    background: center / 100% 100% no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 340' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x2='1' y2='1'%3E%3Cstop stop-color='%23efe8f7'/%3E%3Cstop offset='1' stop-color='%23b8a2cf'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23g)' opacity='.52' d='M0 0H123C154 29 144 58 113 80S74 119 93 151 112 207 85 234 22 249 0 281Z'/%3E%3Cpath fill='%23cbb8dc' opacity='.38' d='M171 100C193 83 224 94 225 117S203 151 190 164 152 169 147 150 151 116 171 100Z'/%3E%3Cpath fill='%23ddcfe9' opacity='.62' d='M121 239C143 224 175 235 177 260S160 299 135 296 96 274 103 256 111 245 121 239Z'/%3E%3Ccircle fill='%23cbb8dc' opacity='.34' cx='196' cy='218' r='9'/%3E%3C/svg%3E");
  }
  .portfolio-hero::before { top: 0; left: 0; }
  .portfolio-hero::after { bottom: 0; right: 0; transform: rotate(180deg); }
}


@media (min-width: 1440px) {
  body:has(.home-services) { overflow-x: clip; }
  .home-services, .home-about-section { position: relative; isolation: isolate; --spot-offset: calc(50% - 50vw); }
  .home-services { --spot-width: min(200px, calc((100vw - 1240px) / 2 - 12px)); }
  .home-about-section { --spot-width: min(200px, calc((100vw - 1160px) / 2 - 20px)); }
  :is(.home-services, .home-about-section)::before,
  :is(.home-services, .home-about-section)::after {
    content: "";
    position: absolute;
    z-index: -1;
    width: var(--spot-width);
    height: min(300px, 85%);
    background: var(--spot-image) center / 100% 100% no-repeat;
    pointer-events: none;
    opacity: .72;
  }
  :is(.home-services, .home-about-section)::before { left: var(--spot-offset); }
  :is(.home-services, .home-about-section)::after { right: var(--spot-offset); transform: rotate(180deg); }
  .home-services::before { top: 7%; }
  .home-services::after { bottom: 6%; }
  .home-about-section::before { bottom: 0; }
  .home-about-section::after { top: 0; }
  .home-services { --spot-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20200%20300%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22%23ede4f5%22%20d%3D%22M0%208C52-12%20102%2022%2095%2064S52%20112%2068%20147%20122%20181%20114%20224%2045%20267%200%20247Z%22%2F%3E%3Cpath%20fill%3D%22%23d9c8e8%22%20d%3D%22M135%2066C153%2047%20184%2060%20188%2083S170%20129%20145%20122%20117%2085%20135%2066Z%22%2F%3E%3Cpath%20fill%3D%22%23e4d6ef%22%20d%3D%22M147%20225C169%20211%20196%20224%20190%20251S156%20284%20138%20269%20128%20239%20147%20225Z%22%2F%3E%3Ccircle%20fill%3D%22%23ded0eb%22%20cx%3D%22116%22%20cy%3D%22155%22%20r%3D%2210%22%2F%3E%3C%2Fsvg%3E"); }
  .home-about-section { --spot-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20200%20300%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22%23e6d8ef%22%20d%3D%22M0%2080C25%2062%2062%2076%2067%20103S39%20149%2057%20169%20111%20175%20122%20209%20103%20269%2077%20269%2030%20238%200%20258Z%22%2F%3E%3Cpath%20fill%3D%22%23eaddf1%22%20d%3D%22M103%2016C129%203%20159%2017%20156%2041S131%2082%20105%2071%2081%2031%20103%2016Z%22%2F%3E%3Cpath%20fill%3D%22%23dccbe9%22%20d%3D%22M154%20121C177%20105%20199%20126%20193%20146S165%20177%20148%20164%20137%20136%20154%20121Z%22%2F%3E%3Ccircle%20fill%3D%22%23e7d9ef%22%20cx%3D%22150%22%20cy%3D%22239%22%20r%3D%229%22%2F%3E%3C%2Fsvg%3E"); }
}

@media (min-width: 1280px) {
  .portfolio-hero-layout { max-width: clamp(1110px, 74vw, 1180px); }
  .portfolio-hero-title { font-size: clamp(43px, 3vw, 48px); }
  .portfolio-hero-text { font-size: clamp(19px, 1.32vw, 21px); }
}

.portfolio-hero-brand { color: #806399; font-weight: 600; }

.portfolio-hero-cta {
  margin-top: 24px;
  min-height: 48px;
  box-sizing: border-box;
  background: #705d89;
  font-weight: 600;
}
.portfolio-hero-cta:hover { background: #554469; }
.portfolio-hero-cta:focus-visible { outline: 2px solid #705d89; outline-offset: 4px; }

.home-about-project { display: flex; justify-content: center; }

@media (hover: hover) and (pointer: fine) {
  html { --pen-cursor: url("/assets/lapiz-digital-morado-cursor.svg") 2 2; }
  html, body { cursor: var(--pen-cursor), auto; }
  :is(a[href], button:enabled, summary, [role="button"]:not([aria-disabled="true"]), .grid__item-container) {
    cursor: var(--pen-cursor), pointer !important;
  }
}
