:root{--navy:#071c38;--blue:#123d69;--gold:#bb8738;--light:#f7f8fc;--ink:#132642}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Cairo,Arial,sans-serif;color:var(--ink);background:white}a{text-decoration:none;color:inherit}.top{height:90px;display:flex;justify-content:space-between;align-items:center;padding:0 max(5%,calc((100vw - 1260px)/2));border-bottom:1px solid #edf0f4}.brand{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:900;line-height:1}.brand b{color:var(--gold)}.brand small{display:block;font-size:11px;font-weight:600;margin-top:8px}.brand-icon{background:var(--navy);color:#edbd69;border-radius:14px;padding:14px}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 27px;border-radius:12px;font-family:inherit;font-weight:800;border:0;cursor:pointer}.outline{border:1px solid #d6dce6;color:var(--navy)}.primary{background:linear-gradient(135deg,#c99848,#e8bc71);color:#091d35;box-shadow:0 10px 25px #b7853933}.hero{background:radial-gradient(circle at 20% 20%,#193f65,var(--navy) 60%);color:white;display:grid;grid-template-columns:1.1fr .9fr;gap:65px;padding:76px max(5%,calc((100vw - 1260px)/2));align-items:center}.eyebrow,.overline{color:#eac27f;font-weight:800;font-size:14px}.hero h1{font-size:clamp(36px,4.1vw,65px);line-height:1.35;margin:16px 0}.hero h1 em{font-style:normal;color:#efbf73}.lead{font-size:19px;line-height:2;color:#dbe5f0}.chips{display:flex;gap:12px;flex-wrap:wrap;margin:27px 0}.chips span{background:#ffffff12;border:1px solid #ffffff25;border-radius:10px;padding:10px 13px;font-size:13px}.hero-cta{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.hero-cta>span{font-size:13px;color:#d2dbe6}.price{margin-top:30px;display:flex;gap:16px;align-items:center}.price small{font-size:15px}.price strong{font-size:42px;color:#efbf73}.price strong span{font-size:17px}.hero-image{position:relative}.hero-image img{width:100%;border-radius:23px;box-shadow:0 24px 70px #0005;border:5px solid #ffffff20}.image-note{position:absolute;bottom:-17px;right:30px;background:white;color:var(--navy);border-radius:12px;padding:13px 20px;font-weight:800;box-shadow:0 10px 30px #0002}.features{padding:85px max(5%,calc((100vw - 1260px)/2));background:var(--light)}.section-head{text-align:center}.section-head>span{color:var(--gold);font-weight:800}.section-head h2,.registration h2{font-size:35px;margin:9px 0}.section-head p{color:#66758a}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:45px}.cards article{background:white;padding:28px 23px;border:1px solid #e8ebf1;border-radius:18px;box-shadow:0 10px 25px #0b28400a}.cards .icon{font-size:31px}.cards h3{font-size:18px}.cards p{color:#68778b;font-size:14px;line-height:2}.teacher{display:flex;align-items:center;gap:25px;padding:50px max(5%,calc((100vw - 1100px)/2));background:#fdf8ee}.teacher-badge{font-size:55px}.teacher h2{margin:4px 0}.teacher p{line-height:2;color:#5d6878}.registration{padding:100px max(5%,calc((100vw - 1260px)/2));display:grid;grid-template-columns:.75fr 1.25fr;gap:75px;align-items:start}.registration-copy{position:sticky;top:25px}.registration-copy h2{line-height:1.6}.registration-copy>p{line-height:2;color:#657489}.info-row{margin:16px 0;font-weight:700}.fine{font-size:12px!important;background:#f5f8fb;padding:15px;border-radius:10px}.form-card{background:white;border:1px solid #e6ebf1;box-shadow:0 20px 65px #0b284015;padding:35px;border-radius:24px}.form-card h3{font-size:27px;margin:0}.form-card>p{color:#7b8797;font-size:13px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-weight:700;font-size:13px}input:not([type=checkbox]),select,textarea{width:100%;margin-top:7px;padding:14px;border:1px solid #dce3ed;border-radius:10px;font:inherit;font-size:13px;background:#fbfcfe;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c99b4c24}.full{margin-top:18px}.consent{display:flex;gap:10px;align-items:start;margin:22px 0;line-height:1.9;font-weight:500}.consent input{margin-top:7px;accent-color:#b98a40}.submit{width:100%;font-size:16px}.secure{text-align:center}.hp{position:absolute;left:-9999px}footer{background:var(--navy);color:#d7e1ee;padding:28px 6%;display:flex;justify-content:space-between;gap:20px;font-size:13px}@media(max-width:900px){.hero,.registration{grid-template-columns:1fr}.hero{padding-top:45px}.cards{grid-template-columns:1fr 1fr}.registration-copy{position:static}.hero-image{max-width:620px}.teacher{padding:45px 6%}}@media(max-width:580px){.top{height:76px;padding:0 5%}.brand{font-size:18px}.outline{padding:10px 13px;font-size:12px}.hero{gap:45px;padding:45px 5% 65px}.hero h1{font-size:36px}.lead{font-size:16px}.features,.registration{padding:65px 5%}.cards,.grid{grid-template-columns:1fr}.section-head h2,.registration h2{font-size:29px}.form-card{padding:23px}.teacher{align-items:start}.teacher-badge{font-size:35px}footer{flex-direction:column}}
/* Portrait du formateur */
.teacher{display:flex;align-items:center;gap:30px}
.teacher-portrait{width:170px;height:170px;flex:0 0 170px;border-radius:24px;object-fit:cover;object-position:center 20%;border:4px solid #d5ad5a;box-shadow:0 12px 35px rgba(0,0,0,.16)}
@media(max-width:640px){.teacher{flex-direction:column;text-align:center}.teacher-portrait{width:150px;height:150px;flex-basis:auto}}

/* V3: cadre photo formateur, taille strictement limitee */
.teacher{max-width:100%;gap:clamp(22px,4vw,55px);align-items:center}
.teacher-photo-frame{width:210px;height:245px;flex:0 0 210px;padding:7px;border-radius:27px;background:linear-gradient(145deg,#d9ad5b,#fff3d6,#b17a29);box-shadow:0 18px 38px rgba(18,45,76,.18);overflow:hidden}
.teacher-photo-frame .teacher-portrait{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;min-width:0!important;min-height:0!important;object-fit:cover!important;object-position:center 18%;border:0!important;border-radius:20px!important;box-shadow:none!important;flex:none!important}
.teacher>div:last-child{flex:1;min-width:0}
@media(max-width:640px){.teacher{flex-direction:column;text-align:center}.teacher-photo-frame{width:170px;height:205px;flex:0 0 auto;margin-inline:auto}}
