@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#132f3b;--blue:#009fd0;--yellow:#ffda17;--paper:#fafbf7;--muted:#60717a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #007b9f;outline-offset:5px}.skip{position:fixed;left:20px;top:-100px;background:white;padding:10px;z-index:20}.skip:focus{top:10px}.topbar{background:var(--ink);color:white;padding:9px 6%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.4px}header{padding:20px 6%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid #dce5e5;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px;line-height:1.15}.brand b{font-size:29px;letter-spacing:4px;color:var(--blue)}.brand small{display:block;font-size:12px;font-weight:600;letter-spacing:.6px}.brand-mark{width:45px;height:51px;position:relative;overflow:hidden}.brand-mark img{position:absolute;width:201px;max-width:none;left:-15px;top:-66px}nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:600}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;background:var(--ink);color:white;border:0;border-radius:5px;padding:16px 23px;font-size:13px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#006c8d;transform:translateY(-2px)}.button.small{padding:12px 17px}.menu{display:none}.hero{padding:65px 6% 60px;max-width:1600px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;margin:0 0 24px}.eyebrow>span{display:inline-block;width:7px;height:7px;background:var(--blue);border-radius:50%;margin-right:6px}h1,h2,h3{font-family:Manrope,Arial,sans-serif;line-height:1.12;letter-spacing:-1.7px}h1{font-size:clamp(42px,4.5vw,70px);font-weight:800;margin:0 0 24px}em{font-style:normal;color:#008ab5}p{color:var(--muted)}.intro{font-size:16px;max-width:460px;line-height:1.8}.actions{display:flex;gap:24px;align-items:center;margin-top:28px}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid #aabcc0;padding-bottom:5px}.hero-note{display:flex;align-items:center;gap:14px;margin-top:36px}.hero-note p{font-size:11px;line-height:1.7}.sun{font-size:42px;color:#a08000}.hero-art{height:550px;background:#dff1f1;border-radius:140px 8px 8px 8px;position:relative;overflow:hidden}.art-label{position:absolute;top:28px;right:28px;font-size:9px;font-weight:bold;letter-spacing:2px;z-index:2}.portrait{position:absolute;inset:85px 25px 48px 35px;overflow:hidden;border-radius:100px 5px 5px 5px;background:#b4e4f4}.portrait img{position:absolute;width:100%;height:auto;top:-190%;left:0}.hero-art .portrait img{top:auto;bottom:-33%;width:115%;left:-6%}.orbit{position:absolute;width:330px;height:330px;border:1px solid #039ec54d;border-radius:50%;pointer-events:none;top:20px;left:-110px}.orbit-two{width:380px;height:380px;top:-5px;left:-135px}.floating{position:absolute;left:0;bottom:80px;background:var(--yellow);padding:22px 28px;border-radius:0 12px 12px 0;box-shadow:0 8px 30px #173c4220;transform:rotate(-4deg)}.floating span{font-family:Manrope,sans-serif;font-size:28px;font-weight:800;line-height:1.1;display:block}.floating b{display:block;font-size:10px;margin-top:12px}.art-bottom{position:absolute;bottom:18px;left:25px;right:25px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px}.ribbon{display:flex;justify-content:space-evenly;gap:15px;align-items:center;background:var(--yellow);padding:23px 5%;font-size:14px;font-weight:600}.ribbon i{font-size:24px;font-style:normal}.section{padding:95px 6%;max-width:1600px;margin:auto}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:36px}.section-heading>p{max-width:320px;font-size:13px;margin:0 0 4px}h2{font-size:clamp(30px,3.1vw,46px);margin:0}h3{letter-spacing:-.6px}.tabs{display:flex;gap:10px;margin:34px 0 24px;flex-wrap:wrap}.tabs button{border:1px solid #d5dfdf;border-radius:30px;padding:9px 17px;background:transparent;color:var(--ink);font-size:11px}.tabs button.active{background:var(--ink);color:white;border-color:var(--ink)}.courses{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.course{padding:28px;background:white;border:1px solid #dfe6e3;border-radius:7px}.course.local{background:#e7f1eb}.course-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;color:#6b848a;font-size:11px}.icon{font-size:28px;font-weight:700;color:#008caf}.course .eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:13px}.course h3{font-size:27px;margin:0 0 18px}.course p{font-size:13px}.course a{display:flex;justify-content:space-between;border-top:1px solid #cddada;padding-top:20px;margin-top:30px;font-size:11px;font-weight:700}.caption{font-size:12px;margin:24px 0 0}.caption a{font-weight:bold;color:var(--ink)}.about{background:#edf3ef;display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.about-photo{height:510px;position:relative;overflow:hidden;border-radius:7px}.about-photo>img{width:100%;height:100%;object-fit:cover;object-position:center 55%}.about-photo>span{position:absolute;bottom:0;left:0;right:0;padding:23px;background:var(--yellow);font-size:11px;letter-spacing:1px}.about>div>p:not(.eyebrow){font-size:13px}.principle{display:flex;gap:18px;border-top:1px solid #cbd8d0;padding:20px 0}.principle>b{font-size:11px;color:#008ab5}.principle h3{font-size:16px;margin:0 0 6px;letter-spacing:0}.principle p{margin:0;font-size:12px}.about .text-link{display:inline-block;margin-top:12px}.expertise{padding-bottom:60px}.service-row{display:grid;grid-template-columns:40px 1.2fr 1fr 30px;gap:20px;align-items:center;border-top:1px solid #d4dfdc;padding:26px 0}.service-row:last-child{border-bottom:1px solid #d4dfdc}.service-row>span{font-size:11px;color:#708187}.service-row h3{font-size:22px;margin:0}.service-row p{font-size:12px}.service-row>b{font-size:24px}.service-row:hover{color:#008ab5}.gallery{padding-top:35px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery-grid button{background:#eef3f2;border:0;border-radius:6px;padding:18px;text-align:left;color:var(--ink)}.gallery-grid img{display:block;width:100%;height:260px;object-fit:contain}.gallery-grid span{display:block;font-size:12px;font-weight:bold;margin-top:20px}.contact{background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact .eyebrow{color:#a9cfdb}.contact em{color:var(--yellow)}.contact p{color:#b9cbd1;font-size:13px;max-width:360px}.contact .phone{font-size:26px;display:block;font-weight:bold;margin:30px 0 7px}.contact a:not(.phone){font-size:14px}.contact address{font-style:normal;font-size:12px;color:#b9cbd1;margin-top:25px}form{display:flex;flex-direction:column}label{font-size:11px;margin-bottom:6px}input,textarea,select{width:100%;border:1px solid #55707a;background:#ffffff08;color:white;border-radius:4px;padding:12px 14px;margin-bottom:16px;font-size:12px}input::placeholder,textarea::placeholder{color:#b4c4ca}select option{background:var(--ink)}textarea{resize:vertical}form .button{background:var(--yellow);color:var(--ink);justify-content:center}form .form-note{font-size:10px;max-width:none;margin-bottom:0}footer{padding:30px 6%;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px}.footer-brand{font-size:20px;letter-spacing:2px;font-weight:bold;color:#008ab5}.footer-brand span{display:block;color:var(--ink);font-size:10px;letter-spacing:0}footer p{font-size:11px}dialog{border:0;background:#f9fcfc;padding:50px 16px 16px;border-radius:10px;max-width:94vw;max-height:94vh}dialog::backdrop{background:#0d263be0}dialog img{display:block;max-width:85vw;max-height:80vh;object-fit:contain}.close{position:absolute;right:15px;top:12px;background:var(--ink);color:white;border:0;border-radius:4px;padding:6px 12px}[hidden]{display:none!important}
@media(min-width:1500px){.hero-art .portrait img{bottom:-42%}}@media(max-width:1000px){nav{gap:15px}.hero{gap:30px}.hero-art{height:480px}.actions{gap:16px;flex-wrap:wrap}.hero-art .portrait img{width:145%;left:-22%;bottom:-28%}.about{gap:40px}.contact{gap:45px}.service-row{grid-template-columns:30px 1fr 1fr 20px}.service-row h3{font-size:18px}}@media(max-width:720px){.topbar{justify-content:center}.topbar>span{display:none}header{padding:15px 6%}.brand b{font-size:24px}.menu{display:block;border:1px solid #bfcfce;background:transparent;border-radius:4px;padding:8px 12px;font-size:12px}nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);padding:22px 6%;box-shadow:0 12px 15px #18394115;flex-direction:column;align-items:stretch}nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:40px;gap:28px}h1{font-size:44px}.hero .eyebrow{font-size:9px}.hero-note{margin-top:20px}.hero-art{height:460px;max-width:480px;width:100%;justify-self:center}.hero-art .portrait img{width:110%;left:-5%;bottom:-38%}.ribbon{flex-wrap:wrap;justify-content:center;font-size:11px;padding:16px}.ribbon i{font-size:16px}.ribbon i:last-of-type{display:none}.section{padding:60px 6%}.section-heading{display:block}.section-heading>p{margin-top:20px;max-width:100%}.courses{grid-template-columns:1fr}.course-top{margin-bottom:25px}.course h3 br{display:none}.course h3{font-size:25px}.about{grid-template-columns:1fr;gap:35px}.about-photo{height:400px}.about-photo>img{object-position:50% 48%}.service-row{grid-template-columns:24px 1fr 20px;gap:12px}.service-row p{grid-column:2;margin:0}.service-row>b{grid-column:3;grid-row:1}.gallery-grid{gap:10px}.gallery-grid button{padding:8px}.gallery-grid img{height:190px}.gallery-grid span{font-size:10px;margin-top:10px}.contact{grid-template-columns:1fr;gap:35px}.contact .phone{font-size:24px}footer{flex-wrap:wrap;gap:18px}footer p{display:none}.tabs button{font-size:10px;padding:8px 11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Respecter la résolution du visuel source (379 × 591 px), sans zoom ni recadrage. */
.about-photo {
  width: 100%;
  max-width: 340px;
  height: auto;
  justify-self: center;
  align-self: center;
  background: #fff;
}
.about-photo > img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
}
.about-photo > span {
  display: block;
  position: static;
  padding: 20px 23px;
}

/* Illustrations originales des trois parcours de formation. */
.course { overflow: hidden; }
.course-illustration { margin: -28px -28px 22px; background: #edf6f5; }
.course-illustration img { display: block; width: 100%; height: auto; aspect-ratio: 5 / 3; }
.course .course-top { margin-bottom: 25px; font-size: 10px; letter-spacing: .5px; }

/* Diaporama de la zone portrait : chaque image conserve ses proportions. */
.hero-art .hero-carousel { inset:65px 20px 48px; border-radius:14px; background:#fafbf7; display:flex; flex-direction:column; }
.hero-slides { position:relative; flex:1; min-height:0; overflow:hidden; }
.hero-slide { height:100%; width:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:18px; }
.hero-art .hero-carousel .hero-slide img { position:static; display:block; width:100%; height:100%; min-height:0; object-fit:contain; }
.hero-art .hero-carousel .language-slide { padding:0; }
.hero-art .hero-carousel .service-slide img { height:auto; max-height:65%; width:100%; }
.hero-slide h3 { font-size:clamp(20px,2.3vw,30px); margin:15px 0 8px; }
.hero-slide p { font-size:13px; margin:0; }
.hero-slide .slide-action { display:inline-block; color:#132f3b; border-bottom:1px solid #009fd0; font-weight:700; font-size:12px; margin-top:15px; }
.hero-slide.contact-slide { background:#ffda17; color:#132f3b; gap:14px; padding:25px; }
.contact-slide h3 { margin:0; }
.contact-slide p { color:#132f3b; }
.contact-slide a { overflow-wrap:anywhere; font-size:clamp(13px,1.6vw,20px); font-weight:700; }
.contact-slide .contact-slide-mark { font-size:32px; }
.hero-carousel-controls { display:flex; align-items:center; justify-content:center; gap:12px; background:#132f3b; color:#fff; padding:8px; flex-shrink:0; }
.hero-carousel-controls button { min-width:40px; min-height:36px; padding:6px 10px; border:1px solid #78929c; border-radius:4px; background:transparent; color:#fff; font-size:12px; }
.hero-carousel-controls button:hover { background:#294c5c; }
.hero-slide-count { font-size:11px; font-variant-numeric:tabular-nums; min-width:45px; text-align:center; }
.hero-art .floating { display:none; }
.hero-art .orbit { pointer-events:none; z-index:0; }
.hero-art .hero-carousel { z-index:1; }
@media(max-width:720px) { .hero-art .hero-carousel { inset:60px 15px 48px; } .hero-slide h3 { font-size:24px; } }

/* Première diapositive : conserver le cadrage rapproché du portrait initial. */
.hero-carousel .hero-slide:first-child { position: relative; padding: 0; overflow: hidden; }
.hero-art .hero-carousel .hero-slide:first-child img {
  position: absolute;
  width: 115%;
  height: auto;
  max-width: none;
  left: -6%;
  bottom: -33%;
  top: auto;
  object-fit: initial;
}
@media (min-width: 1500px) {
  .hero-art .hero-carousel .hero-slide:first-child img { bottom: -42%; }
}
@media (min-width: 721px) and (max-width: 1000px) {
  .hero-art .hero-carousel .hero-slide:first-child img { width: 145%; left: -22%; bottom: -28%; }
}
@media (max-width: 720px) {
  .hero-art .hero-carousel .hero-slide:first-child img { width: 110%; left: -5%; bottom: -38%; }
}

/* L'encart de bienvenue accompagne uniquement le portrait d'origine. */
.hero-art.show-greeting .floating {
  display: block;
  z-index: 2;
  pointer-events: none;
}
