:root{color-scheme:dark;--bg:#071a20;--panel:#102b32;--panel2:#15343b;--ink:#f3f7f5;--muted:#afc3c5;--line:#2a4549;--accent:#ff914d;--teal:#7dd3c7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 80% 5%,#19434b 0,transparent 32%),var(--bg);color:var(--ink);font:16px/1.6 system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.skip-link{position:absolute;left:16px;top:-100px;z-index:20;background:var(--accent);color:#1d1b17;padding:12px 16px;border-radius:8px;font-weight:700}.skip-link:focus{top:12px}.links a{display:inline-flex;align-items:center;min-height:44px;padding:6px 3px}.wrap{max-width:1120px;margin:auto;padding:0 24px}.nav{position:sticky;top:0;z-index:3;background:#071a20e8;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.navinner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}.logo{font-size:22px;font-weight:900;letter-spacing:-1px}.logo span{color:var(--accent)}.links{display:flex;gap:22px;flex-wrap:wrap;font-size:14px}.links a:hover,.textlink:hover{color:var(--accent)}.hero{padding:112px 0 92px;display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:48px}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:12px;font-weight:800;color:var(--teal)}h1{font-size:clamp(46px,7vw,88px);line-height:1.05;letter-spacing:-.055em;margin:18px 0}h1 span{color:var(--accent)}.lead{font-size:clamp(18px,2vw,22px);line-height:1.65;color:var(--muted);max-width:670px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{border-radius:12px;padding:12px 20px;font-weight:750;display:inline-block;border:1px solid var(--line);background:transparent;cursor:pointer}.btn.primary{background:var(--accent);color:#1d1b17;border-color:var(--accent)}.btn:hover{transform:translateY(-2px)}.portrait{min-height:380px;border-radius:26px;background:linear-gradient(140deg,#204f54,#11272f);border:1px solid #3c6566;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.portrait:before,.portrait:after{content:'';position:absolute;border:1px solid #609b9280;border-radius:50%;width:430px;height:430px;transform:translate(38%,30%)}.portrait:after{width:280px;height:280px;transform:translate(-55%,-45%)}.monogram{font-size:clamp(95px,12vw,170px);font-weight:900;letter-spacing:-.14em;color:#f7f8f1;text-shadow:8px 10px 0 #e97a3a;z-index:1;padding-right:28px}.mini{position:absolute;bottom:20px;left:20px;right:20px;background:#071a20d9;border:1px solid #ffffff25;padding:14px 18px;border-radius:12px;z-index:2;font-size:13px;color:var(--muted)}section{padding:72px 0;scroll-margin-top:96px}section+section{border-top:1px solid var(--line)}.sectionhead{max-width:710px;margin-bottom:30px}.sectionhead h2{font-size:clamp(30px,4vw,46px);line-height:1.15;letter-spacing:-.04em;margin:9px 0 12px}.sectionhead p{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{border:1px solid var(--line);background:linear-gradient(150deg,var(--panel),#0c252b);padding:24px;border-radius:18px}.card h3{margin:12px 0 8px;font-size:20px}.card p{color:var(--muted);margin:0}.symbol{font-size:27px}.tags{margin-top:18px}.tag{display:inline-block;border:1px solid #46716d;border-radius:30px;padding:4px 11px;font-size:12px;color:var(--teal);margin:4px 5px 0 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:36px}.split p{color:var(--muted)}.timeline{border-left:2px solid var(--accent);padding-left:22px}.timeline article{position:relative;margin-bottom:26px}.timeline article:before{content:'';position:absolute;left:-29px;top:8px;width:11px;height:11px;background:var(--accent);border-radius:50%}.timeline h3{margin:0}.timeline p{margin:5px 0}.notice{color:var(--muted);font-size:13px;margin-top:22px}.contact{background:linear-gradient(135deg,#173f44,#0f2831);border-radius:24px;padding:42px;border:1px solid #47706d}.contact h2{font-size:clamp(30px,4vw,48px);margin:0 0 12px;letter-spacing:-.04em}.contact p{color:var(--muted);max-width:670px}.footer{padding:32px 0;color:var(--muted);border-top:1px solid var(--line);font-size:14px}.footrow{display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px}.footrow a{color:var(--teal)}@media(max-width:760px){.navinner{min-height:70px;align-items:flex-start;padding-top:18px;padding-bottom:12px;flex-direction:column;gap:6px}.links{gap:10px;font-size:13px;row-gap:0}section{scroll-margin-top:124px}.hero{padding:64px 0;grid-template-columns:1fr;gap:30px}.portrait{min-height:270px}.cards,.split{grid-template-columns:1fr}section{padding:52px 0}.contact{padding:25px}.wrap{padding-left:18px;padding-right:18px}}
@media(max-width:360px){.links{gap:5px;font-size:12px}.hero{padding-top:48px}.btn{padding:11px 15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn:hover{transform:none}}

/* V4 improvements: clear reading hierarchy, adaptive anchors and WCAG-oriented focus */
html{scroll-padding-top:var(--header-offset,96px)}
#main-content{outline:none}
section{scroll-margin-top:var(--header-offset,96px)}
.hero{scroll-margin-top:var(--header-offset,96px)}
.links a{min-width:44px;justify-content:center}
.lead strong{color:var(--ink);font-weight:650}
.career-intro{max-width:780px;color:var(--muted);font-size:17px}
.card .example{margin-top:13px;padding-top:12px;border-top:1px solid var(--line);color:var(--ink);font-size:14px}
.highlights{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px;padding:0;list-style:none}
.highlights li{color:var(--teal);border:1px solid #46716d;border-radius:999px;padding:6px 12px;font-size:13px}
.timeline article:last-child{margin-bottom:0}
.timeline h3{font-size:19px}
.timeline .detail{color:var(--ink);font-weight:600;font-size:14px;margin:8px 0}
.timeline ul{padding-left:20px;color:var(--muted);margin:8px 0 0}
.timeline li+li{margin-top:6px}
.learning{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:28px}
.learning h3{margin:0 0 9px}
.learning p{color:var(--muted)}
.learning p:last-child{margin-bottom:0}
.link-underline{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.footrow{align-items:center}
@media(max-width:760px){:root{--header-offset:144px}.highlights{gap:7px}.learning{padding:23px}}
@media(max-width:370px){:root{--header-offset:160px}.links{gap:4px}.links a{padding:6px 2px}}
@media(prefers-contrast:more){:root{--muted:#e3efef;--line:#7eabad}.card,.contact,.learning{border-width:2px}}

/* V4.2: restrained, progressive UX polish. Preserve V4.1 visual design. */
:root{--motion-quick:150ms;--motion-ease:cubic-bezier(.2,.7,.2,1)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Keep anchor locations uncovered on the desktop; at small widths nav joins document flow. */
@media(min-width:761px){:root{--header-offset:96px}}
@media(max-width:760px){.nav{position:relative;backdrop-filter:none}:root{--header-offset:12px}section{scroll-margin-top:12px}}
@media(max-width:370px){:root{--header-offset:12px}}
:where(.btn,.card,.learning,.links a,.textlink,.footrow a){transition-property:color,background-color,border-color,box-shadow,transform;transition-duration:var(--motion-quick);transition-timing-function:var(--motion-ease)}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn.primary:hover{background:#ffab76;border-color:#ffab76}
.btn:not(.primary):hover{border-color:#7dd3c7;background:#15343b}
.card:hover,.learning:hover{border-color:#557a79}
.links a:hover,.links a:focus-visible,.footrow a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
:where(a):focus-visible{outline:3px solid var(--accent);outline-offset:4px;border-radius:4px}
#main-content:focus{outline:0}
/* Prefer legibility and stable cards to cosmetic scale changes. */
.sectionhead p,.split p,.card p,.learning p,.timeline li{max-width:70ch}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}:where(.btn,.card,.learning,.links a,.textlink,.footrow a){transition:none!important}.btn:hover,.btn:active{transform:none}}
@media(hover:none){.card:hover,.learning:hover{border-color:var(--line)}.btn:hover{transform:none}}
@media(prefers-contrast:more){.btn:not(.primary){border-color:#b3d6d3}.card:hover,.learning:hover{border-color:#b3d6d3}}

/* V4.3: email button matches the established contact design. */
.email-contact{color:var(--ink);font:inherit;line-height:inherit}
.email-note{font-size:13px;margin:16px 0 0}
.email-contact:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
