/* Authenticated CV: shared visual system, original localized content and controls. */
@media screen{
.cv-page .wrapper{display:block!important;max-width:1180px;width:100%;margin:0 auto;padding:40px!important;box-sizing:border-box;overflow:visible}
.cv-hero{position:relative;display:flex;flex-direction:column;padding:8px 380px 32px 0;border-bottom:1px solid var(--edge);min-height:170px;box-sizing:border-box}
.cv-hero .name-divider{display:none}.cv-hero .my-education-title{order:2;font-size:13px!important;line-height:1.7!important;letter-spacing:.02em;margin:8px 0 14px!important;font-weight:400}.cv-hero .my-education-title svg{display:none}
.cv-hero .my-name{order:1;font-size:clamp(32px,4vw,48px)!important;text-transform:none;letter-spacing:-.045em;margin:0!important;text-align:left}
.cv-hero .my-descr{order:3;font-size:14px!important;line-height:1.8!important;max-width:680px;margin:0 0 18px!important;text-align:left}
.cv-hero-meta{order:4}.cv-hero .profile-availability{justify-content:flex-start;margin:0!important;font-size:12px;color:var(--quiet)}
.cv-hero .linkedin-custom-photo{width:72px;height:72px;border-radius:50%;object-fit:cover;margin:0 0 20px}
.cv-hero-actions{position:absolute;right:0;top:12px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:350px;box-sizing:border-box;padding:13px;border:1px solid var(--edge);border-radius:16px;background:color-mix(in srgb,var(--canvas) 78%,transparent);backdrop-filter:blur(14px)}
.cv-hero-actions .cv-download-button:not([hidden]){display:flex!important;align-items:center;justify-content:center;gap:8px;width:230px;max-width:100%;font:500 13px/1.5 Inter,Arial,sans-serif;padding:13px 16px!important;margin:0 auto!important;min-height:46px;text-decoration:none}
.cv-hero-actions .linkedin-custom-action,.cv-hero-actions .copy-linkedin-btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent!important;color:var(--quiet)!important;border:1px solid var(--edge)!important;border-radius:10px;padding:9px!important;font-size:11px;min-height:38px;width:auto;margin:0!important;text-decoration:none}
.cv-hero-actions svg{width:17px;height:17px;flex-shrink:0}.cv-hero-actions .copy-linkedin-status{width:100%;font-size:11px;color:var(--quiet)}
.cv-columns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:36px;margin-top:30px}
.cv-experience{min-width:0}.cv-rail{min-width:0;border-left:1px solid var(--edge);padding-left:28px}
.cv-page .my-projects-title,.cv-page .skills-title{font-size:20px!important;line-height:1.4!important;letter-spacing:-.02em;margin:0 0 24px!important;text-transform:none;color:var(--ink)!important;font-family:Inter,Arial,sans-serif!important}
.cv-experience .my-projects-title svg,.cv-rail .skills-title svg{display:none}
.cv-page .StepProgress{margin:0!important;padding:0 0 0 20px!important;list-style:none;counter-reset:none}
.cv-page .StepProgress::before{left:4px!important;border-left:1px solid var(--edge)!important}
.cv-page .StepProgress-item{position:relative;padding:0 0 30px 14px!important;margin:0!important;color:var(--quiet);font-size:13px;line-height:1.7;border:0!important;background:transparent!important}
.cv-page .StepProgress-item::before{left:-20px!important;width:8px!important;height:8px!important;top:7px!important;border:0!important;border-radius:50%;background:#a8afbc!important;box-shadow:none!important;content:''!important}
.cv-page .StepProgress-item.current::before{background:var(--brand)!important;box-shadow:0 0 0 4px #d6268314!important}
.cv-page .StepProgress-item::after{display:none!important}
.cv-page .experience-role{display:block!important;font:500 15px/1.7 Inter,Arial,sans-serif!important;color:var(--ink)!important}
.cv-page .experience-role a{color:var(--ink)!important;text-decoration:none}.cv-page .experience-role a:hover{color:var(--brand)!important}
.cv-page .Expirience-possition{font-size:13px!important;font-weight:400;color:var(--quiet)!important}
.cv-page .experience-date{font:500 12px/1.5 Inter,Arial,sans-serif!important;color:var(--brand)!important;margin:7px 0 12px!important;position:static!important}
.cv-page .work-experience-period{font-size:12px!important;color:var(--quiet)!important;margin:4px 0!important}
.cv-page .StepProgress-item ul{padding-left:16px;margin:12px 0 0!important}.cv-page .StepProgress-item li{padding:2px 0!important;color:var(--quiet)!important;font-size:13px!important;line-height:1.75!important}.cv-page .StepProgress-item li::marker{color:var(--brand)}
.cv-rail .skills-container{margin:0 0 26px!important;padding:0!important;border:0!important;border-radius:0!important}
.cv-rail .skills-list{padding:0!important;margin:0!important;list-style:none}.cv-rail .skills-list li{margin:0 0 16px!important;padding:0!important;font:400 12px/1.75 Inter,Arial,sans-serif!important;color:var(--quiet)!important}.cv-rail .skills-list li::before{display:none}.cv-rail .skills-list strong{display:block;color:var(--ink)!important;font-weight:500;margin-bottom:4px}
.cv-education{border-top:1px solid var(--edge);padding-top:22px;margin:22px 0}.cv-education .panel{padding-inline:0!important}.cv-education .my-education-univer{font:500 13px/1.65 Inter,Arial,sans-serif!important;color:var(--ink)!important}.cv-education h5,.cv-education a{font:400 12px/1.75 Inter,Arial,sans-serif!important;color:var(--quiet)!important}.cv-education p{font-size:12px;color:var(--quiet)}
.cv-page .accordion{background:transparent!important;border:0!important;border-bottom:1px solid var(--edge)!important;border-radius:0!important;color:var(--ink)!important;font:500 14px/1.6 Inter,Arial,sans-serif!important;padding:17px 0!important;box-shadow:none!important;min-height:54px}
.cv-page .accordion:hover{color:var(--brand)!important}.cv-page .panel{background:transparent!important;color:var(--quiet)!important;padding:0 4px!important;font-size:13px;line-height:1.8}
.cv-extras{border-top:1px solid var(--edge);margin-top:10px;padding-top:26px}.cv-extras .skills-container{padding:0!important;margin:0!important;border:0!important;border-radius:0!important}.cv-extras .skills-title{padding:18px 0!important;margin:0!important;border-bottom:1px solid var(--edge);font-size:15px!important;min-height:28px}.cv-extras .skills-title svg{width:20px;height:20px;margin-right:12px}.cv-extras .professional-skills-list{font-size:13px;line-height:1.8;color:var(--quiet)}
.cv-page .skills-container .skills-title::after{font-size:16px!important;color:var(--quiet)}
.cv-supporting-details{border-top:1px solid var(--edge);margin-top:22px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;align-items:center}.cv-supporting-details .multilang-marquee{background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible;max-width:65%;margin:0!important}.cv-supporting-details .open-to-work-banner{animation:none!important;font:400 12px/1.7 Inter,Arial,sans-serif!important;color:var(--quiet)!important;white-space:normal}.cv-supporting-details .contacts-title{display:none!important}.cv-supporting-details .contacts-container{margin:0!important;padding:0!important}.cv-supporting-details .contacts-item{font-size:12px;color:var(--quiet)!important;margin:0!important}
.cv-page .cv-contact-section{width:min(1180px,100%);padding:22px 30px;min-height:0!important}.cv-page .wanttoconnect{font-size:13px;text-shadow:none!important}.cv-page .cv-contact-section .message-count{font-size:11px;margin-top:14px!important}
.cv-page .scroller{width:100%;max-width:none!important}.cv-page .centered-hr{border-color:var(--edge)!important}
@media(max-width:850px){.cv-page .wrapper{padding:28px!important}.cv-hero{padding-right:0}.cv-hero-actions{position:static;width:min(350px,100%);justify-content:center;order:5;margin-top:22px}.cv-hero-actions .cv-download-button:not([hidden]){width:230px}.cv-columns{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px}.cv-rail{padding-left:20px}}
@media(max-width:640px){.cv-page .wrapper{padding:24px!important}.cv-columns{grid-template-columns:1fr}.cv-rail{border-left:0;border-top:1px solid var(--edge);padding:24px 0 0}.cv-hero .my-name{font-size:34px!important}.cv-supporting-details{flex-direction:column;align-items:flex-start}.cv-supporting-details .multilang-marquee{max-width:100%}.cv-hero-actions .cv-download-button:not([hidden]){width:100%}}
}
@media print{.cv-columns{display:block}.cv-hero-actions{display:none}.cv-rail{break-inside:avoid}.cv-page .panel{max-height:none!important}.cv-page .skills-container.is-collapsed>*{display:block!important}}
@media screen{
.cv-page .experience-date blink{animation:none!important;visibility:visible!important}
.cv-page .StepProgress{border:0!important}.cv-page .StepProgress::before{height:100%;top:0;bottom:0;position:absolute;content:'';width:0;background:none!important}
.cv-page .cv-extras .skills-container.is-collapsed>:not(.skills-title){display:none!important}
.cv-page .cv-extras .skills-container:not(.is-collapsed) .skills-title::after{content:'−';float:right}.cv-page .cv-extras .skills-container.is-collapsed .skills-title::after{content:'+';float:right}
.cv-page .cv-extras .skills-title[role=button]{cursor:pointer}.cv-page .cv-extras .skills-title[role=button]:hover{color:var(--brand)!important}
.cv-page .cv-qualifications>.skills-title{border:0;padding-bottom:8px!important;font-size:20px!important}
.cv-page .cv-rail .skills-title{cursor:default}
.cv-page .work-experience-dueties-item{color:var(--quiet)!important;font-size:13px!important;line-height:1.8!important}
}
@media screen{
.cv-page .accordion span,.cv-page .accordion:not(:hover) span{color:var(--ink)!important;text-shadow:none!important;opacity:1!important}
.cv-page .accordion:hover span{color:var(--brand)!important}
.cv-page .experience-role,.cv-page .StepProgress strong{color:var(--ink)!important}
.cv-page .cv-rail .skills-list img{width:16px;height:12px;object-fit:cover;margin-right:7px}
}

/* Contact strip mirrors the approved CV mockup. */
@media screen{
.cv-page .cv-contact-section{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px 22px;padding:20px 28px;text-align:left;margin:18px auto 12px}
.cv-contact-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:13px;border:1px solid var(--edge);background:linear-gradient(145deg,#ffffff09,#ffffff00);color:var(--brand)}
.cv-contact-icon svg{width:24px;height:24px}
.cv-contact-copy h3{font:500 17px/1.4 Inter,Arial,sans-serif;color:var(--ink);margin:0 0 5px}
.cv-page .cv-contact-copy .wanttoconnect{font:400 12px/1.7 Inter,Arial,sans-serif!important;color:var(--quiet)!important;margin:0!important;text-align:left;max-width:650px}
.cv-page .cv-contact-section #open-form-modal-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin:0!important;padding:13px 18px!important;min-height:46px;border:1px solid var(--brand)!important;border-radius:11px!important;color:var(--brand)!important;background:transparent!important;box-shadow:none!important;font-size:13px!important;white-space:nowrap}
.cv-page .cv-contact-section #open-form-modal-btn::before{content:'';width:18px;height:18px;display:block;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E") center/contain no-repeat}
.cv-page .cv-contact-section #open-form-modal-btn:hover{background:#d6268315!important;box-shadow:0 5px 20px #d6268315!important}
.cv-page .cv-contact-section .message-count{grid-column:2/-1;margin:0!important;font-size:10px!important;line-height:1.4;opacity:.75;text-align:left}
@media(max-width:640px){.cv-page .cv-contact-section{grid-template-columns:40px minmax(0,1fr);padding:20px;gap:12px}.cv-contact-icon{width:40px;height:40px;border-radius:10px}.cv-page .cv-contact-section #open-form-modal-btn{grid-column:1/-1;width:100%}.cv-page .cv-contact-section .message-count{grid-column:1/-1}.cv-contact-copy h3{font-size:16px}}
}
@media screen{
.cv-page .cv-supporting-details .multilang-marquee,.cv-page .cv-supporting-details .open-to-work-banner{background:none!important;background-image:none!important;box-shadow:none!important;color:var(--quiet)!important;border:0!important;border-radius:0!important;text-shadow:none!important}
.cv-page .scroller>.centered-hr{display:none}
}

@media screen{
.cv-page .cv-contact-copy{min-width:0;align-self:center}
.cv-page .cv-contact-copy h3{margin:0 0 5px!important;padding:0!important;text-align:left!important;line-height:1.4!important}
.cv-page .cv-contact-copy .wanttoconnect{margin:0!important;padding:0!important;text-indent:0!important;text-align:left!important;width:auto!important;line-height:1.6!important}
.cv-page .cv-contact-section .message-count{padding:0!important;text-indent:0!important}
}

@media screen{.cv-page .cv-contact-section{grid-template-columns:minmax(0,1fr) auto}.cv-page .cv-contact-section .message-count{grid-column:1/-1}@media(max-width:640px){.cv-page .cv-contact-section{grid-template-columns:1fr}}}
@media screen{
.cv-page .cv-contact-section #open-form-modal-btn:hover,.cv-page .cv-contact-section #open-form-modal-btn:focus-visible{transform:translateY(-2px);background:#d6268320!important;border-color:#ef60aa!important;color:#ef60aa!important;box-shadow:0 8px 24px #d6268328,inset 0 0 12px #d6268308!important}
.cv-page .cv-contact-section #open-form-modal-btn::before{transform-origin:50% 60%;animation:wiggle 2s linear infinite;transition:filter .2s ease}
.cv-page .cv-contact-section #open-form-modal-btn:hover::before,.cv-page .cv-contact-section #open-form-modal-btn:focus-visible::before{animation-duration:1s;filter:drop-shadow(0 1px 4px #d6268350)}
@media(prefers-reduced-motion:reduce){.cv-page .cv-contact-section #open-form-modal-btn,.cv-page .cv-contact-section #open-form-modal-btn::before{transition:none!important;animation:none!important;transform:none!important}}
}
@media screen{
.cv-page .cv-hero-actions :is(.linkedin-custom-action,.copy-linkedin-btn):is(:hover,:focus-visible){color:var(--brand)!important;background:#d626831a!important;border-color:var(--brand)!important;box-shadow:0 6px 18px #d6268325!important}
}
@media screen{
.cv-hero{padding-left:110px;min-height:185px}
.cv-portrait-slot{position:absolute;left:0;top:8px;width:88px;height:88px;border:1px solid var(--edge);border-radius:50%;overflow:hidden;background:var(--canvas)}
.cv-portrait-placeholder{position:absolute;inset:0;display:grid;place-items:center;font:300 31px/1 Inter,Arial,sans-serif;color:var(--quiet)}
.cv-hero .cv-portrait{position:absolute;inset:0;width:100%;height:100%;margin:0;object-fit:cover;border-radius:50%;z-index:1}
.cv-skill-group{margin-bottom:20px}.cv-skill-group h4{margin:0 0 9px;color:var(--ink);font:500 13px/1.5 Inter,Arial,sans-serif}
.cv-skill-tags{display:flex;flex-wrap:wrap;gap:8px}.cv-skill-tags span{display:inline-flex;padding:6px 10px;border:1px solid var(--edge);border-radius:8px;background:#88888808;color:var(--ink);font:400 11px/1.5 Inter,Arial,sans-serif}
.cv-skill-details{border-top:1px solid var(--edge);padding-top:14px;font-size:12px;color:var(--quiet)}.cv-skill-details summary{cursor:pointer;padding:5px 0 12px}.cv-skill-details summary:hover{color:var(--brand)}
.cv-education-heading{font:500 20px/1.4 Inter,Arial,sans-serif;color:var(--ink);margin:0 0 16px}.cv-education-body{padding:0;color:var(--quiet);font-size:12px;line-height:1.7}.cv-education .my-education-container{margin:0;padding:0}.cv-education .my-education-univer{margin-bottom:6px}
@media(max-width:850px){.cv-hero{padding-left:0;padding-top:0}.cv-portrait-slot{position:relative;top:0;order:0;margin-bottom:20px}.cv-hero .cv-portrait{position:absolute}}
}

/* CV sharing controls use the same restrained glass treatment as the main actions. */
@media screen{
.cv-email-form{box-sizing:border-box;width:100%;margin:2px 0 0;padding:0;border:0;border-radius:0;background:transparent;}
.cv-hero-actions .cv-email-form{flex:0 0 100%;width:100%;max-width:100%}
.cv-email-form>label{box-sizing:border-box;margin:0 0 8px;padding:0 12px;color:var(--quiet);font:500 11px/1.5 Inter,Arial,sans-serif;overflow-wrap:anywhere}.cv-email-form>label:not([hidden]){display:block!important}
.cv-email-controls{box-sizing:border-box;width:100%;min-width:0;display:flex;gap:6px;align-items:center;padding:3px;border:1px solid var(--edge);border-radius:11px;background:var(--canvas);transition:border-color .18s ease,box-shadow .18s ease}
.cv-email-controls:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 16%,transparent)}
.cv-email-controls input{min-width:0;flex:1;box-sizing:border-box;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:var(--ink);font:400 12px/1.5 Inter,Arial,sans-serif;outline:none}
.cv-email-controls input:focus{box-shadow:none}
.cv-email-submit{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;min-height:40px;border:1px solid var(--brand);border-radius:9px;background:linear-gradient(120deg,#e52b91,#b70c6b);color:#fff;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.cv-email-submit svg{width:18px;height:18px;transition:transform .2s ease}
.cv-email-submit:is(:hover,:focus-visible){transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 7px 18px #d6268340;outline:none}
.cv-email-submit:is(:hover,:focus-visible) svg{transform:translate(1px,-1px) rotate(-5deg)}
.cv-email-submit:active{transform:scale(.96)}.cv-email-submit:disabled{opacity:.65;cursor:wait;transform:none}
.cv-email-status{min-height:1.4em;margin:8px 0 0;color:var(--quiet);font:400 11px/1.4 Inter,Arial,sans-serif;transition:opacity .25s ease}
.cv-email-status.is-fading,.cv-copy-link.is-fading{opacity:0}
.cv-email-status[data-state="success"]{color:#39a876}.cv-email-status[data-state="error"]{color:var(--brand)}
.cv-share-count{margin:4px 0 0;color:var(--quiet);font:400 10px/1.5 Inter,Arial,sans-serif}.cv-share-count strong{color:var(--brand);font-weight:600}
@media(max-width:850px){.cv-email-form{max-width:370px}.cv-hero-actions .cv-email-form{flex-basis:100%;width:100%;max-width:100%}}
@media(max-width:640px){.cv-email-form{max-width:none}.cv-hero-actions .cv-email-form{flex-basis:100%;width:100%;max-width:100%}}
@media(prefers-reduced-motion:reduce){.cv-email-submit,.cv-email-submit svg{transition:none!important}}
}

/* Visible timeline nodes and generous icon rows from the approved mockup. */
@media screen{
.cv-page .StepProgress::before{left:4px!important;border-left:1px solid var(--edge)!important}
.cv-page .StepProgress-item::before{position:absolute!important;display:block!important;left:-20px!important;top:8px!important;width:9px!important;height:9px!important;content:''!important;z-index:1;border-radius:50%!important;background:#a8afbc!important}
.cv-page .StepProgress-item.current::before{background:var(--brand)!important;box-shadow:0 0 0 4px #d6268315!important}
.cv-page .cv-extras .cv-detail-row,.cv-page .cv-extras .skills-title[role=button]{position:relative;box-sizing:border-box;min-height:78px!important;padding:20px 38px 20px 78px!important;text-align:left;display:block;font-size:15px!important;line-height:1.65!important}
.cv-page .cv-extras .cv-row-icon{position:absolute;left:0;top:50%;transform:translateY(-50%);display:grid!important;place-items:center;box-sizing:border-box;width:50px;height:50px;border:1px solid var(--edge);border-radius:13px;background:linear-gradient(145deg,#ffffff0b,#ffffff02);box-shadow:inset 0 1px 0 #ffffff06;color:var(--quiet)}
.cv-page .cv-extras .cv-row-icon svg{display:block;width:23px;height:23px;margin:0!important;color:inherit}
.cv-page .cv-extras .accordion::after,.cv-page .cv-extras .skills-title[role=button]::after{content:''!important;position:absolute;right:8px;top:33px;float:none;width:8px;height:8px;border-right:1.5px solid var(--quiet);border-bottom:1.5px solid var(--quiet);transform:rotate(45deg);transition:transform .2s}
.cv-page .cv-extras .accordion.active::after,.cv-page .cv-extras .skills-container:not(.is-collapsed)>.skills-title[role=button]::after{transform:rotate(225deg);top:37px}
.cv-page .cv-extras .accordion:hover .cv-row-icon,.cv-page .cv-extras .skills-title[role=button]:hover .cv-row-icon{color:var(--brand);border-color:var(--brand);background:#d6268310}
.cv-page .cv-extras .panel.panel-open{padding:0 38px 12px 78px!important;box-sizing:content-box}
@media(max-width:640px){.cv-page .cv-extras .cv-detail-row,.cv-page .cv-extras .skills-title[role=button]{padding-left:60px!important;font-size:13px!important}.cv-page .cv-extras .cv-row-icon{width:42px;height:42px;border-radius:11px}.cv-page .cv-extras .panel.panel-open{padding-left:0!important;padding-right:0!important}}
}

@media screen{
.cv-portrait-slot{width:120px;height:120px}.cv-portrait-placeholder{font-size:40px}.cv-hero{padding-left:148px}
.cv-page .StepProgress::before{top:12px!important;height:auto!important;bottom:26px!important}
.cv-page .StepProgress-item.current::before{animation:cv-current-pulse 2.6s ease-out infinite;background:var(--brand)!important}
@keyframes cv-current-pulse{0%,100%{box-shadow:0 0 0 0 #d6268355,0 0 6px #d6268330}65%{box-shadow:0 0 0 9px #d6268300,0 0 10px #d6268320}}
.cv-page .cv-experience .tooltip{position:relative;display:inline-flex;align-items:center;vertical-align:middle;line-height:1;border-radius:50%;cursor:help;outline-offset:4px}
.cv-page .cv-experience .tooltip .icon-info{display:block;flex:0 0 20px;transition:transform .2s,color .2s,filter .2s;color:var(--quiet);width:20px;height:20px}
.cv-page .cv-experience .tooltip:hover .icon-info,.cv-page .cv-experience .tooltip:focus-visible .icon-info{color:var(--brand);transform:scale(1.12);filter:drop-shadow(0 0 5px #d6268340)}
.cv-page .cv-experience .tooltip .tooltiptext{box-sizing:border-box;width:340px;max-width:calc(100vw - 56px);background:var(--canvas);color:var(--ink);border:1px solid var(--edge);border-radius:13px;padding:18px;box-shadow:0 12px 32px #0003;z-index:95;font:400 12px/1.75 Inter,Arial,sans-serif;bottom:calc(100% + 12px);left:50%;right:auto;transform:translate(-50%,6px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;pointer-events:none}
.cv-page .cv-experience .tooltip .tooltiptext::after{border-top-color:var(--canvas)}
.cv-page .cv-experience .tooltip:hover .tooltiptext,.cv-page .cv-experience .tooltip:focus-visible .tooltiptext{opacity:1;visibility:visible;transform:translate(-50%,0)}
@media(max-width:850px){.cv-hero{padding-left:0}.cv-portrait-slot{width:112px;height:112px}}
@media(max-width:640px){.cv-page .cv-experience .tooltip .tooltiptext{position:fixed;left:16px;right:16px;bottom:76px;transform:translateY(6px);width:auto;max-width:none;max-height:50dvh;overflow:auto}.cv-page .cv-experience .tooltip:hover .tooltiptext,.cv-page .cv-experience .tooltip:focus-visible .tooltiptext{transform:translateY(0)}.cv-page .cv-experience .tooltip .tooltiptext::after{display:none}}
@media(prefers-reduced-motion:reduce){.cv-page .StepProgress-item.current::before{animation:none!important}.cv-page .cv-experience .tooltip .icon-info,.cv-page .cv-experience .tooltip .tooltiptext{transition:none!important}}
}
@media screen{
.cv-hero-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px}
.cv-location{display:flex;align-items:center;color:var(--quiet);font-size:12px}
.cv-page .cv-location .contacts-item{display:flex;align-items:center;gap:7px;margin:0!important;padding:0!important;font:400 12px/1.6 Inter,Arial,sans-serif!important;color:var(--quiet)!important;border:0!important}
.cv-location .contacts-item svg{width:16px;height:16px;color:var(--quiet);margin:0}
.cv-location .contacts-item::after,.cv-location .contacts-item::before{display:none!important}
.cv-page .cv-experience .tooltip .icon-info{color:var(--brand)!important}
.cv-page .cv-experience .tooltip:hover .icon-info{filter:drop-shadow(0 0 6px #d6268360)}
}
@media screen{
.cv-page .cv-location{flex:0 0 auto;white-space:nowrap}
.cv-page .cv-location .contacts-item:not([hidden]){display:inline-flex!important;align-items:center;flex-wrap:nowrap;gap:7px;white-space:nowrap;width:auto!important;min-height:0!important;line-height:20px!important}
.cv-page .cv-location .contacts-item[hidden]{display:none!important}
.cv-page .cv-location .contacts-item svg{display:block;flex:0 0 16px;width:16px;height:16px;padding:0!important;margin:0!important;vertical-align:middle}
}
@media screen{
.cv-page .StepProgress-item.current::before{width:14px!important;height:14px!important;left:-22.5px!important;top:5.5px!important}
}
@media screen{
.cv-page .StepProgress-item.current .experience-date{animation:cv-current-date-pulse 2.6s ease-in-out infinite!important}
@keyframes cv-current-date-pulse{0%,100%{opacity:1;text-shadow:0 0 8px #d6268340}50%{opacity:.55;text-shadow:0 0 0 #d6268300}}
@media(prefers-reduced-motion:reduce){.cv-page .StepProgress-item.current .experience-date{animation:none!important;opacity:1}}
}
/* Restore the original date blink: 1 second, discrete on/off. */
@media screen{
.cv-page .StepProgress-item.current .experience-date{animation:none!important;opacity:1!important;text-shadow:none!important}
.cv-page .StepProgress-item.current .experience-date blink{animation:blink 1s steps(1) infinite!important;opacity:1}
@media(prefers-reduced-motion:reduce){.cv-page .StepProgress-item.current .experience-date blink{animation:none!important;opacity:1!important}}
}

@media screen{
.cv-page .cv-contact-section{width:min(760px,100%)!important;margin:20px auto!important;padding:16px 22px!important;gap:8px 20px;box-sizing:border-box}
.cv-page .cv-contact-copy h3{font-size:15px!important;margin-bottom:3px!important}
.cv-page .cv-contact-copy .wanttoconnect{font-size:11px!important}
.cv-page .cv-contact-section #open-form-modal-btn{min-height:42px!important;padding:10px 15px!important;font-size:12px!important}
.cv-page .cv-contact-section .message-count{font-size:10px!important;margin:0!important}
@media(max-width:640px){.cv-page .cv-contact-section{width:min(440px,100%)!important;padding:18px!important;gap:12px}}
}

@media screen{
.cv-page .cv-extras .panel.panel-open{padding-top:16px!important;padding-bottom:22px!important}
.cv-page .cv-extras .skills-container:not(.is-collapsed)>.professional-skills-list{padding-top:16px!important;padding-bottom:18px!important}
.cv-page .cv-extras .skills-container:not(.is-collapsed)>p{margin-top:16px!important;margin-bottom:22px!important}
}
@media screen{
.cv-education-heading .cv-education-icon{display:inline-block;width:20px;height:20px;vertical-align:middle;margin-right:9px;color:var(--ink)}
}
@media screen{
.cv-page .cv-experience .my-projects-title>svg,.cv-page .cv-rail .skills-title>svg,.cv-page .cv-qualifications>.skills-title>svg{display:inline-block!important;width:20px!important;height:20px!important;margin:0 9px 0 0!important;vertical-align:middle!important;color:var(--ink)}
}
@media screen{
.cv-page .cv-experience .my-projects-title>svg,.cv-page .cv-rail .skills-title>svg,.cv-page .cv-qualifications>.skills-title>svg,.cv-page .cv-education-heading .cv-education-icon{color:var(--brand)!important}
}
@media screen{
.cv-page .cv-education .education-info-tooltip{position:relative;display:inline-flex;align-items:center;vertical-align:middle;border-radius:50%;cursor:help;outline-offset:4px}
.cv-page .cv-education .education-info-tooltip .icon-info{width:20px;height:20px;color:var(--brand)!important;transition:transform .2s,color .2s,filter .2s}
.cv-page .cv-education .education-info-tooltip:hover .icon-info,.cv-page .cv-education .education-info-tooltip:focus-visible .icon-info{transform:scale(1.12);filter:drop-shadow(0 0 6px #d6268360)}
.cv-page .cv-education .education-info-tooltip .tooltiptext{box-sizing:border-box;width:340px;max-width:calc(100vw - 56px);padding:18px;border:1px solid var(--edge);border-radius:13px;background:var(--canvas);color:var(--ink);box-shadow:0 12px 32px #0003;font:400 12px/1.75 Inter,Arial,sans-serif;z-index:95;bottom:calc(100% + 12px);left:auto;right:0;transform:translateY(6px);transition:opacity .2s,transform .2s,visibility .2s;pointer-events:none}
.cv-page .cv-education .education-info-tooltip .tooltiptext::after{left:auto;right:4px;border-top-color:var(--canvas)}
.cv-page .cv-education .education-info-tooltip:hover .tooltiptext,.cv-page .cv-education .education-info-tooltip:focus-visible .tooltiptext{opacity:1;visibility:visible;transform:translateY(0)}
@media(max-width:640px){.cv-page .cv-education .education-info-tooltip .tooltiptext{position:fixed;left:16px;right:16px;bottom:76px;width:auto;max-width:none;max-height:50dvh;overflow:auto}.cv-page .cv-education .education-info-tooltip .tooltiptext::after{display:none}}
@media(prefers-reduced-motion:reduce){.cv-page .cv-education .education-info-tooltip .icon-info,.cv-page .cv-education .education-info-tooltip .tooltiptext{transition:none!important}}
}
@media screen{
.cv-page .cv-rail .skills-title .fa-globe,.cv-page .cv-rail .skills-title .bw-icon{color:var(--brand)!important;filter:none!important;font-size:20px;margin-right:9px}
}
@media screen{
:root body.cv-page .cv-experience a:is(:hover,:focus-visible),:root body.cv-page .cv-education a:is(:hover,:focus-visible){color:var(--brand)!important;text-decoration:none!important}
}

/* Full skill details: deliberate disclosure styling matching the CV accordions. */
@media screen{
.cv-page .cv-skill-details{margin-top:6px;padding:0;border:1px solid var(--edge);border-radius:12px;background:#88888805;overflow:hidden}
.cv-page .cv-skill-details summary{position:relative;list-style:none;box-sizing:border-box;display:block;padding:14px 38px 14px 16px;font:500 12px/1.6 Inter,Arial,sans-serif;color:var(--ink);transition:color .2s,background-color .2s;cursor:pointer}
.cv-page .cv-skill-details summary::-webkit-details-marker{display:none}
.cv-page .cv-skill-details summary::marker{content:''}
.cv-page .cv-skill-details summary::after{content:'';position:absolute;right:17px;top:18px;width:7px;height:7px;border-right:1.5px solid var(--quiet);border-bottom:1.5px solid var(--quiet);transform:rotate(45deg);transition:transform .2s,border-color .2s}
.cv-page .cv-skill-details[open] summary::after{transform:rotate(225deg);top:22px;border-color:var(--brand)}
.cv-page .cv-skill-details summary:hover,.cv-page .cv-skill-details summary:focus-visible{background:#d6268310;color:var(--brand)}
.cv-page .cv-skill-details[open] summary{border-bottom:1px solid var(--edge);color:var(--brand)}
.cv-page .cv-skill-details .skills-list{padding:18px 16px 4px!important;margin:0!important}
.cv-page .cv-skill-details .skills-list li{padding:0 0 15px!important;margin:0 0 15px!important;border-bottom:1px solid var(--edge);font-size:12px!important;line-height:1.8!important}
.cv-page .cv-skill-details .skills-list li:last-child{border:0;margin-bottom:0!important}
.cv-page .cv-skill-details .skills-list strong{margin-bottom:7px;font-size:12px;color:var(--ink)!important}
@media(prefers-reduced-motion:reduce){.cv-page .cv-skill-details summary,.cv-page .cv-skill-details summary::after{transition:none}}
}
@media screen{
.cv-page .cv-contact-section #open-form-modal-btn{grid-column:2;grid-row:1;align-self:center;justify-self:center}
.cv-page .cv-contact-section .cv-contact-copy{grid-column:1;grid-row:1/3}
.cv-page .cv-contact-section .message-count{grid-column:2;grid-row:2;justify-self:center;align-self:start;width:100%;text-align:center}
.cv-page .cv-rail.full-skills-open>.cv-education,.cv-page .cv-rail.full-skills-open>.cv-languages{display:none!important}
.cv-page .cv-skill-details[open]{max-height:370px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--brand) transparent}
.cv-page .cv-skill-details[open] summary{position:sticky;top:0;z-index:2;background:var(--canvas)}
@media(max-width:640px){.cv-page .cv-contact-section .cv-contact-copy{grid-column:1;grid-row:1}.cv-page .cv-contact-section #open-form-modal-btn{grid-column:1;grid-row:2;justify-self:stretch}.cv-page .cv-contact-section .message-count{grid-column:1;grid-row:3;justify-self:center;width:100%;text-align:center}}
}
/* Integrated skill disclosure rather than a separate card. */
@media screen{
.cv-page .cv-skill-details{border:0;border-top:1px solid var(--edge);border-radius:0;background:transparent;margin-top:24px;overflow:visible}
.cv-page .cv-skill-details summary{padding:15px 24px 14px 0;font-size:12px;color:var(--quiet);background:transparent;border-radius:0}
.cv-page .cv-skill-details summary::after{right:3px;top:19px;width:6px;height:6px}
.cv-page .cv-skill-details[open] summary::after{top:23px}
.cv-page .cv-skill-details summary:hover,.cv-page .cv-skill-details summary:focus-visible{background:transparent;color:var(--brand)}
.cv-page .cv-skill-details[open]{max-height:370px;overflow-y:auto}
.cv-page .cv-skill-details[open] summary{background:var(--canvas);border:0;color:var(--brand)}
.cv-page .cv-skill-details .skills-list{padding:12px 12px 0 0!important}
.cv-page .cv-skill-details .skills-list li{border-bottom:0;padding-bottom:8px!important;margin-bottom:16px!important}
}
@media screen{
.cv-page .cv-skill-details{margin-top:22px;border-top:1px solid var(--edge);border-bottom:1px solid var(--edge)}
.cv-page .cv-skill-details summary{display:flex;align-items:center;box-sizing:border-box;min-height:52px;padding:16px 28px 16px 0;line-height:20px}
.cv-page .cv-skill-details summary::after,.cv-page .cv-skill-details[open] summary::after{top:50%;margin-top:-5px}
.cv-page .cv-skill-details[open] summary::after{margin-top:-2px}
.cv-page .cv-rail:not(.full-skills-open)>.cv-education{border-top:0;margin-top:0;padding-top:22px}
}

/* Expanded skills use the same quiet typography and timeline accents as the CV. */
@media screen{
.cv-page .cv-skill-details[open]{border-bottom:1px solid var(--edge);max-height:410px;background:transparent;scrollbar-gutter:stable;scroll-padding-top:56px}
.cv-page .cv-skill-details[open] summary{position:relative;top:auto;background:transparent!important;color:var(--brand);border-bottom:1px solid var(--edge);min-height:52px}
.cv-page .cv-skill-details[open] .skills-list{padding:22px 12px 2px 0!important}
.cv-page .cv-skill-details[open] .skills-list li{position:relative;margin:0 0 23px!important;padding:0 0 0 16px!important;border:0!important;color:var(--quiet)!important;font:400 12px/1.85 Inter,Arial,sans-serif!important;list-style:none}
.cv-page .cv-skill-details[open] .skills-list li::before{content:'';display:block!important;position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 3px #d626830d}
.cv-page .cv-skill-details[open] .skills-list strong{display:block;margin:0 0 8px!important;font:500 13px/1.5 Inter,Arial,sans-serif!important;color:var(--ink)!important;letter-spacing:0}
.cv-page .cv-skill-details[open] .skills-list li:last-child{margin-bottom:18px!important}
}
@media screen{
.cv-page .cv-skill-details[open]{max-height:none;overflow:visible;scrollbar-gutter:auto}
.cv-page .cv-skill-details .cv-skill-scroll{max-height:340px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--brand) transparent;scrollbar-gutter:stable;margin:14px 0;padding-right:5px}
.cv-page .cv-skill-details[open] .cv-skill-scroll .skills-list{padding-top:8px!important;padding-bottom:0!important}
}

/* Keep LinkedIn with the portrait and each CV counter beside its action. */
@media screen{
.cv-portrait-column{position:absolute;left:0;top:8px;width:120px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;z-index:2}
.cv-portrait-slot{position:relative!important;left:auto!important;top:auto!important;flex:0 0 120px;margin:0!important}
.cv-portrait-actions{width:100%;min-height:34px;display:flex;align-items:center;justify-content:center;gap:8px}
.cv-portrait-linkedin{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;margin:0;border:1px solid var(--edge);border-radius:9px;background:color-mix(in srgb,var(--canvas) 78%,transparent);color:var(--brand);transition:transform .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.cv-portrait-linkedin svg{display:block;width:17px;height:17px}
.cv-portrait-linkedin:hover,.cv-portrait-linkedin:focus-visible{transform:translateY(-2px);border-color:var(--brand);background:#d6268318;box-shadow:0 6px 18px #d6268325;outline:none}
.cv-portrait-linkedin:active{transform:scale(.96)}
.cv-copy-link{min-height:30px;margin:0;padding:0 3px;border:0;background:transparent;color:var(--quiet);font:500 11px/1 Inter,Arial,sans-serif;cursor:pointer;transition:color .18s ease,transform .18s ease,opacity .25s ease}
.cv-copy-link:hover,.cv-copy-link:focus-visible{background:transparent!important;color:var(--brand)!important;box-shadow:none!important;border-color:transparent!important;transform:translateY(-1px);outline:none}
.cv-copy-link.is-copied{color:#4fc28b}
.cv-copy-link.is-error{color:#e36a78}
.cv-copy-link:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:3px}
.cv-download-count{box-sizing:border-box;width:100%;margin:-4px 0 2px;text-align:center;color:var(--quiet);font:400 10px/1.4 Inter,Arial,sans-serif;opacity:.86}
.cv-download-count strong,.cv-share-count strong{color:var(--brand);font-weight:600}
.cv-share-count{box-sizing:border-box;width:100%;max-width:100%;margin:6px 0 0;padding:0 4px;text-align:right;transform:none;overflow-wrap:anywhere}
.cv-email-status{box-sizing:border-box;max-width:100%;padding:0 4px;overflow-wrap:anywhere}.cv-email-status:empty{display:none}
@media(max-width:850px){.cv-portrait-column{position:relative;left:auto;top:auto;order:0;margin:0 0 14px;width:auto}.cv-portrait-slot{flex-basis:112px;width:112px;height:112px}.cv-portrait-linkedin{margin-left:0}.cv-hero{padding-left:0;padding-top:0}}
@media(max-width:640px){.cv-hero-actions{width:100%;max-width:370px}.cv-hero-actions .cv-download-button:not([hidden]){width:100%}.cv-download-count{text-align:center}.cv-email-form{max-width:none}}
@media(prefers-reduced-motion:reduce){.cv-portrait-linkedin,.cv-copy-link{transition:none!important}}
}

/* Consistent raspberry titles for all expanded disclosures. */
@media screen{
:root body.cv-page .cv-extras .accordion.active,
:root body.cv-page .cv-extras .accordion.active span:not(.cv-row-icon),
:root body.cv-page .cv-extras .skills-container:not(.is-collapsed)>.skills-title[role="button"]{color:var(--brand)!important}
:root body.cv-page .cv-extras .accordion.active .cv-row-icon,
:root body.cv-page .cv-extras .skills-container:not(.is-collapsed)>.skills-title[role="button"] .cv-row-icon{color:var(--brand)!important;border-color:#d6268360;background:#d626830b}
:root body.cv-page .cv-extras .accordion.active::after,
:root body.cv-page .cv-extras .skills-container:not(.is-collapsed)>.skills-title[role="button"]::after{border-color:var(--brand)!important}
}

/* Connect timeline nodes directly; finish exactly at the earliest role's dot. */
@media screen{
.cv-page .StepProgress::before{display:none!important}
.cv-page .StepProgress-item::after{content:''!important;display:block!important;position:absolute;left:-16px!important;top:12px!important;bottom:-12px!important;width:1px!important;height:auto!important;border:0!important;border-radius:0!important;padding:0!important;background:var(--edge)!important;z-index:0}
.cv-page .StepProgress-item:nth-last-child(-n+3)::after{display:none!important}
.cv-page .StepProgress-item:nth-last-child(-n+3){padding-bottom:0!important}
.cv-page .StepProgress{padding-bottom:0!important;margin-bottom:0!important}
}
