:root { --cream:#f5f0e8; --ink:#28162b; --plum:#4c214f; --coral:#f36f5b; --yellow:#f4c84e; --mint:#73c8ad; --white:#fffdf8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { position:fixed; inset:0 0 auto; z-index:20; height:78px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 4vw; background:color-mix(in srgb,var(--cream) 88%,transparent); border-bottom:1px solid #28162b21; backdrop-filter:blur(14px); }
.wordmark { font:800 24px/1 Georgia,serif; letter-spacing:-.06em; }
.wordmark span,h1 span,footer span { color:var(--coral); }
figure { margin:0; }
nav { display:flex; gap:clamp(18px,3vw,46px); }
nav a { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.11em; }
nav a:hover { color:var(--coral); }
.language-switch { justify-self:end; display:flex; align-items:center; gap:7px; font-size:12px; }
.language-switch button { border:0; background:none; padding:8px 2px; color:inherit; cursor:pointer; opacity:.42; font-weight:800; }
.language-switch button.active { opacity:1; color:var(--plum); }
.hero { min-height:100vh; padding:132px 9vw 70px; display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.72fr); align-items:center; gap:7vw; position:relative; overflow:hidden; }
.hero-copy { position:relative; z-index:2; max-width:770px; }
.eyebrow { margin:0 0 24px; color:var(--coral); font-size:12px; font-weight:800; letter-spacing:.19em; text-transform:uppercase; }
h1,h2 { font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.055em; }
h1 { margin:0; font-size:clamp(74px,10vw,150px); line-height:.78; }
.hero-lead { margin:54px 0 18px; max-width:650px; font:400 clamp(24px,2.6vw,38px)/1.18 Georgia,serif; }
.hero-support { max-width:625px; margin:0; font-size:17px; line-height:1.7; color:#28162bb8; }
.text-link { display:inline-flex; align-items:center; gap:18px; margin-top:34px; padding-bottom:5px; border-bottom:2px solid var(--coral); font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.text-link span { font-size:20px; transition:transform .2s ease; }
.text-link:hover span { transform:translate(3px,3px); }
.hero-portrait { position:relative; aspect-ratio:.72; max-height:720px; }
.hero-portrait img { position:relative; z-index:3; width:100%; height:100%; object-fit:cover; object-position:51% center; border-radius:48% 48% 8px 8px; filter:saturate(.95); }
.circle { position:absolute; display:block; border-radius:50%; aspect-ratio:1; }
.circle.yellow { width:62%; background:var(--yellow); top:-8%; right:-18%; }
.circle.mint { width:74%; background:var(--mint); bottom:-12%; left:-23%; }
.side-note { position:absolute; right:1.5vw; bottom:44px; margin:0; writing-mode:vertical-rl; font-size:10px; font-weight:800; letter-spacing:.25em; }
.section { padding:130px 9vw; }
.section-heading { display:grid; grid-template-columns:.55fr 1.45fr; gap:5vw; align-items:start; }
.section-heading h2,.language-content h2 { margin:0; max-width:850px; font-size:clamp(48px,6.2vw,94px); line-height:.95; }
.profile { background:var(--white); }
.profile-content { margin:90px 0 0 31%; }
.large-copy { max-width:890px; font:400 clamp(24px,3vw,42px)/1.35 Georgia,serif; }
.value-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:85px; border-top:1px solid #28162b40; }
.value-grid article { padding:34px 36px 0 0; }
.value-grid article+article { padding-left:36px; border-left:1px solid #28162b40; }
.value-grid span,.education-cards span { color:var(--coral); font-size:11px; font-weight:800; letter-spacing:.16em; }
.value-grid h3 { margin:42px 0 12px; font:400 27px/1.1 Georgia,serif; }
.value-grid p { margin:0; line-height:1.6; color:#28162bb3; }
.experience { background:var(--plum); color:var(--white); }
.section-heading-light .eyebrow { color:var(--yellow); }
.timeline { margin-top:90px; border-top:1px solid #fffdf840; }
.job { display:grid; grid-template-columns:70px 1fr 1fr; gap:4vw; padding:42px 0; border-bottom:1px solid #fffdf840; }
.job-number { color:var(--yellow); font-size:11px; letter-spacing:.16em; }
.job-date { margin:0 0 14px; color:var(--mint); font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.job h3 { margin:0 0 10px; font:400 clamp(24px,2.5vw,37px)/1.12 Georgia,serif; }
.job-company { margin:0; color:#fffdf8ad; }
.job-detail { align-self:end; }
.job-detail>p:first-child { margin:0 0 22px; max-width:550px; line-height:1.65; color:#fffdf8ca; }
.job-place { margin:0; font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.languages { padding:110px 9vw; display:grid; grid-template-columns:.55fr 1.45fr; gap:5vw; overflow:hidden; background:var(--yellow); }
.language-mark { align-self:center; color:color-mix(in srgb,var(--plum) 14%,transparent); font:400 clamp(110px,16vw,240px)/.55 Georgia,serif; letter-spacing:-.09em; user-select:none; }
.language-content { padding:120px 8vw; align-self:center; }
.language-content .eyebrow { color:var(--plum); }
.language-list { margin-top:70px; border-top:1px solid #28162b66; }
.language-list div { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:baseline; padding:21px 0; border-bottom:1px solid #28162b66; }
.language-list strong { font:400 27px/1.2 Georgia,serif; }
.language-list span { justify-self:end; text-align:right; font-size:13px; font-weight:700; }
.education { background:var(--white); }
.education-layout { margin:90px 0 0 31%; }
.education-photo { height:clamp(310px,38vw,570px); margin:0 0 25px; overflow:hidden; background:var(--cream); }
.education-photo img { width:100%; height:100%; object-fit:cover; object-position:center 52%; }
.education-cards { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.education-cards article { min-height:330px; padding:42px; background:var(--cream); display:flex; flex-direction:column; }
.education-cards .cert-card { background:var(--mint); }
.education-cards h3 { margin:auto 0 16px; max-width:480px; font:400 clamp(28px,3vw,43px)/1.12 Georgia,serif; }
.education-cards p { margin:0; line-height:1.6; color:#28162bb3; }
.contact { text-align:center; background:var(--coral); color:var(--ink); }
.contact .eyebrow { color:var(--ink); }
.contact h2 { margin:0; font-size:clamp(75px,11vw,160px); line-height:.9; }
.contact>p:not(.eyebrow) { max-width:570px; margin:34px auto; font:400 22px/1.5 Georgia,serif; }
.contact a { display:inline-flex; align-items:center; gap:25px; padding:16px 0; border-bottom:2px solid var(--ink); font-size:13px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.contact a span { font-size:22px; }
footer { padding:30px 4vw; display:grid; grid-template-columns:1fr auto auto 1fr; gap:28px; align-items:center; background:var(--ink); color:var(--white); font-size:12px; }
footer p:first-child { font:700 19px/1 Georgia,serif; }
footer p:last-child { justify-self:end; }
footer a { color:#fffdf8b3; }
.privacy-page { min-height:100vh; padding:72px max(7vw,24px) 110px; background:var(--cream); }
.privacy-top { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-bottom:34px; border-bottom:1px solid #28162b2e; }
.privacy-back { font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.privacy-page h1 { margin:90px 0 26px; font-size:clamp(62px,9vw,130px); line-height:.85; }
.privacy-updated { margin:0 0 80px; color:#28162b99; font-size:13px; }
.privacy-grid { display:grid; grid-template-columns:1fr 1fr; gap:7vw; }
.privacy-copy { max-width:720px; }
.privacy-copy>p:first-child { color:var(--coral); font-size:12px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.privacy-copy h2 { margin:48px 0 14px; font-size:30px; letter-spacing:-.025em; }
.privacy-copy p,.privacy-copy li { line-height:1.7; color:#28162bc2; }
.privacy-copy ul { padding-left:20px; }
.privacy-copy a { color:var(--plum); border-bottom:1px solid var(--plum); }
.not-found { min-height:100vh; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:7vw; padding:80px 9vw; overflow:hidden; background:var(--yellow); }
.not-found-code { position:relative; color:var(--plum); font:400 clamp(150px,27vw,390px)/.72 Georgia,serif; letter-spacing:-.12em; }
.not-found-code::after { content:""; position:absolute; z-index:-1; width:46%; aspect-ratio:1; right:-5%; bottom:-23%; border-radius:50%; background:var(--mint); }
.not-found-copy { position:relative; z-index:1; max-width:600px; }
.not-found-copy h1 { margin:0 0 34px; font-size:clamp(54px,7vw,105px); line-height:.9; }
.not-found-copy>p { max-width:510px; font:400 clamp(19px,2vw,27px)/1.45 Georgia,serif; }
.not-found-en { margin-top:28px; color:#28162b99; font-size:14px!important; }
.not-found .text-link { margin-top:26px; }
@media(max-width:900px){ .site-header{grid-template-columns:1fr auto;height:68px} nav{display:none}.hero{min-height:auto;grid-template-columns:1fr;padding:110px 7vw 80px;gap:70px}.hero-portrait{width:min(88%,520px);justify-self:end}.side-note{display:none}.section{padding:90px 7vw}.section-heading{grid-template-columns:1fr;gap:15px}.profile-content,.education-layout{margin-left:0}.languages{grid-template-columns:.42fr 1.58fr;padding:90px 7vw}.language-content{padding:30px 0}.privacy-grid{grid-template-columns:1fr}.privacy-copy{max-width:none}.not-found{grid-template-columns:1fr;align-content:center}.not-found-code{font-size:clamp(150px,45vw,310px)}}
@media(max-width:620px){ h1{font-size:clamp(65px,22vw,96px)}.hero-lead{margin-top:38px}.hero-support{font-size:15px}.value-grid{grid-template-columns:1fr;margin-top:55px}.value-grid article,.value-grid article+article{padding:28px 0;border-left:0;border-bottom:1px solid #28162b40}.value-grid h3{margin-top:22px}.job{grid-template-columns:42px 1fr;gap:16px}.job-detail{grid-column:2}.languages{grid-template-columns:1fr}.language-mark{display:none}.language-list div{grid-template-columns:1fr;gap:6px}.language-list span{justify-self:start;text-align:left}.education-photo{height:75vw}.education-cards{grid-template-columns:1fr}.education-cards article{min-height:280px;padding:30px}footer{grid-template-columns:1fr;gap:14px;text-align:center}footer p,footer p:last-child{justify-self:center;margin:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
