/* Centre Technique de la Chimie — feuille de styles */
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:#FFFFFF;color:#14303B;font-family:Poppins,sans-serif;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
a{color:#279BC8;text-decoration:none}
a:hover{color:#073F56}
h1,h2,h3,p{margin:0}
@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.14)}}
@keyframes fill{from{width:0}to{width:100%}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes up{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes blink{50%{opacity:0}}
@keyframes floaty{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-28px,-22px) scale(1.07)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes ripple{0%{transform:scale(.6);opacity:.55}100%{transform:scale(1.6);opacity:0}}
@keyframes badgeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes sheen{0%{background-position:150% 0}60%,100%{background-position:-50% 0}}
@keyframes zoomIO{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(39,155,200,.5)}100%{box-shadow:0 0 0 14px rgba(39,155,200,0)}}
[data-slide]{opacity:0;visibility:hidden;transition:opacity 1.1s ease,visibility 1.1s}
[data-slide][data-active="true"]{opacity:1;visibility:visible}
[data-slide][data-active="true"] [data-kb]{animation:kb 7s ease-out forwards}
[data-slide][data-active="true"] [data-up]{animation:up .9s cubic-bezier(.2,.7,.2,1) both}
[data-slide][data-active="true"] [data-up="2"]{animation-delay:.15s}
[data-slide][data-active="true"] [data-up="3"]{animation-delay:.3s}
[data-slide][data-active="true"] [data-up="4"]{animation-delay:.45s}
[data-dot][data-active="true"] [data-fill]{animation:fill 6.5s linear forwards}
[data-marquee]{animation:marquee 32s linear infinite}
[data-marquee]:hover{animation-play-state:paused}
[data-btn]{white-space:nowrap;position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,background .25s,color .25s,border-color .25s}
[data-btn]:hover{transform:translateY(-3px)}
[data-btn]:active{transform:translateY(0) scale(.97)}
[data-btn]{isolation:isolate}
[data-btn]::after{display:none}
[data-btn],[data-btn]:hover{box-shadow:none!important}
[data-btn]::before{display:none!important}
[data-noshadow],[data-noshadow]:hover{box-shadow:none!important}
[data-noshadow]::before{display:none}
[data-btn]::before{content:"";position:absolute;inset:-2px;border-radius:inherit;pointer-events:none;box-shadow:0 0 0 0 rgba(39,155,200,.55);transition:box-shadow .5s}
[data-btn]:hover::before{box-shadow:0 0 0 6px rgba(39,155,200,0);animation:ring 1.2s ease-out}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(39,155,200,.5)}100%{box-shadow:0 0 0 10px rgba(39,155,200,0)}}
@keyframes arrLoop{0%{transform:translateX(0);opacity:1}45%{transform:translateX(10px);opacity:0}46%{transform:translateX(-10px);opacity:0}100%{transform:translateX(0);opacity:1}}
[data-btn]:hover [data-arr]{animation:arrLoop .6s cubic-bezier(.2,.7,.2,1)}
[data-arr]{display:inline-block;transition:transform .25s ease}
[data-card]:hover [data-arr],[data-row]:hover [data-arr]{transform:translateX(4px)}
[data-card]{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,border-color .4s}
[data-card]:hover{transform:translateY(-8px);box-shadow:0 24px 48px -16px rgba(7,63,86,.22);border-color:transparent}
[data-card] [data-bar]{transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
[data-card]:hover [data-bar]{transform:scaleX(1)}
[data-card] [data-ico]{transition:transform .5s cubic-bezier(.2,.7,.2,1),background .4s,color .4s}
[data-card]:hover [data-ico]{transform:rotate(-8deg) scale(1.08);background:#279BC8;color:#FFFFFF}
[data-card] [data-zoom]{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
[data-card]:hover [data-zoom]{transform:scale(1.07)}
[data-nav]{position:relative}
[data-nav]::after{content:"";position:absolute;left:12px;right:12px;bottom:3px;height:2px;border-radius:2px;background:#279BC8;transform:scaleX(0);transition:transform .3s ease}
[data-nav]:hover::after{transform:scaleX(1)}
[data-reveal]{opacity:0;transform:translateY(32px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
[data-reveal][data-in="1"]{opacity:1;transform:none}
[data-r="desk-nav"]{display:flex!important}
[data-r="burger"],[data-r="mob-menu"]{display:none!important}
[data-dd]{position:relative}
[data-sub]{position:absolute;top:100%;left:50%;min-width:270px;padding:10px;background:#FFFFFF;border:1px solid #E3ECF0;border-radius:18px;box-shadow:0 24px 48px -18px rgba(7,63,86,.28);opacity:0;visibility:hidden;transform:translate(-50%,10px);transition:opacity .25s,transform .25s,visibility .25s;z-index:60}
[data-dd]:hover [data-sub],[data-dd]:focus-within [data-sub]{opacity:1;visibility:visible;transform:translate(-50%,0)}
[data-caret]{display:inline-block;transition:transform .25s}
[data-dd]:hover [data-caret]{transform:rotate(180deg)}
@media (max-width:1100px){[data-r="qa-grid"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}[data-r="exp-grid"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:980px){[data-r="foot-grid"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:620px){[data-r="foot-grid"]{grid-template-columns:minmax(0,1fr)!important}}
@media (max-width:560px){[data-r="qa-grid"],[data-r="exp-grid"]{grid-template-columns:minmax(0,1fr)!important}}
@media (max-width:1239px){[data-r="desk-nav"]{display:none!important}[data-r="burger"]{display:flex!important}[data-r="mob-menu"][data-open="true"]{display:block!important}}
@media (min-width:1240px) and (max-width:1399px){[data-r="cta-txt"]{display:none}}
@media (max-width:1099px){[data-r="hide-md"]{display:none!important}}
@media (max-width:1100px){[data-r="news-grid"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:560px){[data-r="news-grid"]{grid-template-columns:minmax(0,1fr)!important}}
@media (max-width:760px){[data-r="dom-grid"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:480px){[data-r="dom-grid"]{grid-template-columns:minmax(0,1fr)!important}}
@media (max-width:640px){[data-r="hide-sm"]{display:none!important}}

/* États survol / focus (générés) */
.u1:hover{background:#FFFFFF !important;color:#073F56 !important;transform:rotate(90deg) !important}
.u2:hover{background:#279BC8 !important;border-color:#279BC8 !important;transform:translateY(-2px) !important}
.u3:hover{color:#FFFFFF !important}
.u4:hover{color:#279BC8 !important}
.u5:hover{background:#F2F7F9 !important;color:#279BC8 !important;padding-left:18px !important}
.u6:hover{border-color:#279BC8 !important;color:#279BC8 !important;transform:rotate(-10deg) !important}
.u7:hover{color:#FFFFFF !important;box-shadow:0 14px 28px -10px rgba(39,155,200,.8) !important}
.u8:hover{background:#FFFFFF !important;color:#073F56 !important}
.u9:hover{border-color:#FFFFFF !important;background:rgba(255,255,255,.12) !important;color:#FFFFFF !important}
.ua:hover{color:#073F56 !important}
.ub:hover{background:#279BC8 !important;color:#FFFFFF !important}
.uc:hover{background:#073F56 !important;color:#FFFFFF !important}
.ud:hover{background:rgba(255,255,255,.12) !important;border-color:rgba(79,195,238,.6) !important;color:#FFFFFF !important;transform:translateX(6px) !important}
.ue:hover{background:rgba(255,255,255,.14) !important;color:#FFFFFF !important}
.uf:hover{color:#14303B !important}
.ug:hover{filter:none !important;opacity:1 !important;box-shadow:0 14px 30px -14px rgba(7,63,86,.3) !important;transform:translateY(-4px) !important}
.uh:hover{color:#073F56 !important;box-shadow:0 14px 28px -10px rgba(0,0,0,.35) !important}
.ui:hover{background:rgba(255,255,255,.12) !important;color:#FFFFFF !important}
.uj:hover{transform:translateY(-3px) scale(1.08) !important}
