/* Retours de revue : rédaction, matériel, Open Anchor et réservation. */
.hero-content{max-width:920px}.hero-content p{max-width:650px}
.client-logos .smart{width:120px;height:auto}

/* Le halo est décoratif : les cartes restent des contenus, sans curseur de lien. */
.feature-card,.technical-steps li{transition:border-color .22s ease,box-shadow .22s ease}
@media(hover:hover){
  .feature-card:hover,.technical-steps li:hover{border-color:#b2acef;box-shadow:0 0 4px #b2acef}
}

/* Pastilles et cadres d’image identiques pour les cinq appareils. */
.supports{gap:32px;grid-template-columns:3fr 2fr}.device-list{gap:16px}.device{flex-direction:column;align-items:center;justify-content:flex-start;gap:16px;padding:0;background:transparent;border:0;border-radius:0;font-size:16px;min-height:0;line-height:1.3;text-align:center}
.device-photo-tile{width:152px;height:152px;border-radius:50%;background:#f0f1fa;display:grid;place-items:center;flex-shrink:0;overflow:hidden}
.device-photo-tile>img{display:block;width:112px;height:112px;object-fit:contain}
.coming .device{color:#52647b}

.openanchor-columns{align-items:center;gap:64px}.project-status img{width:72px;height:72px}
.openanchor-copy h2{font-size:clamp(40px,3.89vw,56px);line-height:1.1;max-width:600px}
.openanchor .openanchor-copy .intro{font-size:24px;line-height:32px;margin-bottom:32px}
.openanchor .openanchor-copy .project-context{font-size:16px;line-height:24px;margin-bottom:20px;max-width:560px}
.openanchor .openanchor-copy .project-footnote{font-size:14px!important;line-height:22px;margin:0;color:#516482}
.openanchor-diagram{margin:0;min-width:0;align-self:stretch;position:relative}
.openanchor-diagram>img{display:block;position:absolute;inset:0;margin:auto;max-width:100%;width:auto;height:100%;object-fit:contain;border-radius:16px}

.agency-stats h3{display:flex;flex-direction:column;align-items:flex-start;gap:16px;font-size:24px;line-height:1.2;margin-bottom:12px}
.agency-stats h3 .stat-number{display:block;font-size:48px;line-height:1;color:#223949;font-weight:400}

.pilot-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:stretch;text-align:left}
.pilot-method{min-width:0}.pilot-steps{grid-template-columns:1fr;gap:36px;padding:40px;margin:0;height:100%}
.pilot-steps li{display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:24px;row-gap:6px}
.pilot-steps .timeline{grid-column:1;grid-row:1/4;flex-direction:column;gap:12px;margin:0;height:100%}
.pilot-steps .timeline::after{width:1px;min-height:30px;height:auto;flex:1;background:linear-gradient(#cbd4d7,#223949)}
.pilot-steps li:last-child .timeline::after{display:none}
.pilot-steps h3{grid-column:2;grid-row:1;font-size:24px;margin:0}.pilot-steps li>p{grid-column:2;grid-row:2;font-size:17px;line-height:25px;margin:0 0 10px}
.pilot-steps .duration{grid-column:2;grid-row:3;margin:0}
.booking-panel{border:1px solid #b2acef66;border-radius:20px;background:#fff;padding:40px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.booking-panel .booking-eyebrow{font-size:14px;color:#677298;margin:0 0 16px}
.booking-panel h3{font-size:36px;line-height:1.15;margin:0 0 16px}.booking-panel>p:not(.booking-eyebrow){font-size:18px;line-height:26px;margin-bottom:24px}
.booking-placeholder{border:1px dashed #b2acef;background:#f6f5ff;border-radius:16px;flex:1;min-height:230px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center;margin-bottom:24px}
.booking-placeholder-symbol{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#e4e6ff;color:#677298;font-size:26px;font-weight:400}
.booking-placeholder p{font-size:16px;color:#516482;margin:0;max-width:240px}.booking-panel .cta{align-self:center;max-width:100%}
.pilot .duration-note{margin:24px 0 0 auto;text-align:right;max-width:650px;font-size:13px;line-height:20px}
.footnote-ref{font-size:.65em;vertical-align:super;color:inherit;text-decoration:none}.duration-note:target{outline:2px solid #b2acef;outline-offset:6px;border-radius:4px}

@media(max-width:1100px){.supports{gap:24px}.device-list{gap:12px}.device{font-size:14px}.device-photo-tile{width:128px;height:128px}.device-photo-tile>img{width:96px;height:96px}.pilot-steps,.booking-panel{padding:28px}.pilot-steps li{column-gap:18px}.booking-panel h3{font-size:30px}.pilot-steps h3{font-size:22px}}
@media(max-width:800px){.hero-content{max-width:none}.supports{grid-template-columns:1fr}.device{font-size:16px}.device-photo-tile{width:152px;height:152px}.device-photo-tile>img{width:112px;height:112px}.openanchor-diagram{position:static;justify-self:center}.openanchor-diagram>img{position:static;width:100%;height:auto;max-width:320px}.openanchor-columns{gap:40px}.openanchor-copy h2{font-size:42px}.openanchor .openanchor-copy .intro{font-size:22px;line-height:30px}.agency-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.agency-stats h3{font-size:19px}.agency-stats p{font-size:14px;line-height:21px}.agency-stats h3 .stat-number{font-size:40px}.pilot-layout{grid-template-columns:1fr;gap:24px}.pilot-steps{padding:32px;gap:36px}.booking-panel{padding:32px;min-height:500px}.booking-placeholder{min-height:240px}.pilot .duration-note{max-width:100%}}
@media(max-width:550px){.hero h1{font-size:clamp(32px,9.7vw,52px)}.device-list{grid-template-columns:repeat(2,minmax(0,1fr))}.coming .device-list{grid-template-columns:repeat(2,minmax(0,1fr))}.device{font-size:14px;gap:12px}.device-photo-tile{width:128px;height:128px}.device-photo-tile>img{width:96px;height:96px}.agency-stats{grid-template-columns:1fr;gap:28px}.agency-stats>div{display:grid;grid-template-columns:1fr;gap:4px}.agency-stats h3{font-size:22px;flex-direction:column;align-items:flex-start;gap:12px}.agency-stats p{padding-left:0}.openanchor-copy h2{font-size:38px}.pilot-steps{padding:24px}.pilot-steps li{column-gap:16px}.pilot-steps h3{font-size:22px}.pilot-steps li>p{font-size:16px;line-height:24px}.booking-panel{padding:24px}.booking-panel h3{font-size:30px}}
@media(prefers-reduced-motion:reduce){.feature-card,.technical-steps li{transition:none}}

/* Dernière revue : titres harmonisés et Open Anchor allégé. */
.technical-main{max-width:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.technical-main h2.large-heading{font-size:clamp(48px,5.833vw,84px);line-height:1.024;margin:8px 0;font-weight:400;letter-spacing:-.02em}
.openanchor-copy h2{margin-bottom:0}
.openanchor-diagram{position:static;align-self:center;justify-self:center}
.openanchor-diagram>img{position:static;inset:auto;margin:0;width:auto;height:360px;max-width:100%;object-fit:contain}
@media(max-width:800px){.technical-main{grid-template-columns:1fr}.technical-main h2.large-heading{font-size:52px}.openanchor-diagram>img{height:auto;width:100%;max-width:288px}}
@media(max-width:420px){.technical-main h2.large-heading{font-size:42px}}

/* Hiérarchie Open Anchor : titre, baseline et informations conservées. */
.openanchor-copy h2{margin-bottom:16px}
.openanchor .openanchor-copy .openanchor-baseline{font-size:32px;line-height:1.2;margin:0 0 28px;max-width:560px}
.openanchor .openanchor-copy .intro{margin-bottom:24px}
.openanchor-diagram{align-self:stretch;justify-self:stretch;position:relative}
.openanchor-diagram>img{position:absolute;inset:0;margin:auto;height:100%;width:auto;max-width:100%;object-fit:contain}
@media(max-width:800px){.openanchor .openanchor-copy .openanchor-baseline{font-size:28px}.openanchor-diagram{position:static;align-self:center;justify-self:center}.openanchor-diagram>img{position:static;margin:0;height:auto;width:100%;max-width:288px}}

/* Illustration Open Anchor agrandie de 50 %, sans débordement sur mobile. */
.openanchor-diagram>img{height:150%;max-width:100%;top:50%;bottom:auto;transform:translateY(-50%)}
@media(max-width:800px){.openanchor-diagram>img{height:auto;max-width:432px;width:100%;transform:none}}

/* Schéma à la largeur de sa colonne pour améliorer la lecture des libellés. */
.openanchor-diagram{position:static;align-self:center;justify-self:stretch}
.openanchor-diagram>img{position:static;inset:auto;transform:none;margin:0 auto;width:100%;height:auto;max-width:616px;object-fit:contain}

/* Illustration réduite de moitié à la demande de l’utilisateur. */
.openanchor-diagram>img{width:50%;max-width:308px;height:auto}

/* Illustration agrandie de 20 % depuis la version réduite. */
.openanchor-diagram>img{width:60%;max-width:369.6px;height:auto}

/* Réservation HubSpot : widget officiel et accès direct de secours. */
#reservation{scroll-margin-top:24px}
.booking-panel{padding:28px;gap:0}
.meetings-iframe-container{width:100%;min-height:756px}
.meetings-iframe-container iframe{display:block;width:100%}
.booking-direct-link{align-self:center;font-size:14px;color:#516482;text-underline-offset:4px;text-align:center;margin-top:16px}
.pilot-layout{align-items:stretch}
.pilot-method{display:flex}
.pilot-steps{width:100%;height:100%}
@media(max-width:1100px) and (min-width:801px){.booking-panel{padding:20px}}
@media(max-width:800px){.pilot-method{display:block}.pilot-steps{height:auto}}
@media(max-width:550px){.booking-panel{margin-left:-6vw;margin-right:-6vw;padding:28px 0;border-radius:0}.booking-panel>.booking-eyebrow,.booking-panel>h3,.booking-panel>p,.booking-panel>.booking-direct-link{margin-left:24px;margin-right:24px}.meetings-iframe-container{padding:0 4px}}

.openanchor-page-link{margin-top:28px}
