:root{--paper:#f3ecdf;--muted:#b4aea4;--ink:#191919}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font:15px/1.7 Arial,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--paper);outline-offset:7px}button,a{-webkit-tap-highlight-color:transparent}img{display:block;width:100%;height:auto}figure{margin:0}main{position:relative;overflow:hidden;padding-top:62px}section{position:relative;max-width:1440px;margin:auto;padding:110px 7vw}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;line-height:1.02}h2{font-size:clamp(44px,5.2vw,78px);letter-spacing:-.05em}h2 em{font-family:Georgia,serif;font-weight:400}p+p{margin-top:20px}.eyebrow,.date{font-size:10px;letter-spacing:.15em;font-weight:400}.eyebrow{margin-bottom:32px}.life-thread{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;color:#f8f4eb;z-index:2;opacity:.8}.hero{min-height:790px;height:calc(100svh - 62px);max-height:1040px;display:grid;grid-template-columns:1.15fr 1fr;gap:8%;align-items:center;padding-top:65px;padding-bottom:115px}.hero-copy{position:relative;z-index:3}.hero h1{font:italic clamp(65px,7.5vw,116px)/.9 Georgia;letter-spacing:-.06em}.hero h1 strong{font:900 clamp(75px,9.2vw,144px)/1.12 Arial;letter-spacing:-.075em;text-transform:uppercase;position:relative}.hero h1 strong span{font:12px Arial;position:absolute;right:-18px;top:15px}.discipline{font-size:19px;line-height:1.35;margin-top:30px}.availability{font-size:11px;line-height:1.7;margin-top:32px;padding-left:20px;position:relative;color:var(--muted)}.availability span{position:absolute;width:6px;height:6px;border-radius:50%;background:#d4dbb0;left:0;top:7px}.hero-photo{width:100%;max-width:430px;justify-self:end;transform:rotate(3deg)}.hero-photo img{aspect-ratio:3/4;object-fit:cover}.photo figcaption{font-size:10px;letter-spacing:.025em;margin-top:12px;color:var(--muted)}.scroll-note{position:absolute;bottom:35px;left:7vw;font-size:11px;display:flex;gap:45px;align-items:center}.scroll-note span{font-size:25px}.hero-index{position:absolute;bottom:40px;right:7vw;font-size:10px;letter-spacing:.15em}.split{display:grid;grid-template-columns:1fr 1fr;gap:13%;align-items:center}.about{padding-top:140px;padding-bottom:150px}.work-photo{width:82%;transform:rotate(-4deg)}.work-photo img{aspect-ratio:4/5;object-fit:cover;object-position:50% 40%}.section-copy{position:relative;z-index:3}.section-copy h2{margin-bottom:40px}.section-copy p:not(.eyebrow){max-width:460px;color:var(--muted)}.section-copy .lead{font-size:20px;color:var(--paper)!important;line-height:1.5}.journey{display:grid;grid-template-columns:1fr 1fr;gap:13%;padding-top:80px}.section-heading{align-self:start;position:sticky;top:130px}.journey-content{position:relative;z-index:3}.journey article{padding:0 0 35px;margin:0 0 35px;border-bottom:1px solid #f3ecdf30}.date{color:var(--muted)}h3{font-size:30px;letter-spacing:-.035em;margin:15px 0}.journey article p{color:var(--muted);font-size:14px}.journey .minor{font-size:12px}.journey a{font-size:11px;display:inline-block;margin-top:20px;border-bottom:1px solid #f3ecdf70}.inline-links{display:flex;flex-wrap:wrap;gap:20px}.outside{padding-top:80px;padding-bottom:150px}.outside-title{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:65px}.outside-title p{color:var(--muted);font-size:13px}.photo-notes{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6%;align-items:start;padding:0 2%}.photo-notes img{aspect-ratio:3/4;object-fit:cover}.note-one{transform:rotate(-5deg);margin-top:40px}.note-two{transform:rotate(3deg);margin-top:140px}.note-three{transform:rotate(-3deg)}.practice{padding-top:50px;padding-bottom:150px}.practice-intro{color:var(--muted);max-width:330px;margin-top:30px}.practice-list{position:relative;z-index:3}.practice-list article{display:flex;gap:25px;border-bottom:1px solid #f3ecdf30;padding:25px 0}.practice-list article>span{font-size:10px;color:var(--muted);padding-top:9px}.practice-list h3{font-size:26px;margin:0 0 12px}.practice-list p{color:var(--muted);font-size:14px}.tools{padding-top:35px}.tools .eyebrow{margin-bottom:12px}.cv-section{padding-top:95px}.cv-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:55px}.cv-heading>p{font-size:13px;color:var(--muted)}.cv-art{display:block;position:relative;z-index:3;box-shadow:0 25px 80px #0006;transform:rotate(-1deg);transition:transform .4s}.cv-art:hover{transform:rotate(0)}.cv-art img{border:1px solid #f3ecdf20}.cv-actions{display:flex;align-items:center;gap:30px;position:relative;z-index:3;margin-top:45px;font-size:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;padding:17px 24px;border:1px solid #f3ecdf70;border-radius:2px;background:var(--ink);transition:background .2s,color .2s}.button:hover{background:var(--paper);color:var(--ink)}.cv-actions small{font-size:9px;letter-spacing:.08em;color:var(--muted);margin-left:auto}.cv-mobile{display:none}.contact{padding-top:140px;padding-bottom:90px}.contact-status{font-size:12px;color:var(--muted);margin-bottom:35px}.contact h2{font-size:clamp(55px,7.6vw,116px);margin-bottom:40px}.email{display:inline-flex;gap:35px;font-size:clamp(16px,2.1vw,29px);border-bottom:1px solid #f3ecdf60;padding-bottom:12px;position:relative;z-index:3}.contact-bottom{display:flex;gap:45px;font-size:12px;color:var(--muted);margin-top:40px;flex-wrap:wrap}footer{max-width:1440px;margin:auto;border-top:1px solid #f3ecdf30;padding:30px 7vw;display:flex;justify-content:space-between;gap:25px;font-size:10px}footer span{font-size:9px;letter-spacing:.08em;color:var(--muted)}.photo{transition:opacity .65s,translate .8s}.photo.waiting{opacity:0;translate:0 25px}.photo.seen{opacity:1;translate:0 0}@media(min-width:1600px){section{padding-left:100px;padding-right:100px}}@media(max-width:1000px){.hero{gap:5%;min-height:680px}.hero h1 strong{font-size:10vw}.split,.journey{gap:8%}.section-copy .lead{font-size:18px}.cv-heading{align-items:start}.outside-title p{max-width:220px}}@media(max-width:700px){main{padding-top:58px}section{padding:75px 25px}.hero{height:auto;min-height:0;max-height:none;padding-top:45px;padding-bottom:85px;display:block}.hero .eyebrow{margin-bottom:28px}.hero h1{font-size:70px}.hero h1 strong{font-size:85px}.hero h1 strong span{right:-15px;top:10px}.discipline{font-size:17px;margin-top:25px}.availability{margin-top:20px;font-size:11px}.hero-photo{width:66%;max-width:330px;margin:38px 8px 0 auto;transform:rotate(4deg)}.hero-photo figcaption{font-size:9px}.scroll-note{left:25px;bottom:25px;gap:20px}.hero-index{right:25px;bottom:34px}.split,.journey{display:block}.about{padding-top:60px;padding-bottom:65px}.work-photo{width:66%;margin:0 0 70px 8px}.section-copy h2{margin-bottom:25px}h2{font-size:48px}.section-copy p:not(.eyebrow){max-width:none}.section-copy .lead{font-size:18px}.section-heading{position:static;margin-bottom:45px}.journey{padding-top:50px;padding-bottom:20px}.journey article{padding-bottom:28px;margin-bottom:30px}.journey h3{font-size:29px}.outside{padding-top:50px;padding-bottom:75px}.outside-title{display:block;margin-bottom:45px}.outside-title p{margin-top:25px;max-width:none}.photo-notes{grid-template-columns:1fr 1fr;gap:9%;padding:0 5px}.note-one{margin-top:0}.note-two{margin-top:70px}.note-three{width:80%;grid-column:1/3;justify-self:center;margin-top:10px;max-width:250px}.photo-notes figcaption{font-size:9px}.practice{padding-top:35px;padding-bottom:50px}.practice-intro{margin-top:25px}.practice-list{margin-top:30px}.practice-list h3{font-size:25px}.practice-list article{gap:18px}.cv-section{padding-top:65px;padding-bottom:50px}.cv-heading{display:block;margin-bottom:30px}.cv-heading>p{margin-top:25px}.cv-art{display:none}.cv-mobile{display:block;padding:25px 20px;border:1px solid #f3ecdf55;position:relative;z-index:3;background:#20201e}.cv-mobile h3{font:italic 35px Georgia;margin:0 0 10px}.cv-mobile>p{font-size:12px;color:var(--muted)}dl{margin:30px 0 0}dt{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:20px}dd{font-size:14px;margin:5px 0 0}.cv-actions{gap:20px;margin-top:25px}.cv-actions .button{width:100%}.cv-actions small{margin:0;font-size:8px}.contact{padding-top:85px;padding-bottom:60px}.contact h2{font-size:52px;letter-spacing:-.055em}.email{font-size:16px;gap:12px;max-width:100%;overflow-wrap:anywhere}.contact-bottom{gap:15px 25px;font-size:11px;margin-top:30px}footer{padding:25px;flex-wrap:wrap}footer span{order:3;flex-basis:100%;font-size:8px}.life-thread{opacity:.6}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.photo.waiting{opacity:1;translate:none}}
/* Keep the drawn thread clear of reading areas. */
.cv-heading,.section-heading,.outside-title,.contact h2,.contact>.eyebrow,.contact-status{position:relative;z-index:3;background:var(--ink)}
.hero h1{position:relative;width:max-content;max-width:100%;background:var(--ink)}
@media(max-width:700px){.hero h1 strong{font-size:clamp(54px,19vw,85px)}}
/* Original identity, earlier CV and a flow-based education layout. */
.hero h1{width:100%;max-width:560px;display:flex;flex-direction:column;gap:24px;padding:4px 0}
.hero h1 img{height:auto;object-fit:contain}.tristan-mark{width:78%}.raoult-mark{width:100%}
.journey article{display:flow-root;position:relative}.journey .date{display:block;line-height:1.7;margin:0 0 14px;white-space:normal}.journey h3{line-height:1.2;margin:0 0 16px}.journey-content{min-width:0}.journey article p{line-height:1.7}
.cv-section{padding-top:50px}.about{padding-bottom:85px}
@media(max-width:700px){.hero h1{gap:17px}.tristan-mark{width:85%}.hero h1 .raoult-mark{width:100%}.cv-art{display:block;transform:none;width:calc(100% + 24px);margin-left:-12px;box-shadow:0 15px 40px #0006}.cv-art:hover{transform:none}.cv-art img{height:auto}.cv-mobile{margin-top:30px;padding:20px}.cv-mobile dl{margin-top:20px}.journey,.journey-content,.section-heading{position:static}.journey-content{padding-top:0}.journey article{margin-bottom:32px;padding-bottom:30px}.journey .date{font-size:10px;line-height:1.7;margin-bottom:15px;max-width:100%}.journey h3{font-size:28px;line-height:1.2;margin:0 0 16px;overflow-wrap:normal}.about{padding-bottom:45px}.cv-section{padding-top:40px}.cv-heading{margin-bottom:28px}}
@media(max-width:700px){.journey-content,.section-heading{position:relative;top:auto;z-index:3}}
