.v3-preview{display:flex;align-items:center;justify-content:center;gap:20px;padding:9px 20px;background:#e4edf1;color:#195d7e;font:11px Arial,sans-serif;line-height:1.5}
.v3-preview strong{font-size:10px;letter-spacing:.1em}.v3-preview a{text-decoration:underline;text-underline-offset:3px}
.v3-project-links{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:12px;margin-top:22px;align-items:center}
.v3-project-links>span{width:100%;font:10px Courier New,monospace;text-transform:uppercase;letter-spacing:.07em;color:#56645e}
.v3-project-links a{border-bottom:1px solid #a6b7b9;padding-bottom:3px}.v3-project-links a:hover{color:#147bb8}
.resume-role li{margin-bottom:8px}.resume-role ul{padding-left:20px}.resume-readable{max-width:900px}
@media(max-width:560px){.v3-preview{gap:10px;justify-content:space-between;font-size:10px}.v3-preview>span{display:none}}
@media print{.v3-preview{display:none}}
.hero-art.recognition-art{height:630px}
.recognition-art .world-window{width:80%;top:0;right:0}
.recognition-art .world-window>img{height:230px}
.recognition-art .nilo-window{position:absolute;left:0;top:185px;width:64%;transform:rotate(-4deg);background:#292e39;border:1px solid #515b56;box-shadow:0 12px 24px #262a2222;z-index:2}
.recognition-art .nilo-window img{display:block;width:100%;height:195px;object-fit:contain}
.recognition-art .nilo-window .window-bar{font-size:6px}
.recognition-art .agent-window{top:385px;left:auto;right:0;width:74%;transform:rotate(3deg);z-index:3}
.recognition-art .agent-window img{height:166px}
.recognition-art .art-note{top:580px;left:16%}
.recognition-art .cross-two{top:565px}
@media(max-width:560px){
 .hero-art.recognition-art{height:500px}
 .recognition-art .world-window{width:85%;top:0}
 .recognition-art .world-window>img{height:170px}
 .recognition-art .nilo-window{top:155px;width:72%}
 .recognition-art .nilo-window img{height:140px}
 .recognition-art .nilo-window .window-bar{padding-inline:7px;font-size:5px}
 .recognition-art .nilo-window .world-caption{font-size:5px;padding:7px}
 .recognition-art .agent-window{top:300px;width:84%;right:0;left:auto}
 .recognition-art .agent-window img{height:130px}
 .recognition-art .art-note{top:455px;left:12%}
 .recognition-art .cross-two{top:450px}
}

/* Fit the two-line headline across desktop and mobile hero widths. */
.hero h1{font-size:clamp(30px,4.5vw,64px)}
@media(max-width:800px){.hero h1{font-size:clamp(30px,7.1vw,56px)}}

.hero h1 .serif-word{color:#74786f}

/* Circular presentation crops the supplied portrait screenshot outside its light disc. */
.hero-portrait{position:relative;width:240px;height:240px;border-radius:50%;overflow:hidden;margin-top:25px;background:#f1f3f2}
.hero-portrait img{position:absolute;width:116%;max-width:none;height:auto;left:-9.5%;top:-9.5%}
.hero-portrait+h1{margin-top:22px}

.hero-portrait{border-radius:0;overflow:visible;background:transparent}
.portrait-cloud{display:block;width:240px;height:240px;overflow:visible}

.availability .availability-intro{color:#687064}
.availability .availability-intro strong{color:#252921;font-weight:500}
