/* Couche responsive — chargée en dernier pour neutraliser les anciens styles. */
img{max-width:100%;height:auto}
@media(max-width:1050px){
  header,.hero,.section{width:min(100% - 40px,900px)}
  .hero{grid-template-columns:1.1fr .9fr;gap:2.5rem;min-height:550px}
  .profile{min-height:335px}.profile>strong{width:140px;height:140px;margin:2rem auto 1rem}
  .journey{grid-template-columns:.7fr 1.3fr;gap:2.5rem}.featured{min-height:420px}
  .strip{padding-inline:20px}.skills,.contact{padding-inline:20px}
}
@media(max-width:780px){
  header,.hero,.section{width:calc(100% - 32px)}
  .site-nav{height:64px!important}.site-nav nav,.site-nav .cv-link{display:none!important}.mobile-menu{display:block!important}
  .hero{display:flex;flex-direction:column;align-items:stretch;gap:2.5rem;min-height:auto;padding:4.5rem 0 4rem}.hero>div:first-child{max-width:600px}.hero h1{font-size:clamp(3.25rem,14vw,5.2rem);line-height:.9}.lead{font-size:1rem}.actions{flex-wrap:wrap}.actions a,.actions button{min-height:46px;display:inline-flex;align-items:center}
  .profile{width:min(380px,calc(100% - 16px));min-height:320px;margin:0 auto;transform:rotate(1.5deg);box-shadow:10px 11px 0 var(--blue)}
  .strip{display:block;padding:1.4rem 16px}.strip p{font-size:.95rem}.strip div{margin-top:1rem;flex-wrap:wrap}
  .section{padding:4.5rem 0}.title{display:block;margin-bottom:2.25rem}.title h2{margin-top:.8rem;text-align:left}
  .journey{display:block}.journey .title h2{font-size:clamp(2.3rem,11vw,3.4rem)}.experience-slider{height:410px;margin-top:2rem}.slide{padding:1.4rem;align-items:flex-start}.slide h3{font-size:1.55rem}.slide ul{padding-left:1.1rem;font-size:.8rem;line-height:1.65}.company-logo{position:absolute;right:1.4rem;bottom:1.4rem;width:74px;height:74px;margin:0}
  .skills{padding:4.5rem 16px}.skill-grid{grid-template-columns:1fr}.competence-item{min-height:142px}.competence-item>b{font-size:2rem}
  .project-grid{grid-template-columns:1fr}.featured{grid-row:auto;min-height:370px}.featured h3{margin-top:8.5rem;font-size:2.7rem}.tile{min-height:145px}.tile img{width:65px;height:65px}.more{min-height:110px}
  .extras{display:block}.cert{padding:1.35rem}.cert>div{flex-wrap:wrap}.cert button{min-width:calc(50% - .5rem);min-height:56px}.passions{margin-top:1rem;padding:1.5rem}.contact{padding:5rem 16px}.contact h2{font-size:clamp(2.7rem,13vw,4.5rem)}.contact>div{flex-wrap:wrap;gap:.8rem 1.2rem;margin-top:3rem}
  .modal-content,.popup-content{width:100%;padding:1.5rem}.modal-content h2,.modal-content h3,.popup-content h2{padding-right:2rem;font-size:1.5rem}.footer{padding:1rem 16px}
}
@media(max-width:430px){
  .site-nav .brand-name{display:none}.site-nav{width:calc(100% - 24px)!important}.hero,.section{width:calc(100% - 24px)}
  .hero{padding-top:3.25rem}.kicker{font-size:.61rem}.hero h1{font-size:3.15rem}.lead{line-height:1.6}.actions{display:grid;grid-template-columns:1fr}.actions a,.actions button{justify-content:center;width:100%}
  .profile{width:calc(100% - 8px);min-height:294px;padding:.85rem}.profile>strong{width:122px;height:122px;margin:1.5rem auto .8rem;font-size:2.4rem}.profile footer{font-size:.52rem}
  .section{padding:3.5rem 0}.title h2,.cert h2{font-size:2.45rem}.experience-slider{height:430px}.slide{padding:1.15rem}.slide h3{max-width:210px;font-size:1.4rem}.company-logo{width:60px;height:60px;right:1.1rem;bottom:1.1rem}.slider-controls{justify-content:center}
  .skills{padding:3.5rem 12px;margin:0}.competence-item{min-height:132px;padding:1rem}.competence-item em{font-size:.8rem}.featured{min-height:330px;padding:1.35rem}.featured h3{margin-top:7rem;font-size:2.3rem}.featured small{bottom:1.75rem}.featured span{right:1.35rem;bottom:1.2rem}.tile{padding:1rem;gap:.8rem}.tile h3{font-size:1.15rem}.cert button{min-width:100%}.contact{padding:4rem 12px}.contact>div{margin-top:2.5rem}.footer{font-size:.48rem}.footer span{display:none}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Téléphones : confort tactile et aucun contenu coupé. */
@media(max-width:600px){
  body{overflow-x:hidden}.site-nav{width:calc(100% - 24px)!important;height:62px!important}.site-nav .brand-mark{width:31px;height:31px}.mobile-menu summary{min-height:38px;padding:.48rem .65rem}.mobile-menu>div{right:-1px;width:min(250px,calc(100vw - 24px))}
  .hero{padding:3.5rem 0 3rem;gap:2rem}.hero h1{font-size:clamp(2.85rem,14vw,4rem);overflow-wrap:anywhere}.lead{font-size:.95rem}.actions{width:100%;display:grid;grid-template-columns:1fr}.actions a,.actions button{justify-content:center;min-height:48px}
  .profile{transform:none;box-shadow:7px 8px 0 var(--blue)}.profile>strong{flex-shrink:0}.strip{padding-block:1.25rem}.strip span{font-size:.59rem}
  .experience-slider{height:auto;min-height:430px}.slider-container{min-height:430px}.slider-wrapper-horizontal{height:calc(100% - 52px);min-height:378px}.slide{min-height:378px}.slide-content{padding-right:0}.slide h3{font-size:1.45rem;max-width:calc(100% - 75px)}.slide ul{max-width:100%;font-size:.78rem}.company-logo{width:58px;height:58px}
  .skill-grid{gap:1px}.competence-item{grid-template-columns:auto 1fr auto;min-height:126px}.competence-item>b{font-size:1.75rem}.competence-item span{min-width:0}.competence-item strong{font-size:.98rem}.competence-item em{font-size:.76rem;overflow-wrap:anywhere}
  .project-grid{gap:.75rem}.featured{min-height:315px}.featured h3{margin-top:6.5rem;font-size:2.25rem}.featured small{left:1.35rem;bottom:1.6rem}.featured span{bottom:1rem}.tile{min-height:130px}.tile img{width:56px;height:56px}.tile>div{min-width:0}.tile h3{font-size:1.1rem}.tile p{font-size:.57rem}.more{min-height:94px}
  .cert>div{display:grid;grid-template-columns:1fr}.cert button{min-width:0}.passions h3{font-size:1.8rem}.contact h2{font-size:clamp(2.45rem,12vw,3.4rem)}.contact>a{font-size:.91rem;overflow-wrap:anywhere}.contact>div a{font-size:.65rem}
}
@media(max-width:360px){
  .hero h1{font-size:2.72rem}.profile{min-height:280px}.profile>strong{width:112px;height:112px;font-size:2.2rem}.profile footer{font-size:.48rem}.title h2,.cert h2{font-size:2.2rem}.slide{padding:1rem}.slide ul{font-size:.73rem}.featured h3{font-size:2rem}.mobile-menu summary{font-size:.62rem}
}

/* Carrousel compact sans désynchroniser le déplacement horizontal. */
.journey{grid-template-columns:minmax(300px,400px) minmax(0,760px)!important;justify-content:space-between}.journey .experience-slider{width:100%;min-width:0;justify-self:stretch}.experience-slider .slider-container,.experience-slider .slider-wrapper-horizontal{width:100%;min-width:0}.experience-slider .slide{flex:0 0 100%;width:100%;min-width:100%;max-width:100%}.experience-slider .slide-content{min-width:0;padding-right:2rem}.experience-slider .company-logo{flex:0 0 120px;width:120px;height:120px;object-fit:contain;margin-left:0;background:#fff;padding:.5rem}@media(max-width:1050px){.journey{grid-template-columns:.65fr 1.35fr!important}.journey .experience-slider{width:100%}}@media(max-width:780px){.journey{display:block!important}.experience-slider .slide-content{padding-right:0}.experience-slider .company-logo{flex:0 0 auto;width:74px;height:74px}}

/* Pop-ups et modales adaptatives — elles commencent sous la navbar. */
.modal,.popup{inset:74px 0 0!important;padding:clamp(12px,3vw,32px)!important;align-items:center!important;justify-content:center!important}.modal-content,.popup-content{width:min(620px,100%)!important;max-height:calc(100dvh - 122px)!important;padding:clamp(1.4rem,4vw,2.5rem)!important;border:1px solid #b7c2d8!important;border-radius:12px!important;box-shadow:0 24px 70px rgba(8,17,42,.32)!important;overscroll-behavior:contain}.modal-content h2,.modal-content h3,.popup-content h2{max-width:calc(100% - 44px);margin:0 0 1rem!important;font-size:clamp(1.45rem,4vw,2.1rem)!important;line-height:1.05}.modal-content p,.popup-content p{font-size:clamp(.88rem,2.5vw,1rem)!important;line-height:1.65!important;overflow-wrap:anywhere}.modal-content ul{padding-left:1.15rem}.modal-content li{margin:.65rem 0;color:#34435e;line-height:1.45}.modal-img,.popup-img{display:block;width:auto;max-width:100%;max-height:min(300px,35dvh);margin:1.2rem auto 0;border-radius:8px;object-fit:contain}.close,.popup-close{width:40px;height:40px;display:grid;place-items:center;top:.8rem!important;right:.8rem!important;border:1px solid #b7c2d8!important;border-radius:50%!important;background:#fff!important;color:#101827!important;font-size:1.45rem!important;line-height:1!important}.close:hover,.popup-close:hover{background:#101827!important;color:#fff!important}.close:focus-visible,.popup-close:focus-visible{outline:3px solid #38d8ff;outline-offset:3px}
@media(max-width:600px){.modal,.popup{inset:62px 0 0!important;padding:12px!important;align-items:flex-end!important}.modal-content,.popup-content{width:100%!important;max-height:calc(100dvh - 86px)!important;padding:1.35rem 1.1rem 1.5rem!important;border-radius:16px 16px 10px 10px!important}.modal-content h2,.modal-content h3,.popup-content h2{margin-top:.45rem!important;font-size:1.38rem!important}.modal-content p,.popup-content p{font-size:.91rem!important}.modal-content ul{font-size:.88rem}.modal-img,.popup-img{max-height:27dvh;margin-top:1rem}.close,.popup-close{width:38px;height:38px;top:.7rem!important;right:.7rem!important}}

/* Centrage précis de la croix des pop-ups. */
.modal .close,.popup .popup-close{display:flex!important;align-items:center!important;justify-content:center!important;padding:0 0 2px!important;text-align:center!important;text-indent:0!important;font-family:Arial,sans-serif!important;line-height:1!important}

/* Palette de la section savoir-faire */
.actions .about-cta{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;min-width:174px;padding:.58rem .85rem!important;text-align:left;border:1px solid #aebbd3!important;background:#fff!important;color:#101827!important;line-height:1.1}.about-cta span{grid-column:1;color:#5a6882;font:500 .58rem "DM Mono",monospace;letter-spacing:.07em;text-transform:uppercase}.about-cta b{grid-column:1;grid-row:2;margin-top:.18rem;font-size:.78rem}.about-cta i{grid-column:2;grid-row:1 / span 2;align-self:center;color:#5135b8;font-size:1.1rem;font-style:normal;transition:transform .2s ease}.about-cta:hover{border-color:#5135b8!important;background:#f4f1ff!important;transform:translateY(-3px)}.about-cta:hover i{transform:translate(3px,-3px)}
.skills{background:#0b1228!important;color:#f8fbff!important}.skills .title>p{color:#a9bad8!important}.skills .title h2{color:#f8fbff}.skill-grid{gap:12px!important;background:transparent!important}.competence-item{position:relative;overflow:hidden;border:1px solid transparent!important;background:#18264b!important;color:#f8fbff!important}.competence-item:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:#75d7ff}.competence-item:nth-child(2){background:#123c59!important}.competence-item:nth-child(2):before{background:#58e0bf}.competence-item:nth-child(3){background:#332553!important}.competence-item:nth-child(3):before{background:#bc9cff}.competence-item:hover{transform:translateY(-5px);filter:brightness(1.12)}.competence-item small{color:#75d7ff!important}.competence-item:nth-child(2) small{color:#58e0bf!important}.competence-item:nth-child(3) small{color:#bc9cff!important}.competence-item em{color:#d7e1f6!important}.competence-item>b{color:#f8fbff}.competence-item> :last-child{color:#d7e1f6}

/* Esthétique du bloc passions. */
.project-grid .featured{text-decoration:none}
.passions{position:relative;isolation:isolate;overflow:hidden;padding:2rem!important;border:1px solid #b8c8ea;background:linear-gradient(145deg,#d9f3ff 0%,#e6e5ff 100%)!important;box-shadow:8px 8px 0 #c4d4f3}.passions:before{content:"";position:absolute;z-index:-1;right:-95px;bottom:-110px;width:250px;height:250px;border:1px solid rgba(81,53,184,.18);border-radius:50%;box-shadow:0 0 0 34px rgba(255,255,255,.18),0 0 0 68px rgba(81,53,184,.06)}.passions>p{margin-bottom:.55rem!important;color:#52627c!important}.passions h3{margin-bottom:1.7rem;font-size:2.15rem;line-height:.9;color:#101827}.interest-buttons{position:relative;z-index:1}.passions .passion{min-height:46px;margin:.45rem 0;padding:.72rem .85rem;border:1px solid rgba(117,140,180,.5)!important;border-radius:10px;background:rgba(255,255,255,.68)!important;color:#101827!important;box-shadow:0 3px 10px rgba(48,70,112,.06);transition:transform .18s ease,background .18s ease,border-color .18s ease}.passions .passion:hover{padding-left:1rem;background:#fff!important;border-color:#7c6bd0!important;transform:translateX(4px)}.passions .passion .label{font-weight:700}.passions .passion:hover .label{color:#5135b8}@media(max-width:600px){.passions{padding:1.4rem!important;box-shadow:6px 6px 0 #c4d4f3}.passions h3{font-size:1.9rem}.passions .passion{min-height:48px}}

/* Contrôles du parcours — une seule barre de navigation centrée. */
.experience-slider .slider-wrapper-horizontal{height:calc(100% - 70px)!important}.experience-slider .slider-controls{height:70px;display:flex;align-items:center;justify-content:center;gap:.9rem;padding-top:1rem}.experience-slider .arrow{width:42px;height:42px;display:grid;place-items:center;border:1px solid #101827;border-radius:50%;background:#fff;color:#101827;font-size:1.25rem;line-height:1;cursor:pointer;transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.experience-slider .arrow:hover{background:#101827;color:#fff;transform:translateY(-2px);box-shadow:0 5px 0 #b9c7e3}.experience-slider .arrow:focus-visible{outline:3px solid #38d8ff;outline-offset:3px}.experience-slider .dots{display:flex;align-items:center;justify-content:center;gap:.45rem;min-width:74px}.experience-slider .dot{width:7px;height:7px;border-radius:99px;background:#b7c2d8;cursor:pointer;transition:width .2s ease,background .2s ease}.experience-slider .dot.active{width:25px;background:#5135b8}@media(max-width:600px){.experience-slider .slider-wrapper-horizontal{height:calc(100% - 60px)!important;min-height:370px}.experience-slider .slider-controls{height:60px;gap:.7rem;padding-top:.65rem}.experience-slider .arrow{width:39px;height:39px;font-size:1.12rem}.experience-slider .dots{min-width:62px}.experience-slider .dot.active{width:20px}}
