:root{--blue: #4d9ce5;--blue-dark: #155e94;--divider: #c8ced4;--ink: #080a0d;--muted: #676c73;--paper: #f5f5f2;--white: #ffffff;--yellow: #f5f455;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: Iowan Old Style, Baskerville, "Times New Roman", serif;--page-padding: clamp(20px, 4.7vw, 72px);--page-width: 1500px;--site-header-height: 112px;color:var(--ink);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}main [id]{scroll-margin-top:var(--site-header-height)}body{margin:0;min-width:320px}button,a{transition:background-color .16s ease,color .16s ease,transform .16s ease}button:focus-visible,a:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}.section{padding:clamp(90px,11vw,170px) var(--page-padding)}.section-heading{max-width:880px}.section-heading__eyebrow{font-size:.74rem;font-weight:750;letter-spacing:.12em;margin:0 0 24px;text-transform:uppercase}.section-heading__title{font-family:var(--font-serif);font-size:clamp(3.1rem,6.6vw,6.5rem);font-weight:500;letter-spacing:-.06em;line-height:1.05;margin:0}.section-heading--light{color:var(--white)}.button{align-items:center;display:inline-flex;font-family:var(--font-mono);font-size:.76rem;gap:24px;justify-content:space-between;padding:17px 20px;text-decoration:none}.button--primary{background:var(--ink);border:1px solid var(--ink);color:var(--white)}.button--secondary{background:transparent;border:1px solid var(--ink);color:var(--ink)}.button--primary:hover,.button--primary:focus-visible,.button--secondary:hover,.button--secondary:focus-visible{background:var(--yellow);color:var(--ink);transform:translateY(-2px)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}button,a{transition:none}}@media(max-width:760px){:root{--site-header-height: 84px}}.about{background:var(--white)}.about__intro{display:grid;gap:clamp(50px,8vw,130px);grid-template-columns:1.1fr .9fr}.about__copy{padding-top:52px}.about__paragraph{font-family:var(--font-serif);font-size:clamp(1.25rem,2.2vw,1.75rem);line-height:1.45;margin:0 0 28px}.about__visual-block{align-items:stretch;display:grid;gap:clamp(52px,6vw,104px);grid-template-columns:minmax(300px,460px) minmax(0,1fr);justify-content:center;margin-top:100px}.about__visual-wrapper{align-items:center;display:flex;margin:0;max-width:460px;width:100%}.about__visual-picture{display:block;width:100%}.about__visual{display:block;height:auto;width:100%}.about__principles{background:var(--yellow);display:flex;flex-direction:column;justify-content:center;list-style:none;margin:0;min-height:488px;padding:clamp(32px,6vw,80px)}.about__principle{border-top:1px solid var(--ink);display:grid;font-size:clamp(1.25rem,2.6vw,2.1rem);font-weight:700;gap:24px;grid-template-columns:44px 1fr;padding:26px 0}.about__principle:last-child{border-bottom:1px solid var(--ink)}.about__principle-number{font-family:var(--font-mono);font-size:.7rem;padding-top:8px}.about__timeline-block{display:grid;gap:60px;grid-template-columns:.55fr 1.45fr;margin-top:120px}.about__timeline-title{font-family:var(--font-serif);font-size:clamp(2.2rem,4vw,3.7rem);font-weight:500;letter-spacing:-.05em;line-height:1.05;margin:0}.about__timeline{list-style:none;margin:0;padding:0}.about__timeline-item{border-top:1px solid var(--divider);display:grid;gap:30px;grid-template-columns:140px 1fr;padding:28px 0 36px}.about__timeline-item:last-child{border-bottom:1px solid var(--divider)}.about__timeline-period{font-family:var(--font-mono);font-size:.72rem}.about__timeline-organization{font-size:1.45rem;font-weight:800;margin:0}.about__timeline-role{color:var(--blue-dark);font-weight:700;margin:5px 0 14px}.about__timeline-description{color:var(--muted);line-height:1.55;margin:0}.about__curriculum-vitae-action{align-items:center;background:var(--blue);border:0;color:var(--ink);display:inline-flex;font-family:var(--font-mono);font-size:.78rem;grid-column:1/-1;justify-self:center;margin-top:0;padding:18px 22px}.about__curriculum-vitae-action:hover,.about__curriculum-vitae-action:focus-visible{background:var(--yellow);color:var(--ink)}@media(max-width:820px){.about__intro,.about__visual-block,.about__timeline-block{grid-template-columns:1fr}.about__copy{padding-top:0}.about__visual-block{gap:40px;margin-top:70px}.about__visual-wrapper{justify-self:center;max-width:460px}.about__principles{min-height:0}.about__timeline-item{grid-template-columns:1fr}}.contact{background:var(--blue);text-align:center}.contact__eyebrow{font-size:.76rem;font-weight:750;letter-spacing:.12em;margin:0 0 28px;text-transform:uppercase}.contact__title{font-family:var(--font-serif);font-size:clamp(4rem,9vw,9rem);font-weight:500;letter-spacing:-.065em;line-height:1.04;margin:0 auto;max-width:1000px}.contact__description{font-size:1.12rem;line-height:1.6;margin:38px auto 0;max-width:660px}.contact__form{margin:42px auto 0;max-width:660px;text-align:left}.contact__form-row{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.contact__field{display:block;margin-top:16px}.contact__field-label{display:block;font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.04em;margin-bottom:8px;text-transform:uppercase}.contact__field-input{background:#ffffffd9;border:1px solid var(--ink);border-radius:0;box-sizing:border-box;color:var(--ink);font:inherit;padding:13px 14px;width:100%}.contact__field-input:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}.contact__field-input--message{min-height:150px;resize:vertical}.contact__action{align-items:center;background:var(--ink);color:var(--white);display:inline-flex;font-family:var(--font-mono);font-size:.78rem;gap:28px;border:0;cursor:pointer;margin-top:22px;padding:18px 22px;text-decoration:none}.contact__action:disabled{cursor:wait;opacity:.7}.contact__action:hover,.contact__action:focus-visible{background:var(--yellow);color:var(--ink)}.contact__privacy-notice{font-size:.84rem;line-height:1.45;margin:16px 0 0}.contact__privacy-notice a{color:var(--ink);text-decoration-thickness:1px;text-underline-offset:3px}.contact__links{display:flex;flex-wrap:wrap;gap:30px;justify-content:center;margin-top:100px}.contact__feedback{font-weight:700;margin:18px 0 0}.contact__feedback--success{color:var(--ink)}.contact__feedback--error{color:#7d1622}.contact__link{align-items:center;border-bottom:1px solid var(--ink);color:var(--ink);display:inline-flex;gap:7px;font-weight:750;padding-bottom:6px;text-decoration:none}.contact__link-icon{font-size:1.05rem}.contact__link-arrow{font-size:.9rem}@media(max-width:640px){.contact__form-row{grid-template-columns:1fr}}.cookie-consent{bottom:20px;left:20px;position:fixed;right:20px;z-index:30}.cookie-consent__panel{background:var(--ink);box-shadow:0 16px 42px #080a0d3d;color:var(--white);margin-left:auto;max-width:560px;padding:28px}.cookie-consent__brand{background:var(--paper);color:var(--ink);display:inline-block;font-family:var(--font-sans);font-size:1.6rem;font-weight:800;letter-spacing:-.08em;margin:0 0 20px;padding:14px var(--page-padding)}.cookie-consent__brand-dot{color:var(--blue)}.cookie-consent__title{font-family:var(--font-serif);font-size:clamp(2.2rem,5vw,3.3rem);font-weight:500;letter-spacing:-.055em;line-height:1;margin:0}.cookie-consent__description{line-height:1.55;margin:16px 0 0}.cookie-consent__preferences{border-top:1px solid rgba(255,255,255,.3019607843);margin-top:24px}.cookie-consent__preference{align-items:center;border-bottom:1px solid rgba(255,255,255,.3019607843);display:flex;gap:20px;justify-content:space-between;padding:16px 0}.cookie-consent__preference-title{display:block;font-weight:750;margin:0}.cookie-consent__preference-description{color:#ffffffb3;display:block;font-size:.88rem;line-height:1.45;margin-top:5px}.cookie-consent__required{color:var(--yellow);font-family:var(--font-mono);font-size:.72rem;white-space:nowrap}.cookie-consent__toggle{accent-color:var(--yellow);flex:0 0 auto;height:20px;width:20px}.cookie-consent__actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.cookie-consent__button{border:1px solid var(--white);cursor:pointer;font-family:var(--font-mono);font-size:.72rem;padding:13px 15px}.cookie-consent__button--primary{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}.cookie-consent__button--secondary{background:transparent;color:var(--white)}.cookie-consent__customize{background:transparent;border:0;color:var(--white);cursor:pointer;font:inherit;font-size:.8rem;padding:10px 0;text-decoration:underline;text-underline-offset:4px}.cookie-consent__button:hover,.cookie-consent__button:focus-visible{transform:translateY(-2px)}@media(max-width:640px){.cookie-consent{bottom:12px;left:12px;right:12px}.cookie-consent__panel{padding:24px}.cookie-consent__actions{align-items:stretch;flex-direction:column}.cookie-consent__button{width:100%}}.cv-document-projects{list-style:none;margin:0;padding:0}.cv-document-projects__item{border-top:1px solid var(--cv-divider);break-inside:avoid;display:grid;gap:4mm;grid-template-columns:9mm 1fr;padding:4mm 0 5mm}.cv-document-projects__item:last-child{border-bottom:1px solid var(--cv-divider)}.cv-document-projects__number{font-family:var(--cv-mono);font-size:7pt;font-weight:700;margin:0}.cv-document-projects__category{color:var(--cv-blue-dark);font-family:var(--cv-mono);font-size:6.5pt;font-weight:700;letter-spacing:.07em;margin:0 0 1.2mm;text-transform:uppercase}.cv-document-projects__title{font-family:var(--cv-serif);font-size:14pt;font-weight:500;letter-spacing:-.045em;line-height:1;margin:0}.cv-document-projects__description{color:var(--cv-muted);font-size:8.3pt;line-height:1.4;margin:2.2mm 0 2.5mm}.cv-document-projects__technologies{display:flex;flex-wrap:wrap;gap:1.4mm;list-style:none;margin:0;padding:0}.cv-document-projects__technologies li{border:1px solid var(--cv-ink);font-family:var(--cv-mono);font-size:6.4pt;padding:1mm 1.5mm}.cv-document-section{break-inside:avoid}.cv-document-section__heading{align-items:baseline;border-top:1px solid var(--cv-ink);display:flex;gap:4mm;margin-bottom:4mm;padding-top:2.5mm}.cv-document-section__number{font-family:var(--cv-mono);font-size:7pt;font-weight:700}.cv-document-section__title{font-size:10.5pt;font-weight:800;letter-spacing:-.025em;margin:0}.cv-document-sidebar{background:var(--cv-paper);display:flex;flex-direction:column;gap:7mm;padding:8mm 6mm}.cv-document-sidebar__portrait{background:var(--cv-blue-dark);height:65mm;margin:0 0 1mm;overflow:hidden;position:relative}.cv-document-sidebar__portrait:before{background:var(--cv-yellow);content:"";height:9mm;left:-3mm;position:absolute;top:-3mm;width:9mm;z-index:1}.cv-document-sidebar__portrait-image{display:block;height:100%;object-fit:cover;object-position:center 28%;transform:scale(1.18);transform-origin:center 28%;width:100%}.cv-document-sidebar__contact-list,.cv-document-sidebar__list{list-style:none;margin:0;padding:0}.cv-document-sidebar__contact-list{display:grid;gap:3mm}.cv-document-sidebar__contact-item{display:grid;gap:.7mm}.cv-document-sidebar__contact-item span{color:var(--cv-muted);font-family:var(--cv-mono);font-size:6.5pt;text-transform:uppercase}.cv-document-sidebar__contact-item a{color:var(--cv-ink);font-size:7.5pt;overflow-wrap:anywhere;text-decoration:none}.cv-document-sidebar__list{display:grid;gap:2.6mm}.cv-document-sidebar__list li{font-size:8pt;line-height:1.35}.cv-document-timeline{list-style:none;margin:0;padding:0}.cv-document-timeline__item{border-top:1px solid var(--cv-divider);break-inside:avoid;display:grid;gap:4mm;grid-template-columns:29mm 1fr;padding:3.5mm 0 4.5mm}.cv-document-timeline__item:last-child{border-bottom:1px solid var(--cv-divider)}.cv-document-timeline__period{font-family:var(--cv-mono);font-size:7pt;line-height:1.35;margin:0}.cv-document-timeline__organization{font-size:10pt;font-weight:800;letter-spacing:-.03em;margin:0}.cv-document-timeline__role{color:var(--cv-blue-dark);font-size:8pt;font-weight:750;margin:1.2mm 0 1.8mm}.cv-document-timeline__description{color:var(--cv-muted);font-family:var(--cv-serif);font-size:8.2pt;line-height:1.38;margin:0}.cv-document-timeline__highlights{display:grid;gap:1.4mm;list-style:none;margin:2.4mm 0 0;padding:0}.cv-document-timeline__highlights li{color:var(--cv-muted);font-size:7.6pt;line-height:1.35;padding-left:3mm;position:relative}.cv-document-timeline__highlights li:before{background:var(--cv-blue-dark);content:"";height:1.2mm;left:0;position:absolute;top:.48em;width:1.2mm}.expertise{background:var(--paper)}.expertise__grid{display:grid;gap:clamp(48px,8vw,120px);grid-template-columns:minmax(280px,.8fr) minmax(340px,1.2fr);margin-top:76px}.expertise__method{background:var(--blue);box-sizing:border-box;color:var(--ink);max-width:480px;min-height:500px;padding:clamp(28px,4vw,46px)}.expertise__method-eyebrow{font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:.09em;margin:0;text-transform:uppercase}.expertise__method-title{font-family:var(--font-serif);font-size:clamp(2.2rem,4vw,3.35rem);font-weight:500;letter-spacing:-.05em;line-height:1.05;margin:18px 0 42px;max-width:380px}.expertise__method-list{border-top:1px solid rgba(8,10,13,.5019607843);list-style:none;margin:0;padding:0}.expertise__method-step{border-bottom:1px solid rgba(8,10,13,.5019607843);display:grid;gap:16px;grid-template-columns:30px 1fr;padding:18px 0}.expertise__method-number{font-family:var(--font-mono);font-size:.68rem;font-weight:700;padding-top:4px}.expertise__method-copy{display:grid;gap:5px}.expertise__method-step-title{font-size:1.08rem;letter-spacing:-.025em;margin:0}.expertise__method-step-description{font-family:var(--font-serif);font-size:.98rem;line-height:1.35;margin:0}.expertise__list{list-style:none;margin:0;padding:0}.expertise__item{border-top:1px solid var(--divider);padding:26px 0 30px}.expertise__item:last-child{border-bottom:1px solid var(--divider)}.expertise__item-header{align-items:baseline;display:flex;justify-content:space-between}.expertise__item-title{font-size:clamp(1.7rem,3.2vw,2.75rem);letter-spacing:-.045em;margin:0}.expertise__item-number{font-family:var(--font-mono);font-size:.72rem}.expertise__item-description{color:var(--muted);line-height:1.65;margin:14px 0 0;max-width:580px}@media(max-width:820px){.expertise__grid{grid-template-columns:1fr}.expertise__method{max-width:none}}.site-footer{align-items:center;background:var(--ink);color:var(--white);display:grid;font-family:var(--font-mono);font-size:.68rem;gap:20px;grid-template-columns:1fr auto auto auto;padding:30px var(--page-padding)}.site-footer__availability,.site-footer__copyright{margin:0}.site-footer__legal{color:var(--white);text-decoration:none}.site-footer__legal:hover,.site-footer__legal:focus-visible{color:var(--yellow)}.site-footer__back{align-items:center;border:1px solid rgba(255,255,255,.3215686275);color:var(--white);display:flex;height:42px;justify-content:center;text-decoration:none;width:42px}.site-footer__back:hover,.site-footer__back:focus-visible{background:var(--yellow);color:var(--ink)}@media(max-width:700px){.site-footer{grid-template-columns:1fr auto}.site-footer__copyright{grid-column:1;grid-row:2}.site-footer__legal{grid-column:1;grid-row:3}.site-footer__back{grid-column:2;grid-row:1/span 3}}.site-header{background:var(--paper);border-bottom:1px solid var(--divider);box-sizing:border-box;min-height:var(--site-header-height);position:sticky;top:0;width:100%;z-index:20}.site-header__content{align-items:center;box-sizing:border-box;display:flex;justify-content:space-between;margin:0 auto;max-width:var(--page-width);min-height:var(--site-header-height);padding:32px var(--page-padding);position:relative}.site-header__brand{color:var(--ink);font-family:var(--font-sans);font-size:1.6rem;font-weight:800;letter-spacing:-.08em;text-decoration:none}.site-header__brand-dot{color:var(--blue)}.site-header__navigation{align-items:center;display:flex;gap:clamp(30px,3vw,52px)}.site-header__link,.site-header__language{color:var(--ink);font-size:.98rem;font-weight:650;text-decoration:none}.site-header__link:hover,.site-header__link:focus-visible{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}.site-header__language{align-items:center;background:var(--ink);border:1px solid var(--ink);color:var(--white);cursor:pointer;display:inline-flex;gap:7px;justify-content:center;min-width:46px;padding:10px 12px}.site-header__language:hover,.site-header__language:focus-visible{background:var(--yellow);color:var(--ink)}.site-header__menu-button{background:transparent;border:0;cursor:pointer;display:none}.site-header__menu-icon-wrapper,.site-header__menu-label{display:none}@media(max-width:760px){.site-header__content{padding-bottom:18px;padding-top:18px}.site-header__menu-button{align-items:center;display:flex;flex-direction:row;gap:4px;padding:8px 0}.site-header__menu-icon-wrapper{display:block;height:24px;perspective:320px;position:relative;width:24px}.site-header__menu-icon{font-size:1.5rem;left:0;position:absolute;top:0;transition:opacity .18s ease,transform .22s ease}.site-header__menu-icon--menu{opacity:1;transform:rotateY(0)}.site-header__menu-icon--close{opacity:0;transform:rotateY(-90deg)}.site-header__menu-button[aria-expanded=true] .site-header__menu-icon--menu{opacity:0;transform:rotateY(90deg)}.site-header__menu-button[aria-expanded=true] .site-header__menu-icon--close{opacity:1;transform:rotateY(0)}.site-header__menu-label{display:block;font-size:.62rem;text-transform:uppercase}.site-header__navigation{align-items:flex-start;background:var(--ink);display:flex;flex-direction:column;gap:0;border-top:1px solid rgba(255,255,255,.168627451);opacity:0;pointer-events:none;position:absolute;inset:100% 0 auto;min-height:calc(100dvh - var(--site-header-height));padding:32px var(--page-padding);transform:translateY(-18px);transition:opacity .2s ease,transform .26s ease,visibility 0s linear .26s;visibility:hidden}.site-header__navigation--open{opacity:1;pointer-events:auto;transform:translateY(0);transition:opacity .22s ease,transform .28s ease;visibility:visible}.site-header__link{border-bottom:1px solid rgba(255,255,255,.168627451);color:var(--white);font-size:1rem;padding:18px 0;width:100%}.site-header__language{background:var(--yellow);color:var(--ink);margin-top:28px}}@media(prefers-reduced-motion:reduce){.site-header__menu-icon,.site-header__navigation{transition:none}}.hero{background:linear-gradient(122deg,#cce7ff,#e8f4ff 53%,#f7f2e5);box-sizing:border-box;display:grid;gap:clamp(20px,3vw,42px);grid-template-rows:minmax(0,1fr) auto;min-height:calc(100dvh - var(--site-header-height));overflow:hidden;padding:clamp(48px,6vw,88px) var(--page-padding) clamp(32px,4vw,56px)}.hero__layout{align-self:center;align-items:center;display:grid;gap:clamp(44px,8vw,132px);grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);margin:0 auto;max-width:1300px}.hero__content{max-width:780px}.hero__eyebrow{font-size:.76rem;font-weight:750;letter-spacing:.12em;margin:0 0 28px;text-transform:uppercase}.hero__title{color:var(--ink);font-weight:500;letter-spacing:-.065em;line-height:.9;margin:0}.hero__title-serif,.hero__title-sans{display:block}.hero__title-serif{font-family:var(--font-serif);font-size:clamp(3.85rem,7.1vw,7.3rem)}.hero__title-sans{font-family:var(--font-sans);font-size:clamp(3.25rem,6.3vw,6.45rem);font-weight:650}.hero__introduction{font-family:var(--font-serif);font-size:clamp(1.08rem,1.65vw,1.32rem);line-height:1.5;margin:34px 0 0;max-width:590px}.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}.hero__portrait{justify-self:end;margin:0;max-width:390px;position:relative;width:100%}.hero__portrait:before{background:var(--yellow);content:"";height:104px;left:-18px;position:absolute;top:-18px;width:104px}.hero__portrait-frame{background:var(--blue-dark);padding:12px 12px 0;position:relative}.hero__portrait-picture{display:block;width:100%}.hero__portrait-mark{color:var(--white);font-family:var(--font-sans);font-size:.72rem;font-weight:800;left:28px;letter-spacing:.07em;position:absolute;text-transform:uppercase;top:28px;z-index:1}.hero__portrait-image{aspect-ratio:4/5;display:block;height:auto;object-fit:cover;object-position:center 31%;width:100%}.hero__portrait-caption{background:var(--ink);color:var(--white);display:grid;gap:8px;padding:20px 22px 22px}.hero__portrait-caption-name{font-size:1rem;font-weight:750}.hero__portrait-caption-signature{color:#c9dcf0;font-family:var(--font-serif);font-size:.98rem;line-height:1.35}.hero__domains{border-top:1px solid rgba(8,10,13,.2);display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0 auto;max-width:1300px;padding:0}.hero__domain{border-left:1px solid rgba(8,10,13,.2);font-size:.72rem;font-weight:750;letter-spacing:.08em;min-height:76px;padding:18px 18px 0;text-transform:uppercase}.hero__domain:first-child{border-left:0;padding-left:0}@media(max-width:900px){.hero__layout{gap:56px;grid-template-columns:minmax(0,1fr) minmax(250px,.7fr)}.hero__portrait{max-width:330px}}@media(max-width:720px){.hero{min-height:calc(100dvh - var(--site-header-height));padding-bottom:24px;padding-top:32px}.hero__layout{display:flex;flex-direction:column}.hero__content{width:100%}.hero__title-serif{font-size:clamp(3.55rem,15vw,5.4rem)}.hero__title-sans{font-size:clamp(3rem,12.6vw,4.8rem)}.hero__portrait{display:none}.hero__domains{grid-template-columns:repeat(2,1fr)}.hero__domain{min-height:48px;padding:12px 12px 0}.hero__domain:nth-child(3){border-left:0;padding-left:0}.hero__domain:nth-child(n+3){border-top:1px solid rgba(8,10,13,.2)}}@media(min-width:721px)and (max-height:1000px){.hero{padding-bottom:24px;padding-top:34px}.hero__layout{gap:clamp(44px,5vw,78px);grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr)}.hero__eyebrow{margin-bottom:18px}.hero__title-serif{font-size:clamp(3.9rem,5.7vw,5.4rem)}.hero__title-sans{font-size:clamp(3.25rem,5.1vw,4.8rem)}.hero__introduction{font-size:1.05rem;margin-top:22px}.hero__actions{margin-top:26px}.hero__portrait{max-width:min(310px,41dvh)}.hero__portrait-caption{gap:5px;padding:14px 16px 16px}.hero__portrait-caption-signature{font-size:.88rem}.hero__domains{margin:0 auto}.hero__domain{min-height:54px;padding-top:13px}}@media(max-width:420px){.hero__actions{align-items:stretch;flex-direction:column}}.mobile-portrait{display:none;margin:0}@media(max-width:720px){.mobile-portrait{background:#e8f4ff;display:block;margin:0;padding:44px var(--page-padding) 0;position:relative}.mobile-portrait__decoration{background:var(--yellow);height:82px;left:max(var(--page-padding),50% - 180px);position:absolute;top:26px;width:82px;z-index:0}.mobile-portrait__frame{background:var(--blue-dark);margin:0 auto;max-width:360px;padding:10px 10px 0;position:relative;width:100%;z-index:1}.mobile-portrait__picture{display:block;width:100%}.mobile-portrait__mark{color:var(--white);font-family:var(--font-sans);font-size:.68rem;font-weight:800;left:24px;letter-spacing:.07em;position:absolute;text-transform:uppercase;top:24px;z-index:1}.mobile-portrait__image{aspect-ratio:4/5;display:block;height:auto;object-fit:cover;object-position:center 31%;width:100%}.mobile-portrait__caption{background:var(--ink);color:var(--white);font-family:var(--font-serif);font-size:1.08rem;line-height:1.35;margin:0 auto;max-width:360px;padding:14px 16px 18px}}.work{background:var(--ink);color:var(--white)}.work__grid{display:grid;gap:18px;grid-template-columns:repeat(12,1fr);margin-top:72px}.work-card{color:var(--ink);display:flex;flex-direction:column;min-height:500px;padding:clamp(28px,4vw,48px)}.work-card:nth-child(1){grid-column:span 7}.work-card:nth-child(2){grid-column:span 5}.work-card:nth-child(3){grid-column:span 5}.work-card:nth-child(4){grid-column:span 7}.work-card--blue{background:#a9d4ff}.work-card--yellow{background:var(--yellow)}.work-card--ink{background:var(--white)}.work-card__topline{display:flex;font-family:var(--font-mono);font-size:.7rem;justify-content:space-between;text-transform:uppercase}.work-card__title{font-family:var(--font-serif);font-size:clamp(2.4rem,5vw,4.6rem);font-weight:500;letter-spacing:-.055em;line-height:1.06;margin:66px 0 22px}.work-card__description{font-size:1rem;line-height:1.6;margin:0;max-width:620px}.work-card__result{align-items:center;display:flex;gap:6px;font-weight:750;margin:22px 0 0}.work-card__technologies{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:auto 0 0;padding:42px 0 0}.work-card__technology{border:1px solid var(--ink);border-radius:100px;font-family:var(--font-mono);font-size:.68rem;padding:7px 10px}.work-card__link{align-items:center;color:var(--ink);display:inline-flex;gap:8px;font-weight:800;margin-top:28px;text-underline-offset:5px}@media(max-width:840px){.work-card:nth-child(1),.work-card:nth-child(2),.work-card:nth-child(3),.work-card:nth-child(4){grid-column:1/-1}.work-card{min-height:460px}}.home-page{background:var(--paper);min-height:100vh}.home-page__skip-link{background:var(--yellow);color:var(--ink);left:16px;padding:12px 16px;position:fixed;top:-100px;z-index:100}.home-page__skip-link:focus{top:16px}.legal-page{background:var(--paper);min-height:100dvh}.legal-page__main{margin:0 auto;max-width:1060px;padding:clamp(72px,11vw,150px) var(--page-padding)}.legal-page__eyebrow{font-family:var(--font-mono);font-size:.75rem;font-weight:750;letter-spacing:.12em;margin:0 0 22px;text-transform:uppercase}.legal-page__title{font-family:var(--font-serif);font-size:clamp(3.2rem,8vw,7rem);font-weight:500;letter-spacing:-.065em;line-height:.98;margin:0;max-width:840px}.legal-page__content{margin-top:clamp(60px,9vw,110px)}.legal-page__section{border-top:1px solid var(--ink);display:grid;gap:24px;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);padding:30px 0 34px}.legal-page__section-title{font-size:1.1rem;font-weight:800;margin:0}.legal-page__paragraph{grid-column:2;line-height:1.65;margin:0}.legal-page__section--preferences{background:var(--yellow);border-bottom:1px solid var(--ink);padding:30px}.legal-page__actions{display:flex;flex-wrap:wrap;gap:12px;grid-column:2}.legal-page__action{border:1px solid var(--ink);cursor:pointer;font-family:var(--font-mono);font-size:.74rem;padding:14px 16px}.legal-page__action--primary{background:var(--ink);color:var(--white)}.legal-page__action--secondary{background:transparent;color:var(--ink)}.legal-page__saved{font-weight:750;grid-column:2;margin:0}@media(max-width:680px){.legal-page__section{display:block}.legal-page__paragraph{margin-top:16px}.legal-page__actions{margin-top:20px}.legal-page__saved{margin-top:18px}}.curriculum-vitae-page{--cv-blue: #4d9ce5;--cv-blue-dark: #155e94;--cv-divider: #c8ced4;--cv-ink: #080a0d;--cv-muted: #676c73;--cv-paper: #f5f5f2;--cv-white: #ffffff;--cv-yellow: #f5f455;--cv-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--cv-serif: Iowan Old Style, Baskerville, "Times New Roman", serif;background:#dfe5e9;color:var(--cv-ink);min-height:100dvh;padding:28px}.curriculum-vitae-page__toolbar{display:flex;gap:12px;justify-content:space-between;margin:0 auto 20px;max-width:210mm}.curriculum-vitae-page__toolbar-action{align-items:center;color:var(--ink);display:inline-flex;font-family:var(--font-mono);font-size:.75rem;gap:9px;text-decoration:none}.curriculum-vitae-page__toolbar-action--print{background:var(--ink);border:1px solid var(--ink);color:var(--white);cursor:pointer;padding:12px 16px}.curriculum-vitae-page__toolbar-action--print:hover,.curriculum-vitae-page__toolbar-action--print:focus-visible{background:var(--yellow);color:var(--ink)}.curriculum-vitae{display:grid;gap:10mm;margin:0 auto;width:210mm}.curriculum-vitae__page{background:var(--cv-white);box-shadow:0 7mm 18mm #080a0d1f;box-sizing:border-box;min-height:297mm;padding:13mm 14mm 11mm;position:relative}.curriculum-vitae__page--first{display:flex;flex-direction:column}.curriculum-vitae__header{border-bottom:1px solid var(--cv-ink);padding-bottom:6mm}.curriculum-vitae__eyebrow{font-family:var(--cv-mono);font-size:7.5pt;font-weight:700;letter-spacing:.12em;margin:0 0 6mm;text-transform:uppercase}.curriculum-vitae__identity{align-items:end;display:flex;gap:8mm;justify-content:space-between}.curriculum-vitae__name{font-family:var(--cv-serif);font-size:29pt;font-weight:500;letter-spacing:-.065em;line-height:.9;margin:0}.curriculum-vitae__role{color:var(--cv-blue-dark);font-size:10pt;font-weight:750;margin:3mm 0 0}.curriculum-vitae__location{font-family:var(--cv-mono);font-size:7.5pt;margin:0;text-align:right}.curriculum-vitae__content{display:grid;flex:1;gap:9mm;grid-template-columns:54mm minmax(0,1fr);padding-top:8mm}.curriculum-vitae__main-column{display:flex;flex-direction:column;gap:9mm;justify-content:center}.curriculum-vitae__recent{margin:0}.curriculum-vitae__intro{background:var(--cv-blue);padding:7mm}.curriculum-vitae__intro-label{font-family:var(--cv-mono);font-size:7pt;font-weight:700;letter-spacing:.08em;line-height:1.3;margin:0 0 6mm;text-transform:uppercase}.curriculum-vitae__intro-copy{font-family:var(--cv-serif);font-size:12.4pt;letter-spacing:-.025em;line-height:1.25;margin:0}.curriculum-vitae__page--second{display:flex;flex-direction:column;gap:7mm;justify-content:center}.curriculum-vitae__page-header{align-items:baseline;display:flex;font-family:var(--cv-mono);font-size:7pt;justify-content:space-between}.curriculum-vitae__page-header p{margin:0}.curriculum-vitae__page--second .cv-document-projects__item:last-child,.curriculum-vitae__page--second .curriculum-vitae__complementary .cv-document-timeline__item:last-child,.curriculum-vitae__page--second .curriculum-vitae__education .cv-document-timeline__item:last-child{border-bottom:0}.curriculum-vitae__footer{color:var(--cv-muted);font-family:var(--cv-mono);font-size:6.5pt;position:absolute;right:14mm;top:10mm}@page{margin:4.2mm;size:A4}@media print{.curriculum-vitae-page{background:var(--cv-white);padding:0}.curriculum-vitae-page__toolbar{display:none}.curriculum-vitae{display:block;margin:0;width:201.6mm}.curriculum-vitae__page{box-shadow:none;height:288.6mm;min-height:288.6mm;width:201.6mm}.curriculum-vitae__page--second{gap:3mm;padding:10mm 14mm 9mm}.curriculum-vitae__page--second .cv-document-section__heading{margin-bottom:2.5mm;padding-top:2mm}.curriculum-vitae__page--second .cv-document-projects__item,.curriculum-vitae__page--second .cv-document-timeline__item{gap:3mm;padding:2.5mm 0 3mm}.curriculum-vitae__page--second .cv-document-projects__title{font-size:12.4pt}.curriculum-vitae__page--second .cv-document-projects__description{font-size:7.9pt;line-height:1.32;margin:1.5mm 0 1.8mm}.curriculum-vitae__page--second .cv-document-projects__technologies li{padding:.8mm 1.2mm}.curriculum-vitae__page--second .cv-document-timeline__role{margin:.8mm 0 1.2mm}.curriculum-vitae__page--second .cv-document-timeline__description{font-size:7.8pt;line-height:1.3}.curriculum-vitae__page--second .curriculum-vitae__complementary .cv-document-timeline{column-gap:5mm;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.curriculum-vitae__page--second .curriculum-vitae__complementary .cv-document-timeline__item{grid-template-columns:19mm minmax(0,1fr)}.curriculum-vitae__page--second .curriculum-vitae__education .cv-document-timeline{column-gap:4mm;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.curriculum-vitae__page--second .curriculum-vitae__education .cv-document-timeline__item{display:block}.curriculum-vitae__page--second .curriculum-vitae__education .cv-document-timeline__period{margin-bottom:1mm}}@media screen and (max-width:760px){.curriculum-vitae-page{padding:14px}.curriculum-vitae-page__toolbar{align-items:stretch;flex-direction:column;margin-bottom:14px}.curriculum-vitae-page__toolbar-action{justify-content:center;min-height:44px}.curriculum-vitae{gap:0;width:100%}.curriculum-vitae__page{box-shadow:none;min-height:auto;padding:8mm;width:100%}.curriculum-vitae__content{grid-template-columns:1fr}.curriculum-vitae__page-header{align-items:start;flex-direction:column;gap:2mm}}
