@charset "UTF-8";
@font-face{font-family:"Poiret One";src:url("fonts/PoiretOne-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
:root{color-scheme:light;--bg:#fce5cd;--panel:#fce5cd;--ink:#000;--muted:#000;--line:#b9a58f;--accent:#000;--max:1080px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Poiret One",sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}a:hover{color:var(--accent)}a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--bg)}.wrap{max-width:var(--max);width:calc(100% - 80px);margin:auto}.skip{position:absolute;top:-100px;padding:10px;background:var(--bg);color:#000}.skip:focus{top:10px;z-index:5}.header{display:flex;justify-content:space-between;align-items:center;min-height:96px;border-bottom:1px solid var(--line)}.brand{font-size:16px;font-weight:700;letter-spacing:.02em;text-decoration:none}.brand span{display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid #000;border-radius:50%;color:var(--accent);font-size:12px;margin-right:12px}nav{display:flex;gap:28px;font-size:13px;color:var(--muted)}nav a{text-decoration:none}.hero{padding:58px 0 60px}.eyebrow{display:flex;gap:10px;align-items:center;font-size:13px;letter-spacing:.17em;text-transform:uppercase;color:var(--accent);font-weight:700}.eyebrow:before{content:"";width:6px;height:6px;background:var(--accent);border-radius:50%}.intro{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:15px 0 33px}h1{font-family:"Poiret One",sans-serif;font-weight:700;letter-spacing:-.045em;font-size:clamp(48px,6.5vw,78px);line-height:1.05;margin:0}.intro-side{font-size:13px;color:var(--muted);text-align:right;white-space:nowrap;margin:0 0 4px}.summary-box{border:1px solid var(--line);border-radius:16px;padding:28px 30px 25px;background:var(--bg)}.summary-box h2{margin:0 0 4px;font-size:25px;letter-spacing:-.015em;font-weight:700}.strapline{font-size:16px;color:var(--muted);margin:0 0 12px}.summary-text{font-size:19px;line-height:1.65;max-width:930px;margin:0 0 21px}.expertise{display:grid;grid-template-columns:1fr 1fr;column-gap:52px;row-gap:16px;border-top:1px solid var(--line);padding-top:21px}.expertise h3{font-size:17px;margin:0 0 2px;font-weight:700;letter-spacing:.005em}.expertise p{font-size:17px;line-height:1.6;color:#000;margin:0}.actions{display:flex;align-items:center;gap:22px;margin-top:25px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:23px;background:var(--bg);color:#000;border:1px solid var(--accent);padding:12px 20px;border-radius:5px;font-weight:700;font-size:16px;text-decoration:none;min-height:48px}.button:hover{background:#f3d4b4;color:#000}.text-link{font-size:16px;text-decoration:none;border-bottom:1px solid #000;padding-bottom:2px}.download-note{font-size:12px;color:var(--muted);margin-left:auto}.section{display:grid;grid-template-columns:225px 1fr;gap:45px;border-top:1px solid var(--line);padding:47px 0 55px}.section-label .number{font-size:13px;color:#000;letter-spacing:.13em;margin:0 0 8px}.section-label h2{font-family:"Poiret One",sans-serif;font-size:29px;font-weight:700;letter-spacing:-.02em;margin:0}.section-label p{font-size:13px;color:var(--muted);max-width:180px;margin-top:14px}.experience{border-bottom:1px solid var(--line);padding:21px 0}.experience:first-child{padding-top:0}.experience:last-child{border-bottom:0;padding-bottom:0}.role-top{display:flex;gap:15px;justify-content:space-between;align-items:baseline}.role-top h3{font-size:18px;font-weight:700;margin:0}.dates{font-size:12px;color:var(--muted);white-space:nowrap}.role-title{font-size:16px;margin:2px 0 8px;color:#000}.experience p.description{font-size:16px;color:var(--muted);margin:0;max-width:720px}.tag{display:inline-block;font-size:12px;border:1px solid #000;color:var(--accent);padding:1px 7px;border-radius:20px;vertical-align:middle;margin-left:8px;letter-spacing:.02em}.earlier{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.earlier>summary{cursor:pointer;font-size:13px;color:var(--accent);padding:5px 0}.earlier .experience:first-of-type{padding-top:22px}.education-list{display:grid;grid-template-columns:1fr 1fr;gap:25px 35px}.education-list h3{font-size:17px;font-weight:700;margin:0 0 5px}.education-list p{font-size:13px;color:var(--muted);margin:0}.languages{display:flex;gap:35px;margin-top:35px;padding-top:24px;border-top:1px solid var(--line);font-size:13px}.languages strong{font-weight:700}.languages span{color:var(--muted);margin-left:7px}.contact{padding:46px 0 54px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;align-items:center}.contact h2{font-family:"Poiret One",sans-serif;font-size:37px;letter-spacing:-.025em;font-weight:700;margin:8px 0 10px}.contact p{color:var(--muted);font-size:16px;margin:0;max-width:540px}.contact .actions{margin:0;flex-shrink:0}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:22px 0 30px;color:var(--muted);font-size:13px}footer a{text-decoration:none}.footer-links{display:flex;gap:20px}
@media(min-width:1400px){.hero{padding-top:70px}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.section{grid-template-columns:170px 1fr;gap:22px}.expertise{column-gap:28px}.contact{align-items:start;flex-direction:column}.intro-side{white-space:normal;max-width:180px}.download-note{display:none}}
@media(max-width:580px){.header{min-height:78px}.brand span{display:none}.brand{font-size:12px}nav{gap:16px;font-size:12px}nav a:nth-child(2){display:none}.hero{padding:36px 0 40px}.intro{display:block;margin-bottom:24px}h1{font-size:49px;max-width:320px}.intro-side{text-align:left;max-width:none;margin-top:16px;font-size:12px}.intro-side br{display:none}.summary-box{padding:21px 20px 23px;border-radius:12px}.summary-box h2{font-size:21px;line-height:1.35;margin-bottom:9px}.strapline{font-size:12px;line-height:1.75}.summary-text{font-size:16px;line-height:1.65}.expertise{grid-template-columns:1fr;gap:19px;padding-top:19px}.expertise h3{font-size:16px}.expertise p{font-size:16px}.actions{gap:18px}.button{padding:11px 16px;font-size:13px}.text-link{font-size:13px}.section{grid-template-columns:1fr;gap:26px;padding:32px 0 38px}.section-label p{max-width:none;margin:7px 0 0}.section-label h2{font-size:28px}.role-top{display:block}.dates{display:block;margin:3px 0 5px}.role-top h3{font-size:17px}.education-list{grid-template-columns:1fr;gap:22px}.languages{flex-direction:column;gap:8px;margin-top:25px}.contact h2{font-size:32px}.contact{padding:35px 0}.contact .actions{flex-wrap:wrap}footer{flex-direction:column;gap:10px}.eyebrow{font-size:12px;letter-spacing:.13em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Poiret One ships as a single regular weight; synthesize a much heavier face. */
body{font-weight:700;-webkit-text-stroke:0px currentColor}
h1,h2,h3,.brand,.eyebrow,.button,.languages strong{font-weight:700}
h1{-webkit-text-stroke:.15px currentColor}

/* Airier typography, portrait, and native keyboard-accessible language disclosure. */
body{letter-spacing:.025em}
h1{letter-spacing:-.015em}
.summary-box h2,.section-label h2,.contact h2{letter-spacing:.015em}
.header{gap:26px}nav{margin-left:auto}
.language-menu{position:relative;flex-shrink:0;font-size:14px;z-index:2}
.language-menu summary{display:flex;align-items:center;gap:9px;list-style:none;cursor:pointer;min-height:44px;padding:7px 10px;border:1px solid var(--line);border-radius:5px}
.language-menu summary::-webkit-details-marker{display:none}
.language-menu img{object-fit:cover;border:1px solid #0002;border-radius:1px;flex-shrink:0}
.language-options{position:absolute;right:0;top:calc(100% + 8px);min-width:165px;padding:6px;background:var(--bg);border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 24px #0002}
.language-options a{display:flex;align-items:center;gap:12px;padding:9px 12px;text-decoration:none;border-radius:3px}
.language-options a:hover,.language-options a[aria-current=page]{background:#efd1b0}
.intro{align-items:center;gap:40px}.identity{min-width:0;flex:1}.intro-side{text-align:left;margin:18px 0 0;max-width:none}.intro-side br{display:none}
.portrait{width:200px;height:200px;object-fit:cover;object-position:56% 42%;border-radius:50%;border:1px solid var(--line);flex-shrink:0}
h1{font-size:clamp(44px,5.5vw,70px)}
@media(max-width:800px){.header{flex-wrap:wrap;gap:6px 18px;padding:14px 0}.brand{margin-right:auto}nav{order:3;width:100%;justify-content:flex-end;gap:24px}.intro{gap:24px}.portrait{width:160px;height:160px}}
@media(max-width:580px){.header{min-height:90px}.language-menu{font-size:13px}.language-menu summary{padding:4px 7px;gap:7px}.intro{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:22px}.portrait{width:154px;height:154px;align-self:center}.identity{width:100%}h1{font-size:46px;max-width:none}.intro-side{font-size:13px;margin-top:15px}.hero{padding-top:28px}nav a:nth-child(2){display:inline}.role-top h3{overflow-wrap:anywhere}.contact .actions{flex-shrink:1}.contact h2{overflow-wrap:anywhere}}

/* Readable body typography, with Poiret reserved for display headings. */
@font-face{font-family:"Noto Sans";src:url("fonts/NotoSans-Variable.ttf") format("truetype");font-style:normal;font-weight:100 900;font-display:swap}
body{font-family:"Noto Sans",sans-serif;font-weight:400;letter-spacing:.005em;-webkit-text-stroke:0}
h1,.summary-box h2,.section-label h2,.contact h2{font-family:"Poiret One",sans-serif;font-weight:700;-webkit-text-stroke:0;letter-spacing:.015em}
h1{letter-spacing:-.015em}
h3,.brand,.eyebrow,.button,.languages strong{font-weight:600}
.summary-text{font-size:17px;line-height:1.7}.expertise p{font-size:15px}.expertise h3{font-weight:600}
.education-list{display:flex;flex-direction:column;gap:0}
.education-list>div{padding:21px 0;border-bottom:1px solid var(--line)}
.education-list>div:first-child{padding-top:0}.education-list>div:last-child{padding-bottom:0;border-bottom:0}
.education-list h3{font-size:18px;font-weight:600;margin-bottom:5px}.education-list p{font-size:14px}
.contact-icons{display:flex;align-items:center;gap:12px}
.icon-button{width:50px;height:50px;min-width:50px;min-height:50px;padding:12px;gap:0}
.icon-button svg{width:24px;height:24px;display:block}
#experience-title{font-size:25px;line-height:1.6}
@media(max-width:580px){.summary-text{font-size:16px}.brand{font-size:11px}.language-menu{font-size:12px}.actions{gap:15px}.icon-button{width:44px;height:44px;min-width:44px;min-height:44px;padding:10px}.contact-icons{gap:8px}.education-list h3{font-size:17px}#experience-title{font-size:25px}.strapline{font-size:13px}}

.duties{font-size:14px;line-height:1.7;margin:8px 0 0;padding-left:19px}.duties li+li{margin-top:6px}.role-top h3{min-width:0}.role-top .dates{flex-shrink:0}

/* Equal space around the name/photo block; language selector replaces the wordmark. */
.hero{padding-top:33px}.intro{margin-top:0;margin-bottom:33px}
.language-options{left:0;right:auto}
.tag{font-weight:500;white-space:normal;line-height:1.6}
@media(max-width:580px){.hero{padding-top:24px}.intro{margin-top:0;margin-bottom:24px}.tag{margin:6px 0 2px;display:table;max-width:100%}}

/* Monochrome theme: bright text and controls with quieter structural rules. */
:root{color-scheme:dark;--bg:#080808;--panel:#101010;--ink:#f5f5f5;--muted:#c9c9c9;--line:rgba(255,255,255,.25);--accent:#fff}
body{background:var(--bg);color:var(--ink)}
a:hover{color:#fff}
.summary-box{background:var(--panel);border-color:rgba(255,255,255,.34)}
.strapline,.intro-side,.dates,.download-note,.experience p.description,.education-list p,.languages span,footer{color:var(--muted)}
.expertise p,.role-title,.duties{color:#dedede}
.section-label .number{color:#bbb}
.button{background:transparent;color:#fff;border-color:rgba(255,255,255,.8)}
.button:hover{background:#fff;color:#080808;border-color:#fff}
.button svg{color:inherit}
.text-link{border-color:rgba(255,255,255,.6)}
.tag{color:#eee;border-color:rgba(255,255,255,.55);background:#131313}
.language-menu summary{border-color:rgba(255,255,255,.65);background:#101010;color:#fff}
.language-options{background:#141414;border-color:rgba(255,255,255,.4);box-shadow:0 12px 30px #0008}
.language-options a:hover,.language-options a[aria-current=page]{background:#303030;color:#fff}
.language-menu img{filter:none;border-color:#ffffff40}
.portrait{border-color:rgba(255,255,255,.65);filter:none}
.skip{background:#fff;color:#080808}
::selection{background:#eee;color:#080808}
.button,.language-options a{transition:background-color .16s ease,color .16s ease}
@media(prefers-reduced-motion:reduce){.button,.language-options a{transition:none}}

/* Preserve flag colors and recognizable contact brand colors. */
.icon-button[href^="https://wa.me/"] svg{color:#25d366}
.icon-button[href*="linkedin.com"] svg{color:#378fe9}

/* One specialty per row, without bullets or punctuation. */
.section-label #experience-title{font-family:"Noto Sans",sans-serif;font-size:13px;font-weight:400;letter-spacing:.13em;line-height:1.6;margin:0 0 14px}
.sector-list{list-style:none;padding:0;margin:0;font-family:"Poiret One",sans-serif;font-size:21px;font-weight:700;line-height:1.55;letter-spacing:.015em}
.sector-list li+li{margin-top:7px}

.header-tools{display:flex;align-items:center;gap:10px}
.theme-toggle{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.65);border-radius:5px;background:#101010;color:#fff;cursor:pointer;padding:10px;flex-shrink:0}
.theme-toggle svg{width:22px;height:22px}.theme-toggle:hover{background:#252525}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.theme-toggle .moon-icon{display:none}
html[data-theme="light"]{color-scheme:light;--bg:#fce5cd;--panel:#fff0e1;--ink:#111;--muted:#45403a;--line:rgba(0,0,0,.25);--accent:#000}
html[data-theme="light"] .summary-box{border-color:#b9a58f;background:var(--panel)}
html[data-theme="light"] a:hover{color:#000}
html[data-theme="light"] .expertise p,html[data-theme="light"] .role-title,html[data-theme="light"] .duties{color:#25211e}
html[data-theme="light"] .section-label .number{color:#45403a}
html[data-theme="light"] .button{color:#111;border-color:#555;background:transparent}
html[data-theme="light"] .button:hover{background:#ead0b4;color:#000}
html[data-theme="light"] .text-link{border-color:#666}
html[data-theme="light"] .tag{color:#222;border-color:#777;background:#f7dcc0}
html[data-theme="light"] .language-menu summary,html[data-theme="light"] .theme-toggle{border-color:#928373;background:transparent;color:#111}
html[data-theme="light"] .language-options{background:#fff0e1;border-color:#928373;box-shadow:0 12px 30px #0002}
html[data-theme="light"] .language-options a:hover,html[data-theme="light"] .language-options a[aria-current=page],html[data-theme="light"] .theme-toggle:hover{background:#ead0b4;color:#000}
html[data-theme="light"] .language-menu img{border-color:#0003}
html[data-theme="light"] .portrait{border-color:#928373}
html[data-theme="light"] .theme-toggle .sun-icon{display:none}
html[data-theme="light"] .theme-toggle .moon-icon{display:block}
html[data-theme="light"] ::selection{background:#222;color:#fff}

/* Final spacing and control alignment. */
.header{min-height:88px}.header-tools{gap:10px}
.language-menu summary{height:44px;padding:8px 12px;font-size:13px}
.theme-toggle{background:transparent}
.intro{gap:32px}.summary-box{padding:28px 30px;border-radius:14px}
.summary-box h2{line-height:1.35;margin-bottom:9px}
.strapline{font-size:14px;line-height:1.7;margin-bottom:14px}
.expertise{row-gap:22px}.expertise h3{margin-bottom:5px;font-size:16px}
.actions{gap:16px;margin-top:24px}
.cv-button{height:50px;padding:12px 22px;font-size:14px}
.icon-button{border-color:var(--line)}
.button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.download-note{text-decoration:none;font-size:12px}
.role-top{align-items:flex-start;gap:16px}.role-top h3{font-size:17px;line-height:1.65;font-weight:600}.role-top .dates{padding-top:5px}
.tag{font-size:11px;vertical-align:middle;letter-spacing:0}
.role-title{font-size:14px;margin:4px 0 10px}.duties{line-height:1.75}
.earlier{margin-top:24px;padding-top:12px}.earlier>summary{padding:10px 0;font-size:13px}
.languages{gap:28px}.contact{padding:34px 0}.contact h2{margin:0;font-size:32px}
@media(max-width:800px){.header{min-height:88px;padding:14px 0;gap:12px}nav{order:initial;width:auto;justify-content:flex-end;gap:20px}.role-top{flex-wrap:wrap;gap:2px 16px}}
@media(max-width:580px){.header{align-items:center;gap:12px}.header-tools{gap:8px}nav{width:100%;justify-content:space-between;margin:0;font-size:12px}.summary-box{padding:22px 20px}.summary-box h2{font-size:22px}.strapline{font-size:13px}.actions{gap:12px}.cv-button{padding:10px 16px;height:46px}.icon-button{width:44px;height:44px}.contact-icons{gap:8px}.role-top .dates{padding-top:0}.tag{display:table;margin:5px 0 3px}.languages{gap:10px}.contact{flex-direction:row;align-items:center;gap:16px}.contact h2{font-size:29px}footer{line-height:1.8}}

/* Summary shares the page background in either theme. */
.summary-box,html[data-theme="light"] .summary-box{background:var(--bg)}
.education-list .education-dates{font-size:12px;color:var(--muted);margin:3px 0 7px;letter-spacing:.02em}

/* Larger header labels and a shared, opaque outline for framed controls. */
:root{--control-border:#ccc}
html[data-theme="light"]{--control-border:#555}
.header nav{font-size:15px}
.header .language-menu summary{font-size:15px}
.summary-box,.button,.icon-button,.language-menu summary,.theme-toggle,
html[data-theme="light"] .summary-box,html[data-theme="light"] .button,
html[data-theme="light"] .language-menu summary,html[data-theme="light"] .theme-toggle{border:1px solid var(--control-border)}
@media(max-width:580px){.header nav{font-size:14px}.header .language-menu summary{font-size:14px}}

/* Exact monochrome text throughout; brand icons and flags retain their colors. */
:root{--ink:#fff;--muted:#fff;--accent:#fff}
html[data-theme="light"]{--ink:#000;--muted:#000;--accent:#000}
body{color:var(--ink)!important}
body :is(h1,h2,h3,h4,p,span,a,li,strong,summary,button,nav,footer,label,small,time,div){color:var(--ink)!important}
html[data-theme] body :is(h1,h2,h3,h4,p,span,a,li,strong,summary,button,nav,footer,label,small,time,div){color:var(--ink)!important}
html:not([data-theme="light"]) .button:hover,html:not([data-theme="light"]) .button:hover span{color:#000!important}
html:not([data-theme="light"]) .button:hover svg{color:#000}
html:not([data-theme="light"]) .skip{color:#000!important}
.icon-button[href^="https://wa.me/"] svg,html:not([data-theme="light"]) .icon-button[href^="https://wa.me/"]:hover svg{color:#25d366}
.icon-button[href*="linkedin.com"] svg,html:not([data-theme="light"]) .icon-button[href*="linkedin.com"]:hover svg{color:#378fe9}

/* CV and contact controls align with the summary frame's outer edges. */
.hero-actions{justify-content:space-between;flex-wrap:nowrap;width:100%}
.hero-actions .contact-icons{margin-left:auto}
.hero-actions .button{height:50px;min-height:50px}
.footer-contacts{display:flex;justify-content:space-between;align-items:center;gap:24px;width:100%;flex-wrap:wrap}
.labeled-contact{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-size:15px}
.labeled-contact .icon-button{display:grid;place-items:center;transition:background-color .16s ease}
.labeled-contact:hover .icon-button{background:#292929}
html[data-theme="light"] .labeled-contact:hover .icon-button{background:#ead0b4}
.icon-button[data-brand="whatsapp"] svg{color:#25d366}
.icon-button[data-brand="linkedin"] svg{color:#378fe9}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;border:0!important}
@media(max-width:580px){.hero-actions{gap:10px}.hero-actions .button{height:44px;min-height:44px}.hero-actions .cv-button{padding:10px 13px;gap:10px;font-size:13px}.footer-contacts{gap:18px;justify-content:flex-start}.labeled-contact{font-size:14px;gap:10px}}

/* Shared corners for frames and controls; vertically stacked contact labels. */
:root{--corner-radius:5px}
.summary-box,.button,.tag,.language-menu summary,.language-options,.language-options a,.theme-toggle{border-radius:var(--corner-radius)}
.footer-contacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:18px}
.labeled-contact{flex-direction:column;justify-self:center;gap:10px;font-family:"Poiret One",sans-serif;font-size:20px;font-weight:700;line-height:1.3;text-align:center}
@media(max-width:580px){.labeled-contact{font-size:17px}.footer-contacts{gap:12px}}
