/* La nouvelle cible conserve la palette et la typographie ALTEO. */
header nav>a{font-size:14px}header nav{gap:21px}
.public-page main{font-size:16px;line-height:1.75}
.public-page .eyebrow,.public-page .aside-label,.public-page .index,.public-page .format-card>span{font-size:14px;letter-spacing:.07em}
.public-page .public-intro{background:linear-gradient(110deg,#eef4f8,#fff);padding-bottom:64px}
.public-page .intro-grid{grid-template-columns:minmax(0,1fr) 250px;gap:60px;align-items:start}
.public-page .intro-grid h1{font-size:clamp(40px,4.8vw,70px);line-height:1.18}
.public-page .intro-grid .lead{max-width:790px}
.public-page .intro-aside{margin-top:12px}
.public-summary{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:12px 30px;padding:22px 0;border-bottom:1px solid var(--line);position:static;background:white;align-items:center}
.public-summary a{font-size:14px;font-weight:600;line-height:1.6;padding:8px 0;border-bottom:2px solid transparent}
.public-summary a:hover{border-color:var(--red)}
.public-page section[id]{scroll-margin-top:110px}
.public-audiences article{border-top:3px solid var(--blue);padding-top:24px}
.public-audiences h3{font-size:27px;line-height:1.35;margin-top:20px}
.public-page .principles p,.public-page .format-card p,.public-page .clean-list li{font-size:16px}
.public-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.public-offers>article{padding:35px;border:1px solid var(--line);border-top:3px solid var(--blue);background:white}
.public-offer-title{display:flex;gap:20px;align-items:baseline}
.public-offer-title h3{font-size:30px;line-height:1.3}
.public-offer-title .index{flex-shrink:0}
.public-offers .public-promise{color:var(--blue);font-weight:600;margin:24px 0 12px}
.public-offers article>p{font-size:16px}
.public-offers h4{font-family:Inter,Arial,sans-serif;font-size:16px;font-weight:600;letter-spacing:0;margin-top:28px}
.public-offers .clean-list{margin:10px 0 0}
.public-journey .step-controls button{font-size:16px}
.public-journey .step-controls button>span,.public-journey .decision-gate>span{font-size:14px}
.public-journey .step-output{padding-top:100px}
.public-page #cadre .section-head{display:block}
.public-page #cadre .detail-layout{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:70px}
.public-families{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.public-families li{padding:22px 0;border-top:1px solid var(--line);font-size:19px;font-weight:500;color:var(--blue)}
.public-faq{max-width:950px}
.public-faq details{padding:23px 0;border-top:1px solid #c3d2de}
.public-faq details:last-child{border-bottom:1px solid #c3d2de}
.public-faq summary{font:500 22px/1.5 Manrope,Arial,sans-serif;color:var(--ink);padding-right:16px;cursor:pointer}
.public-faq p{font-size:16px;max-width:850px;margin-bottom:0}
.public-resources{max-width:900px}
.public-resources a{text-decoration:underline;text-underline-offset:4px;color:var(--blue)}
.public-page .public-code-link{text-decoration:underline;text-underline-offset:4px;color:var(--blue)}
.public-page .actions .button{justify-content:center}
.public-page .cta-inner p{max-width:700px}
#public-home .button{max-width:360px}
@media(max-width:1200px){
  header .header-inner{height:88px}header .menu{display:flex;align-items:center;gap:12px;min-height:44px;border:1px solid var(--line);background:white;color:var(--blue);padding:8px 13px;font-size:14px}
  header nav{display:none;position:absolute;top:88px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:white;border-bottom:1px solid var(--line);padding:20px 25px;max-height:calc(100dvh - 88px);overflow:auto}
  header nav.open{display:flex}header nav>a,header nav>a:not(.button){padding:14px 0;font-size:16px;white-space:normal}header nav .nav-contact{margin-top:12px;padding:14px 20px}
}
@media(max-width:960px){.public-page .intro-grid{grid-template-columns:1fr}.public-page .intro-aside{display:none}.public-offers>article{padding:28px}.public-page #cadre .detail-layout{gap:35px}.public-audiences{grid-template-columns:1fr;gap:30px}.public-audiences article{max-width:850px}}
@media(max-width:700px){
  .public-page .public-intro{padding-bottom:40px}.public-page .intro-grid{gap:0}.public-page .intro-grid h1{font-size:40px}.public-page .intro-grid .lead{font-size:18px}
  .public-page .eyebrow,.public-page .aside-label,.public-page .index,.public-page .format-card>span{font-size:14px;letter-spacing:.04em}
  .public-summary{gap:5px 22px;padding:16px 0}.public-summary a{font-size:14px;min-height:44px}
  .public-offers,.public-families,.public-page #cadre .detail-layout{grid-template-columns:1fr}
  .public-offer-title h3{font-size:27px}.public-offer-title{gap:16px}.public-offers>article{padding:26px}
  .public-journey .step-controls button{flex-basis:calc(50% - 4px);font-size:16px;padding:15px;min-height:80px}
  .public-journey .step-story>p:not(.eyebrow),.public-journey .decision-gate p{font-size:16px}
  .public-journey .step-output{padding:75px 27px 28px}.public-faq summary{font-size:20px}
  .public-page .cta-inner{align-items:flex-start}.public-page .actions{gap:16px}.public-page .actions .button{max-width:100%}
}
@media(max-width:380px){.public-page .intro-grid h1{font-size:35px}.public-page .actions .button{font-size:14px;padding:14px 18px}.public-offers>article{padding:22px}}
