:root{--ink:#172b47;--blue:#1b365c;--accent:#bf3f29;--line:#d6dce3;--paper:#fff;--muted:#526174}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip{position:absolute;top:-100px;background:white;padding:10px}.skip:focus{top:0}header,main,footer{max-width:1280px;margin:auto;padding-left:64px;padding-right:64px}header{display:flex;align-items:center;justify-content:space-between;padding-top:32px;padding-bottom:28px;border-bottom:1px solid var(--line)}.brand{font-size:25px;font-weight:700;letter-spacing:-1px}.brand span{display:block;font:13px/1.6 Arial;letter-spacing:0;color:var(--muted)}nav{display:flex;gap:28px;font-size:14px}.hero{padding:66px 0 48px;border-bottom:4px solid var(--ink)}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--accent)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(45px,6vw,80px);line-height:1.07;letter-spacing:-3px;margin:24px 0 35px}.hero-bottom{display:flex;justify-content:space-between;gap:50px;align-items:end}.hero-bottom p{max-width:670px;margin:0;font-size:20px;line-height:1.6}.selection-label{font-size:11px;line-height:1.8;letter-spacing:1.1px;white-space:nowrap;color:var(--muted)}.work-heading{display:flex;align-items:baseline;justify-content:space-between;padding-top:36px}.work-heading h2{font-size:33px;margin:0}.work-heading p{font-size:14px;color:var(--muted)}.categories{flex-wrap:wrap;gap:10px 28px;padding:16px 0 28px;border-bottom:1px solid var(--line)}.categories a{font-size:14px}.work-section{display:grid;grid-template-columns:250px 1fr;gap:65px;padding:48px 0;border-bottom:1px solid var(--line)}.number{font-size:12px;letter-spacing:2px;color:var(--accent)}.section-intro h2{font-size:29px;line-height:1.2;margin:12px 0 20px}.section-intro p{font-size:15px;color:var(--muted)}.clip-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 36px}.clip{border-top:1px solid var(--line);padding-top:16px}.meta{font-size:12px;color:var(--muted);line-height:1.6}.meta span{padding:0 5px}.clip h3{font-size:23px;line-height:1.3;margin:12px 0 16px;letter-spacing:-.25px}.read{font-size:13px;font-weight:700;color:var(--accent)}.about{margin:54px 0;background:var(--blue);color:white;padding:44px;display:grid;grid-template-columns:1fr 1fr;gap:0 48px}.about .eyebrow{grid-column:1/-1;color:#ffb9a5}.about h2{font-size:43px;line-height:1.15;margin:24px 0}.about p{font-size:16px;line-height:1.8}.pdf-link{display:inline-block;margin-top:12px;border-bottom:1px solid #92a2b8;font-size:14px;padding-bottom:4px}footer{display:flex;justify-content:space-between;gap:24px;padding-bottom:35px;font-size:12px;color:var(--muted)}footer>span:first-child{font-weight:700;color:var(--ink)}@media(max-width:900px){header,main,footer{padding-left:32px;padding-right:32px}.work-section{grid-template-columns:190px 1fr;gap:32px}.clip-grid{grid-template-columns:1fr}.selection-label{display:none}.about{gap:24px;padding:30px}.about h2{font-size:34px}}@media(max-width:600px){header,main,footer{padding-left:22px;padding-right:22px}header{align-items:start;gap:20px}header nav{flex-wrap:wrap;justify-content:flex-end;gap:8px 16px;font-size:13px;max-width:175px}.brand{font-size:22px}.hero{padding-top:42px}h1{letter-spacing:-1.6px;font-size:46px}.hero-bottom p{font-size:18px}.work-heading{display:block}.work-heading p{margin-top:5px}.work-section{grid-template-columns:1fr;gap:12px;padding:32px 0}.section-intro p{margin-bottom:12px}.clip-grid{gap:28px}.about{display:block;padding:25px;margin:35px 0}.about h2{font-size:35px}footer{flex-wrap:wrap;gap:12px}footer>span:nth-child(2){width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.hero-role{display:block;font-family:Arial,Helvetica,sans-serif;font-size:clamp(22px,3vw,32px);line-height:1.4;letter-spacing:0;margin-top:16px}

header{justify-content:flex-end}.about{padding-top:44px}.section-intro h2{margin-top:0}

/* Give portfolio categories a clear hierarchy above individual clips. */
.section-intro h2{font-weight:700;color:var(--blue);line-height:1.2}
@media(max-width:600px){.section-intro{border-left:4px solid var(--accent);padding-left:16px;margin-bottom:12px}.section-intro h2{font-size:30px;margin:0 0 14px}.section-intro p{margin:0;line-height:1.6}.work-section{gap:20px}}

.resume-main{max-width:1020px}.resume-intro{padding:45px 0 30px;border-bottom:3px solid var(--ink)}.resume-intro h1{font-size:56px;margin:15px 0 8px;letter-spacing:-1.5px}.resume-subtitle{font-size:20px;margin:0}.contact{font-size:15px;color:var(--muted);margin:10px 0 22px}.contact a{text-decoration:underline}.resume-summary{font-size:18px;max-width:790px}.expertise{padding:25px 0;border-bottom:1px solid var(--line)}.resume-main h2{font-size:29px;font-weight:700;margin:0 0 18px}.expertise p{font-size:15px}.experience{padding-top:30px}.resume-role{padding:20px 0;border-bottom:1px solid var(--line)}.role-top{display:flex;justify-content:space-between;gap:20px}.role-top h3{font:700 21px/1.4 Arial;margin:0}.job-title{margin:2px 0;font-size:16px}.dates{font-size:14px;color:var(--muted);margin:5px 0}.resume-role ul{padding-left:22px;margin:16px 0 0}.resume-role li{font-size:16px;line-height:1.65;margin:7px 0}.resume-work-link{margin:30px 0 45px;font-weight:700;color:var(--accent)}nav [aria-current="page"]{font-weight:700;text-decoration:underline;text-underline-offset:6px}@media(max-width:600px){.role-top{display:block}.dates{margin-top:8px}.resume-intro h1{font-size:46px}.resume-subtitle{font-size:18px}} 

.contact .contact-me{display:inline-block;padding:7px 14px;border:1px solid var(--blue);border-radius:3px;color:var(--blue);text-decoration:none;font-weight:700}.contact .contact-me:hover{background:var(--blue);color:white}

.newsletter-entry{grid-column:1/-1;border-top:2px solid var(--blue);padding:22px 0 30px}.newsletter-entry>h3{font-size:30px;line-height:1.2;margin:12px 0}.newsletter-credit{font-size:14px;font-weight:700;color:var(--accent);margin:0 0 18px}.newsletter-description{font-size:16px;line-height:1.7;max-width:750px}.newsletter-samples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:25px}.newsletter-sample{border-top:1px solid var(--line);padding-top:15px}.newsletter-sample h4{font:700 19px/1.35 Georgia,serif;margin:12px 0}.newsletter-sample p{font-size:15px;line-height:1.6}.newsletter-sample .meta{font-size:12px}@media(max-width:900px){.newsletter-samples{grid-template-columns:1fr;gap:24px}}
