/* Le geste : styles isolés de la page, navigation partagée conservée. */
body.geste-page #main-content{--geste-ink:#1f4a4d;--geste-body:#395a5b;--geste-rule:#ccd6cf;color:var(--geste-ink);background:var(--cream);padding:0}
body.geste-page #main-content .geste-shell{width:min(1160px,calc(100% - 80px));margin-inline:auto}
body.geste-page #main-content h1,body.geste-page #main-content h2,body.geste-page #main-content h3{font-family:var(--serif)!important;font-weight:400!important;letter-spacing:-.035em!important;text-wrap:balance;margin:0!important;max-width:none}
body.geste-page #main-content h2{font-size:clamp(2rem,3.2vw,2.85rem)!important;line-height:1.12!important}
body.geste-page #main-content h3{font-size:clamp(1.7rem,2.4vw,2.1rem)!important;line-height:1.16!important}
body.geste-page #main-content p{font:400 16px/1.75 var(--sans);color:var(--geste-body);margin:18px 0 0}
body.geste-page #main-content a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}
body.geste-page #main-content .text-link{font:400 14px/1.55 var(--sans)!important;letter-spacing:0!important;text-transform:none!important;display:inline;white-space:normal}
body.geste-page #main-content .tag{font:700 11px/1.5 var(--sans)!important;letter-spacing:.13em!important;color:#a64311!important;margin:0 0 17px}
body.geste-page #main-content :is([id],section){scroll-margin-top:140px}
body.geste-page #main-content .geste-hero{background:var(--brand);color:var(--cream);padding:64px 0 58px}
body.geste-page #main-content .geste-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:48px;align-items:center}
body.geste-page #main-content .geste-hero-grid>*{min-width:0}
body.geste-page #main-content .geste-hero .tag{color:var(--accent)!important}
body.geste-page #main-content .geste-intro h1{font-size:clamp(2.6rem,4vw,3.6rem)!important;line-height:1.06!important;color:var(--cream)!important;margin:0 0 23px!important}
.geste-intro h1 span{display:block;font-size:1.23em;margin-bottom:5px}
body.geste-page #main-content .geste-intro p{font-size:16px;line-height:1.7;color:#e4e9e3;margin:0;max-width:57ch}
body.geste-page #main-content .geste-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 24px;border:1px solid var(--accent);border-radius:3px;background:var(--accent)!important;color:#143638!important;box-shadow:none!important;text-decoration:none;font:700 12px/1.4 var(--sans)!important;letter-spacing:.06em!important;text-transform:uppercase!important;margin:25px 0 0}
body.geste-page #main-content .geste-button:hover{filter:brightness(1.06)}
body.geste-page #main-content .geste-button:focus-visible,body.geste-page #main-content a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
body.geste-page #main-content .geste-film{padding:0;margin:0}
body.geste-page #main-content .geste-film video{width:100%;display:block;aspect-ratio:16/9;object-fit:contain;background:#102e31;border-radius:3px;box-shadow:0 18px 44px #08272b30}
body.geste-page #main-content .geste-film h2{font-size:clamp(1.65rem,2.35vw,2rem)!important;line-height:1.18!important;color:var(--cream)!important;margin:22px 0 0!important;max-width:360px;text-wrap:pretty}
body.geste-page #main-content p.geste-definition{font-size:15px;line-height:1.75;max-width:1000px;margin:0 auto}
body.geste-page #main-content .geste-depth-band{padding:45px 0}
body.geste-page #main-content .geste-uses-band{background:#e3ebe5}
body.geste-page #main-content .geste-uses{padding-block:64px 70px}
body.geste-page #main-content .geste-section-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:65px;align-items:center;margin-bottom:36px}
body.geste-page #main-content .geste-effect p{margin:0;font-size:17px;line-height:1.7}
body.geste-page #main-content .geste-uses-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
body.geste-page #main-content .geste-use{background:#fbf8f2;padding:32px 34px 30px;border-top:2px solid #afc5c0;border-radius:0 0 3px 3px;min-width:0}
body.geste-page #main-content .geste-use p{margin:17px 0 0}
body.geste-page #main-content .geste-use>a{display:inline-block!important;margin-top:21px}
body.geste-page #main-content .geste-use p:has(.text-link){margin-top:15px;line-height:1.5}
body.geste-page #main-content .geste-process{background:#e3ebe6;padding:62px 0 66px}
body.geste-page #main-content .geste-process-title{margin:0 0 36px!important}
body.geste-page #main-content .geste-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 40px}
body.geste-page #main-content .geste-step{padding-top:22px;border-top:1px solid #b5c8bf;min-width:0}
body.geste-page #main-content .geste-step h3{font-size:clamp(1.6rem,2.2vw,2rem)!important;line-height:1.16!important;text-wrap:pretty}
body.geste-page #main-content .geste-step p{font-size:15px;line-height:1.75;margin-top:16px}
body.geste-page #main-content .geste-followup{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 40px;margin-top:10px;align-items:start}
body.geste-page #main-content .geste-followup .tag{grid-column:1}
body.geste-page #main-content .geste-followup h3{grid-column:1}
body.geste-page #main-content .geste-followup p{grid-column:2/4;grid-row:1/3;margin:0}
body.geste-page #main-content .geste-process-contact{text-align:center}
body.geste-page #main-content .geste-process-contact .geste-button{margin-top:30px}
body.geste-page #main-content .geste-craft{padding-block:48px}
body.geste-page #main-content .geste-depth{padding:0;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:48px;align-items:center}
body.geste-page #main-content .geste-schema-zoom{display:block;width:100%;max-width:660px;margin:auto;min-width:0;text-decoration:none}
body.geste-page #main-content .geste-schema-frame{display:block;position:relative;width:100%;aspect-ratio:1070/1040;overflow:hidden}
/* Crop only the blank border; every original label remains visible. */
body.geste-page #main-content .geste-depth img{position:absolute;left:0;top:0;display:block;width:117.1963%;max-width:none!important;height:auto;margin:0;transform:translate(-3.1898%,-3.0303%);mix-blend-mode:multiply}
body.geste-page #main-content .geste-schema-caption{display:block;margin-top:8px;text-align:center;font:400 13px/1.5 var(--sans);text-decoration:underline;text-underline-offset:4px}
body.geste-page #main-content .geste-depth h2{max-width:600px!important}
body.geste-page #main-content .geste-depth strong{font-weight:700}
body.geste-page #main-content .geste-materials{margin:0;padding:0;border:0}
body.geste-page #main-content .geste-materials-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
body.geste-page #main-content .geste-materials-grid p:first-child{margin-top:0}
body.geste-page #main-content .geste-materials h2{font-size:clamp(1.9rem,2.8vw,2.5rem)!important}
body.geste-page #main-content .geste-choices{background:#fbf8f2;padding:60px 0}
body.geste-page #main-content .geste-guide>p{max-width:760px;margin:16px 0 27px}
body.geste-page #main-content .geste-guide table{width:100%;border-collapse:collapse;table-layout:fixed;font:15px/1.65 var(--sans);color:var(--geste-body)}
body.geste-page #main-content .geste-guide th,body.geste-page #main-content .geste-guide td{text-align:left;vertical-align:top;padding:20px 24px;border-bottom:1px solid #dce3dc}
body.geste-page #main-content .geste-guide thead th{background:#e7eee8;color:var(--brand);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding-block:13px}
body.geste-page #main-content .geste-guide th:first-child{width:39%}
body.geste-page #main-content .geste-guide tbody th{font-weight:600;color:var(--brand)}
body.geste-page #main-content .geste-guide .solution-guide-sources{font-size:12px;line-height:1.6;margin:20px 0 0;color:#546a65}
body.geste-page #main-content .geste-questions-title{margin-bottom:25px!important}
body.geste-page #main-content .geste-details{border-top:1px solid #bdcec3}
body.geste-page #main-content .geste-details:last-child{border-bottom:1px solid #bdcec3}
body.geste-page #main-content .geste-details summary{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:68px;padding:19px 0;cursor:pointer;list-style:none}
body.geste-page #main-content .geste-details summary::-webkit-details-marker{display:none}
body.geste-page #main-content .geste-details summary::after{content:'+';font:400 26px/1 var(--sans);color:var(--brand);flex:none}
body.geste-page #main-content .geste-details[open] summary::after{content:'−'}
body.geste-page #main-content .geste-details summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
body.geste-page #main-content .geste-details summary h3{font-size:clamp(1.25rem,2vw,1.55rem)!important;line-height:1.25!important;text-wrap:pretty}
body.geste-page #main-content .geste-details-body{padding:0 0 25px;max-width:980px}
body.geste-page #main-content .geste-details-body>p:first-child{margin-top:0}
body.geste-page #main-content .geste-details-body .geste-guide>p:first-child{margin-top:0}
body.geste-page #main-content .geste-finale{padding:68px 0 72px;background:var(--brand);color:var(--cream);text-align:center}
body.geste-page #main-content .geste-finale .tag{color:var(--accent)!important}
body.geste-page #main-content .geste-finale h2{color:var(--cream)!important;max-width:650px;margin-inline:auto}
body.geste-page #main-content .geste-finale p{color:#e1e8e0;max-width:590px;margin:20px auto 0}
body.geste-page #main-content .geste-finale p:last-child{margin-top:27px}
@media(max-width:1000px){
 body.geste-page #main-content .geste-shell{width:calc(100% - 56px)}
 body.geste-page #main-content .geste-hero-grid{gap:32px;grid-template-columns:1fr 1fr}
 body.geste-page #main-content .geste-section-heading,body.geste-page #main-content .geste-depth,body.geste-page #main-content .geste-materials-grid{gap:35px}
 body.geste-page #main-content .geste-use{padding:26px}
 body.geste-page #main-content .geste-steps{gap:24px}
}
@media(max-width:760px){
 body.geste-page #main-content .geste-shell{width:calc(100% - 40px)}
 body.geste-page #main-content .geste-hero{padding:24px 0;background:#fbf8f2;color:var(--brand);border-bottom:1px solid #d5ded5}
 body.geste-page #main-content .geste-hero-grid{grid-template-columns:1fr;gap:22px}
 body.geste-page #main-content .geste-intro h1{font-size:clamp(1.72rem,8.25vw,2.8rem)!important;line-height:1.08!important;margin-bottom:18px!important;color:var(--brand)!important}
 body.geste-page #main-content .geste-intro h1 span{font-size:1.08em;margin-bottom:4px}
 body.geste-page #main-content .geste-intro p{font-size:15px;line-height:1.65;color:var(--geste-body)}
 body.geste-page #main-content .geste-button{width:100%;min-height:50px;margin-top:22px;padding-inline:16px}
 body.geste-page #main-content .geste-film{padding-top:20px;border-top:1px solid #cfdbd2}
 body.geste-page #main-content .geste-film video{width:calc(100% + 24px);max-width:none!important;margin-inline:-12px}
 body.geste-page #main-content .geste-film h2{font-size:1.55rem!important;max-width:380px;margin-top:16px!important;color:var(--brand)!important}
 body.geste-page #main-content .geste-depth-band{padding:28px 0}
 body.geste-page #main-content p.geste-definition{font-size:14px;line-height:1.65}
 body.geste-page #main-content .geste-uses{padding-block:28px 30px}
 body.geste-page #main-content .geste-section-heading{grid-template-columns:1fr;gap:16px;margin-bottom:22px}
 body.geste-page #main-content h2{font-size:clamp(1.9rem,7.5vw,2.55rem)!important;line-height:1.15!important}
 body.geste-page #main-content .geste-effect p{font-size:15px}
 body.geste-page #main-content .geste-uses-grid{grid-template-columns:1fr;gap:14px}
 body.geste-page #main-content .geste-use{padding:22px 20px;border:1px solid #cfdbd2;border-left:3px solid #789b91;border-radius:3px;background:#fbf8f2}
 body.geste-page #main-content h3{font-size:1.8rem!important;line-height:1.17!important}
 body.geste-page #main-content p{font-size:15px;line-height:1.65}
 body.geste-page #main-content .geste-process{padding:32px 0;background:var(--brand);color:var(--cream)}
 body.geste-page #main-content .geste-process-title{margin-bottom:23px!important;color:var(--cream)!important}
 body.geste-page #main-content .geste-steps{grid-template-columns:1fr;gap:0}
 body.geste-page #main-content .geste-step{padding:20px 0;border-color:#567779}
 body.geste-page #main-content .geste-step .tag{margin-bottom:9px!important;color:#ff9e60!important}
 body.geste-page #main-content .geste-process h3{color:var(--cream)!important}
 body.geste-page #main-content .geste-step h3{font-size:1.85rem!important}
 body.geste-page #main-content .geste-step p{margin-top:12px;line-height:1.65;color:#e2eae4}
 body.geste-page #main-content .geste-followup{display:block;grid-column:auto;margin-top:4px;padding:20px;background:#315b5d;border:0;border-radius:3px}
 body.geste-page #main-content .geste-process-contact .geste-button{margin-top:22px}
 body.geste-page:not(.geste-contact-passed) .chat-cta{visibility:hidden!important;pointer-events:none!important}
 body.geste-page #main-content .geste-craft{padding-block:28px}
 body.geste-page #main-content .geste-depth{display:flex;flex-direction:column;gap:20px}
 body.geste-page #main-content .geste-depth>div{order:0}
 body.geste-page #main-content .geste-schema-zoom{order:1;width:calc(100% + 40px);max-width:none;align-self:center;margin-inline:-20px}
 body.geste-page #main-content .geste-schema-frame{aspect-ratio:990/1040}
 body.geste-page #main-content .geste-depth img{width:126.6667%;transform:translate(-3.98724%,-3.0303%)}
 body.geste-page #main-content .geste-materials{margin:0;padding:22px 20px;border:0;border-radius:3px;background:#e1e9e2}
 body.geste-page #main-content .geste-materials-grid{grid-template-columns:1fr;gap:16px}
 body.geste-page #main-content .geste-choices{padding-block:30px;background:#e3ebe5;border-top:1px solid #c5d5c9;border-bottom:1px solid #c5d5c9}
 body.geste-page #main-content .geste-guide table,body.geste-page #main-content .geste-guide tbody,body.geste-page #main-content .geste-guide tr{display:block;width:100%}
 body.geste-page #main-content .geste-guide thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 body.geste-page #main-content .geste-guide tbody tr{padding:16px 0;border-bottom:1px solid #bccdc1}
 body.geste-page #main-content .geste-guide tbody th,body.geste-page #main-content .geste-guide tbody td{display:block;width:100%;border:0;padding:0}
 body.geste-page #main-content .geste-guide th:first-child{width:100%}
 body.geste-page #main-content .geste-guide tbody td{padding-top:8px;font-size:14px}
 body.geste-page #main-content .geste-guide>p{font-size:15px;margin-bottom:6px}
 body.geste-page #main-content .geste-questions-title{margin-bottom:20px!important}
 body.geste-page #main-content .geste-details summary{gap:14px;padding:17px 0}
 body.geste-page #main-content .geste-details summary h3{font-size:1.25rem!important}
 body.geste-page #main-content .geste-details-body{padding-bottom:20px}
 body.geste-page #main-content .geste-finale{padding-block:32px 36px}
 body.geste-page #main-content .geste-finale h2{text-wrap:pretty}
 body.geste-page #main-content :is([id],section){scroll-margin-top:112px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Keep floating contact clear of video controls and inline contact buttons. */
body.geste-page:is(.geste-video-in-view,.geste-contact-in-view,.geste-final-contact-in-view) .chat-cta{visibility:hidden!important;pointer-events:none!important}
