/* Espace prof : mêmes paysages et composants publics que l’accueil. */
.ff-teachers { --prof-sea:#0b3242; }
.ff-teachers .skip-link { position:absolute; top:12px; left:12px; z-index:200; transform:translateY(-180%); padding:10px 16px; border-radius:8px; background:var(--ff-card); color:var(--ff-ink); }
.ff-teachers .skip-link:focus { transform:translateY(0); }
.ff-teachers main { outline:none; }
.ff-teachers section[id] { scroll-margin-top:24px; }
.ff-teachers .home-nav nav { gap:26px; }
.ff-teachers .home-login { display:flex; gap:16px; align-items:center; }
.ff-teachers .home-button { font-size:14px; }
.prof-hero { background:radial-gradient(ellipse at 85% 65%,#174754,#102e3d 60%,#0c2432); color:#ecf7f7; overflow:hidden; }
.prof-hero-grid { display:grid; grid-template-columns:1fr 1.05fr; align-items:center; gap:60px; padding-block:64px; }
.prof-hero-copy .home-kicker { color:#b3dbd0; display:flex; align-items:center; gap:12px; margin-bottom:26px; }
.prof-hero-copy .home-kicker span { width:7px; height:7px; border-radius:50%; background:#dfc271; box-shadow:0 0 0 5px #dfc27113; }
.ff-teachers .prof-hero h1 { font-size:clamp(40px,4.1vw,60px); line-height:1.07; letter-spacing:-.045em; }
.ff-teachers .prof-hero h1 em { color:#b9dfd4; margin-top:4px; }
.ff-teachers .prof-lead { margin-top:24px; max-width:460px; font-size:17px; line-height:1.75; color:#c4d8df; }
.prof-hero .home-actions { gap:20px 24px; margin-top:28px; }
.prof-hero-facts { list-style:none; display:flex; flex-wrap:wrap; padding:0; margin:27px 0 0; gap:9px 17px; color:#aac9d0; font-size:12px; }
.prof-hero-facts li+li::before { content:'·'; margin-right:17px; color:#68a7a8; }
.prof-island { margin:0; border:1px solid #63899355; border-radius:24px; padding:22px 20px 0; background:var(--prof-sea); min-width:0; box-shadow:0 24px 60px #031b292e; }
.prof-island-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; color:#a7ced1; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.prof-island-heading span:last-child { white-space:nowrap; }
.prof-island-art { width:100%; margin-top:20px; border-radius:16px; animation:prof-island-drift 8s ease-in-out infinite; }
.prof-island figcaption { position:relative; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:98px; padding:22px 0 22px 88px; border-top:1px solid #63899340; }
.prof-island figcaption .prof-merlin { position:absolute; left:-10px; bottom:3px; width:100px; height:100px; object-fit:contain; }
.prof-island figcaption span { display:block; color:#a7ced1; font-size:11px; }
.prof-island figcaption strong { display:block; font-size:14px; font-weight:650; color:#edf7f4; margin-top:3px; }
.prof-island figcaption a { display:grid; place-items:center; width:40px; height:40px; flex-shrink:0; border:1px solid #63899388; border-radius:50%; }
.prof-island figcaption a span { font-size:20px; color:#e5f4f0; }
.prof-island figcaption a:hover { background:#c2e5dc1a; }
.ff-teachers .home-section { padding-block:72px; }
.ff-teachers .home-section-heading { gap:55px; }
.ff-teachers .home-section-heading>p { font-size:15px; }
.prof-courses { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.prof-course { min-width:0; overflow:hidden; border:1px solid var(--ff-line); border-radius:18px; background:var(--ff-card); transition:transform .2s,box-shadow .2s; }
.prof-course:hover { transform:translateY(-4px); box-shadow:0 12px 26px #153c4a14; }
.prof-course-art { padding:10px 8px 0; background:var(--prof-sea); }
.prof-course-art img { width:100%; aspect-ratio:3 / 2; object-fit:contain; }
.prof-course-copy { padding:19px 18px 20px; }
.prof-course h3 { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:19px; line-height:1.25; }
.prof-course h3 span { font-size:17px; color:var(--ff-link); font-weight:500; }
.ff-teachers .prof-course p { font-size:12px; line-height:1.55; color:var(--ff-muted); margin-top:8px; min-height:38px; }
.prof-course-date { display:block; font-size:11px; font-weight:650; line-height:1.5; color:var(--ff-link); border-top:1px solid var(--ff-line); padding-top:13px; margin-top:14px; }
.ff-teachers .prof-course-note { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 24px; margin-top:22px; font-size:13px; color:var(--ff-muted); }
.prof-course-note a { color:var(--ff-link); font-weight:650; }
.prof-course-note a:hover { text-decoration:underline; text-underline-offset:4px; }
.prof-follow-section { background:var(--ff-soft); border-block:1px solid var(--ff-line); }
.prof-follow-grid { display:grid; grid-template-columns:1fr 1fr; gap:76px; align-items:center; }
.prof-follow-copy h2 { margin-top:12px; }
.ff-teachers .prof-section-lead { color:var(--ff-muted); font-size:15px; margin-top:20px; max-width:490px; }
.prof-features { margin:24px 0 28px; }
.prof-features>div { padding-block:17px; border-bottom:1px solid var(--ff-line); }
.prof-features dt { display:flex; align-items:baseline; gap:14px; font-size:15px; font-weight:750; line-height:1.45; }
.prof-features dt span { font-size:11px; font-weight:650; color:var(--ff-link); font-variant-numeric:tabular-nums; }
.prof-features dd { font-size:13px; color:var(--ff-muted); line-height:1.75; margin:8px 0 0 30px; }
.prof-dashboard { margin:0; background:var(--ff-card); border:1px solid var(--ff-line); border-radius:22px; overflow:hidden; box-shadow:0 18px 45px #183d4a0d; }
.prof-example-label { background:var(--ff-soft); color:var(--ff-muted); padding:12px 26px; border-bottom:1px solid var(--ff-line); font-size:10px; font-weight:650; letter-spacing:.06em; text-transform:uppercase; }
.prof-dashboard-head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:26px 28px 20px; }
.prof-dashboard-head span { color:var(--ff-muted); font-size:12px; }
.prof-dashboard-head h3 { font-size:23px; margin-top:6px; letter-spacing:-.025em; line-height:1.2; }
.prof-dashboard-head .prof-dashboard-mark { font-size:24px; color:var(--ff-link); }
.prof-progress-list { padding:0 28px 24px; display:grid; gap:18px; }
.prof-progress-list>div { display:grid; grid-template-columns:70px 1fr 45px; gap:17px; align-items:center; font-size:12px; }
.prof-progress-list strong { text-align:right; font-size:11px; font-variant-numeric:tabular-nums; }
.prof-progress-track { height:7px; background:var(--ff-soft); border-radius:20px; overflow:hidden; }
.prof-progress-track i { display:block; height:100%; border-radius:20px; background:#398f8a; }
.prof-essay-example { margin:0 20px; padding:22px; background:var(--ff-soft); border:1px solid var(--ff-line); border-radius:13px; }
.ff-teachers .prof-example-kicker { font-size:10px; line-height:1.7; color:var(--ff-link); font-weight:700; }
.prof-essay-example h4 { margin-top:10px; font-size:15px; line-height:1.5; }
.prof-essay-example blockquote { margin:17px 0 0; padding-left:14px; border-left:2px solid #6ba99b; font-size:13px; line-height:1.8; color:var(--ff-muted); }
.ff-teachers .prof-example-foot { font-size:10px; color:var(--ff-muted); margin-top:16px; }
.ff-teachers .prof-dashboard-foot { padding:18px 28px; font-size:11px; color:var(--ff-muted); }
.prof-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; list-style:none; padding:0; margin:0; }
.prof-steps li { background:var(--ff-card); border:1px solid var(--ff-line); border-radius:18px; padding:28px; }
.prof-step-number { display:inline-grid; place-items:center; width:40px; height:40px; background:var(--ff-soft); border:1px solid var(--ff-line); color:var(--ff-link); border-radius:12px; font-size:13px; font-weight:750; }
.prof-steps h3 { font-size:19px; margin-top:20px; line-height:1.35; }
.ff-teachers .prof-steps p { font-size:14px; color:var(--ff-muted); margin-top:10px; }
.prof-steps a,.prof-solidarity a { color:var(--ff-link); text-decoration:underline; text-underline-offset:4px; }
.prof-resource { display:flex; align-items:center; gap:24px; margin-top:26px; border:1px solid var(--ff-line); background:var(--ff-soft); border-radius:18px; padding:24px 28px; }
.prof-resource>img { width:82px; flex-shrink:0; }
.prof-resource>div { flex:1; }
.prof-resource h3 { font-size:19px; line-height:1.35; margin-top:6px; }
.prof-resource p:not(.home-kicker) { font-size:13px; color:var(--ff-muted); margin-top:8px; }
.prof-resource .home-button { flex-shrink:0; }
.prof-offer-section { padding-block:0 12px; }
.prof-offer-grid { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.prof-school-offer,.prof-accompanied { border-radius:22px; padding:38px 40px; }
.prof-school-offer { display:flex; flex-direction:column; align-items:flex-start; color:#edf7f4; background:linear-gradient(120deg,#123d4c,#0d2a3a); border:1px solid #375c68; }
.prof-school-offer .home-kicker { color:#b2d9ce; }
.prof-school-offer h2,.prof-accompanied h2 { margin-top:10px; }
.prof-price { display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; margin-top:18px; }
.prof-price strong { font-size:58px; line-height:1.2; letter-spacing:-.05em; }
.prof-price span { color:#c4dadf; font-size:13px; }
.ff-teachers .prof-school-offer>p:not(.home-kicker) { color:#c4dadf; font-size:14px; margin-top:14px; }
.prof-school-offer ul { list-style:none; padding:0; margin:22px 0; display:grid; gap:8px; font-size:13px; color:#dfefed; }
.prof-school-offer li::before { content:'✓'; color:#a6d9c7; padding-right:12px; }
.prof-school-offer .home-button { width:100%; margin-top:auto; }
.prof-school-offer small { display:block; font-size:12px; line-height:1.7; color:#b7d0d8; margin-top:16px; min-height:41px; }
.prof-accompanied { border:1px solid var(--ff-line); background:var(--ff-card); display:flex; flex-direction:column; align-items:flex-start; }
.ff-teachers .prof-accompanied>p:not(.home-kicker) { color:var(--ff-muted); font-size:14px; margin-top:20px; }
.prof-format-tags { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0 30px; }
.prof-format-tags span { font-size:11px; color:var(--ff-link); border:1px solid var(--ff-line); background:var(--ff-soft); padding:5px 10px; border-radius:6px; }
.prof-accompanied .home-button { width:100%; margin-top:auto; }
.ff-teachers .prof-accompanied>p.prof-solidarity { font-size:12px; line-height:1.7; margin-top:16px; min-height:41px; }
.prof-faq-layout>div>p:not(.home-kicker) { color:var(--ff-muted); font-size:14px; margin-top:16px; }
.prof-faq-layout .home-inline-link { display:inline-block; margin-top:22px; }
.prof-faq-layout .home-faq summary { font-size:14px; }
.prof-faq-layout .home-faq p { font-size:13px; }
@keyframes prof-island-drift { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-5px); } }
@media(min-width:1440px) { .prof-island-art { max-width:535px; margin-inline:auto; } }
@media(max-width:1100px) { .prof-hero-grid { gap:32px; }.prof-follow-grid { gap:38px; }.prof-course h3 { font-size:17px; }.prof-courses { gap:14px; }.prof-course-copy { padding-inline:15px; }.prof-resource { gap:18px; }.prof-resource h3 { font-size:17px; } }
@media(max-width:900px) {
  .prof-hero-grid { grid-template-columns:1fr 1fr; gap:24px; padding-block:44px; }
  .ff-teachers .prof-hero h1 { font-size:40px; }.ff-teachers .prof-lead { font-size:15px; }
  .prof-island { padding:16px 14px 0; }.prof-island-heading { font-size:9px; }.prof-island-heading span:last-child { display:none; }
  .prof-island figcaption { padding-left:60px; }.prof-island figcaption .prof-merlin { width:72px; height:85px; }
  .prof-island figcaption strong { font-size:12px; }.prof-island figcaption span { font-size:10px; }.prof-island figcaption a { width:32px; height:32px; }
  .prof-courses { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }.prof-course h3 { font-size:20px; }.ff-teachers .prof-course p { min-height:0; }
  .prof-follow-grid { grid-template-columns:1fr; }.prof-follow-copy { max-width:650px; }.prof-dashboard { max-width:640px; width:100%; justify-self:center; }
  .prof-steps { gap:16px; }.prof-steps li { padding:22px; }.prof-steps h3 { font-size:17px; }
  .prof-resource { flex-wrap:wrap; }.prof-resource .home-button { margin-left:100px; }
  .prof-school-offer,.prof-accompanied { padding:28px; }.prof-price { gap:8px 14px; }.prof-price strong { font-size:48px; }
}
@media(max-width:620px) {
  .ff-teachers .home-nav { gap:16px; }.ff-teachers .home-nav nav { display:none; }.ff-teachers .home-login { padding:9px 11px; font-size:12px; gap:7px; }
  .ff-teachers .home-nav-actions { gap:8px; }.ff-teachers .home-brand { gap:6px; }.ff-teachers .home-brand small { display:none; }
  .prof-hero-grid { grid-template-columns:1fr; padding-block:36px 30px; gap:30px; }.prof-hero-copy .home-kicker { margin-bottom:20px; }
  .ff-teachers .prof-hero h1 { font-size:42px; }.ff-teachers .prof-lead { font-size:16px; margin-top:20px; }
  .prof-hero .home-actions { align-items:stretch; gap:18px; }.prof-hero .home-button { width:100%; }.prof-hero .home-text-link { text-align:center; width:100%; }
  .prof-hero-facts { font-size:11px; gap:8px 11px; margin-top:22px; }.prof-hero-facts li+li::before { margin-right:11px; }
  .prof-island { padding-top:17px; }.prof-island-art { margin-top:12px; }.prof-island figcaption { min-height:90px; padding-block:19px; padding-left:73px; }
  .prof-island figcaption .prof-merlin { width:87px; height:95px; }.prof-island figcaption strong { font-size:13px; }.prof-island figcaption span { font-size:10px; }
  .ff-teachers .home-section { padding-block:48px; }.ff-teachers .home-section-heading { gap:16px; margin-bottom:24px; }.ff-teachers .home-section-heading>p { font-size:14px; }
  .prof-courses { gap:14px; }.prof-course { border-radius:14px; }.prof-course-art { padding:7px 3px 0; }.prof-course-copy { padding:15px 13px; }
  .prof-course h3 { font-size:16px; align-items:flex-start; min-height:40px; }.prof-course h3 span { font-size:14px; }.ff-teachers .prof-course p { font-size:12px; min-height:38px; }
  .prof-course-date { font-size:10px; padding-top:11px; margin-top:11px; }.ff-teachers .prof-course-note { font-size:12px; }
  .prof-features dd { font-size:14px; }.prof-features dt { font-size:16px; }.prof-follow-grid { gap:30px; }
  .prof-dashboard-head { padding:22px 20px; }.prof-example-label { padding:11px 20px; font-size:9px; }.prof-progress-list { padding-inline:20px; }
  .prof-progress-list>div { grid-template-columns:65px 1fr 40px; gap:12px; }.prof-essay-example { margin-inline:12px; padding:18px; }.prof-dashboard-foot { padding-inline:20px; }
  .prof-steps { grid-template-columns:1fr; gap:12px; }.prof-steps li { position:relative; padding:24px 22px 24px 82px; }.prof-step-number { position:absolute; left:22px; top:24px; }.prof-steps h3 { margin-top:0; font-size:18px; }.prof-steps p { font-size:14px; }
  .prof-resource { padding:22px; gap:14px; }.prof-resource>img { width:62px; align-self:flex-start; }.prof-resource>div { min-width:170px; }.prof-resource h3 { font-size:18px; }.prof-resource .home-button { width:100%; margin-left:0; }
  .prof-offer-grid { grid-template-columns:1fr; gap:18px; }.prof-school-offer,.prof-accompanied { padding:28px 24px; }.prof-price strong { font-size:54px; }.prof-school-offer ul { font-size:14px; }.prof-school-offer small { font-size:11px; }
  .prof-accompanied .prof-solidarity { font-size:12px; }.prof-faq-layout .home-faq summary { font-size:14px; }.prof-faq-layout .home-faq p { font-size:14px; }
}
@media(max-width:360px) { .ff-teachers .home-brand { font-size:13px; }.ff-teachers .home-brand img { width:29px; }.ff-teachers .home-nav-actions { gap:5px; }.ff-teachers .home-login { font-size:11px; }.ff-teachers .prof-hero h1 { font-size:37px; }.prof-courses { grid-template-columns:1fr; }.prof-course h3,.ff-teachers .prof-course p { min-height:0; }.prof-course h3 { font-size:20px; } }
@media(prefers-reduced-motion:reduce) { .prof-island-art { animation:none; }.prof-course { transition:none; }.prof-course:hover { transform:none; } }
