:root{--paper:#f4f1e8;--ink:#172d32;--rust:#9c3f24;--muted:#52615e;--line:#c5cbc2;--mono:"Courier New",monospace;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--sans)}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--rust)}a:focus-visible,summary:focus-visible{outline:3px solid var(--rust);outline-offset:5px}h1,h2,h3,p{margin-top:0}p{max-width:65ch}h2{font-size:clamp(28px,3.6vw,44px);line-height:1.16;letter-spacing:-1px}h3{font-size:23px;line-height:1.3}.wrap{max-width:1200px;margin:auto;padding-inline:40px}.draft{font:12px/1.5 var(--mono);padding:10px 20px;text-align:center;border-bottom:1px solid var(--line);color:var(--muted)}.skip{position:absolute;left:12px;top:-100px;background:var(--paper);padding:12px;z-index:3}.skip:focus{top:12px}header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:104px;border-bottom:1px solid var(--ink)}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font:700 15px var(--mono)}.brand img{width:42px;height:42px}nav{display:flex;flex-wrap:wrap;gap:24px}nav a{font:14px var(--mono);display:inline-flex;align-items:center;min-height:44px}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center;padding-block:76px 70px}.eyebrow,.section-label,.caption{font:12px/1.5 var(--mono);letter-spacing:1.3px;text-transform:uppercase}.eyebrow{color:var(--rust);margin-bottom:28px}h1{font:700 clamp(54px,6.4vw,88px)/.96 var(--mono);letter-spacing:-5px;margin-bottom:28px}.tagline{font-size:clamp(21px,2.2vw,28px);font-weight:700;line-height:1.3;margin-bottom:18px}.intro{font-size:18px;color:var(--muted)}.actions{display:flex;gap:24px;flex-wrap:wrap;align-items:center;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 20px;background:var(--ink);color:var(--paper);text-decoration:none;font:14px/1.6 var(--mono)}.button:hover{background:var(--rust);color:var(--paper)}.text-link{display:inline-flex;align-items:center;min-height:44px;font:14px/1.6 var(--mono)}figure{margin:0}.hero img{width:100%;height:auto;display:block}.caption{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-top:14px;gap:8px}.strap{display:flex;justify-content:space-between;gap:24px;padding:17px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);font:12px/1.7 var(--mono);letter-spacing:1px}.section{padding-block:72px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:230px 1fr;gap:48px;scroll-margin-top:20px}.section-label{color:var(--muted)}.section-label span{display:block;color:var(--rust);margin-bottom:10px}.profile-lead{font-size:21px;line-height:1.55;max-width:56ch}.expertise{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;margin-top:30px}.expertise p{padding-top:12px;border-top:1px solid var(--line);margin-bottom:0;font-size:15px}.expertise strong{display:block;font-weight:700}.interests{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}.interest{padding:24px 0;border-top:1px solid var(--line)}.interest .number{font:12px var(--mono);color:var(--rust);display:block;margin-bottom:16px}.interest p{font-size:16px;color:var(--muted);margin-bottom:0}.interest:last-child{grid-column:1/-1}.contact{margin-top:64px;background:var(--ink);color:var(--paper);padding:48px;display:flex;align-items:center;justify-content:space-between;gap:32px;scroll-margin-top:20px}.contact h2{margin-bottom:12px}.contact p{margin:0}.contact a{color:var(--paper);white-space:nowrap;padding:14px 0;min-height:48px;font:15px/1.6 var(--mono)}.contact a:focus-visible{outline-color:var(--paper)}footer{padding:32px 0;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;font:12px/1.6 var(--mono)}footer div{display:flex;gap:24px}footer a{display:inline-flex;align-items:center;min-height:44px}::selection{background:var(--ink);color:var(--paper)}
@media(max-width:900px){.wrap{padding-inline:28px}.hero{gap:28px;padding-block:48px}.section{grid-template-columns:150px 1fr;gap:28px}.hero h1{letter-spacing:-3px}.contact{padding:32px}}
@media(max-width:620px){.wrap{padding-inline:20px}header{align-items:flex-start;flex-direction:column;padding:22px 0 12px;gap:12px}nav{gap:24px;width:100%}.hero{grid-template-columns:1fr;padding-block:40px;gap:36px}h1{font-size:64px;letter-spacing:-4px}.hero figure{max-width:360px;width:100%;margin:auto}.hero .intro{font-size:17px}.eyebrow{margin-bottom:20px}.actions{gap:18px}.strap{flex-direction:column;gap:3px;font-size:11px}.section{grid-template-columns:1fr;gap:24px;padding-block:44px}.section-label{margin:0}.section-label span{display:inline;margin-right:12px}.expertise,.interests{grid-template-columns:1fr}.interest:last-child{grid-column:auto}.contact{margin-top:40px;padding:28px 22px;align-items:flex-start;flex-direction:column;gap:24px}.contact a{white-space:normal}footer{display:block}footer div{margin-top:8px}.caption{font-size:9px}.draft{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Shared legal-page layout; the profile and both legal pages use this stylesheet. */
footer div{flex-wrap:wrap}
.legal-page{max-width:760px;margin-inline:auto;padding-block:48px 56px;overflow-wrap:anywhere}
.legal-page h1{font-size:clamp(28px,4.2vw,52px);line-height:1.12;letter-spacing:-1.5px;hyphens:auto}
.legal-page h2{font:700 clamp(20px,2.5vw,25px)/1.3 var(--mono);letter-spacing:-.5px;margin-bottom:20px}
.legal-page section{border-top:1px solid var(--line);padding-block:28px 8px}
.legal-page address{font-style:normal;margin-bottom:24px}
.legal-page p{max-width:65ch}
.legal-date{font:13px/1.6 var(--mono);color:var(--muted)}
.legal-note{border-left:3px solid var(--rust);padding:16px 20px;margin-block:24px;background:#ede7da}
.legal-note p{margin:8px 0 0}
.pending{color:var(--rust)}
footer [aria-current="page"]{font-weight:700;text-decoration-thickness:2px}
@media(max-width:620px){.legal-page{padding-block:32px 40px}}

/* Contact email and LinkedIn share a compact, wrapping action column. */
.contact-links{display:flex;flex-direction:column;align-items:flex-start;min-width:0;max-width:100%;gap:4px}
.contact .contact-links a{white-space:normal;overflow-wrap:anywhere;max-width:100%}
