/* NEXAPSIS.ORG · V9.3 · Prusse minéral intense · 2026-10-23 */
:root{--violet:#163B53;--prussian-dark:#102E42;--ink:#1E2C35;--muted:#4A5D69;--pale:#D5E2EB;--hair:#A8B9C6;--paper:#8FA8BA;--surface:#E8F0F4;--surface-alt:#E1EBF0;--surface-highlight:#F9FAFB;--max:1140px}
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Verdana,Geneva,sans-serif;font-size:11pt;line-height:1.72}
body,button,input,select,textarea{font-family:Verdana,Geneva,sans-serif}button,input,select,textarea{font-size:11pt}a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--violet);outline-offset:3px}
.shell{max-width:var(--max);margin-inline:auto;padding-inline:clamp(22px,4.8vw,72px)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(143,168,186,.975);border-bottom:1px solid var(--hair);backdrop-filter:blur(12px)}
.header-inner{min-height:74px;display:flex;align-items:center;gap:22px;justify-content:space-between}
.brand{font-size:9.5pt;letter-spacing:.14em;white-space:nowrap}.brand small{display:block;letter-spacing:.19em;font-size:7pt;color:var(--muted);margin-top:2px}
.primary-nav{display:flex;align-items:center;gap:clamp(12px,1.55vw,23px)}.primary-nav a{font-size:9pt;white-space:nowrap;padding:11px 0;border-bottom:1px solid transparent}
.primary-nav a:hover,.primary-nav a[aria-current=page]{color:var(--violet);border-color:var(--violet)}.lang-link{font-size:9pt;letter-spacing:.11em;color:var(--violet);padding:9px 0}
.mobile-menu{display:none;position:relative}.mobile-menu>summary{list-style:none;cursor:pointer;font-size:9pt;letter-spacing:.07em;color:var(--violet);padding:9px 0}.mobile-menu>summary::-webkit-details-marker{display:none}
.mobile-menu .mobile-links{position:absolute;right:0;top:40px;min-width:min(330px,84vw);padding:9px 20px;background:var(--paper);border:1px solid var(--hair);box-shadow:0 12px 22px #202B3217}
.mobile-links a{display:block;border-bottom:1px solid var(--hair);padding:9px 0;font-size:10pt}.mobile-links a:last-child{border:0}
.logo{width:min(320px,64vw);height:auto;display:block;margin:0 auto 5px;mix-blend-mode:multiply}
.kicker{font-size:8pt;line-height:1.6;text-transform:uppercase;letter-spacing:.2em;color:var(--violet);text-align:center}
.construction{font-size:8pt;letter-spacing:.19em;color:var(--violet);text-align:center;text-transform:uppercase;margin:6px auto 26px}
.hero{text-align:center;display:flex;align-items:center;min-height:min(770px,calc(100svh - 74px));padding:40px 0 66px}
.hero h1{margin:14px auto 24px;max-width:930px;font-weight:400;line-height:1.15;font-size:clamp(27px,4vw,51px);letter-spacing:-.037em}
.lead{max-width:880px;margin:16px auto 0;font-size:11pt;color:var(--muted);text-align:center}
main section{border-top:1px solid var(--hair);padding:66px 0 74px}.page-intro{padding:62px 0 46px;border-top:0}
.page-intro h1{max-width:920px;margin:15px auto;font-weight:400;font-size:clamp(26px,3.2vw,43px);line-height:1.24;letter-spacing:-.035em;text-align:center}
section h2{font-weight:400;font-size:clamp(23px,2.4vw,34px);line-height:1.3;margin:10px auto 17px;max-width:950px;text-align:center;letter-spacing:-.026em}
section h3{font-weight:400}p{margin:0 0 17px} .prose{max-width:900px;margin:0 auto;text-align:justify;text-justify:inter-word;hyphens:auto} .center{text-align:center!important}
.section-lead{color:var(--muted);max-width:840px;text-align:center;margin:0 auto 28px}
.rule-links{display:flex;justify-content:center;gap:29px;flex-wrap:wrap;margin:31px auto 0}.rule-links a{font-size:10pt;border-bottom:1px solid var(--violet);padding:0 0 6px;color:var(--violet)}.rule-links a:hover{opacity:.65}
.sequence{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));max-width:960px;margin:31px auto 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);text-align:center}
.sequence span{padding:17px 9px;font-size:8pt;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.sequence span+span{border-left:1px solid var(--hair)}
.editorial-index{max-width:1000px;margin:35px auto 0;border-top:1px solid var(--ink)}
.editorial-line{display:grid;grid-template-columns:105px minmax(0,1fr) 95px;align-items:baseline;gap:20px;border-bottom:1px solid var(--hair);padding:22px 0}
.editorial-line .serial{font-size:8pt;color:var(--violet);letter-spacing:.12em}.editorial-line h3{font-size:12.5pt;margin:0 0 5px}.editorial-line p{font-size:10pt;margin:0;color:var(--muted);text-align:justify}.editorial-line .arrow{text-align:right;font-size:9pt;color:var(--violet)}
.accordion{max-width:1030px;margin:32px auto 0;border-top:1px solid var(--ink)}.accordion details{border-bottom:1px solid var(--hair)}
.accordion summary{display:grid;grid-template-columns:75px minmax(0,1fr) 28px;align-items:center;gap:15px;cursor:pointer;list-style:none;padding:22px 7px}.accordion summary::-webkit-details-marker{display:none}
.accordion summary .code{font-size:8pt;letter-spacing:.12em;color:var(--violet)}.accordion summary h3{margin:0;font-size:12pt;line-height:1.5}
.accordion summary .plus{color:var(--violet);font-size:17pt;font-weight:300;transition:transform .15s ease}.accordion details[open] summary .plus{transform:rotate(45deg)}
.accordion details[open] summary{background:var(--pale)}.detail-content{max-width:925px;margin:0 auto;padding:3px 28px 27px;text-align:justify;hyphens:auto}
.detail-content p{margin-bottom:14px}.detail-content strong{font-weight:400;color:var(--violet)}.detail-content h4{margin:20px 0 7px;text-align:left;font-size:9pt;letter-spacing:.07em;font-weight:400;color:var(--violet);text-transform:uppercase}
.section-marker{color:var(--violet);letter-spacing:.15em;text-transform:uppercase;font-size:8pt;text-align:center;margin-bottom:12px}
.about-text{max-width:910px;margin:0 auto}.about-text p{text-align:justify}.about-list{margin:28px auto 0;max-width:960px;border-top:1px solid var(--ink)}
.about-row{display:grid;grid-template-columns:210px minmax(0,1fr);gap:26px;border-bottom:1px solid var(--hair);padding:19px 0}.about-row .label{color:var(--violet);font-size:9pt}.about-row h3{margin:0 0 6px;font-size:11pt}.about-row p{font-size:10pt;color:var(--muted);margin:0;text-align:justify}
.form{max-width:900px;margin:30px auto 0}.form-fieldset{border:0;padding:0;margin:0 0 38px}.form-fieldset legend{width:100%;padding:0 0 14px;margin-bottom:22px;border-bottom:1px solid var(--ink);font-size:12pt;color:var(--violet)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 29px}.field{min-width:0}.field.wide{grid-column:1/-1}.field label{display:block;font-size:9pt;color:var(--muted);margin-bottom:8px}.field input,.field select,.field textarea{display:block;width:100%;padding:11px 8px;background:var(--surface-highlight);color:var(--ink);border:1px solid #A9BAC4;border-radius:0;min-height:45px}.field textarea{min-height:170px;resize:vertical;line-height:1.6}
.form-choice{display:flex;align-items:start;gap:12px;margin:18px 0}.form-choice input{flex-shrink:0;accent-color:var(--violet);margin-top:6px}.form-choice label{font-size:9.4pt;line-height:1.65;text-align:justify}.form-note{color:var(--muted);font-size:9pt;text-align:justify}
.send{appearance:none;background:var(--violet);color:#fff;border:1px solid var(--violet);padding:14px 24px;font-size:10pt;cursor:pointer}.send:hover{background:var(--prussian-dark)}.status{color:var(--violet);font-size:10pt;margin-top:15px}.contact-direct{margin-top:24px;font-size:10pt;text-align:center}.contact-direct a,.body-link{border-bottom:1px solid var(--violet);color:var(--violet)}
.legal-page{max-width:900px;margin:0 auto}.legal-page h2{font-size:14pt;text-align:left;margin:26px 0 8px}.legal-page p{text-align:justify}.legal-page a{color:var(--violet);text-decoration:underline}
.site-footer{border-top:1px solid var(--hair);padding:32px 0 39px;color:var(--muted);font-size:9pt}.foot-inner{display:flex;gap:14px 36px;justify-content:space-between;flex-wrap:wrap}.foot-inner a{border-bottom:1px solid transparent}.foot-inner a:hover{color:var(--violet);border-color:var(--violet)}.back-top{display:block;text-align:right;font-size:9pt;color:var(--violet);margin:5px 0 0}
@media(max-width:1070px){.primary-nav{gap:13px}.primary-nav a{font-size:8.5pt}.brand{font-size:8.5pt}}
@media(max-width:900px){.primary-nav{display:none}.mobile-menu{display:block}.lang-link{margin-left:auto}.hero{min-height:auto;padding:65px 0 81px}.editorial-line{grid-template-columns:78px 1fr 24px}.site-header .header-inner{min-height:68px}}
@media(max-width:640px){body{font-size:11pt}.shell{padding-inline:20px}.brand{font-size:8.2pt;white-space:normal}.brand small{font-size:7pt}.header-inner{gap:13px}.hero h1{font-size:30px}.logo{width:min(290px,80vw)}main section{padding:50px 0 55px}.page-intro{padding:50px 0 32px}.page-intro h1{font-size:28px}.lead{font-size:11pt}.sequence{grid-template-columns:1fr}.sequence span+span{border-left:0;border-top:1px solid var(--hair)}.editorial-line{grid-template-columns:1fr 22px;gap:8px}.editorial-line .serial{grid-column:1/-1}.editorial-line h3{font-size:11.5pt}.accordion summary{grid-template-columns:50px 1fr 20px;gap:9px;padding:18px 5px}.accordion summary h3{font-size:10.5pt}.detail-content{padding:2px 6px 22px}.about-row{grid-template-columns:1fr;gap:5px}.form-grid{grid-template-columns:1fr}.field.wide{grid-column:1}.rule-links{gap:15px}.foot-inner{display:block}.foot-inner>*{display:block;margin:7px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.accordion summary .plus{transition:none}}
@media print{.site-header,.mobile-menu,.rule-links,.back-top,.send{display:none!important}body{font-size:11pt}.hero{min-height:auto}.accordion details{break-inside:avoid}}

/* Palette minérale V9.2 : fond Prusse plus profond ; contenus délicatement éclaircis. */
main > section{background:var(--surface)}
main > section:nth-of-type(even):not(.hero){background:var(--surface-alt)}
main > section.hero{background:var(--paper)}
main > section.page-intro{background:var(--surface)}
.site-footer{background:var(--paper)}
.mobile-menu .mobile-links{background:var(--surface-highlight)}
.accordion details[open] summary{background:var(--pale)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--violet);background:#ffffff}
@media print{body,main > section,main > section.hero,main > section.page-intro,.site-footer{background:#fff!important;color:#111}}

/* V9.3 — Hiérarchie : fond minéral Prusse plus intense, zones d'étude éclaircies,
   titre de page blanc, autres titres en bleu de Prusse profond. */
main > section.hero, main > section.page-intro{background:#36546A;color:#fff}
.hero h1,.page-intro h1{color:#fff;text-shadow:0 1px 1px rgba(7,31,46,.18)}
.hero .lead,.page-intro .lead{color:#EFF4F7}
.hero .kicker,.hero .construction,.page-intro .section-marker{color:#DCE8EF}
.hero .rule-links a{color:#EFF6F8;border-bottom-color:#D4E2ED}
.hero .rule-links a:hover{color:#fff;opacity:1}
section h2,section h3,.detail-content h4,.about-row h3,.legal-page h2{color:var(--violet)}
.about-row p+p{margin-top:10px}
.about-list{max-width:1060px}.about-row{grid-template-columns:205px minmax(0,1fr);padding:23px 0 27px}
.about-row h3{font-size:11pt;line-height:1.55;font-weight:600}.about-row p{font-size:11pt;line-height:1.76}
.detail-content p{font-size:11pt;line-height:1.78}
.detail-content h4{font-size:10pt;font-weight:600;margin-top:22px}
/* Protect hero logo image from the deeper field with a colour-blended white source. */
.hero .logo{mix-blend-mode:multiply}
@media(max-width:640px){.about-row{grid-template-columns:1fr}.about-row p{font-size:11pt}}
@media print{main > section.hero,main > section.page-intro{background:#fff!important;color:#111!important}.hero h1,.page-intro h1{color:#111!important;text-shadow:none}.hero .lead,.page-intro .lead{color:#333!important}}

/* V9.3 : Homepage — transversalités, mise en page éditoriale sans cartouches. */
.transverse-list{max-width:980px;margin:39px auto 24px;border-top:1px solid var(--violet)}
.transverse-row{display:grid;grid-template-columns:70px minmax(0,1fr);gap:20px;border-bottom:1px solid var(--hair);padding:22px 10px 23px}
.transverse-row .serial{font-size:9pt;color:var(--violet);letter-spacing:.13em;padding-top:3px}
.transverse-row h3{font-size:11pt;font-weight:600;margin:0 0 8px;color:var(--violet)}
.transverse-row p{font-size:11pt;color:var(--ink);line-height:1.75;text-align:justify;margin:0;hyphens:auto}
.transverse-conclusion{max-width:860px;margin:25px auto 0;text-align:justify;font-style:italic;color:var(--ink);font-size:11pt}
@media(max-width:640px){.transverse-row{grid-template-columns:34px minmax(0,1fr);gap:9px;padding:18px 0}}

/* V9.4 — Transversality integrated across the research process; exact-source floating logo. */
.logo,.hero .logo{mix-blend-mode:normal!important;background:transparent!important;filter:drop-shadow(0 4px 9px rgba(5,20,36,.13))}
.hero .logo{width:min(345px,72vw);margin:0 auto 12px}
.cross-sequence{max-width:920px;margin:30px auto 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-block:1px solid var(--hair)}
.cross-step{display:flex;align-items:center;gap:7px;padding:15px 13px;border-right:1px solid var(--hair)}
.cross-step:last-child{border-right:0}.cross-step .serial{font-size:8pt;color:var(--violet)}.cross-step strong{font-size:9pt;font-weight:400;color:var(--violet)}
.integrative-section .prose+.prose{margin-top:15px}.integrative-section h2{max-width:890px}.cross-caption{margin-top:24px}
.path-links{padding-block:28px 37px;border-top:1px solid var(--hair);display:flex;gap:10px 28px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.path-links strong{font-size:10pt;color:var(--violet);font-weight:400}.path-links nav{display:flex;gap:9px 17px;flex-wrap:wrap}.path-links a{font-size:9pt;color:var(--violet);border-bottom:1px solid var(--hair)}
.cross-check-group{padding-top:12px;padding-bottom:10px;border-top:1px solid var(--hair)}
.cross-check-heading{font-size:10pt;color:var(--violet);margin-bottom:14px}.cross-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px}
.cross-choice{display:flex;align-items:start;gap:9px;min-width:0;font-size:9.5pt;line-height:1.5;padding:5px 0;color:var(--ink);cursor:pointer}
.field .cross-choice{display:flex;margin:0;align-items:flex-start;gap:10px;padding:7px 0;line-height:1.55;font-size:9.5pt;color:var(--ink)}
.field .cross-choice input[type=checkbox]{appearance:auto!important;display:inline-block!important;flex:0 0 17px!important;width:17px!important;height:17px!important;min-height:0!important;max-width:17px!important;padding:0!important;border:0!important;background:transparent!important;accent-color:var(--violet);margin:3px 0 0 0}
@media(max-width:680px){.cross-sequence{grid-template-columns:1fr}.cross-step{border-right:0;border-bottom:1px solid var(--hair)}.cross-step:last-child{border-bottom:0}.cross-check-grid{grid-template-columns:1fr}.path-links{padding-inline:20px}}
@media print{.hero .logo{filter:none}.cross-step{break-inside:avoid}}


/* V9.5 — correspondances, interactions, processus : evolving research matrix */
.hero .kicker{font-size:clamp(12pt,1.8vw,16pt);font-weight:600;letter-spacing:.12em;line-height:1.55;color:#fff;text-wrap:balance}
.hero .construction{font-size:9pt;margin-top:12px}
.hero h1{font-size:clamp(23px,3.4vw,43px);line-height:1.28;max-width:1010px;letter-spacing:-.025em;color:white}
.hero .lead{max-width:910px;line-height:1.8}
.research-trajectory{margin-top:29px;padding:22px 0 12px;border-top:1px solid var(--violet);border-bottom:1px solid var(--hair);text-align:left}
.research-trajectory h4{font-size:10pt;letter-spacing:.08em;margin:3px 0 20px}
.trajectory-stage{display:grid;grid-template-columns:185px minmax(0,1fr);gap:20px;border-top:1px solid var(--hair);padding:14px 0}
.trajectory-stage strong{font-size:9pt;letter-spacing:.01em;color:var(--violet)}
.trajectory-stage p{font-size:11pt;line-height:1.73;text-align:justify;margin:0}
.matrix-kind{font-size:9pt;color:var(--violet);font-weight:bold;margin:18px 0 8px}
.matrix-chipline{display:flex;gap:7px 9px;flex-wrap:wrap;margin:0 0 10px}
.matrix-chipline a{font-size:9pt;color:var(--violet);border:1px solid var(--hair);padding:5px 9px;background:rgba(255,255,255,.36);text-align:left}
.matrix-chipline a:hover,.framework-group a:hover{background:#fff;border-color:var(--violet)}
.research-framework{background:var(--surface-alt)!important}
.framework-triad{max-width:1020px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:33px auto 25px;border-top:1px solid var(--violet);border-bottom:1px solid var(--hair)}
.triad-stage{padding:19px 21px 19px 0;min-width:0}
.triad-stage+.triad-stage{border-left:1px solid var(--hair);padding-left:22px}
.triad-stage .serial{font-size:8pt;color:var(--violet)}
.triad-stage h3{font-size:11pt;font-weight:600;margin:7px 0;color:var(--violet)}
.triad-stage p{font-size:10pt;text-align:justify;margin:0;line-height:1.65}
.framework-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;max-width:1020px;margin:24px auto 0}
.framework-group{border-top:1px solid var(--hair);padding-top:11px;min-width:0}
.framework-group h3{font-size:9pt;letter-spacing:.08em;margin:0 0 10px;color:var(--violet)}
.framework-group a{display:block;border-bottom:1px solid var(--hair);padding:9px 6px;font-size:9pt;line-height:1.5;color:var(--violet)}
@media(max-width:800px){.framework-index{grid-template-columns:1fr;gap:15px}.framework-group a{padding:11px 5px}}
@media(max-width:680px){.trajectory-stage{grid-template-columns:1fr;gap:5px}.framework-triad{grid-template-columns:1fr}.triad-stage{padding:14px 0!important;border-left:0!important}.triad-stage+.triad-stage{border-top:1px solid var(--hair)}.hero .kicker{font-size:12pt;letter-spacing:.07em}.hero h1{font-size:clamp(23px,7vw,32px)}}
@media print{.research-framework{background:#fff!important}.matrix-chipline a{border:0;padding:4px 0}}


/* NEXAPSIS V9.8 — gestion du consentement Google Analytics 4 */
.nexa-consent-banner[hidden]{display:none!important}
.nexa-consent-banner{position:fixed;z-index:130;bottom:0;left:0;right:0;background:#E8F0F4;color:#1E2C35;border-top:2px solid #163B53;box-shadow:0 -8px 28px rgba(16,46,66,.17);padding:18px max(20px,env(safe-area-inset-left)) calc(18px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-right));font:11pt/1.55 Verdana,Geneva,sans-serif}
.nexa-consent-inner{width:min(1080px,100%);margin:auto;display:flex;gap:25px;justify-content:space-between;align-items:center}
.nexa-consent-copy{flex:1 1 65%;min-width:0}
.nexa-consent-copy strong{font-size:11pt;color:#163B53;font-weight:700}
.nexa-consent-copy p{margin:4px 0 4px;font-size:10pt;line-height:1.55;text-align:left}
.nexa-consent-copy a{display:inline-block;color:#163B53;text-decoration:underline;font-size:9pt;text-underline-offset:3px}
.nexa-consent-actions{flex:0 0 290px;display:flex;gap:10px}
.nexa-consent-btn{flex:1;min-width:0;background:#163B53;border:1px solid #163B53;border-radius:0;color:white;padding:11px 12px;cursor:pointer;font:10pt Verdana,Geneva,sans-serif;min-height:46px}
.nexa-consent-btn:hover{background:#265b78}
.nexa-consent-btn:focus-visible{outline:3px solid #163B53;outline-offset:3px}
.nexa-cookie-manage{display:inline;font-size:inherit!important;font-weight:inherit;border:0;padding:0;background:none;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
@media(max-width:720px){.nexa-consent-inner{display:block}.nexa-consent-copy p{font-size:9pt}.nexa-consent-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:12px;gap:10px}.nexa-consent-btn{width:100%}}
@media print{.nexa-consent-banner,.nexa-cookie-manage{display:none!important}}
