.project-search{display:grid;gap:.4rem;width:min(620px,100%);margin:1rem auto;color:var(--text,#26345e);text-align:left;font-size:.9rem}.project-search input{width:100%;min-height:48px;border:1px solid #bbc5d3;border-radius:999px;padding:.8rem 1.2rem;background:var(--surface,#fff);color:inherit;font:inherit}.project-search-count{font-size:.86rem;text-align:center;min-height:1.4em;margin:.25rem 0 1rem}.project-modal-navigation{display:flex;gap:.6rem;align-items:center;justify-content:space-between;flex-wrap:wrap;border-top:1px solid #cbd0dc;padding-top:1rem;margin-top:1rem}.project-modal-navigation button,.display-toggle{border:1px solid #a9b6c7;border-radius:999px;padding:.65rem 1rem;color:var(--primary);background:var(--surface,#fff);font:inherit;cursor:pointer}.project-modal-navigation button:disabled{opacity:.45;cursor:default}.display-toggle{margin:.7rem 0 1rem;font-size:.85rem}.summaries-compact:not(.summaries-expanded) .experience-summary,.summaries-compact:not(.summaries-expanded) .education-summary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.summaries-expanded .experience-summary,.summaries-expanded .education-summary{display:block!important;-webkit-line-clamp:unset;max-height:none!important}.skill-project-links{margin-top:1rem;font-size:.85rem}.skill-project-links summary{cursor:pointer;font-weight:650}.skill-project-links a{display:block;padding:.5rem 0;color:var(--primary);text-decoration:underline}.cinema-navigation{position:absolute;top:calc(var(--cinema-header-height,64px) + .65rem);right:1.2rem;z-index:9;font-size:.78rem;max-width:min(90vw,430px);color:var(--primary);background:#fffffff2;border:1px solid #bbc5d3;border-radius:.8rem;padding:.6rem}.cinema-navigation summary{cursor:pointer;font-weight:650}.cinema-navigation>div{display:grid;gap:.25rem;max-height:45vh;overflow:auto;margin-top:.5rem}.cinema-navigation button{background:transparent;color:inherit;border:0;text-align:left;padding:.6rem;font:inherit;cursor:pointer}.cinema-navigation button:hover{background:#e8edf5}.cinema-navigation button:focus-visible,.project-modal-navigation button:focus-visible,.display-toggle:focus-visible,.project-search input:focus-visible{outline:3px solid var(--primary);outline-offset:3px}html:not(.gsap-ready) .cinema-navigation{position:relative;top:auto;right:auto;margin:1rem auto;width:max-content}html[data-contrast=high] :is(.project-search input,.project-modal-navigation button,.display-toggle,.cinema-navigation){background:#000!important;color:#fff!important;border-color:#fff!important}html[data-reading-mode=simple] :is(.project-search,.project-modal-navigation button,.display-toggle,.cinema-navigation){color:#202536!important;background:#fff!important}html[data-reading-mode=simple] .experience-summary,html[data-reading-mode=simple] .education-summary{display:block!important;-webkit-line-clamp:unset;overflow:visible}@media(max-width:600px){.cinema-navigation{top:calc(var(--cinema-header-height,64px) + .65rem);right:.7rem;font-size:.72rem}.project-modal-navigation{justify-content:center}.project-modal-navigation button{padding:.55rem .7rem;font-size:.85rem}}

html[data-lang=fr] .summaries-expanded :is(.experience-summary.lang-fr,.education-summary.lang-fr),html[data-lang=en] .summaries-expanded :is(.experience-summary.lang-en,.education-summary.lang-en){display:block!important;-webkit-line-clamp:unset!important}
html[data-lang=fr] :is(.experience-summary.lang-en,.education-summary.lang-en),html[data-lang=en] :is(.experience-summary.lang-fr,.education-summary.lang-fr){display:none!important}

html[data-lang=fr] .summaries-compact:not(.summaries-expanded) :is(.experience-summary.lang-fr,.education-summary.lang-fr),html[data-lang=en] .summaries-compact:not(.summaries-expanded) :is(.experience-summary.lang-en,.education-summary.lang-en){display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical;overflow:hidden}
html[data-reading-mode=simple][data-lang=fr] :is(.experience-summary.lang-fr,.education-summary.lang-fr),html[data-reading-mode=simple][data-lang=en] :is(.experience-summary.lang-en,.education-summary.lang-en){display:block!important;-webkit-line-clamp:unset!important;overflow:visible}
/* October 7 follow-up: a shared navigation zone avoids competing mobile counters. */
.cinema-navigation-bar{position:absolute;top:calc(var(--cinema-header-height,64px) + .65rem);left:1rem;right:1rem;display:flex;align-items:flex-start;justify-content:flex-end;gap:.6rem;z-index:9;pointer-events:none}.cinema-navigation-bar .cinema-navigation{position:relative;top:auto;right:auto;margin:0;max-width:min(70vw,430px);pointer-events:auto}.cinema-step-counter{font-size:.78rem;font-weight:650;background:#fffffff2;border:1px solid #bbc5d3;border-radius:.8rem;padding:.65rem;white-space:nowrap;color:var(--primary)}html:not(.gsap-ready) .cinema-navigation-bar{position:relative;top:auto;left:auto;right:auto;justify-content:center;margin:1rem}html:not(.gsap-ready) .cinema-step-counter{display:none}.company-logo{width:30px!important;height:26px!important;object-fit:contain!important;margin:0!important;border-radius:3px!important;flex-shrink:0;background:#fff;padding:3px}.project-company,.modal-company{display:flex!important;align-items:center;gap:.5rem}.project-company{font-size:.8rem;color:var(--muted);margin:.7rem 0 .3rem}.project-mode-switch{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.project-mode-switch button{min-height:44px;padding:.6rem 1rem;font:inherit;border:1px solid var(--company-accent,var(--primary));border-radius:999px;background:var(--surface,#fff);color:var(--company-accent,var(--primary));cursor:pointer}.project-mode-switch button[aria-pressed=true]{background:var(--company-accent,var(--primary));color:#fff}html[data-contrast=high] :is(.cinema-step-counter,.project-mode-switch button){background:#000!important;color:#fff!important;border-color:#fff!important}html[data-contrast=high] .project-mode-switch button[aria-pressed=true]{background:#fff!important;color:#000!important}html[data-reading-mode=simple] .project-mode-switch button{color:#202536;background:#fff}html[data-reading-mode=simple] .project-mode-switch button[aria-pressed=true]{color:#fff;background:#202536}
html[data-skills-layout=grid] #skills .skills-scroll-shell{height:auto!important;padding:0!important}html[data-skills-layout=grid] #skills .skills-scroll-viewport{overflow:visible!important;padding:0!important}html[data-skills-layout=grid] #skills .skills{display:grid!important;width:auto!important;transform:none!important;grid-template-columns:repeat(3,minmax(0,1fr))}html[data-skills-layout=grid] #skills .skill{min-height:0!important;width:auto!important}html[data-skills-layout=grid] :is(.skills-scroll-progress,.skills-scroll-hint){display:none!important}html[data-plain-background=on] .scroll-cinema :is(.scroll-cinema-bg,.scroll-cinema-orbit,.cinema-background-decoration){visibility:hidden!important}html[data-plain-background=on] .scroll-cinema-shade{background:var(--background,#f5f7fb)!important}html[data-focus=enhanced] :focus-visible{outline:4px solid #1637a8!important;outline-offset:4px!important;box-shadow:0 0 0 7px #fff!important}html[data-focus=enhanced][data-contrast=high] :focus-visible{outline-color:#ffec66!important;box-shadow:0 0 0 7px #000!important}html{scroll-padding-top:100px}
@media(max-width:768px){html.gsap-ready .scroll-cinema .cinema-panel::before{display:none!important}.cinema-navigation-bar{left:.65rem;right:.65rem;gap:.35rem;justify-content:space-between}.cinema-step-counter{font-size:.72rem}.cinema-navigation-bar .cinema-navigation{font-size:.72rem;max-width:calc(100% - 95px);min-height:44px}.cinema-navigation summary{min-height:30px;display:flex;align-items:center}.cinema-navigation button,.project-modal-navigation button,.project-mode-switch button,.education-btn,.experience-btn,.project-btn,.filter-btn,.accessibility-toolbar button{min-height:44px}.project-mode-switch{display:grid;grid-template-columns:1fr 1fr}.project-mode-switch button{font-size:.85rem;padding:.6rem .45rem}html[data-skills-layout=grid] #skills .skills{grid-template-columns:1fr}}
@media(max-width:768px){html.gsap-ready .scroll-cinema:not([data-cinema-style=depth]) .cinema-panel{padding-top:calc(var(--cinema-header-height,64px) + 76px)!important;padding-bottom:90px!important}html.gsap-ready .scroll-cinema[data-cinema-style=depth] .cinema-panel{top:calc(var(--cinema-header-height,64px) + 76px);bottom:90px;height:auto}html.gsap-ready .scroll-cinema .cinema-platforms h2{font-size:clamp(1.8rem,8vw,2.5rem);max-width:20ch;margin-bottom:1rem}html.gsap-ready .scroll-cinema .cinema-platform-cloud{gap:.45rem}.cinema-navigation-bar .cinema-navigation{background:#fff}}
@media(max-width:768px){html.gsap-ready .scroll-cinema .cinema-chapter-rail{display:none!important}html.gsap-ready .scroll-cinema .cinema-scroll-hint{bottom:5rem;right:1rem;font-size:.65rem}}
/* V3: chapter/page hierarchy, confirmed facts and compact career navigation. */
.chapter-page-marker{align-self:flex-start;font-size:.85rem;font-weight:750;letter-spacing:.05em;border:1px solid #bcc7d8;border-radius:999px;padding:.25rem .65rem;margin:-.65rem 0 1rem;color:var(--primary);background:var(--surface,#fff)}.cinema-navigation [data-nav-chapter]{font-size:.78rem;padding:.6rem .5rem .15rem;line-height:1.4}.cinema-navigation button{margin-left:.5rem}.project-reset{display:block;margin:.5rem auto 1.5rem;min-height:44px}.project-empty{padding:1rem;text-align:center;border:1px dashed var(--line,#bbc5d3);border-radius:1rem}.project-context{font-size:.85rem;font-weight:650;color:var(--company-accent,var(--primary));line-height:1.5;margin:.6rem 0}.confirmed-outcome{white-space:pre-line}.project-mode-switch{position:sticky;top:0;z-index:2;background:var(--surface,#fff);padding:.65rem 0;border-bottom:1px solid var(--line,#d2d7e2)}.career-overview{margin:1.8rem 0;padding:1rem 1.2rem;border:1px solid var(--line,#cbd0dc);border-radius:1rem;background:var(--surface,#fff)}.career-overview h3{font-size:1rem;margin:0 0 .8rem}.career-milestones{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.career-milestones a{padding:.8rem;border:1px solid var(--line,#cbd0dc);border-radius:.75rem;font-size:.88rem;color:var(--primary);text-decoration:underline;line-height:1.5}.career-milestones a:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.timeline-item[id^=career-milestone],#education .card[id^=career-milestone]{scroll-margin-top:110px}html.gsap-ready .cinema-panel[data-chapter-pages]:not([data-chapter-pages="1"]){justify-content:flex-start}html.gsap-ready .scroll-cinema[data-cinema-style=depth] .cinema-panel[data-chapter-pages]:not([data-chapter-pages="1"]){justify-content:flex-start}html[data-contrast=high] :is(.chapter-page-marker,.career-overview,.career-milestones a,.project-mode-switch,.project-context){background:#000!important;color:#fff!important;border-color:#fff!important}html[data-reading-mode=simple] :is(.project-context,.career-overview,.career-milestones a){color:#202536!important;background:#fff!important}@media(max-width:768px){.career-milestones{grid-template-columns:1fr 1fr}.cinema-navigation-bar{flex-wrap:wrap}.cinema-step-counter{font-size:.7rem}.project-mode-switch{top:0}.chapter-page-marker{margin:0 0 .7rem;font-size:.75rem}.cinema-platform-cloud{max-height:none}.cinema-navigation [data-nav-chapter]{font-size:.75rem}}
.career-milestones small{display:block;margin-top:.4rem;font-size:.75rem;color:var(--muted,#5c6573)}
/* V4: a visual overview of the published jobs, without additional career facts. */
.career-overview{display:block!important;padding:0;border:0;background:transparent;margin:2rem 0 1rem}
.career-overview h3{margin:0 0 1rem;font-size:1.1rem}
.career-milestones{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;width:100%}
.career-milestones .career-card{display:flex;flex-direction:column;align-items:flex-start;position:relative;min-width:0;padding:1.1rem;border:1px solid var(--line,#d2d7e2);border-top:3px solid var(--company-accent,var(--primary));border-radius:1rem;background:var(--surface,#fff);text-decoration:none;color:var(--text,#202536);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.career-logo{display:block!important;width:100px!important;height:60px!important;object-fit:contain!important;object-position:left center!important;margin:0 0 .85rem;background:#fff;border-radius:.35rem}
.career-company{display:block;font-size:.95rem;line-height:1.4;margin-bottom:.4rem;color:var(--company-accent,var(--primary))}
.career-role{display:block;font-size:.88rem;line-height:1.5;overflow-wrap:anywhere;padding-right:.4rem}
.career-arrow{align-self:flex-end;margin-top:auto;padding-top:.6rem;color:var(--company-accent,var(--primary))}
@media(hover:hover){.career-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #23345112;border-color:var(--company-accent,var(--primary))}}
.project-search-toolbar{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin:1rem 0 1.2rem}
#projects .filters{margin-bottom:1rem}.project-search-toolbar .project-search{flex:1;min-width:min(320px,100%);width:auto;margin:0}
.project-search-toolbar .project-search-count{margin:0;min-height:48px;display:flex;align-items:center;text-align:left;white-space:nowrap}
.project-search-toolbar .project-reset{margin:0;min-height:48px;padding:.6rem .85rem;font-size:.85rem}
.project-search-toolbar .project-reset[hidden]{display:none!important}
@media(max-width:900px){.career-milestones{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.career-milestones{grid-template-columns:1fr}.career-milestones .career-card{display:grid;grid-template-columns:76px minmax(0,1fr) 16px;column-gap:.8rem;row-gap:.3rem;align-items:start;padding:1rem}.career-logo{grid-column:1;grid-row:1/span 2;width:76px!important;height:64px!important;margin:0}.career-company{grid-column:2;margin:0}.career-role{grid-column:2;grid-row:2}.career-arrow{grid-column:3;grid-row:1/span 2;margin:0;padding:0;align-self:center}.project-search-toolbar{gap:.5rem}.project-search-toolbar .project-search{flex-basis:100%}.project-search-toolbar .project-search-count{flex:1;min-height:44px;font-size:.8rem}}
html[data-contrast=high] .career-milestones :is(.career-company,.career-arrow){color:#fff!important}
html[data-reading-mode=simple] .career-milestones :is(.career-company,.career-arrow){color:#202536!important}
html[data-motion=reduced] .career-card{transition:none!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.career-card{transition:none!important;transform:none!important}}
/* V5: editable HTML titles on skill illustrations, with accessible descriptions. */
.skill-image-button{position:relative;display:block;width:100%;padding:0;border:0;border-radius:1rem;overflow:hidden;background:#fff;text-align:left;cursor:pointer;color:#fff;font:inherit}
.skill-image-button img{display:block;width:100%!important;height:auto!important;aspect-ratio:16/9;object-fit:contain;margin:0!important;border-radius:0!important}
.skill-image-caption{position:absolute;inset:auto 0 0;display:flex;align-items:flex-end;gap:.7rem;padding:2.4rem 1rem 1rem;background:linear-gradient(transparent,rgba(12,23,43,.91));color:#fff;line-height:1.25}
.skill-image-caption strong{font-size:1.15rem!important;font-weight:750!important;color:inherit!important;flex:1;margin:0!important}
.skill-image-arrow{font-size:1.3rem;flex:0 0 auto}
.skill-image-button:focus-visible{outline:3px solid #e29422;outline-offset:4px}
.skill.has-skill-dialog>.lang-fr,.skill.has-skill-dialog>.lang-en{display:none!important}
html[data-reading-mode=simple][data-lang=fr] .skill.has-skill-dialog>.lang-fr,html[data-reading-mode=simple][data-lang=en] .skill.has-skill-dialog>.lang-en{display:block!important;margin-top:.8rem}
html[data-reading-mode=simple] .skill.has-skill-dialog>div>strong{display:none!important}
html[data-reading-mode=simple] .skill-image-caption{position:static;background:#fff;color:#202536;padding:.8rem 0}
html[data-contrast=high] .skill-image-caption{background:#000!important;color:#fff!important}
html[data-contrast=high] .skill-image-button{border:2px solid #fff!important}
html[data-monochrome=true] .skill-image-caption{background:#000!important;color:#fff!important}
.skill-modal-image{display:block;max-width:100%;width:100%;height:auto;max-height:260px;object-fit:contain;border-radius:1rem;margin:0 0 1.2rem}
.skill-modal #skillModalTitle{font-size:clamp(1.4rem,4vw,2rem);line-height:1.3;padding-right:1rem;margin:0 0 .8rem}
.skill-modal-description{font-size:1.05rem;line-height:1.7;white-space:pre-line}
@media(max-width:480px){.skill-image-caption{padding:2.3rem .8rem .8rem}.skill-image-caption strong{font-size:1rem!important}.skill-modal-image{max-height:200px}}
.skill-image-copy{flex:1;min-width:0;display:block}.skill-image-action{display:block;font-size:.8rem;line-height:1.4;margin-top:.45rem;text-decoration:underline;text-underline-offset:.15em;font-weight:600}.skills-interaction-help{font-size:.9rem;line-height:1.5;margin:.5rem 0 1.3rem;color:var(--muted,#5c6573)}html[data-contrast=high] .skills-interaction-help{color:#fff!important}
.skill-image-caption span{color:inherit!important}.skill-image-action .lang-fr,.skill-image-action .lang-en{font-size:inherit!important}
.skill-image-caption{color:#fff!important}html[data-reading-mode=simple] .skill-image-caption{color:#202536!important}html[data-contrast=high] .skill-image-caption,html[data-monochrome=true] .skill-image-caption{color:#fff!important}

/* V6: size the skill rail from its illustrated cards, without an empty text area. */
html.skills-dialog-ready.skills-scroll-ready .skills-scroll-shell{height:auto;padding-bottom:3.25rem}
html.skills-dialog-ready.skills-scroll-ready .skills-scroll-viewport{height:auto}
html.skills-dialog-ready.skills-scroll-ready #skills .skills{height:auto;align-items:flex-start}
html.skills-dialog-ready.skills-scroll-ready #skills .skill.has-skill-dialog{min-height:0;height:auto}
.cinema-platform-cloud>span{min-width:0;overflow-wrap:anywhere}

/* V9: visible static view and skill dialog navigation. */
.cinema-static-toggle{pointer-events:auto;min-height:44px;padding:.65rem .8rem;border:1px solid #bbc5d3;border-radius:.8rem;background:#fff;color:var(--primary);font:inherit;font-size:.8rem;font-weight:650;cursor:pointer}
.cinema-static-toggle[aria-pressed=true]{background:var(--primary);color:#fff}.cinema-static-toggle:disabled{cursor:default}.cinema-static-toggle:focus-visible{outline:3px solid #e29422;outline-offset:3px}
.skill-modal-navigation{display:flex;align-items:center;justify-content:space-between;gap:.8rem;border-top:1px solid var(--line);padding-top:1rem;margin-top:1.2rem}.skill-modal-navigation button{min-height:44px;padding:.65rem 1rem;border:1px solid var(--primary);border-radius:999px;background:#fff;color:var(--primary);font:inherit;cursor:pointer}.skill-modal-navigation button:disabled{opacity:.55;cursor:default}.skill-modal-count{white-space:nowrap;font-weight:650}.skill-project-links a{display:block;line-height:1.5;margin:.6rem 0;overflow-wrap:anywhere}
html[data-contrast=high] :is(.cinema-static-toggle,.skill-modal-navigation button){background:#000!important;color:#fff!important;border-color:#fff!important}html[data-reading-mode=simple] .skill-modal-navigation button{color:#202536}
@media(max-width:768px){.cinema-navigation-bar{flex-wrap:wrap}.cinema-static-toggle{flex:0 0 100%;font-size:.75rem;min-height:40px}.cinema-navigation-bar .cinema-navigation{flex:1;max-width:calc(100% - 95px)}html.gsap-ready .scroll-cinema:not([data-cinema-style=depth]) .cinema-panel{padding-top:calc(var(--cinema-header-height,64px) + 120px)!important}html.gsap-ready .scroll-cinema[data-cinema-style=depth] .cinema-panel{top:calc(var(--cinema-header-height,64px) + 120px)}.skill-modal-navigation{gap:.4rem}.skill-modal-navigation button{padding:.6rem .75rem;font-size:.9rem}}

/* V9: a shorter hand-off from skills to professional experience on desktop. */
@media(min-width:769px){#skills.section{padding-bottom:2rem}#experiences.section{padding-top:2rem}}

/* V10: associations remain in skill dialogs, without changing carousel geometry. */
html.skills-dialog-ready #skills .skill > .skill-project-links{display:none}

/* V11: associated project thumbnails in skill dialogs and the no-script fallback. */
.skill-project-links a.skill-related-project{display:flex;align-items:center;gap:.8rem;min-height:76px;padding:.65rem;margin:.65rem 0;border:1px solid var(--line,#d6dce5);border-radius:.9rem;background:var(--surface,#fff);color:var(--primary);text-decoration:none}
.skill-project-links .skill-related-project-image{display:block;flex:0 0 72px;width:72px!important;height:56px!important;max-height:none;object-fit:contain;aspect-ratio:auto;margin:0!important;padding:.25rem;background:#fff;border-radius:.5rem}
.skill-related-project-title{flex:1;min-width:0;line-height:1.5;text-decoration:underline;text-underline-offset:.16em;overflow-wrap:anywhere}.skill-related-project-arrow{flex:0 0 auto}
.skill-related-project:focus-visible{outline:3px solid #e29422;outline-offset:3px}
html[data-contrast=high] .skill-project-links a.skill-related-project{background:#000!important;color:#fff!important;border-color:#fff!important}
@media(max-width:480px){.skill-project-links a.skill-related-project{gap:.6rem;padding:.5rem}.skill-project-links .skill-related-project-image{flex-basis:60px;width:60px!important;height:48px!important}}
/* V12: compact navigation, reversible skill/project links and lighter cards. */
.skills-navigation{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.8rem 0 0}.skills-navigation button,.project-return-skill{min-height:44px;border:1px solid var(--primary);border-radius:999px;background:var(--surface,#fff);color:var(--primary);padding:.6rem 1rem;font:inherit;cursor:pointer}.skills-navigation button:disabled{opacity:.45;cursor:default}.skills-navigation button[hidden]{display:none}.skills-range{font-size:.85rem;color:var(--muted);font-weight:650}.project-return-skill{margin:.6rem 0}.project-related-skills{margin:1.2rem 0;padding-top:1rem;border-top:1px solid var(--line)}.project-related-skills h4{margin:0 0 .8rem}.project-skill-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.project-skill-link{display:flex;align-items:center;gap:.8rem;padding:.7rem;min-height:76px;min-width:0;border:1px solid var(--line);border-radius:1rem;background:var(--surface,#fff);color:var(--primary);font:inherit;text-align:left;cursor:pointer}.project-skill-link img{width:88px;height:60px;flex:0 0 88px;object-fit:contain;border-radius:.5rem}.project-skill-link span{overflow-wrap:anywhere;min-width:0}.project-skill-link:focus-visible,.skills-navigation button:focus-visible,.project-return-skill:focus-visible{outline:3px solid #e29422;outline-offset:3px}#projects .card .tags .tag:nth-of-type(n+4){display:none}.project-modal-keywords{display:flex;flex-wrap:wrap;gap:.5rem}.project-modal-keywords .tag{white-space:normal}html[data-contrast=high] :is(.skills-navigation button,.project-skill-link,.project-return-skill){background:#000!important;color:#fff!important;border-color:#fff!important}html[data-contrast=high] .skills-range{color:#fff!important}
@media(min-width:769px){#skills.section{padding-bottom:.8rem}#experiences.section{padding-top:1.2rem}}
@media(max-width:600px){.project-skill-links{grid-template-columns:1fr}.skills-navigation{gap:.5rem;flex-wrap:wrap}.skills-navigation button{font-size:.8rem;padding:.6rem .75rem}.skills-range{font-size:.8rem}.project-skill-link img{width:72px;flex-basis:72px;height:52px}}

/* V14 : compétences parcourues manuellement, sans déplacement au scroll vertical. */
html.skills-manual #skills .skills-scroll-viewport{overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin}
html.skills-manual #skills .skills{width:100%;height:auto;transform:none!important;will-change:auto}
html.skills-manual #skills .skill{flex:0 0 calc((100% - 2.4rem)/3);scroll-snap-align:start;min-width:0}
html.skills-manual #skills .skills-scroll-shell{padding-bottom:2rem}
html.skills-manual #skills .skills-scroll-progress{bottom:.8rem}
html.skills-manual #skills .skills-scroll-hint{bottom:-.2rem;letter-spacing:0;text-transform:none}
@media(max-width:1000px) and (min-width:769px){html.skills-manual #skills .skill{flex-basis:calc((100% - 1.2rem)/2)}}
@media(max-width:768px){html.skills-manual #skills .skill{flex-basis:86%;max-width:400px}html.skills-manual #skills .skills-scroll-shell{padding-bottom:2.25rem}html.skills-manual #skills .skills-scroll-hint{left:0;right:auto;font-size:.7rem}}

/* V15 : expériences et parcours entre les fiches. */
.experience-related{border-top:1px solid var(--line);padding-top:1rem;margin-top:1.3rem}.experience-related h4{margin:0 0 .75rem;color:var(--primary)}.experience-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.experience-related-link{display:flex;align-items:center;gap:.7rem;border:1px solid var(--line);border-radius:.85rem;background:var(--surface,#fff);color:var(--primary);padding:.65rem;min-height:76px;font:inherit;text-align:left;cursor:pointer}.experience-related-link img{width:70px;height:52px;object-fit:contain;flex:0 0 70px}.experience-related-link span{min-width:0;overflow-wrap:anywhere}.experience-related-link:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
#experiences .timeline-item .meta{font-weight:650;color:var(--company-accent,var(--primary))}#experiences .timeline-item h3{line-height:1.35;margin-top:.5rem}
@media(max-width:600px){.experience-related-grid{grid-template-columns:1fr}:is(#experienceModal,#projectModal,#educationModal) .modal-identity{padding:.75rem;gap:.7rem}:is(#experienceModal,#projectModal,#educationModal) .modal-logo-frame{width:52px;height:52px}:is(#experienceModal,#projectModal,#educationModal) .modal-identity h3{font-size:1.08rem;line-height:1.35;margin:.3rem 0}.modal-identity-meta{font-size:.82rem}}
@media(hover:hover) and (pointer:fine){:is(.experience-related-link,.project-skill-link){transition:border-color .3s ease,background-color .3s ease}:is(.experience-related-link,.project-skill-link):hover{border-color:var(--company-accent,var(--primary));background:var(--company-wash,var(--chip))}}
html[data-contrast=high] :is(.experience-related h4,.experience-related-link,#experiences .timeline-item .meta){color:#fff!important}html[data-contrast=high] .experience-related-link{background:#000!important;border-color:#fff!important}
html[data-motion=reduced] .experience-related-link{transition:none!important}@media(prefers-reduced-motion:reduce){.experience-related-link{transition:none!important}}

#experiences .timeline-item .experience-company-label{margin:.65rem 0 .2rem;font-size:.85rem;font-weight:650;color:var(--muted)}html[data-contrast=high] #experiences .experience-company-label{color:#fff!important}

.experience-related-more{grid-column:1/-1}.experience-related-more summary{cursor:pointer;padding:.65rem 0;font-weight:650;color:var(--primary)}html[data-contrast=high] .experience-related-more summary{color:#fff!important}

/* V16 : ligne entreprise indépendante, jamais dans la zone du résumé. */
#experiences .timeline-item{grid-template-areas:"logo meta action" "logo company action" "logo title action" "logo summary action"}
#experiences .timeline-item .experience-company-label{grid-area:company;margin:.1rem 0;line-height:1.4;min-width:0;overflow-wrap:anywhere}
html[data-reading-mode=simple] #experiences .timeline-item{grid-template-areas:"meta action" "company action" "title action" "summary action"}
html:not([data-reading-mode=simple]) #experiences.summaries-compact:not(.summaries-expanded) .experience-summary{max-height:3.4em;overflow:hidden!important}
@media(max-width:768px){#experiences .timeline-item{grid-template-areas:"logo meta" "logo company" "logo title" "summary summary" "action action"}html[data-reading-mode=simple] #experiences .timeline-item{grid-template-columns:1fr;grid-template-areas:"meta" "company" "title" "summary" "action"}}
