/* Suite de l'accueil : la composition de l'ouverture reste dans styles.css. */
.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.home-icon{width:26px;height:26px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.icon-tint{fill:var(--icon-tint,#d5e9e9);stroke:none}
.icon-dot{fill:currentColor;stroke:none}
.home-section,.assurance-wrap,.site-footer{position:relative;background:#fff;outline-offset:-6px}
.section-inner{width:100%;max-width:1472px;padding-inline:var(--gutter);margin-inline:auto}
.home-section{padding-block:100px}
.section-title{max-width:1020px;font-size:clamp(32px,3.35vw,48px);font-weight:600;letter-spacing:-.04em;line-height:1.2;text-wrap:balance;margin-bottom:28px}
.home-section p,.assurance-panel p{font-size:18px;line-height:1.7}
.home-section p+p{margin-top:20px}
.home-section .section-intro{max-width:950px;font-size:clamp(20px,1.8vw,26px);line-height:1.55;margin-bottom:48px}
.home-section h3{font-weight:600;letter-spacing:-.025em}
.home-section .emphasis{font-weight:600}
.text-link{display:inline-flex;align-items:center;gap:16px;max-width:100%;padding:10px 0;text-align:left;text-decoration:none;font-size:16px;font-weight:600;line-height:1.5}
.link-label{min-width:0}
.link-highlight{padding-inline:.08em;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;background:linear-gradient(105deg,#a9d9de26,#a9d9de52 55%,#a9d9de30) 0 90%/100% .48em no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.link-arrow{flex:none;transition:transform .2s ease}
.text-link:focus-visible .link-arrow{transform:translate(2px,-2px)}
.text-link:focus-visible .link-highlight{background-image:linear-gradient(105deg,#c441891c,#c4418938 55%,#c4418925)}
@media(hover:hover){.text-link:hover .link-arrow{transform:translate(2px,-2px)}.text-link:hover .link-highlight{background-image:linear-gradient(105deg,#c441891c,#c4418938 55%,#c4418925)}.text-link:hover{color:#9c2869}}
.home-section .text-link{margin-top:22px}
.advantages{padding-top:78px;background:#fffcf8}
.benefit-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px}
.benefit-grid li{display:flex;align-items:center;gap:22px;min-height:140px;padding:28px 0;border-bottom:1px solid #e6ded6}
.benefit-grid .home-icon{width:46px;height:46px;color:#28636d;stroke-width:1.25;transition:transform .2s ease}
.benefit-grid li:nth-child(even) .home-icon{color:#965072;--icon-tint:#f1dce5}
.benefit-grid h3{font-size:20px;line-height:1.5;margin:0;max-width:290px}
@media(hover:hover){.benefit-grid li:hover .home-icon{transform:translateY(-3px)}}
.role-conclusion{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,100px);border-top:1px solid #ded8d0;margin-top:60px;padding-top:48px}
.role-conclusion .emphasis{font-size:clamp(23px,2vw,28px);line-height:1.5;letter-spacing:-.025em}
.history-section{background:#fffcf8;padding-block:112px}
.history-layout{display:grid;grid-template-columns:.85fr 1.25fr;gap:clamp(48px,7vw,100px);align-items:start}
.history-heading{position:sticky;top:calc(var(--header-height,88px) + 40px)}
.history-heading .section-title{max-width:460px;margin:0}
.history-heading .title-accent{white-space:nowrap}
.history-heading .text-link{margin-top:24px}
.timeline{position:relative;list-style:none;margin:0;padding:0}
.timeline:before,.timeline:after{content:'';position:absolute;left:8px;top:24px;width:2px;border-radius:2px;pointer-events:none}
.timeline:before{height:var(--timeline-length,calc(100% - 48px));background:#e4ded8}
.timeline:after{height:var(--timeline-fill,0px);background:linear-gradient(#7cbdc5,#d39bb7)}
.timeline li{position:relative;padding:0 0 64px 48px;--period-color:#36727b;--period-tint:#dceced}
.timeline li:nth-child(2){--period-color:#a15a80;--period-tint:#f2e1e9}
.timeline li:last-child{padding-bottom:0}
.timeline-node{position:absolute;z-index:1;top:15px;left:0;width:18px;height:18px;border:2px solid #c8c8c2;border-radius:50%;background:#fffcf8;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}
.timeline h3{font-size:36px;line-height:48px;margin:0 0 18px;color:var(--period-color);transition:color .25s ease,transform .25s ease;transform-origin:left center}
.timeline li p{position:relative;margin:0}
.timeline-moving li p{opacity:var(--period-reveal,1);transform:translateY(calc((1 - var(--period-reveal,1))*18px))}
.timeline-moving li:not(.is-current):not(.is-past) h3{color:#71817f}
.timeline-moving li.is-current h3{transform:translateX(4px)}
.timeline li.is-past .timeline-node{background:var(--period-tint);border-color:var(--period-color)}
.timeline li.is-current .timeline-node{border-color:var(--period-color);background:var(--period-color);box-shadow:0 0 0 7px var(--period-tint)}
.title-accent{padding-inline:.08em;background-repeat:no-repeat;background-size:100% .7em;background-position:0 92%;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.title-accent-blue{background-image:linear-gradient(105deg,#a9d9de6b,#a9d9dea3 52%,#a9d9de75)}
.title-accent-pink{background-image:linear-gradient(105deg,#c441892e,#c4418952 52%,#c4418938)}
.check-list{list-style:none;padding:0;margin:26px 0;display:grid;gap:16px}
.check-list li{display:flex;align-items:flex-start;gap:16px;font-size:18px;line-height:1.6}
.check-list .home-icon{width:22px;height:22px;margin-top:4px;color:#28636d}
.preview-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#526166}
#liberte{padding-top:90px;background:#fcf8f5}
.freedom-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,7vw,104px)}
.freedom-grid h3{font-size:clamp(26px,2.4vw,34px);line-height:1.3;margin:36px 0 24px}
.choices{gap:20px;margin-bottom:0}.choices li{font-size:22px;font-weight:600}
.freedom-note{padding-left:36px;border-left:2px solid #f0dce7}
.assurance-wrap{padding-block:0 80px;background:#fcf8f5}
.assurance-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.assurance-panel{background:#eaf0ec;border-radius:16px;padding:36px;display:flex;flex-direction:column;align-items:flex-start;outline-offset:-6px}
.assurance-panel:last-child{background:#f4e9e9}
.assurance-panel>.home-icon{width:48px;height:48px;color:#28636d;stroke-width:1.25;margin-bottom:24px}
.assurance-panel:last-child>.home-icon{color:#965072;--icon-tint:#edd4df}
.assurance-panel h2{font-size:32px;font-weight:600;line-height:1.25;letter-spacing:-.03em;margin-bottom:24px}
.assurance-panel p{margin-bottom:26px}
.assurance-panel .text-link{margin-top:auto}
.articles{padding-top:64px;background:#fffcf8}
.article-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 48px;margin-top:40px}
.article-card{border-top:1px solid #bbd2d4;padding-top:28px;display:flex;flex-direction:column;align-items:flex-start;padding-bottom:24px}
.article-card h3{font-size:clamp(23px,2vw,29px);line-height:1.4;margin:0 0 16px;max-width:580px;text-wrap:pretty}
.article-card .text-link{margin-top:auto;gap:28px;padding-top:18px}
.contact{background:#f0f2ec;padding-block:90px}
.contact-layout{display:grid;grid-template-columns:.85fr 1.3fr;gap:clamp(48px,6vw,88px)}
.contact-intro{display:flex;flex-direction:column;align-items:flex-start}
.contact-address,.contact-phone{display:inline-flex;align-items:center;overflow-wrap:anywhere;font-size:18px}
.contact-phone{margin-bottom:30px}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px;margin-bottom:22px}
.contact-field label{display:block;font-size:15px;font-weight:600;line-height:1.65;margin-bottom:10px}
.contact-field input,.contact-field textarea{display:block;width:100%;background:#fff;border:1px solid #5f777c;border-radius:7px;font:inherit;color:var(--ink);opacity:1;-webkit-text-fill-color:var(--ink);padding:14px;resize:none}
.contact-field input{height:52px}
.contact-preview .preview-note{font-size:14px;line-height:1.6;padding-left:14px;border-left:2px solid #b3cdd0;margin-bottom:26px;color:#526166}
.contact-preview .required-note{font-size:13px;margin:18px 0 22px;color:#526166}
.contact-preview .button{min-width:160px;background:#9b748a;cursor:not-allowed}
.site-footer{padding-block:64px 34px}
.footer-grid{border-top:3px solid var(--blue);padding-top:42px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.footer-grid h2{font-size:18px;font-weight:700;margin-bottom:15px}
.footer-grid a,.footer-grid button{display:block;min-height:44px;padding:10px 0;font-size:14px;text-align:left;line-height:1.65;text-decoration:underline}
.footer-bottom{margin-top:36px;border-top:1px solid #e2e8e6;padding-top:28px;display:flex;gap:24px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;font-size:13px;line-height:1.65}
.footer-bottom>a{padding-block:10px;overflow-wrap:anywhere}
.footer-bottom>div{display:flex;gap:24px;flex-wrap:wrap}
.footer-bottom button{font-size:13px;text-decoration:underline;text-align:left;padding:10px 0}
.footer-bottom .footer-legal{font-size:13px;text-decoration:underline;text-align:left;padding:10px 0}
.social-links a{padding-block:10px}
.footer-bottom p{width:100%;color:#526166;font-size:12px}
.preview-footer{padding-block:24px}
.preview-footer>p:first-child{font-size:13px}
.preview-footer>div{margin:8px 0}
.home-section:focus:not(:focus-visible),.assurance-panel:focus:not(:focus-visible){outline:none}
@media(max-width:1000px){
  .home-section{padding-block:70px}.benefit-grid{column-gap:28px}.benefit-grid li{gap:14px}.benefit-grid h3{font-size:18px}
  .history-layout{grid-template-columns:.8fr 1.2fr;gap:40px}.timeline h3{font-size:29px}.timeline li{padding-left:38px}
  .freedom-grid{gap:32px}.freedom-note{padding-left:24px}.contact-layout{gap:40px;grid-template-columns:.8fr 1.2fr}
  .contact-fields{grid-template-columns:1fr}.assurance-panel{padding:28px}
}
@media(max-width:700px){
  .home-section{padding-block:52px}.section-title{font-size:32px;margin-bottom:24px;text-wrap:initial}
  .home-section p,.assurance-panel p{font-size:16px;line-height:1.65}.home-section .section-intro{font-size:20px;margin-bottom:30px}
  .advantages{padding-top:38px}.benefit-grid{grid-template-columns:1fr}.benefit-grid li{min-height:0;padding:22px 0;gap:20px}.benefit-grid h3{font-size:18px;max-width:none}.benefit-grid .home-icon{width:40px;height:40px}
  .role-conclusion{grid-template-columns:1fr;gap:24px;margin-top:38px;padding-top:32px}.role-conclusion .emphasis{font-size:23px}
  .history-layout{grid-template-columns:1fr;gap:40px}.history-heading{position:static}.history-heading .section-title{max-width:400px}.history-heading .text-link{margin-top:18px}.timeline li{padding:0 0 46px 36px}.timeline li:last-child{padding-bottom:0}.timeline h3{font-size:29px;margin-bottom:14px}
  .check-list{gap:18px}.check-list li{font-size:16px;gap:12px}.check-list .home-icon{width:20px;height:20px}
  #liberte{padding-top:52px}.freedom-grid{grid-template-columns:1fr;gap:32px}.freedom-grid h3{margin-top:28px;font-size:27px}.freedom-note{padding-left:20px}.choices li{font-size:20px}
  .assurance-wrap{padding-bottom:30px}.assurance-grid{grid-template-columns:1fr;gap:20px}.assurance-panel{padding:26px}.assurance-panel h2{font-size:28px}.assurance-panel>.home-icon{margin-bottom:18px}
  .articles{padding-top:24px}.article-grid{grid-template-columns:1fr;gap:22px;margin-top:32px}.article-card{padding-top:22px;padding-bottom:14px}.article-card h3{font-size:23px}.article-card .text-link{padding-top:8px}
  .contact-layout{grid-template-columns:1fr;gap:36px}.contact-fields{gap:20px}.contact-address,.contact-phone{font-size:16px}.contact-phone{margin-bottom:22px}.contact-intro .button{width:100%}.contact-preview .button{width:100%}
  .site-footer{padding-top:42px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px 22px;padding-top:30px}.footer-grid h2{font-size:16px}.footer-grid a,.footer-grid button{font-size:13px}
  .footer-bottom{gap:16px}.footer-bottom>div{gap:8px 24px}.footer-bottom p{margin-top:10px}
}
html[data-motion="off"] .timeline-node,html[data-motion="off"] .timeline h3{transition:none}
html[data-motion="off"] .timeline li p{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.timeline-node,.timeline h3,.benefit-grid .home-icon{transition:none}.timeline li p{opacity:1;transform:none}.connection{stroke-dashoffset:0}}
@media print{.timeline li p{opacity:1!important;transform:none!important}.connection{stroke-dashoffset:0}.history-heading{position:static}}

/* Terrasses immersives : le paysage devient la scène, puis le contenu prend le relais. */
.home-section.cinematic-section{padding:0;background:#faf8f5;scroll-margin-top:-110px}
.cinematic-runway{position:relative;height:100svh}
.cinematic-stage{position:relative;height:100svh;overflow:hidden;background:#deded5}
.motion-enabled .cinematic-runway{height:225svh}
.motion-enabled .cinematic-stage{position:sticky;top:0}
.cinematic-media,.cinematic-media img,.cinematic-media video,.cinematic-veil{position:absolute;inset:0;width:100%;height:100%}
.cinematic-media img,.cinematic-media video{object-fit:cover;object-position:54% 40%}
.cinematic-media video{opacity:0;pointer-events:none}
.cinematic-stage[data-ready="true"] video{opacity:1}
.cinematic-photo .cinematic-media{transform:scale(var(--cinematic-scale,1));transform-origin:54% 0}
.cinematic-veil{background:linear-gradient(90deg,#faf8f5eb 0%,#faf8f5b3 26%,#faf8f500 53%);opacity:var(--cinematic-veil-opacity,1);pointer-events:none}
.cinematic-copy{position:absolute;left:var(--gutter);bottom:23%;width:42%;max-width:760px;color:var(--headline);opacity:var(--cinematic-copy-opacity,1)}
.cinematic-copy .section-title{font-size:clamp(40px,4.4vw,76px);line-height:1.18;letter-spacing:-.045em;margin:0;max-width:none;text-wrap:balance}
.cinematic-skip{position:absolute;left:var(--gutter);bottom:30px;display:inline-flex;align-items:center;gap:18px;font-size:14px;font-weight:600;padding:8px 0;opacity:var(--cinematic-copy-opacity,1);text-shadow:0 0 8px #fff}
.cinematic-content{position:relative;background:#faf8f5;padding-block:88px;outline-offset:-6px}
.protection-reading{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,8vw,120px);align-items:start}
.protection-reading .check-list{margin:0}.protection-summary{padding-top:4px}.protection-summary .emphasis{font-size:28px;margin-bottom:24px}
.site-header.over-terrace .header-bar:before{opacity:0}
.site-header.over-terrace .header-bar{justify-content:flex-end}
.site-header.over-terrace .desktop-nav,.site-header.over-terrace .header-cta{display:none}
.site-header.over-terrace .menu-button{display:block;background:#ffffffcf}
@media(max-width:1000px){.cinematic-copy{width:43%;bottom:20%}.cinematic-copy .section-title{font-size:42px}.protection-reading{gap:38px}}
@media(max-width:700px) and (orientation:portrait){
  .home-section.cinematic-section{scroll-margin-top:-84px}
  .motion-enabled .cinematic-runway{height:210svh}
  .cinematic-copy{left:24px;right:24px;bottom:15%;width:auto;max-width:none}
  .cinematic-copy .section-title{font-size:clamp(34px,8.8vw,46px);line-height:1.16;text-wrap:initial}
  .cinematic-veil{background:linear-gradient(0deg,#faf8f5fa 0%,#faf8f5db 20%,#faf8f500 52%)}
  .cinematic-skip{left:24px;bottom:22px;font-size:13px}
  .cinematic-media img,.cinematic-media video{object-position:54% 38%}
  .cinematic-content{padding-block:52px}.protection-reading{grid-template-columns:1fr;gap:36px}
}
@media(max-height:500px) and (orientation:landscape){.cinematic-copy{bottom:24%;width:45%}.cinematic-copy .section-title{font-size:32px}.cinematic-skip{bottom:12px}}

/* Duo validé : le paysage reste immersif ; le portrait garde les deux regards. */
.cinematic-duo .cinematic-stage{background:#faf8f5}
.cinematic-duo .cinematic-media picture{position:absolute;inset:0;width:100%;height:100%}
.cinematic-duo .cinematic-media img,.cinematic-duo .cinematic-media video{object-position:72% 0}
.cinematic-duo .cinematic-copy{width:36%;bottom:24%}
@media(max-aspect-ratio:3/4){
  .cinematic-duo .cinematic-media{--duo-start-height:min(calc(100svh - 64px),145vw);top:64px;
    height:calc(var(--duo-start-height) + (100svh - 64px - var(--duo-start-height))*var(--cinematic-progress,0));bottom:auto;
    -webkit-mask-image:linear-gradient(180deg,transparent,black 7%,black 70%,transparent);
    mask-image:linear-gradient(180deg,transparent,black 7%,black 70%,transparent)}
  .cinematic-duo .cinematic-media img,.cinematic-duo .cinematic-media video{object-position:30% 0}
  .cinematic-duo .cinematic-copy{left:var(--gutter);right:var(--gutter);bottom:15%;width:auto;max-width:none}
  .cinematic-duo .cinematic-copy .section-title{font-size:clamp(34px,8.8vw,52px);line-height:1.16;text-wrap:initial}
  .cinematic-duo .cinematic-veil{background:linear-gradient(0deg,#faf8f5 0%,#faf8f580 20%,#faf8f500 44%)}
  .cinematic-duo .cinematic-skip{left:var(--gutter);bottom:22px}
}

/* Fonctionnement : portraits validés, texte vivant et défilement natif. */
.how-it-works{--trio-gap:clamp(16px,2vw,30px);--trio-width:min(calc(100vw - 2*var(--gutter)),calc(1472px - 2*var(--gutter)));--trio-photo-height:min(calc((var(--trio-width) - 2*var(--trio-gap))/3*1.25),calc(100svh - 110px));padding-bottom:100px;background:#f5f1eb;isolation:isolate}
.trio-heading{padding-bottom:44px}
.trio-heading .section-title{font-size:clamp(36px,4.2vw,64px);max-width:1000px}
.trio-heading .section-intro{max-width:850px;margin-bottom:0}
.trio-skip{display:none;align-items:center;gap:18px;width:fit-content;min-height:44px;margin-top:22px;font-size:14px;font-weight:600;text-underline-offset:5px}
.trio-runway{display:none}
.trio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--trio-gap)}
.trio-role{min-width:0}
.trio-role-salarie{order:1}.trio-role-itcp{order:2}.trio-role-client{order:3}
.trio-photo{height:var(--trio-photo-height);position:relative;overflow:hidden;border-radius:16px;background:#c4c0b5;isolation:isolate}
.trio-photo img,.trio-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.trio-photo:after,.trio-frame:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#10262c85);pointer-events:none}
.trio-photo h3,.trio-label{position:absolute;left:24px;right:16px;bottom:24px;z-index:1;font-size:clamp(24px,2.8vw,36px);line-height:1.1;letter-spacing:-.045em;font-weight:600;color:#fff;margin:0;text-shadow:0 1px 10px #0002}
.trio-role>p{font-size:17px;line-height:1.8;margin:28px 0 0;padding-right:12px}
.trio-reading{position:relative;outline-offset:-6px}
.trio-moving .trio-runway{display:block;position:relative;height:210svh}
.trio-moving .trio-skip{display:flex}
.trio-stage{position:sticky;top:0;height:100svh;overflow:hidden;background:#f5f1eb}
.trio-frame{position:absolute;top:0;left:0;overflow:hidden;isolation:isolate;border-radius:16px;will-change:transform}
.trio-frame-itcp{z-index:2;width:100%;height:100%;border-radius:0}
.trio-frame-itcp img{object-position:53% top}
.trio-role-itcp .trio-photo img{object-position:center top}
.trio-frame-itcp .trio-label{font-size:var(--label-size,88px);left:var(--label-inset,48px);bottom:var(--label-bottom,48px)}
.trio-frame-salarie,.trio-frame-client{opacity:0}
.trio-moving .trio-reading{margin-top:calc(-1*var(--trio-photo-height))}
.trio-moving:not(.trio-settled) .trio-photo{opacity:0}
.trio-moving.trio-settled .trio-frame{visibility:hidden}
.site-header.over-trio .header-bar:before{opacity:0}
.site-header.over-trio .header-bar{justify-content:flex-end}
.site-header.over-trio .desktop-nav,.site-header.over-trio .header-cta{display:none}
.site-header.over-trio .menu-button{display:block;background:#ffffffcf}
@media(max-width:1000px){.trio-role>p{font-size:16px;padding-right:0}.trio-photo h3,.trio-label{left:18px;bottom:20px;font-size:28px}}
@media(max-width:760px){
  .how-it-works{padding-bottom:56px;--trio-width:min(calc(100vw - 2*var(--gutter)),560px);--trio-photo-height:min(calc(var(--trio-width)*1.25),calc(100svh - 100px))}
  .trio-heading{padding-bottom:32px}.trio-heading .section-title{font-size:clamp(32px,8.5vw,48px)}
  .trio-heading .section-intro{font-size:20px;line-height:1.6}.trio-skip{font-size:13px;margin-top:16px}
  .trio-grid{grid-template-columns:1fr;gap:48px;max-width:560px;margin-inline:auto}
  .trio-role-itcp{order:0}
  .trio-photo{height:auto;aspect-ratio:4/5}
  .trio-moving .trio-role-itcp .trio-photo{height:var(--trio-photo-height);aspect-ratio:auto}
  .trio-photo h3,.trio-label{font-size:32px;left:24px;bottom:24px}
  .trio-role>p{margin-top:22px;font-size:16px;line-height:1.75}
  .trio-moving .trio-runway{height:165svh}
  .trio-moving .trio-reading{margin-top:calc(-1*var(--trio-photo-height))}
  .trio-moving:not(.trio-settled) .trio-photo{opacity:1}
  .trio-moving .trio-role-itcp .trio-photo{opacity:0}
  .trio-moving.trio-settled .trio-frame-itcp{visibility:visible}
  .trio-frame-salarie,.trio-frame-client{display:none}
  .trio-frame-itcp img{object-position:53% top}
  .how-it-works .role-conclusion{grid-template-columns:1fr;gap:24px;margin-top:48px}
}
@media print{.trio-runway,.trio-skip{display:none!important}.trio-moving .trio-reading{margin-top:0!important}.trio-photo{opacity:1!important}}
