/* Céline au premier plan ; une illustration du travail en équipe plus bas. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.welcome{padding:48px 0 44px;border-bottom:1px solid var(--line)}
.welcome-layout{grid-template-columns:1.12fr 1fr;grid-template-areas:"heading portrait" "intro portrait";gap:0 72px;align-items:center}
.welcome-heading{grid-area:heading;align-self:end;padding-top:0}.welcome-heading .eyebrow{margin-bottom:28px}
.welcome h1{font-size:clamp(48px,5vw,64px);line-height:1.06;letter-spacing:-.047em;margin-bottom:26px}
.welcome-heading{min-width:0}.welcome h1 .title-line{white-space:normal;animation:none}.welcome h1 .title-line:last-child::after{display:none}.welcome h1 .title-line:last-child{color:var(--muted)}
.welcome-portrait{grid-area:portrait;padding:0}.welcome-portrait .portrait{aspect-ratio:1.02}.welcome-portrait .portrait img{width:205%;left:-57%;top:-36%}
.welcome-copy{grid-area:intro;align-self:start;padding-bottom:20px;max-width:430px}
.welcome-copy>p:not(.micro){font-size:16px;line-height:1.8;max-width:380px;color:#55514b}.welcome .actions{margin-top:26px}.welcome .micro{font-size:11px;max-width:370px}
.page-home .founder-introduction{background:#fcf0f4;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:65px 0}
.page-home .founder-intro-layout{grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.page-home .founder-intro-copy{padding:0;max-width:440px}.page-home .founder-intro-copy .eyebrow{font-size:11px;color:var(--muted)}
.page-home .founder-introduction h2{font-size:54px;line-height:1.07}.page-home .founder-intro-copy>p:not(.eyebrow){font-size:15px;line-height:1.8}
.relationship-sketch{min-width:0;width:100%;max-width:560px;margin:auto}.scene-viewport{touch-action:pan-y;position:relative;isolation:isolate}
.relationship-drawing{display:block;width:100%;height:auto;overflow:visible}.sketch-title{font:400 21px var(--serif);letter-spacing:-.3px}.sketch-bubble-text{font:400 20px var(--sans);letter-spacing:-.5px}
.sketch-notebook,.sketch-question,.sketch-answer,.sketch-pencil,.sketch-fan,.sketch-celebrate{transform-box:fill-box;transform-origin:center;transition:transform 1.25s cubic-bezier(.2,.75,.2,1.15),opacity .65s ease}
.sketch-notebook{transform:rotate(3deg) translateY(9px)}.sketch-question{transform:rotate(-5deg) translate(-2px,7px)}.sketch-answer{transform:rotate(5deg) translate(0,14px) scale(.93);opacity:0}
.sketch-pencil{transform:translate(13px,6px) rotate(8deg)}.sketch-celebrate{opacity:0;transform:scale(.5)}
.sketch-checks path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .65s ease}.check-two{transition-delay:.25s!important}.check-three{transition-delay:.5s!important}
[data-stage="1"] .sketch-notebook{transform:rotate(-3deg) translateY(0)}
[data-stage="1"] .sketch-question{transform:rotate(-3deg) translate(-10px,-4px)}
[data-stage="1"] .sketch-answer{transform:rotate(-2deg) translate(1px,0) scale(1);opacity:1}
[data-stage="1"] .sketch-pencil{transform:translate(-175px,-95px) rotate(10deg)}
[data-stage="1"] .check-one,[data-stage="2"] .sketch-checks path{stroke-dashoffset:0}
[data-stage="2"] .sketch-notebook{transform:rotate(-1deg) translateY(-3px)}
[data-stage="2"] .sketch-question{transform:rotate(0deg) translate(-6px,-8px)}
[data-stage="2"] .sketch-answer{transform:rotate(-2deg) translate(4px,-5px) scale(1);opacity:1}
[data-stage="2"] .sketch-pencil{transform:translate(10px,3px) rotate(-8deg)}
[data-stage="2"] .sketch-celebrate{transform:scale(1);opacity:1}
.sketch-fan{transform-origin:50% 87%;transform:rotate(7deg)}.is-playing .sketch-fan{animation:fan-breeze 2.7s ease-in-out 3}
@keyframes fan-breeze{0%,100%{transform:rotate(7deg)}35%{transform:rotate(-10deg)}70%{transform:rotate(11deg)}}
.scene-controls{display:flex;align-items:center;border-top:1px solid #d9c4cb;border-bottom:1px solid #d9c4cb;gap:12px;margin-top:8px}
.scene-steps{display:grid;grid-template-columns:repeat(3,1fr);flex:1;gap:14px}.scene-steps button{background:none;border:0;border-top:2px solid transparent;margin-top:-1px;min-height:54px;text-align:left;padding:10px 0;color:#77636b;font-size:12px;cursor:pointer;white-space:nowrap;transition:color .2s,border-color .2s}
.scene-steps button[aria-pressed=true]{color:var(--ink);border-top-color:var(--rose);font-weight:600}
.scene-play{background:none;border:0;border-left:1px solid #d9c4cb;width:44px;height:44px;display:grid;place-items:center;padding:10px;cursor:pointer;color:var(--ink)}.scene-play svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.5}.pause-icon,.is-playing .play-icon{display:none}.is-playing .pause-icon{display:block}
.scene-description{font-size:12px;color:#77636b;line-height:1.6;margin:12px 0 0;min-height:39px}
/* Graphiques HTML lisibles sans JavaScript ; données et projections distinguées. */
@media(min-width:801px) and (max-width:1100px){.welcome-layout{gap:0 35px}.welcome h1{font-size:clamp(36px,4.6vw,52px)}.page-home .founder-intro-layout{gap:35px}.page-home .founder-introduction h2{font-size:50px}}
@media(max-width:800px){
 .welcome{padding:28px 0 37px}.welcome-layout{grid-template-columns:1fr;grid-template-areas:"heading" "portrait" "intro";gap:0}.welcome-heading .eyebrow{font-size:8px;letter-spacing:.1em;margin-bottom:19px}.welcome h1{font-size:clamp(32px,9.6vw,64px);margin-bottom:24px}
 .welcome-portrait{width:100%;max-width:490px;margin:auto}.welcome-portrait .portrait{aspect-ratio:1.2}.welcome-portrait .portrait img{width:190%;left:-49%;top:-33%}
 .welcome-copy{padding:0;margin-top:24px;max-width:none}.welcome-copy>p:not(.micro){font-size:15px;line-height:1.7;max-width:440px;margin-bottom:0}.welcome .actions{margin-top:21px}.welcome .button{width:100%}.welcome .micro{font-size:10px;margin-top:13px;text-align:center;max-width:none}
 .page-home .founder-introduction{padding:45px 0}.page-home .founder-intro-layout{grid-template-columns:1fr;gap:15px}.page-home .founder-introduction h2{font-size:40px}
 .scene-steps{gap:12px}.scene-steps button{font-size:12px;min-height:49px}.scene-controls{gap:6px;margin-top:0}.scene-play{width:44px}.scene-description{font-size:11px;min-height:36px;margin-top:10px}
}
@media(max-width:370px){.page-home .founder-introduction h2{font-size:35px}.scene-steps{gap:7px}.scene-steps button{font-size:11px}}
@media(prefers-reduced-motion:reduce){.relationship-sketch *{animation:none!important;transition:none!important}}
@media print{.scene-controls{display:none}.relationship-sketch{break-inside:avoid}}

/* Reconnaissance du profil : lecture directe, sans onglets. */
.affinities-section{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start;padding-top:86px;padding-bottom:86px}
.affinities-intro h2{font-size:58px;line-height:1.09;margin-bottom:28px}.affinities-intro h2>span{background:linear-gradient(transparent 83%,#dcc86466 83%,#dcc86466 94%,transparent 94%)}
.affinities-intro>p:not(.eyebrow){max-width:385px;font-size:16px;color:var(--muted)}.affinity{border-bottom:1px solid var(--line);padding:0 0 22px;margin-bottom:24px}.affinity h3{font:400 28px/1.2 var(--serif);margin-bottom:10px}.affinity p{font-size:16px;line-height:1.7;color:var(--muted);margin:0;max-width:430px}.affinities-bridge{font-size:14px;line-height:1.7;color:var(--muted);margin:28px 0 22px;max-width:420px}
@media(max-width:800px){.affinities-section{grid-template-columns:1fr;gap:30px;padding-top:48px;padding-bottom:48px}.affinities-intro h2{font-size:45px}.affinities-intro>p:not(.eyebrow){margin-bottom:0}.affinity h3{font-size:27px}.affinities-copy .text-link{font-size:14px}.affinities-bridge{font-size:14px}}
@media(max-width:370px){.affinities-intro h2{font-size:39px}.affinity h3{font-size:25px}}

.affinities-section{column-gap:72px;row-gap:38px;grid-template-columns:1fr 1fr;align-items:center}.affinities-intro{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:72px;align-items:end}.affinities-intro .eyebrow{grid-column:1/-1;margin-bottom:20px}.affinities-intro h2{margin-bottom:0}.affinities-intro>p:not(.eyebrow){max-width:455px;margin:0 0 7px}.affinities-photo .photo-frame{aspect-ratio:1.22}.affinities-photo img{object-position:50% 23%}.affinities-copy .affinity:last-of-type{margin-bottom:0}.affinities-bridge{margin-top:22px;margin-bottom:18px}
@media(max-width:800px){.affinities-section{grid-template-columns:1fr;gap:29px}.affinities-intro{grid-template-columns:1fr;gap:0}.affinities-intro .eyebrow{grid-column:auto}.affinities-intro h2{margin-bottom:23px}.affinities-intro>p:not(.eyebrow){margin:0}.affinities-photo{max-width:500px;width:100%;margin:auto}.affinities-photo .photo-frame{aspect-ratio:1.22}.affinities-copy{padding-top:2px}}

/* Une dernière invitation, avec la raison de s’inscrire avant le bouton. */
.home-invitation{padding:76px 0 80px;background:#fff;border-top:1px solid var(--line);text-align:center}
.home-invitation-inner{max-width:810px;margin:auto}
.home-invitation .eyebrow{color:#77515f}
.home-invitation .eyebrow::before{content:"";display:block;width:44px;height:3px;background:var(--gold);margin:0 auto 25px}
.home-invitation h2{font-size:clamp(38px,4.4vw,57px);text-wrap:balance}
.home-invitation p:not(.eyebrow):not(.micro){max-width:620px;margin:0 auto 18px;font-size:17px;line-height:1.8;color:#55514b}
.home-invitation strong{color:#77515f;font-weight:600}
.home-invitation .actions{justify-content:center;margin-top:28px}
.home-invitation .button{background:#885566;border-color:#885566;max-width:100%}
.home-invitation .button:hover{background:#704454;border-color:#704454}
.home-invitation .micro{margin-top:16px}
@media(max-width:800px){.home-invitation{padding:48px 0 52px}.home-invitation h2{font-size:39px}.home-invitation h2 br{display:none}.home-invitation p:not(.eyebrow):not(.micro){font-size:15px}.home-invitation .button{gap:16px}.home-invitation .micro{max-width:320px;margin:16px auto 0;font-size:11px}}
@media(max-width:370px){.home-invitation h2{font-size:34px}.home-invitation .button{font-size:13px;padding:14px 13px;gap:10px}}
