/* Compact CV layout, client carousel and persistent contact actions. */
.languages a{display:grid;place-items:center;min-height:36px;min-width:42px;padding:6px 7px}.language-flag{display:block;width:28px;height:20px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px #00000014}.languages [aria-current] .language-flag{box-shadow:0 0 0 1px #ffffff70}
.proposal-heading{text-align:center;margin:0 auto 28px;max-width:800px}.proposal-heading h2{font-size:32px;letter-spacing:-.8px;margin:0 0 12px}.proposal-heading p{color:var(--muted);margin:0;font-size:17px}.proposal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.proposal-card{background:white;border:1px solid var(--line);border-radius:12px;padding:30px 23px;text-align:center;box-shadow:0 5px 20px #253d2c06}.proposal-card>svg{width:48px;height:48px;color:var(--accent);margin:0 0 23px}.proposal-card h3{font-size:19px;line-height:1.35;margin:0 0 18px;letter-spacing:-.3px}.proposal-card p{font-size:15px;color:var(--muted);line-height:1.7;margin:0}.logo-window{overflow-x:auto!important;scrollbar-width:none;cursor:grab;overscroll-behavior-x:contain;scroll-behavior:auto;user-select:none}.logo-window:active{cursor:grabbing}.logo-window::-webkit-scrollbar{display:none}.logo-window img{pointer-events:none;-webkit-user-drag:none}.logo-track.is-ready{animation:none!important;transform:none!important}.references{padding-bottom:22px!important}
@media(max-width:900px){.proposal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.proposal-grid{grid-template-columns:1fr;gap:14px}.proposal-heading h2{font-size:27px}.proposal-heading p{font-size:15px}.proposal-card{padding:26px 22px}.proposal-card>svg{margin-bottom:16px}.proposal-card h3{margin-bottom:12px}.nav-links{font-size:12px}}
.logo-track:not(.is-ready){animation:none;width:100%}.logo-track:not(.is-ready) .logo-group{flex-wrap:wrap;justify-content:center;padding:0}.logo-window:not(:has(.is-ready))+.slider-toggle{display:none}
body{padding-bottom:110px}.hero{grid-template-columns:minmax(0,1fr) 300px;gap:48px;padding:42px 0 36px}.hero h1{font-size:clamp(38px,4vw,52px);margin-bottom:16px}.hero h1 span{display:inline}.hero .eyebrow{margin-bottom:14px}.hero .role{font-size:27px;margin-bottom:17px}.hero .role span{color:var(--accent);font-size:23px}.hero .intro{margin:0;font-size:16px;line-height:1.65}.hero .actions{margin-top:22px}.hero .meta{margin-top:18px;font-size:12px}.portrait{padding:0;align-self:center}.portrait-photo{display:block;width:100%;height:350px;object-fit:cover;object-position:50% 40%;border-radius:16px}
.references{position:relative;display:block;padding:22px 0 30px}.logo-window{overflow:hidden;mask-image:linear-gradient(to right,transparent,black 3%,black 97%,transparent)}.logo-track{display:flex;width:max-content;animation:logos 65s linear infinite}.logo-group{display:flex;align-items:center;gap:42px;padding:0 42px 0 0;margin:0;list-style:none}.logo-group li{width:140px;flex:0 0 140px;display:grid;place-items:center}.logo-group img{width:125px;height:44px;object-fit:contain}.logo-group img[alt="Accor"]{height:52px}.logo-track.paused,.references:hover .logo-track,.references:focus-within .logo-track{animation-play-state:paused}.slider-toggle{display:block;margin:14px auto -14px;font-size:10px;border:0;background:transparent;color:var(--muted);text-decoration:underline;cursor:pointer;min-height:24px}.slider-toggle[hidden]{display:none}@keyframes logos{to{transform:translateX(-50%)}}
.cv-section{padding:42px 0}.section-heading{display:block;margin-bottom:24px}.section-heading h2{display:flex;align-items:baseline;gap:18px}.number{margin:0}.mission{padding:24px}.mission-label{margin-bottom:14px}.mission .subtitle{margin-bottom:16px}.timeline-item{grid-template-columns:120px 1fr;gap:24px;padding:23px 0}.timeline-item:last-child{padding-bottom:0}.timeline-date img{margin-top:10px;width:72px;height:33px}.timeline h3{font-size:19px}.timeline p{margin:3px 0 10px}.timeline li{margin-bottom:6px}.timeline ul{line-height:1.55}.skill-grid{gap:26px}.contact-section{padding:42px 0}.contact-section h2{font-size:30px}.contact-links{align-items:flex-start}.contact-links a{font-size:14px}.contact-links svg,.contact-dock svg{width:23px;height:23px;flex-shrink:0}.contact-icons{display:flex;gap:12px}.contact-icons a{display:grid;place-items:center;width:45px;height:45px;border:1px solid var(--line);border-radius:50%}.contact-icons a:hover{background:var(--soft)}
.contact-dock{position:fixed;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:40;display:flex;align-items:center;gap:8px;padding:7px;border-radius:16px;border:1px solid #d5ded3;background:#fafbf8f5;box-shadow:0 8px 32px #1c30292b;backdrop-filter:blur(14px)}.contact-dock a{display:flex;align-items:center;justify-content:center;text-decoration:none;height:48px;border-radius:10px}.dock-book{padding:0 20px;gap:12px;background:var(--accent);color:white;white-space:nowrap;font-size:14px;font-weight:600}.dock-icon{width:48px;color:var(--accent)}.dock-icon:hover{background:var(--soft)}
.booking-dialog{width:min(940px,calc(100% - 28px));max-height:calc(100dvh - 28px);padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink)}.booking-dialog::backdrop{background:#16282299;backdrop-filter:blur(3px)}.booking-header{display:flex;align-items:center;justify-content:space-between;gap:15px}.booking-header h2{font-size:20px;margin:0}.booking-close{background:transparent;border:0;font-size:32px;color:var(--ink);cursor:pointer;width:44px;height:44px}.booking-dialog p{font-size:12px;margin:0 0 12px}.booking-frame iframe{display:block;width:100%;height:min(650px,calc(100dvh - 160px));border:0;background:white}.booking-open{overflow:hidden}
@media(max-width:800px){.hero{grid-template-columns:minmax(0,1fr) 210px;gap:25px;padding:30px 0}.portrait-photo{height:310px}.hero h1{font-size:40px}.hero .role{font-size:24px}.hero .role span{font-size:20px}.timeline-item{grid-template-columns:90px 1fr;gap:18px}}
@media(max-width:540px){.hero{grid-template-columns:1fr 105px;gap:12px;align-items:start;padding:26px 0}.hero>div{display:contents}.hero .eyebrow,.hero h1,.hero .role{grid-column:1}.hero .eyebrow{font-size:10px;margin:0}.hero h1{font-size:34px;letter-spacing:-1.3px;margin:0}.hero h1 span{display:block}.hero .role{grid-column:1/-1;font-size:22px;margin:0}.hero .role span{font-size:19px}.hero .intro,.hero .actions,.hero .meta{grid-column:1/-1}.hero .intro{font-size:15px;margin-top:4px}.hero .actions{margin-top:4px;gap:8px}.hero .actions .button{padding:10px 12px;font-size:12px;gap:8px}.hero .meta{margin:0;line-height:1.5}.portrait{grid-column:2;grid-row:1/3;display:block;margin:0;align-self:center}.portrait-photo{width:105px;height:126px;border-radius:10px}.cv-section{padding:30px 0}.section-heading h2{font-size:25px;gap:12px}.references{padding:18px 0 24px}.logo-group{gap:28px;padding-right:28px}.logo-group li{width:115px;flex-basis:115px}.logo-group img{width:105px;height:39px}.timeline-item{grid-template-columns:1fr;gap:8px;padding:18px 0}.timeline-date{display:flex;justify-content:space-between}.timeline-date img{margin:0;height:25px;width:65px}.timeline-title span{margin:3px 0 7px}.contact-dock{width:max-content;max-width:calc(100% - 20px);gap:4px;padding:6px;bottom:max(10px,env(safe-area-inset-bottom))}.contact-dock a{height:45px}.dock-book{padding:0 12px;font-size:12px;gap:8px}.dock-icon{width:44px}.contact-section{padding:30px 0}}
@media(prefers-reduced-motion:reduce){.logo-track{animation:none;width:100%}.logo-group{width:100%;flex-wrap:wrap;justify-content:center;gap:24px;padding:0}.logo-clone{display:none}.logo-window{mask-image:none}}
@media print{body{padding-bottom:0}.contact-dock,.booking-dialog{display:none!important}.hero{display:block}.cv-section{padding:15px 0}.contact-icons a{border:0}}
