@import url("motion.css");

/* Renforcement mobile partagé AQLUMA — chargé après les styles de page. */
html,body{max-width:100%;overflow-x:clip}img,video,canvas,svg{max-width:100%}button,a,input,select,textarea{touch-action:manipulation}p,h1,h2,h3,h4,li,a,span{overflow-wrap:break-word}.table-wrap,.filter-bar,.program-cards,.trust-grid{-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#C9612E rgba(17,22,25,.12)}

@media(max-width:760px){
  html{scroll-padding-top:78px}
  body{font-size:16px;line-height:1.7}
  .container,.reading{width:min(100% - 1.4rem,1180px)!important}
  .nav,.topbar{padding-top:env(safe-area-inset-top);z-index:500!important}
  .nav-inner,.topbar-inner{min-height:66px}
  .nav-toggle{display:block;flex:0 0 48px;width:48px!important;height:48px!important;min-width:48px;min-height:48px;border-radius:14px;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .nav-toggle:focus-visible{outline:3px solid #E8B23A;outline-offset:2px}
  .nav-links{z-index:510!important;gap:.25rem!important;max-height:calc(100svh - 82px - env(safe-area-inset-top));overflow-y:auto;overscroll-behavior:contain;box-shadow:0 18px 50px rgba(0,0,0,.34)}
  .nav-links.open{display:flex!important}
  .nav-links.open>a,.nav-links a{align-items:center;min-height:48px;padding:.78rem .9rem!important;border-radius:11px;font-size:.88rem!important;line-height:1.25}
  .nav-links .button,.nav-links .nav-button{justify-content:center;text-align:center}
  .nav-links>a:focus-visible{outline:2px solid #E8B23A;outline-offset:-2px}

  .hero h1,.team-hero h1,.resource-hero h1{font-size:clamp(2.55rem,11.8vw,3.35rem)!important;line-height:.98!important;letter-spacing:-.035em!important;hyphens:auto}
  .hero-deck,.hero-sub,.team-hero p,.resource-hero p{font-size:1rem!important;line-height:1.65}
  .article{padding:3.25rem 0 5rem!important}
  .article h2{margin-top:3.5rem!important;font-size:clamp(2.15rem,9vw,2.85rem)!important;line-height:1.02!important;hyphens:auto}
  .article h3{font-size:clamp(1.55rem,7vw,1.9rem)!important;line-height:1.12!important}
  .article .intro{font-size:1.3rem!important;line-height:1.48}
  .toc,.callout,.charter,.author,.sources,.future-links{padding:1.25rem!important;border-radius:16px!important}
  .pullquote{font-size:clamp(1.65rem,7.8vw,2.15rem)!important;line-height:1.12!important;padding:1.8rem 0!important}
  .cta{margin:3rem 0!important;padding:1.5rem!important;border-radius:20px!important}
  .cta h3{font-size:clamp(1.9rem,8vw,2.4rem)!important;line-height:1.05!important}
  .button,.hero-actions .button,.bridge-actions .button,.final-actions .button{min-height:48px;justify-content:center;text-align:center;padding:.85rem 1rem}
  .faq summary{min-height:52px;padding:1rem .15rem;line-height:1.4}

  .table-wrap{position:relative;max-width:100%;overflow-x:auto!important;scroll-snap-type:x proximity;box-shadow:inset -18px 0 18px -22px rgba(8,10,12,.75)}
  .table-wrap:focus-visible{outline:3px solid #C9612E;outline-offset:3px}
  .table-wrap table{font-size:.76rem}
  .table-wrap th,.table-wrap td{padding:.8rem;min-width:125px}
  .filter-bar,.program-cards,.trust-grid{max-width:100%;padding-bottom:.75rem!important}
  .filter-button{min-height:46px;padding:.7rem 1rem;flex:0 0 auto}

  .section{padding:4.5rem 0!important}
  .section h2,.section-title{hyphens:auto}
  .problem-intro .lead{margin-bottom:2rem!important}
  .sticky-whatsapp{right:max(.7rem,env(safe-area-inset-right))!important;bottom:max(.7rem,env(safe-area-inset-bottom))!important;width:54px!important;height:54px!important}

  /* Footer partagé : lecture confortable, CTA tactile et coordonnées longues sûres. */
  .premium-footer__container{width:min(100% - 1.4rem,1180px)!important;padding-top:3.8rem!important;padding-bottom:max(1.4rem,env(safe-area-inset-bottom))!important}
  .premium-footer__intro{gap:1.8rem!important;padding-bottom:2.5rem!important}
  .premium-footer__title{margin:1.5rem 0 .9rem!important;font-size:clamp(2.25rem,10vw,3rem)!important;line-height:1!important}
  .premium-footer__description{font-size:.88rem!important}
  .premium-footer__action{justify-self:stretch!important;max-width:none!important;padding:1.2rem!important}
  .premium-footer__cta{display:flex!important;align-items:center;justify-content:center;min-height:50px;width:100%;text-align:center}
  .premium-footer__grid{gap:2rem!important}
  .premium-footer__link,.premium-footer__contact,.premium-footer__social{min-height:44px;overflow-wrap:anywhere;word-break:normal}
  .premium-footer__socials{gap:.65rem!important}
  .premium-footer__bottom{padding-bottom:env(safe-area-inset-bottom)}

  /* Homepage : préserver le sens tout en réduisant la densité décorative. */
  .cognitive-visual{min-height:340px!important}
  .portfolio{width:min(270px,74%)!important;min-height:320px!important;padding:.9rem!important}
  .portfolio-title{margin:1rem 0 .8rem!important;font-size:1.45rem!important}
  .thinking-path{gap:.48rem!important}
  .path-row{grid-template-columns:25px minmax(0,1fr)!important;gap:.55rem!important;padding:.5rem!important;font-size:.68rem!important}
  .path-row b{width:25px!important;height:25px!important}
  .portfolio-note{margin-top:.75rem!important;padding:.7rem!important;font-size:.9rem!important}
  .floating-chip{padding:.48rem .65rem!important;font-size:.54rem!important}
  .program-cards{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:1.25rem!important;margin:3rem 0 0!important;width:100%;max-width:100%;overflow:visible!important;scroll-snap-type:none!important}
  .program-card{display:flex!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:450px!important;scroll-snap-align:none!important}
  .trust-item{scroll-snap-align:start}
  .final-cta{min-height:auto!important;padding-block:5.5rem!important}
  .process-card{grid-template-columns:78px minmax(0,1fr)!important}
  .process-icon{width:68px!important;height:68px!important}
  .shield{max-width:300px}
  .include-card.large{display:flex!important;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-height:330px!important;padding:1.4rem!important}
  .include-card.large .include-icon{order:1;flex:0 0 auto}
  .include-card.large h3{position:static!important;order:2;margin:2rem 0 .9rem!important;font-size:clamp(1.9rem,8.5vw,2.35rem)!important;line-height:1.02!important}
  .include-card.large p{order:3;margin:0!important;max-width:none;font-size:.82rem!important;line-height:1.65}

  /* À propos : carte d’équipe et dossier pédagogique plus compacts. */
  .team-map{min-height:360px!important}
  .map-center{width:108px!important;height:108px!important;font-size:1.05rem!important}
  .map-node{width:108px!important;padding:.58rem!important}
  .artifact{min-height:430px!important}
  .artifact-sheet{min-height:370px!important;padding:1.2rem!important}
  .artifact-sheet h3{font-size:2rem!important}
  .voice-identity{min-height:320px!important}

  /* Ressources : interactions horizontales et aperçu du guide. */
  .knowledge-desk{min-height:370px!important}
  .desk-card{width:142px!important;min-height:128px!important}
  .guide-preview{min-height:420px!important;padding:1rem!important}
  .guide-book{min-height:350px!important}
  .pillar-card,.pillar-card:nth-child(1),.pillar-card:nth-child(6){min-height:350px!important}
  .theme-card{min-height:300px!important}
  .latest-card img,.article-card img{width:100%;height:auto;object-fit:cover}
}

@media(max-width:430px){
  .container,.reading{width:min(100% - 1.1rem,1180px)!important}
  .section{padding:3.8rem 0!important}
  .hero,.team-hero,.resource-hero{padding-top:calc(5.8rem + env(safe-area-inset-top))!important;padding-bottom:3.5rem!important}
  .hero h1,.team-hero h1,.resource-hero h1{font-size:clamp(2.35rem,11.5vw,2.85rem)!important}
  .kicker,.eyebrow{letter-spacing:.11em!important}
  .meta{display:grid!important;gap:.45rem!important}
  .article h2{font-size:clamp(2rem,9.8vw,2.55rem)!important}
  .article h3{font-size:1.6rem!important}
  .toc,.callout,.charter,.author,.sources,.future-links,.mini{padding:1.05rem!important}
  .rules li,.checklist li,.questions li,.prompts li,.criteria li,.signals li,.method li,.errors li{padding-right:.8rem!important;padding-left:2.65rem!important}
  .cta{padding:1.25rem!important}
  .cognitive-visual{min-height:340px!important}
  .portfolio{min-height:275px!important;padding:.85rem!important}
  .portfolio-title{font-size:1.45rem!important}
  .floating-chip:nth-of-type(n+3){display:none!important}
  .program-card{width:100%!important;min-width:0!important;min-height:420px!important}
  .problem-card,.age-card{min-height:auto!important}
  .include-grid{grid-auto-rows:auto!important}
  .include-card{min-height:150px!important}
  .include-card.large{min-height:330px!important}
  .team-map{min-height:330px!important}
  .map-center{width:94px!important;height:94px!important;font-size:.92rem!important}
  .map-node{width:96px!important;font-size:.56rem!important}
  .map-node strong{font-size:.76rem!important}
  .artifact{min-height:390px!important}
  .artifact-sheet{min-height:340px!important}
  .knowledge-desk{min-height:330px!important}
  .desk-card{width:126px!important;min-height:116px!important;padding:.65rem!important}
  .desk-card strong{font-size:.9rem!important}
  .desk-card small{font-size:.5rem!important}
  .desk-lens{width:78px!important;height:78px!important}
  .review-map{min-height:350px!important}
  .review-center{width:122px!important;height:122px!important}
  .guide-preview{min-height:370px!important}
  .guide-book{min-height:315px!important}
  .roadmap-list li{grid-template-columns:32px minmax(0,1fr)!important;gap:.7rem}
}

@media(max-width:360px){
  .hero h1,.team-hero h1,.resource-hero h1{font-size:2.25rem!important}
  .premium-footer__container{width:calc(100% - 1rem)!important}
  .team-map{min-height:310px!important}
  .map-node{width:88px!important;padding:.45rem!important}
  .desk-card{width:116px!important}
}

/* Grille mobile globale : gouttières fixes de 30 px sur toutes les pages. */
@media(max-width:760px){
  .container,.reading{width:calc(100% - 60px)!important}
  .nav-links{left:30px!important;right:30px!important}
  .premium-footer__container{width:calc(100% - 60px)!important}
}

@media(hover:none) and (pointer:coarse){a,button,summary,label{-webkit-tap-highlight-color:rgba(201,97,46,.18)}}

/* Modal partagé — demande du guide parent. */
body.guide-modal-open{overflow:hidden}.guide-request-modal{width:min(680px,calc(100% - 2rem));max-height:min(820px,calc(100svh - 2rem));padding:0;border:1px solid rgba(255,253,248,.15);border-radius:30px;background:#0D1012;color:#FFFDF8;overflow:auto;box-shadow:0 36px 100px rgba(8,10,12,.55)}.guide-request-modal::backdrop{background:rgba(8,10,12,.78);backdrop-filter:blur(8px)}.guide-request-panel{position:relative;padding:clamp(2rem,6vw,4rem);background:radial-gradient(circle at 12% 5%,rgba(201,97,46,.22),transparent 30%),radial-gradient(circle at 95% 95%,rgba(232,178,58,.1),transparent 28%),#0D1012}.guide-request-panel::before{content:"";position:absolute;top:0;left:clamp(2rem,6vw,4rem);width:72px;height:4px;border-radius:0 0 8px 8px;background:linear-gradient(90deg,#C9612E,#E8B23A)}.guide-request-close{position:absolute;z-index:2;top:1.15rem;right:1.15rem;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(255,253,248,.16);border-radius:50%;background:rgba(255,253,248,.06);color:#FFFDF8;font:300 1.8rem/1 "DM Sans",system-ui,sans-serif;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.guide-request-close:hover{background:rgba(201,97,46,.2);border-color:#C9612E;transform:rotate(4deg)}.guide-request-header{padding-right:2.8rem}.guide-request-eyebrow{margin:0 0 1rem;color:#E8B23A;font:600 .68rem/1.4 "DM Sans",system-ui,sans-serif;letter-spacing:.15em;text-transform:uppercase}.guide-request-header h2{margin:0;color:#FFFDF8;font:400 clamp(2.55rem,7vw,4.5rem)/.92 "Instrument Serif",Georgia,serif;letter-spacing:-.03em}.guide-request-header>p:last-child{max-width:550px;margin:1.1rem 0 0;color:#C8BDB1;font:400 .92rem/1.7 "DM Sans",system-ui,sans-serif}.guide-request-form{display:grid;gap:1rem;margin-top:2rem}.guide-request-field{display:grid;gap:.45rem;color:#D8CEC4;font:500 .72rem/1.4 "DM Sans",system-ui,sans-serif}.guide-request-field input{width:100%;min-height:54px;padding:.85rem 1rem;border:1px solid rgba(255,253,248,.15);border-radius:13px;outline:0;background:rgba(255,253,248,.06);color:#FFFDF8;font:400 .9rem/1.3 "DM Sans",system-ui,sans-serif;transition:border-color .2s,box-shadow .2s,background .2s}.guide-request-field input::placeholder{color:#82786F}.guide-request-field input:focus{border-color:#E8B23A;background:rgba(255,253,248,.085);box-shadow:0 0 0 3px rgba(232,178,58,.14)}.guide-request-submit{display:inline-flex;align-items:center;justify-content:center;min-height:54px;margin-top:.25rem;padding:.9rem 1.25rem;border:0;border-radius:999px;background:#C9612E;color:#FFFDF8;font:600 .78rem/1.2 "DM Sans",system-ui,sans-serif;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s}.guide-request-submit:hover{background:#A94D28;transform:translateY(-2px);box-shadow:0 12px 30px rgba(201,97,46,.22)}.guide-request-submit:disabled{cursor:wait;opacity:.7;transform:none}.guide-request-privacy,.guide-request-status{margin:0;font:400 .68rem/1.55 "DM Sans",system-ui,sans-serif}.guide-request-privacy{color:#8F8479}.guide-request-status{min-height:1.25rem;color:#C8BDB1}.guide-request-status.is-success{color:#E8B23A}.guide-request-status.is-error{color:#D57A52}.guide-request-signature{margin-top:1.2rem;padding-top:1.1rem;border-top:1px solid rgba(255,253,248,.1);color:#A99D91;font:500 .66rem/1.4 "DM Sans",system-ui,sans-serif;letter-spacing:.04em}.guide-request-close:focus-visible,.guide-request-submit:focus-visible{outline:3px solid #E8B23A;outline-offset:3px}

.guide-request-success[hidden],.guide-request-header[hidden],.guide-request-form[hidden]{display:none!important}.guide-request-success{display:grid;justify-items:start;min-height:430px;align-content:center;padding:1.5rem 0;outline:0}.guide-request-success-mark{display:grid;place-items:center;width:64px;height:64px;margin-bottom:1.6rem;border:1px solid rgba(232,178,58,.42);border-radius:50%;background:rgba(232,178,58,.1);color:#E8B23A;font:500 1.55rem/1 "DM Sans",system-ui,sans-serif;box-shadow:0 0 0 10px rgba(232,178,58,.035)}.guide-request-success h2{max-width:520px;margin:0;color:#FFFDF8;font:400 clamp(2.7rem,7vw,4.6rem)/.94 "Instrument Serif",Georgia,serif;letter-spacing:-.03em}.guide-request-success>p:not(.guide-request-eyebrow){max-width:520px;margin:1.2rem 0 0;color:#C8BDB1;font:400 .92rem/1.75 "DM Sans",system-ui,sans-serif}.guide-request-success-close{display:inline-flex;align-items:center;justify-content:center;min-width:180px;min-height:52px;margin-top:2rem;padding:.85rem 1.4rem;border:0;border-radius:999px;background:#C9612E;color:#FFFDF8;font:600 .78rem/1.2 "DM Sans",system-ui,sans-serif;cursor:pointer;transition:background .2s,transform .2s}.guide-request-success-close:hover{background:#A94D28;transform:translateY(-2px)}.guide-request-success-close:focus-visible{outline:3px solid #E8B23A;outline-offset:3px}

@media(max-width:560px){.guide-request-modal{width:calc(100% - 1.25rem);max-height:calc(100svh - 1.25rem);border-radius:22px}.guide-request-panel{padding:2.3rem 1.25rem 1.5rem}.guide-request-panel::before{left:1.25rem}.guide-request-close{top:.75rem;right:.75rem}.guide-request-header{padding-right:2.3rem}.guide-request-header h2{font-size:clamp(2.45rem,13vw,3.25rem)}.guide-request-form{margin-top:1.5rem}}

@media(prefers-reduced-motion:reduce){.guide-request-close,.guide-request-submit{transition:none}.guide-request-close:hover,.guide-request-submit:hover{transform:none}}
