@font-face{font-family:CoverRoman;src:url('roman.woff') format('woff');font-display:swap;font-weight:400}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:#fff;color:#112749;font-family:CoverRoman,'Times New Roman',serif;font-size:1.125rem;line-height:1.5}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible{outline:2px solid #bc2d26;outline-offset:6px}.wrap{width:min(1120px,88%);margin:auto}.skip{position:absolute;left:1rem;top:-5rem;background:white;z-index:9;padding:1rem}.skip:focus{top:1rem}.designs{display:flex;justify-content:center;align-items:center;gap:1.6rem;padding:.65rem 1rem;background:#f7f8f8;border-bottom:1px solid #e1e5e7;font-size:.875rem;color:#525f6e}.designs>span{font-style:italic}.designs nav{display:flex;gap:1.4rem}.designs a[aria-current]{color:#112749;text-decoration:underline;text-underline-offset:5px}header{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding:1.5rem 0}.wordmark{font-size:1.6rem;letter-spacing:-.06em}.wordmark span{font-size:.85rem;letter-spacing:0}header nav{display:flex;gap:2rem;font-size:1rem}.hero{background-image:linear-gradient(#b9c7ca 1px,transparent 1px),linear-gradient(90deg,#b9c7ca 1px,transparent 1px);background-size:40px 40px;border-top:1px solid #b9c7ca;border-bottom:1px solid #b9c7ca}.hero-inner{max-width:1120px;margin:auto;padding:2.8rem 3rem 2rem}.overline{font-family:CoverRoman,'Times New Roman',serif;font-size:.8rem;letter-spacing:.12em;margin:0 0 1.4rem}.cover-type{text-align:center}h1{font-weight:400;letter-spacing:-.078em;line-height:.88;font-size:clamp(5rem,8vw,7.6rem);margin:0}h1 span{display:block}h1 small{display:block;font-size:.57em;letter-spacing:-.05em;line-height:.95}h1 span:first-child{font-size:1.17em}.subtitle{color:#141d29;font-size:clamp(1.4rem,2.6vw,2.1rem);letter-spacing:-.045em;line-height:1.15;margin:1.2rem 0 0}.hero-bottom{display:flex;align-items:center;justify-content:center;gap:2rem;max-width:650px;margin:1.2rem auto 0}.portrait{display:block;object-fit:contain;width:260px;height:auto;mix-blend-mode:normal}.intro{max-width:290px}.intro p{font-size:1.2rem;line-height:1.35;margin:.5rem 0 1rem}.resume-link{display:inline-block;border-bottom:1px solid #112749;padding-bottom:.25rem;font-size:1.05rem}.resume-link span{margin-left:1rem}.intro .location{font-size:.85rem;margin-top:1rem;color:#3e5163}.results{display:grid;grid-template-columns:1.15fr repeat(2,1fr);gap:2.5rem;padding:3.3rem 0;border-bottom:1px solid #cbd1d6;align-items:center}.result-intro{font-size:1.5rem;line-height:1.2;letter-spacing:-.035em}.results strong{font-size:3.3rem;font-weight:400;letter-spacing:-.065em;line-height:1}.results h2{font-size:1rem;font-weight:400;margin:.4rem 0}.results p{font-size:.875rem;color:#4d5b68;line-height:1.35;margin:0}.experience{display:grid;grid-template-columns:1fr 1.65fr;gap:6rem;padding:4.5rem 0 3rem}.eyebrow{font-size:.8rem;letter-spacing:.1em}.section-title h2{font-size:3.2rem;line-height:.96;font-weight:400;letter-spacing:-.065em;margin:1.3rem 0}.section-title p{font-size:1.125rem;max-width:290px;color:#445567}.text-link{display:inline-block;font-size:1rem;border-bottom:1px solid #8d9ba7}.role{padding:0 0 2rem;margin-bottom:2rem;border-bottom:1px solid #cbd1d6}.role-meta{display:flex;justify-content:space-between;gap:1rem;font-size:.75rem;letter-spacing:.05em;color:#526172}h3{font-weight:400;line-height:1.1;font-size:1.8rem;letter-spacing:-.04em;margin:.8rem 0 .4rem}.organization{margin:0 0 1rem}.role p,.role li{font-size:1.05rem;line-height:1.45}.role p:not(.organization),.role li{color:#415263}ul{padding-left:1rem}li{padding-left:.3rem;margin:.6rem 0}.earlier h3{font-size:1.4rem}.earlier p{margin:1rem 0}.earlier strong{font-weight:400}.earlier span{display:block;color:#526172;font-size:.95rem}.credentials{border-top:1px solid #cbd1d6;border-bottom:1px solid #cbd1d6;display:grid;grid-template-columns:1fr 1.15fr 1.15fr;gap:2.5rem;padding:2rem 0}.credentials h3{font-size:1.2rem;letter-spacing:-.02em;margin:0 0 .5rem}.credentials p{font-size:.95rem;color:#526172;margin:0}.contact{text-align:center;padding:4rem 0}.contact h2{font-size:clamp(3rem,5vw,4.5rem);font-weight:400;letter-spacing:-.065em;line-height:.95;margin:0 0 1.5rem}.email{font-size:1.5rem;letter-spacing:-.025em;border-bottom:1px solid #112749}.contact-links{display:flex;justify-content:center;gap:2rem;margin-top:1rem;font-size:1rem}footer{border-top:1px solid #cbd1d6;padding:1.2rem 0;display:flex;justify-content:space-between;gap:1rem;font-size:.875rem;color:#526172}.spread .hero-inner{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:3rem;padding:4rem 3rem}.spread .cover-type{text-align:left}.spread h1{font-size:clamp(4rem,6.3vw,6rem)}.spread .hero-bottom{display:flex;flex-direction:column;gap:.5rem;margin:0}.spread .portrait{width:320px}.spread .intro{text-align:center;max-width:320px}.spread .subtitle{font-size:1.8rem}.quiet .hero{background-image:none;border-top:1px solid #cbd1d6}.quiet .hero-inner{position:relative;padding:4rem 3rem 3rem}.quiet h1{font-size:clamp(4rem,7vw,6.5rem)}.quiet h1 small{display:inline;font-size:1em;line-height:1}.quiet h1 span:nth-of-type(2){display:inline}.quiet h1 span:last-child{margin-top:.15rem}.quiet .portrait{width:170px}.quiet .hero-bottom{gap:2.5rem}.quiet .overline{color:#526172}.quiet .subtitle{font-size:1.7rem}@media(max-width:800px){.hero-inner{padding:2.5rem 1.5rem 2rem}.hero{background-size:32px 32px}h1{font-size:6rem}.hero-bottom{gap:1.3rem}.portrait{width:230px}.results{grid-template-columns:repeat(2,1fr);gap:1.5rem}.result-intro{grid-column:1/-1}.result-intro br{display:none}.experience{grid-template-columns:1fr;gap:2.5rem;padding-top:3rem}.section-title h2 br{display:none}.section-title p{max-width:500px}.credentials{grid-template-columns:1fr;gap:1.5rem}.spread .hero-inner{grid-template-columns:1fr;padding:2.5rem 1.5rem;gap:1.5rem}.spread .cover-type{text-align:center}.spread h1{font-size:5.7rem}.spread .hero-bottom{flex-direction:row;max-width:600px;margin:auto;gap:1.5rem}.spread .portrait{width:220px}.spread .intro{text-align:left}.quiet .hero-inner{padding:3rem 1.5rem}.quiet h1{font-size:5rem}}@media(max-width:480px){.wrap{width:88%}.designs{flex-direction:column;gap:.35rem;padding:.6rem}.designs>span{font-size:.75rem}.designs nav{gap:1.2rem}header{padding:1.1rem 0;gap:1rem}.wordmark{font-size:1.4rem}.wordmark span{display:none}header nav{gap:.85rem;font-size:.9rem}.hero-inner{padding:2rem 1rem 1.7rem}.overline{font-size:.7rem;letter-spacing:.07em}h1,.spread h1{font-size:clamp(3.8rem,19vw,4.8rem)}.subtitle{font-size:1.55rem}.hero-bottom,.spread .hero-bottom{flex-direction:column;gap:0;margin-top:.8rem}.portrait,.spread .portrait{width:200px}.intro,.spread .intro{text-align:center;max-width:290px}.intro p{font-size:1.15rem}.quiet h1{font-size:3.7rem}.quiet .hero-bottom{gap:0}.quiet .portrait{width:150px}.results{padding:2rem 0;gap:1.4rem .9rem}.results strong{font-size:2.8rem}.results h2{font-size:1rem;line-height:1.15;min-height:2.3rem}.results p{font-size:.8rem}.role-meta{flex-direction:column;gap:.1rem}.section-title h2{font-size:2.7rem}.contact-links{gap:1rem}.email{font-size:1.35rem}footer{flex-direction:column;gap:.4rem}.quiet .hero-inner{padding:2rem 1rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* The photographic portrait uses a white field within the packaging grid. */
.portrait{width:240px;max-width:100%;height:auto;align-self:center}.hero-bottom{gap:2.5rem}.spread .portrait{width:300px}.quiet .portrait{width:190px}@media(max-width:800px){.portrait,.spread .portrait{width:230px}}@media(max-width:480px){.portrait,.spread .portrait{width:210px;margin-bottom:1.2rem}.quiet .portrait{width:170px}.hero-bottom{gap:0}}

/* Transparent illustrated character and readable title spacing. */
.character{display:block;width:270px;max-width:100%;height:auto;object-fit:contain;flex-shrink:0;mix-blend-mode:normal;position:relative;z-index:1}.spread .character{width:340px}h1{letter-spacing:-.045em;line-height:.97}h1 small{letter-spacing:-.015em;line-height:1.05}.subtitle{letter-spacing:-.02em;line-height:1.3}.hero-bottom{gap:2rem}
@media(max-width:800px){.character,.spread .character{width:250px}h1,.spread h1{font-size:clamp(4rem,11vw,6rem);letter-spacing:-.025em;line-height:1.02}.subtitle{letter-spacing:0;line-height:1.35}.wordmark{letter-spacing:-.025em}}
@media(max-width:480px){h1,.spread h1{font-size:clamp(3.25rem,15.5vw,4.5rem);letter-spacing:-.018em;line-height:1.04}h1 span:first-child{font-size:1.1em}h1 small{font-size:.58em;line-height:1.12;letter-spacing:0}.subtitle{font-size:1.45rem;letter-spacing:0;line-height:1.4;max-width:19rem;margin:1.2rem auto 0}.overline{letter-spacing:.035em;line-height:1.5}.character,.spread .character{width:230px;margin-bottom:1rem}.hero-bottom{gap:0}.section-title h2,.contact h2{letter-spacing:-.025em;line-height:1.1}.intro p{line-height:1.5}header nav{gap:.8rem}header{gap:.6rem}.designs nav{gap:1.5rem}}
