/* 0.19 — Pat: slightly more space between letters, keep the existing identity. */
body h1,body h2,body h3{letter-spacing:.025em!important;line-height:1.08}
body h3{letter-spacing:.012em!important;line-height:1.18}
body p:not(.kicker):not(.eyebrow),body dd{letter-spacing:.012em}
body .button,body .text-link,body .text-action{letter-spacing:.015em}
body .story-heading h1{line-height:1.08}
body .section-title,body .gallery-narrative h3,body .portal-detail h3{line-height:1.08}
body .story-heading p{max-width:38ch}
body .founder h3{max-width:24ch}
body .founder p:last-child{line-height:1.8}

body[data-page=histoire] .story-hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:4vw;padding-block:80px}
body[data-page=histoire] .story-heading h1{font-size:clamp(42px,5vw,76px)}
body[data-page=histoire] .duo-photo{width:100%;margin:0;transform:rotate(2deg)}
.portrait-pair{display:grid;grid-template-columns:1fr 1fr;gap:7px;background:var(--pink);overflow:hidden}
.portrait-pair img{width:100%;height:100%;aspect-ratio:4/5;object-fit:cover}
.portrait-pair img:first-child{object-position:55% 50%}
.portrait-pair img:last-child{object-position:76% 40%}
body .founder img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
body .founder:first-of-type img{object-position:55% 50%}
body .founder:last-of-type img{object-position:76% 40%}
body .caroline-art>img{object-position:55% 40%}
body .hero-teacher img{object-position:55% 40%}
@media(max-width:900px){body[data-page=histoire] .story-hero{grid-template-columns:1fr;gap:42px;padding-block:55px}body[data-page=histoire] .story-heading h1{font-size:clamp(36px,8.5vw,72px)}body[data-page=histoire] .duo-photo{max-width:600px;width:96%;justify-self:center}}

body[data-page=histoire] .story-star{display:none}
body .duo-photo figcaption,body .founder figcaption{letter-spacing:.035em;line-height:1.15}

/* 0.20 — Vision familiale et repères de marque contextuels. */
.family-facts{list-style:none;display:flex;flex-wrap:wrap;gap:12px;padding:0;margin:24px 0 12px}
.family-facts li{border:1px solid #b490e46b;border-radius:14px;padding:12px 16px;font-size:13px;line-height:1.6;color:#eadcf8}
.family-facts strong{display:block;font-size:22px;color:#ff83df}
.section-brand{display:block;width:96px;height:96px;object-fit:contain;margin-bottom:22px}
.vision-projects{padding:85px 6vw;background:#20103b}
.vision-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:50px;align-items:end;margin-bottom:45px}
.vision-heading>p{max-width:42ch;color:#eadcf8}
.vision-heading h2{font-size:clamp(40px,4.8vw,68px)}
.vision-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.vision-card{display:flex;flex-direction:column;align-items:flex-start;padding:30px;border:1px solid #d1a5ff55;border-radius:24px;background:linear-gradient(155deg,#44236c,#261442);color:#fff;text-decoration:none;transition:transform .25s,border-color .25s}
.vision-card:nth-child(2){background:linear-gradient(155deg,#4e2461,#281442)}
.vision-card:nth-child(3){background:linear-gradient(155deg,#273c89,#20183e)}
.vision-logo{width:104px;height:104px;object-fit:contain;margin-bottom:25px}
.vision-card .eyebrow{font-size:11px;margin-bottom:14px;color:#ffaff0}
.vision-card h3{font-size:clamp(26px,2.6vw,37px);margin-bottom:18px}
.vision-card>p:not(.eyebrow){font-size:15px;line-height:1.7;margin-bottom:28px}
.vision-action{margin-top:auto;font-size:13px;font-weight:700;display:flex;justify-content:space-between;width:100%;gap:15px;padding-top:16px;border-top:1px solid #ffffff33}
.vision-card:focus-visible,.brand-link:focus-visible{outline:3px solid #6be9ff;outline-offset:5px}
@media(hover:hover){.vision-card:hover{transform:translateY(-5px);border-color:#ff83df}.brand-link:hover{background:#553070}}
.brand-links{display:grid;gap:8px;margin:26px 0}
.brand-link{display:flex;align-items:center;gap:14px;padding:10px 15px;border:1px solid #e8caff40;border-radius:16px;color:inherit;text-decoration:none;min-height:64px}
.brand-link-logo{width:46px;height:46px;object-fit:contain}
.brand-link>span:last-child{margin-left:auto}
.parent-brand{display:flex;align-items:center;gap:15px}
.parent-brand-logo{width:48px;height:48px;object-fit:contain;flex-shrink:0}
.contact-signature{display:flex;gap:14px;align-items:center;margin-bottom:28px;font-weight:700}
.contact-signature img,.footer-brand img{object-fit:contain}
.contact-signature small{display:block!important;margin:6px 0 0!important;font-size:11px!important;font-weight:400}
.footer-brand{display:flex;align-items:center;gap:10px}
@media(max-width:800px){.vision-heading{grid-template-columns:1fr;gap:25px}.vision-grid{grid-template-columns:1fr}.vision-projects{padding:60px 6vw}.vision-card{padding:26px}.vision-logo{width:84px;height:84px;margin-bottom:18px}.vision-card h3{font-size:32px}.section-brand{width:80px;height:80px}}
@media(prefers-reduced-motion:reduce){.vision-card{transition:none}}
body.paused .vision-card{transition:none}

/* 0.22 — Formats et journée gratuite : repères fixes, sans bandeau. */
.format-options{display:grid;grid-template-columns:1fr 1.35fr;gap:10px;margin:22px 0;max-width:560px;text-align:left}
.format-option{display:flex;flex-direction:column;justify-content:center;gap:7px;padding:14px 16px;border:1px solid #c5a0f080;border-radius:16px;background:#21113deb;color:#fff;text-decoration:none;min-height:80px}
.format-option strong{font-size:15px;line-height:1.4}
.format-option span{font-size:12px;line-height:1.5;color:#dfe3ff}
.format-local{background:#412063;border-color:#ff86d9}
.format-local span{color:#ffd5f5}
.format-option:hover,.format-option:focus-visible{outline:2px solid #89eaff;outline-offset:3px}
.brand-hero .format-options{margin:20px auto}
body .brand-hero{height:auto;max-height:none}
.story-heading .format-options{margin-top:20px}
.footer-formats{flex-basis:100%;font-size:12px;line-height:1.8;margin:5px 0 0;color:#e2cef4}
.footer-formats a{color:#ffafe9;text-decoration:underline;text-underline-offset:4px}
body footer{flex-wrap:wrap}
.free-day-link{display:inline-block;margin:8px 0 22px}
@media(max-width:430px){.format-options{grid-template-columns:1fr}.format-option{min-height:66px;padding:12px 15px}.format-option strong{font-size:14px}.format-options{gap:8px}}

/* 0.42 — Pages de parcours et histoire : lecture confortable sur téléphone. */
@media(max-width:480px){
 body[data-page] .preview-tabs{grid-template-columns:minmax(0,1fr);gap:8px}
 body[data-page] .preview-tabs button{display:flex;align-items:center;gap:12px;min-height:48px;padding:13px 15px;font-size:14px;line-height:1.4}
 body[data-page] .preview-tabs small{margin:0;font-size:11px}
 body[data-page] .preview-copy p{font-size:15px;line-height:1.7}
 body[data-page] .project-preview>small{font-size:12px;line-height:1.6}
 body[data-page=histoire] .duo-photo figcaption{flex-direction:column;align-items:flex-start;gap:8px;padding:14px 10px 10px}
 body[data-page=histoire] .duo-photo figcaption span{font-size:11px;line-height:1.6}
 body[data-page=histoire] .support-bridge{flex-direction:column;gap:18px}
 body[data-page=histoire] .contact-card{padding:20px}
 body[data-page=histoire] .contact-card select{font-size:16px;min-height:48px}
 body[data-page=histoire] .contact-card label{line-height:1.5}
}
