:root{
  --blue:#0868ef;--blue2:#1f84ff;--navy:#061b5e;--ink:#07184e;--muted:#52658c;--green:#08a55d;--purple:#6427e9;--orange:#ff820d;--line:#d7e6fa;--panel:rgba(255,255,255,.95);--shadow:0 10px 28px rgba(20,73,145,.10);--radius:20px;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;color:var(--ink);background:#e9f6ff}body{font-synthesis:none;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.panel{background:var(--panel);border:1px solid rgba(160,194,235,.35);box-shadow:var(--shadow)}
#app{position:relative;z-index:1;min-height:100vh}.site-shell{position:relative;z-index:2;min-height:100vh;display:flex;flex-direction:column;background:rgba(239,248,255,.78);backdrop-filter:saturate(110%) blur(1px)}main{flex:1}.page-wrap{width:min(1220px,calc(100% - 36px));margin:34px auto 50px}

/* Animated background: actual free-media photos/video, intentionally subtle behind the UI. */
.ambient-scene{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:linear-gradient(135deg,#dff3ff 0%,#eef9ff 46%,#e3f5eb 100%);perspective:1200px}
.ambient-gradient{position:absolute;inset:0;background:radial-gradient(circle at 75% 22%,rgba(97,190,255,.22),transparent 29%),radial-gradient(circle at 17% 76%,rgba(67,184,110,.18),transparent 34%)}
.animal-video{position:absolute;width:58vw;height:48vh;left:-3vw;bottom:-3vh;object-fit:cover;opacity:.18;filter:saturate(1.1) contrast(1.08);mask-image:radial-gradient(ellipse at center,#000 28%,transparent 76%);transform:rotateX(5deg) translateZ(-80px)}
.ambient-animal{position:absolute;object-fit:cover;opacity:.14;filter:saturate(1.08) contrast(1.05);mask-image:radial-gradient(ellipse at center,#000 25%,transparent 72%)}
.ambient-animal.giraffe{width:320px;height:240px;right:-80px;bottom:7vh;animation:wander 26s linear infinite alternate}
.ambient-animal.bird{width:190px;height:160px;left:58%;top:8vh;animation:fly 24s ease-in-out infinite}
.ambient-digital{position:absolute;opacity:.13;filter:drop-shadow(0 14px 24px rgba(8,88,190,.13))}.ambient-digital.chip{width:92px;left:11%;top:22%;animation:float3d 8s ease-in-out infinite}.ambient-digital.cloud{width:104px;right:18%;top:37%;animation:float3d 11s ease-in-out infinite reverse}.ambient-digital.wifi{width:78px;right:8%;bottom:21%;animation:float3d 9s ease-in-out infinite}
@keyframes wander{from{transform:translate3d(0,0,-40px) scale(.95)}to{transform:translate3d(-180px,-20px,40px) scale(1.02)}}@keyframes fly{0%,100%{transform:translate3d(-130px,30px,0) rotate(-2deg)}50%{transform:translate3d(150px,-30px,80px) rotate(3deg)}}@keyframes float3d{0%,100%{transform:translate3d(0,0,0) rotate(-4deg)}50%{transform:translate3d(0,-18px,70px) rotate(5deg)}}
@media(prefers-reduced-motion:reduce){.animal-video{display:none}.ambient-animal,.ambient-digital,.floating{animation:none!important}}

/* Header */
.topbar{height:72px;background:rgba(255,255,255,.96);border-bottom:1px solid #d9e8f8}.topbar-inner{width:min(1488px,calc(100% - 42px));height:100%;margin:auto;display:grid;grid-template-columns:380px 1fr auto;align-items:center;gap:22px}.brand{display:flex;align-items:center;gap:9px;min-width:0}.brand-mark img{width:52px;height:52px;display:block}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy strong{font-size:24px;font-weight:900;letter-spacing:-.8px;color:#071d61;white-space:nowrap}.brand-copy strong span{color:#0871ef}.brand-copy small{margin-top:4px;color:#1260c9;font-weight:750;font-size:9.5px;letter-spacing:-.1px}.top-meta{display:flex;align-items:center;justify-content:center;gap:25px;white-space:nowrap}.meta-item{display:inline-flex;align-items:center;gap:7px;color:#071d61;font-size:12px;font-weight:720;background:transparent;border:0;padding:0}.meta-item img{width:23px;height:23px;object-fit:contain}.meta-place{max-width:220px}.meta-place span{overflow:hidden;text-overflow:ellipsis}.language-btn{display:flex;align-items:center;gap:6px;background:transparent;border:0;padding:3px}.language-btn img{width:25px;height:18px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.08)}.language-code{font-size:9px;font-weight:850;color:#234477}.top-actions{display:flex;align-items:center;gap:12px}.connect-btn{height:44px;padding:0 20px;border:1.8px solid var(--blue);border-radius:24px;display:flex;align-items:center;gap:8px;color:#0652cd;font-weight:850;font-size:13px;background:#fff}.connect-btn img{width:26px;height:26px}.round-action{width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid #dae7f6;box-shadow:0 6px 16px rgba(20,70,140,.09);display:grid;place-items:center}.round-action img{width:28px;height:28px}.mobile-menu-btn{display:none}
.mainnav{height:66px;background:rgba(255,255,255,.97);border-bottom:1px solid #dceafb}.nav-inner{width:min(1490px,calc(100% - 42px));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.nav-links{display:flex;height:100%;align-items:center;gap:4px}.nav-link{height:54px;padding:0 12px;border-radius:13px;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:850;color:#07184e}.nav-link img{width:34px;height:34px;object-fit:contain}.nav-link.active{color:#fff;background:linear-gradient(135deg,#086cf4,#0755dc);box-shadow:0 8px 17px rgba(4,93,220,.24)}.search-form{height:44px;width:290px;border:1px solid #d2e0f2;background:#fff;border-radius:26px;display:grid;grid-template-columns:1fr 42px;align-items:center;padding-left:16px;box-shadow:0 7px 18px rgba(14,63,130,.05)}.search-form input{border:0;outline:none;min-width:0;color:#1c376b;font-size:10px;background:transparent}.search-form button{width:38px;height:38px;border:0;background:transparent;display:grid;place-items:center}.search-form button img{width:36px;height:36px}

/* Home exact desktop composition */
body.home-route{width:100vw;height:100vh;overflow:hidden!important;min-width:980px}body.home-route #app{position:fixed;inset:0;overflow:hidden}.site-shell.home-mode{position:absolute;left:50%;top:50%;width:1536px;height:1024px;min-height:0;overflow:hidden;transform-origin:center center;background:rgba(237,248,255,.80)}.site-shell.home-mode main{height:824px;flex:none;overflow:hidden}.home-page{height:824px;padding:0 21px;background:linear-gradient(180deg,rgba(239,249,255,.72),rgba(230,245,255,.80));overflow:hidden}
.hero-news-grid{height:376px;display:grid;grid-template-columns:842px 638px;gap:14px}.hero{position:relative;height:356px;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:64% 49%;filter:saturate(1.08) contrast(1.02)}.hero-fade{position:absolute;inset:0;background:linear-gradient(90deg,#eff9ff 0%,#eff9ff 35%,rgba(239,249,255,.98) 44%,rgba(239,249,255,.76) 57%,rgba(239,249,255,.18) 76%,transparent 92%)}.hero-content{position:relative;z-index:2;width:620px;padding:39px 0 0 34px}.hero-kicker{margin:0 0 2px;font-size:34px;font-weight:900;line-height:1;color:#081a57;letter-spacing:-.7px}.hero h1{margin:0;font-size:58px;line-height:.98;font-weight:950;letter-spacing:-2.6px;color:#07184e}.hero h1 span{color:#0672ef}.hero-subtitle{margin:18px 0 0;max-width:590px;font-size:18px;line-height:1.45;font-weight:620;color:#142b6a}.hero-actions{display:flex;gap:8px;margin-top:30px}.hero-pill{height:46px;padding:0 17px 0 10px;border-radius:14px;display:flex;align-items:center;gap:8px;color:white;font-size:12px;font-weight:850;box-shadow:0 8px 15px rgba(28,81,166,.18);white-space:nowrap}.hero-pill img{width:34px;height:34px}.hero-pill.blue{background:linear-gradient(135deg,#2488ff,#075be8)}.hero-pill.purple{background:linear-gradient(135deg,#8e51f7,#6326dd)}.hero-pill.orange{background:linear-gradient(135deg,#ff9a17,#ff7400)}.hero-pill.green{background:linear-gradient(135deg,#23b86f,#069550)}
.news-panel{width:638px;height:356px;margin-top:8px;padding:14px 16px 10px;border-radius:20px;display:grid;grid-template-rows:38px 272px 15px;overflow:visible}.section-heading{display:flex;align-items:center;justify-content:space-between}.section-heading h2{margin:0;display:flex;align-items:center;gap:7px;font-size:20px;font-weight:900;letter-spacing:-.4px}.section-heading h2 img{width:29px;height:29px}.section-heading>a{font-size:11px;color:#075ee2;font-weight:850}.news-carousel{position:relative;height:272px}.news-grid{height:272px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;overflow:hidden}.news-card{height:272px;border:1px solid #d9e6f5;border-radius:15px;background:#fff;overflow:hidden;display:grid;grid-template-rows:134px 138px}.news-media{position:relative;overflow:hidden}.news-media img{width:100%;height:100%;object-fit:cover}.news-tag{position:absolute;z-index:1;top:8px;left:9px;padding:4px 9px;border-radius:11px;color:#fff;font-size:10px;font-weight:850}.news-tag.blue{background:#0b76f2}.news-tag.green{background:#0d9f5c}.news-tag.purple{background:#672bdd}.news-body{padding:9px 10px 8px;display:flex;flex-direction:column}.news-date{color:#65779c;font-size:9px;margin-bottom:4px}.news-body h3{font-size:13px;line-height:1.12;margin:0;font-weight:900}.news-body p{font-size:10px;line-height:1.25;margin:5px 0 0;color:#3d5580}.soft-link{align-self:flex-start;margin-top:auto;padding:5px 10px;border-radius:13px;border:1px solid #bcd8fa;color:#0765e8;font-size:9.5px;font-weight:850}.carousel-arrow{position:absolute;z-index:3;top:47%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;background:#fff;color:#0c4eb9;box-shadow:0 7px 17px rgba(23,66,132,.16);font-size:31px;line-height:1}.carousel-arrow.prev{left:-24px}.carousel-arrow.next{right:-24px}.dots{display:flex;justify-content:center;gap:5px;padding-top:5px}.dots span{width:7px;height:7px;border-radius:50%;background:#c6ceda}.dots .active{background:#0a71f2}
.bottom-area{height:448px;display:grid;grid-template-columns:1075px 385px;column-gap:14px}.content-left{height:448px;display:grid;grid-template-rows:246px 194px;gap:8px;padding-left:27px}.compartments{height:246px;display:grid;grid-template-columns:388px 360px 267px;gap:14px}.compartment{height:246px;border-radius:18px;overflow:hidden;position:relative;display:grid;grid-template-rows:100px 146px;background:rgba(255,255,255,.93);box-shadow:0 8px 20px rgba(28,80,158,.08);border:1px solid}.compartment.blue{border-color:#3b8cff}.compartment.green{border-color:#27aa66}.compartment.purple{border-color:#8a55ee}.compartment-photo-wrap{overflow:hidden}.compartment-photo{width:100%;height:100px;object-fit:cover;display:block;filter:saturate(1.05) contrast(1.02)}.compartment-icon{position:absolute;left:50%;top:100px;transform:translate(-50%,-50%);width:68px;height:68px;border-radius:50%;background:#fff;filter:drop-shadow(0 6px 12px rgba(0,60,160,.20));z-index:2}.compartment-body{height:146px;padding:34px 12px 9px;text-align:center;display:flex;flex-direction:column;align-items:center;background:linear-gradient(180deg,rgba(255,255,255,.91),rgba(242,249,255,.95))}.compartment.green .compartment-body{background:linear-gradient(180deg,#fff,#effbf5)}.compartment.purple .compartment-body{background:linear-gradient(180deg,#fff,#f6f0ff)}.compartment-body h2{font-size:19px;line-height:1.05;margin:0 0 4px;font-weight:900}.compartment.purple .compartment-body h2{font-size:17px;white-space:nowrap}.compartment-body p{font-size:10.5px;line-height:1.25;margin:1px 0;color:#142a65}.compartment-meta{font-weight:700}.compartment-body a{margin-top:auto;color:#fff;border-radius:15px;padding:6px 23px;font-size:10.5px;font-weight:850}.compartment.blue a{background:#0873ed}.compartment.green a{background:#0a9e58}.compartment.purple a{background:#6529de}
.lower-two{height:194px;width:919px;display:grid;grid-template-columns:448px 458px;gap:13px}.compact-panel{height:194px;padding:10px 13px 7px;border-radius:16px}.section-heading.compact{height:30px;margin-bottom:2px}.section-heading.compact h2{font-size:16px}.section-heading.compact h2 img{width:27px;height:27px}.section-heading.compact>a{font-size:9px}.event-list,.resource-list{height:151px;display:grid;grid-template-rows:repeat(3,1fr)}.event-row{display:grid;grid-template-columns:55px minmax(0,1fr) 91px;gap:7px;align-items:center;border-top:1px solid #e5eef9;padding:2px 0}.event-row:first-child{border-top:0}.event-date{text-align:center}.event-date strong{display:block;color:#0874ec;font-size:20px;line-height:1}.event-date span{font-size:7px;color:#075fdb;font-weight:850}.event-copy{display:flex;flex-direction:column;gap:2px}.event-copy>strong{font-size:10.3px}.event-meta{font-size:8px;color:#49628c;display:flex;align-items:center}.event-time{font-size:8.2px;color:#2c4d82;display:flex;align-items:center}.mini-icon{width:11px;height:11px;margin-right:4px}.resource-row{display:grid;grid-template-columns:39px minmax(0,1fr) 12px;gap:8px;align-items:center;border-top:1px solid #e5eef9}.resource-row:first-child{border-top:0}.resource-folder{width:31px;height:31px;object-fit:contain}.resource-row span:nth-child(2){display:flex;flex-direction:column}.resource-row strong{font-size:10.5px}.resource-row small{font-size:8.3px;color:#59709a}.chev{font-size:24px;color:#075dd7}
.side-stack{height:448px;position:relative}.weather-panel{position:absolute;left:0;top:20px;width:385px;height:134px;padding:10px 14px 8px;border-radius:16px;display:grid;grid-template-rows:22px 77px 17px}.weather-panel h2{font-size:16px;margin:0}.weather-body{display:grid;grid-template-columns:126px 1fr;gap:7px}.weather-now{display:flex;align-items:center;gap:5px}.weather-now>img{width:56px;height:56px}.weather-now div{display:flex;flex-direction:column}.weather-now strong{font-size:23px}.weather-now span{font-size:9px;color:#38517c}.forecast{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;height:72px}.forecast-item{border:1px solid #dbe8f7;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 2px}.forecast-icon{width:25px;height:25px}.forecast-item small{font-size:8px}.forecast-item strong{font-size:10px}.weather-place{display:flex;align-items:center;gap:4px;font-size:9px;font-weight:700;color:#38517c}.weather-place img{width:14px;height:14px}.game-panel{position:absolute;left:0;top:166px;width:245px;height:148px;padding:13px 14px;border-radius:15px;background:linear-gradient(135deg,#7132ef,#4e17d9);display:grid;grid-template-columns:55px 1fr;gap:8px;color:#fff;box-shadow:0 15px 28px rgba(88,35,218,.22)}.floating{animation:microFloat 4s ease-in-out infinite}@keyframes microFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}.game-icon{width:52px;height:52px}.game-panel h2{font-size:16px;margin:0 0 6px}.game-panel p{font-size:9px;line-height:1.35;margin:0 0 10px}.game-cta{display:inline-block;background:#fff;color:#5b20df;padding:5px 14px;border-radius:14px;font-size:9px;font-weight:850}.help-panel{position:absolute;left:34px;top:330px;width:207px;height:108px;margin:0;padding:11px 13px 8px 16px;border-radius:16px;text-align:left;overflow:visible;color:var(--ink);display:block}.help-copy{max-width:135px}.help-copy h2{font-size:15px;margin:0 0 6px}.help-copy p{font-size:9.5px;line-height:1.28;margin:0}.assistant-figure{position:absolute;left:auto;right:-131px;bottom:-22px;height:270px;width:auto;max-width:none;filter:drop-shadow(0 10px 14px rgba(19,70,135,.17))}.voice-button-img{position:absolute;right:10px;bottom:8px;width:41px;height:41px}

/* Footer */
.site-footer{height:62px;flex:none;background:linear-gradient(90deg,#073a8f,#0050aa 62%,#063b90);color:#fff}.footer-brand{display:flex;align-items:center;gap:8px}.footer-inner{width:1488px;height:62px;margin:0 auto;display:grid;grid-template-columns:260px 1fr 190px;gap:24px;align-items:center}.footer-brand .brand-copy strong{color:#fff;font-size:18px}.footer-brand .brand-copy strong span{color:#cbe7ff}.footer-brand .brand-copy small{color:#fff;font-size:7px}.footer-brand .brand-mark img{width:40px;height:40px}.footer-middle{display:grid;grid-template-columns:auto auto auto;gap:27px;justify-content:center;align-items:center}.footer-links{display:flex;gap:11px;font-size:11px;align-items:center}.socials{display:flex;gap:8px}.socials button{width:29px;height:29px;border:0;background:transparent;padding:0}.socials img{width:29px;height:29px;display:block}.footer-copy{font-size:10px}.secure-badge{width:175px;height:44px;border-radius:24px;background:linear-gradient(135deg,#0abd61,#048f42);display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,255,255,.3);font-size:10px}.secure-badge img{width:29px;height:29px}

/* Internal pages */
.interior-page{display:grid;gap:22px}.page-hero{border-radius:24px;padding:28px;display:flex;gap:18px;align-items:center}.page-hero>img{width:74px;height:74px}.page-hero h1{font-size:38px;margin:0 0 7px}.page-hero p{margin:0;color:#445f8e;max-width:850px;line-height:1.55}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#1470df;font-weight:850}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card{border-radius:18px;padding:20px;min-height:170px;display:flex;flex-direction:column}.feature-card h2{margin:0 0 8px;font-size:19px}.feature-card p{margin:0;color:#526789;line-height:1.55}.feature-card a{margin-top:auto;color:#0867e5;font-weight:850}.auth-page{max-width:1080px}.auth-card{border-radius:24px;padding:30px;display:grid;grid-template-columns:.9fr 1.1fr;gap:36px}.auth-card.wide{grid-template-columns:320px 1fr}.auth-intro h1{font-size:36px;margin:5px 0 12px}.auth-intro p{color:#526789;line-height:1.6}.auth-links{display:flex;flex-direction:column;gap:9px;margin-top:20px}.auth-links a{color:#075fdc;font-weight:800}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:800;color:#29436f}.auth-form input,.auth-form select{height:46px;border:1px solid #cadcf1;border-radius:12px;padding:0 13px;background:#fff;color:#172f61;outline:none}.auth-form input:focus,.auth-form select:focus{border-color:#5d9ff5;box-shadow:0 0 0 3px rgba(45,130,240,.12)}.auth-form button,.dashboard-head button{height:46px;border:0;border-radius:13px;background:linear-gradient(135deg,#1179f5,#0756d8);color:#fff;font-weight:850}.register-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.register-grid .full{grid-column:1/-1}.check{flex-direction:row!important;align-items:center!important}.check input{width:18px;height:18px}.form-message{min-height:20px;margin:0;font-size:12px}.form-message.ok{color:#07824c}.form-message.error{color:#c82d3a}.dashboard-page{display:grid;gap:20px}.dashboard-head{border-radius:22px;padding:26px;display:flex;align-items:center;justify-content:space-between}.dashboard-head h1{margin:2px 0 5px}.dashboard-head button{padding:0 20px}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.dashboard-card{border-radius:18px;padding:20px;min-height:150px;display:flex;flex-direction:column}.dashboard-card h2{margin:0 0 8px}.dashboard-card p{color:#526789;margin:0}.dashboard-card span{margin-top:auto;color:#0867e5;font-weight:850}.legal-card,.access-panel{border-radius:22px;padding:30px}.legal-card h1,.access-panel h1{margin-top:0}

/* Floating tools and assistants */
.floating-tools{position:fixed;right:18px;bottom:22px;z-index:30;display:flex;flex-direction:column;gap:10px;align-items:center}.floating-tools>a,.floating-tools>button{border:1px solid rgba(122,157,205,.35);box-shadow:0 10px 26px rgba(10,55,120,.18);background:#fff}.floating-game,.floating-top{width:54px;height:54px;border-radius:50%;display:grid;place-items:center}.floating-game img{width:45px;height:45px}.floating-assistant{width:68px;height:68px;border-radius:50%;overflow:hidden;padding:0;position:relative}.floating-assistant img{height:84px;position:absolute;left:8px;bottom:-14px}.floating-mc{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#0a6de9,#0c3f9f)!important;color:#fff;font-weight:950}.floating-top{font-size:25px;color:#0863df}.assistant-overlay{position:fixed;inset:0;z-index:100;background:rgba(3,18,50,.35);display:grid;place-items:end;padding:0 28px 28px 0}.assistant-overlay[hidden]{display:none}.assistant-dialog{width:370px;height:470px;background:#fff;border-radius:22px;box-shadow:0 24px 80px rgba(0,30,90,.28);display:grid;grid-template-rows:72px 1fr 62px;overflow:hidden}.assistant-dialog header{padding:14px 16px;background:linear-gradient(135deg,#086af0,#4b35e9);color:#fff;display:flex;justify-content:space-between;align-items:center}.assistant-dialog header div{display:flex;flex-direction:column}.assistant-dialog header small{font-size:10px;opacity:.9}.assistant-dialog header button{width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.18);color:#fff;font-size:25px}.assistant-messages{padding:16px;overflow:auto;background:#f4f9ff}.assistant-msg{max-width:82%;padding:10px 12px;border-radius:15px;font-size:13px;line-height:1.4}.assistant-msg.bot{background:#fff;border:1px solid #d9e7f7}.assistant-msg.user{margin-left:auto;background:#0b69eb;color:#fff}.assistant-dialog form{display:grid;grid-template-columns:1fr 80px;gap:8px;padding:9px;background:#fff;border-top:1px solid #e0eaf6}.assistant-dialog input{border:1px solid #d3e0f1;border-radius:12px;padding:0 12px}.assistant-dialog form button{border:0;border-radius:12px;background:#0868ed;color:#fff;font-weight:800}.language-menu{position:fixed;z-index:120;top:64px;right:300px;width:190px;padding:8px;background:#fff;border:1px solid #d8e5f6;border-radius:14px;box-shadow:0 18px 45px rgba(9,52,115,.20)}.language-menu[hidden]{display:none}.language-menu button{width:100%;height:38px;border:0;background:transparent;border-radius:9px;display:flex;align-items:center;gap:10px;padding:0 8px;text-align:left}.language-menu button:hover,.language-menu button[aria-selected="true"]{background:#edf6ff}.language-menu img{width:28px;height:19px;object-fit:cover;border-radius:2px}
.toast{position:fixed;z-index:200;left:50%;bottom:22px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#061d57;color:#fff;padding:10px 16px;border-radius:20px;font-size:12px;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}

/* Tablet */
@media(max-width:1180px){
  body.home-route{min-width:0}.site-shell.home-mode{width:1086px;height:auto}.site-shell.home-mode .topbar{height:92px}.site-shell.home-mode .topbar-inner{width:1010px;grid-template-columns:280px 1fr auto}.site-shell.home-mode .brand-copy strong{font-size:22px}.site-shell.home-mode .top-meta{gap:12px}.site-shell.home-mode .meta-item{font-size:10px}.site-shell.home-mode .top-actions{gap:7px}.site-shell.home-mode .round-action{width:40px;height:40px}.site-shell.home-mode .mainnav{height:68px}.site-shell.home-mode .nav-inner{width:1010px}.site-shell.home-mode .nav-link{padding:0 7px;font-size:10px}.site-shell.home-mode .nav-link img{width:28px;height:28px}.site-shell.home-mode .search-form{display:none}
  .site-shell.home-mode main{height:auto;overflow:visible}.home-page{height:auto;padding:0 36px 18px}.hero-news-grid{height:410px;grid-template-columns:1fr 520px;gap:12px}.hero{height:400px}.hero-content{padding-left:20px;width:500px}.hero-kicker{font-size:31px}.hero h1{font-size:51px}.hero-subtitle{font-size:16px;width:480px}.news-panel{width:520px;height:390px;grid-template-rows:38px 304px 15px}.news-carousel,.news-grid{height:304px}.news-card{height:304px;grid-template-rows:145px 159px}.bottom-area{height:auto;grid-template-columns:1fr;row-gap:12px}.content-left{height:auto;padding-left:0;grid-template-rows:245px 190px}.compartments{grid-template-columns:repeat(3,1fr);gap:12px}.lower-two{width:100%;grid-template-columns:1fr 1fr}.side-stack{height:220px;display:grid;grid-template-columns:1.4fr 1fr 1.1fr;gap:12px}.weather-panel,.game-panel,.help-panel{position:relative;left:auto;top:auto;width:auto;height:190px}.weather-panel{grid-template-rows:25px 120px 22px}.weather-body{grid-template-columns:140px 1fr}.game-panel{grid-template-columns:70px 1fr;align-items:center}.help-panel{padding-left:110px}.assistant-figure{left:0;right:auto;height:185px;bottom:-3px}.site-shell.home-mode .site-footer{height:72px}.site-shell.home-mode .footer-inner{width:1010px;height:72px;grid-template-columns:220px 1fr 170px}.site-shell.home-mode .footer-middle{gap:14px}.language-menu{right:110px}
}

/* Phone design (still fitted to a single viewport by JS) */
@media(max-width:650px){
  .site-shell.home-mode{width:820px}.site-shell.home-mode .topbar{height:118px}.site-shell.home-mode .topbar-inner{width:740px;grid-template-columns:64px 1fr 108px;gap:12px}.site-shell.home-mode .mobile-menu-btn{display:flex;width:52px;height:52px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:7px}.mobile-menu-btn span{display:block;width:31px;height:4px;border-radius:3px;background:#113a91}.site-shell.home-mode .brand{justify-self:center}.site-shell.home-mode .brand-mark img{width:58px;height:58px}.site-shell.home-mode .brand-copy strong{font-size:29px}.site-shell.home-mode .brand-copy small{font-size:9px}.site-shell.home-mode .top-meta,.site-shell.home-mode .connect-btn,.site-shell.home-mode .apps-action{display:none}.site-shell.home-mode .top-actions{justify-self:end}.site-shell.home-mode .round-action{width:48px;height:48px}.site-shell.home-mode .mainnav{display:none}
  .home-page{padding:0 34px 20px}.hero-news-grid{height:auto;display:block}.hero{height:390px}.hero-photo{object-position:center}.hero-fade{background:linear-gradient(90deg,#eff9ff 0%,rgba(239,249,255,.96) 38%,rgba(239,249,255,.25) 82%,transparent)}.hero-content{width:690px;padding:35px 0 0 6px}.hero-kicker{font-size:32px}.hero h1{font-size:55px}.hero-subtitle{font-size:18px;max-width:620px}.hero-actions{margin-top:22px}.hero-pill{height:50px;font-size:13px}.hero-pill img{width:38px;height:38px}.news-panel{width:100%;height:330px;margin:10px 0 14px;grid-template-rows:42px 272px 16px}.news-carousel,.news-grid{height:272px}.news-card{height:272px;grid-template-rows:132px 140px}.bottom-area{display:flex;flex-direction:column}.content-left{display:flex;flex-direction:column;height:auto}.compartments{height:auto;display:flex;flex-direction:column}.compartment{height:124px;display:grid;grid-template-columns:235px 1fr;grid-template-rows:124px}.compartment-photo-wrap{grid-row:1;grid-column:1}.compartment-photo{height:124px}.compartment-icon{left:235px;top:62px;width:70px;height:70px}.compartment-body{grid-row:1;grid-column:2;height:124px;padding:17px 18px 12px 48px;text-align:left;align-items:flex-start}.compartment-body h2,.compartment.purple .compartment-body h2{font-size:22px;white-space:normal}.compartment-body p{font-size:11px}.compartment-body a{position:absolute;right:18px;top:43px;margin:0;font-size:11px}.lower-two{height:252px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.compact-panel{height:252px}.event-list,.resource-list{height:205px}.event-row{grid-template-columns:50px 1fr 80px}.side-stack{height:200px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:110px 82px}.weather-panel{height:110px;grid-column:1;grid-row:1;display:block}.weather-panel .weather-body{display:grid;grid-template-columns:110px 1fr;height:65px}.weather-now>img{width:46px;height:46px}.forecast{height:65px}.weather-place{margin-top:4px}.game-panel{height:110px;grid-column:2;grid-row:1}.help-panel{height:82px;grid-column:1/3;grid-row:2;padding-left:125px}.assistant-figure{height:120px;left:15px;bottom:-14px}.help-copy{max-width:440px}.help-copy h2{font-size:17px}.help-copy p{font-size:11px}.voice-button-img{width:52px;height:52px;right:18px;bottom:13px}.site-shell.home-mode .site-footer{height:74px}.site-shell.home-mode .footer-inner{width:740px;height:74px;grid-template-columns:220px 1fr 170px}.site-shell.home-mode .footer-links{display:none}.site-shell.home-mode .footer-copy{display:none}.site-shell.home-mode .footer-middle{display:flex}.site-shell.home-mode .socials button,.site-shell.home-mode .socials img{width:34px;height:34px}
}

@media(max-width:780px){
  body:not(.home-route) .topbar{height:auto;padding:10px 0}
  body:not(.home-route) .topbar-inner{width:calc(100% - 24px);grid-template-columns:1fr auto}
  body:not(.home-route) .topbar-inner>.brand{grid-column:1}
  body:not(.home-route) .top-meta{display:none}
  body:not(.home-route) .top-actions{grid-column:2}
  body:not(.home-route) .connect-btn span{display:none}
  body:not(.home-route) .mainnav{height:auto}
  body:not(.home-route) .nav-inner{width:100%;display:block}
  body:not(.home-route) .nav-links{padding:8px 12px;overflow-x:auto}
  body:not(.home-route) .nav-link{flex:0 0 auto}
  body:not(.home-route) .search-form{width:calc(100% - 24px);margin:0 12px 10px}
  body:not(.home-route) .page-wrap{width:calc(100% - 22px);margin:18px auto 30px}
  body:not(.home-route) .feature-grid,body:not(.home-route) .dashboard-grid{grid-template-columns:1fr}
  body:not(.home-route) .auth-card,body:not(.home-route) .auth-card.wide{grid-template-columns:1fr;padding:20px}
  body:not(.home-route) .register-grid{grid-template-columns:1fr}
  body:not(.home-route) .footer-inner{width:calc(100% - 22px);grid-template-columns:1fr auto}
  body:not(.home-route) .footer-middle{display:none}
  body:not(.home-route) .secure-badge{width:160px}
  body:not(.home-route) .floating-tools{right:10px;bottom:12px}
  .assistant-dialog{width:calc(100vw - 24px);height:min(520px,80vh)}.assistant-overlay{padding:0 12px 12px}.language-menu{right:16px;top:70px}
}

/* === TentoniNumérik 1.4.0 : netteté, mouvement et modules fonctionnels === */
.photo-action{overflow:hidden;padding:0}.photo-action img{width:100%;height:100%;object-fit:cover;border-radius:50%;filter:saturate(1.08) contrast(1.03)}
.interactive-card,.nav-link,.round-action,.resource-row,.hero-pill,.floating-tools>a,.floating-tools>button{transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.interactive-card:hover,.nav-link:hover,.round-action:hover,.resource-row:hover,.hero-pill:hover,.floating-tools>a:hover,.floating-tools>button:hover{transform:translateY(-3px) scale(1.025);box-shadow:0 14px 30px rgba(19,77,152,.18);filter:saturate(1.08)}
.interactive-card:active,.nav-link:active,.round-action:active,.hero-pill:active{transform:scale(.97)}
.live-news{font-size:7px;color:#fff;background:#e4253c;padding:4px 7px;border-radius:999px;letter-spacing:.08em;animation:livePulse 1.6s ease-in-out infinite}@keyframes livePulse{50%{opacity:.58;transform:scale(.97)}}
.news-marquee{height:100%;overflow:hidden;border-radius:15px}.news-loop{display:flex;gap:12px;width:max-content;height:100%;animation:newsContinuous 30s linear infinite}.news-loop:hover{animation-play-state:paused}.news-loop .news-card{width:190px;flex:none}@keyframes newsContinuous{to{transform:translateX(calc(-50% - 6px))}}
.news-progress{height:4px;border-radius:5px;background:#dfe9f6;overflow:hidden;margin:4px 20% 0}.news-progress span{display:block;width:35%;height:100%;border-radius:5px;background:#0873ee;animation:progressNews 4s ease-in-out infinite alternate}@keyframes progressNews{to{transform:translateX(185%)}}
.section-real-icon{width:29px!important;height:29px!important;object-fit:cover!important;border-radius:8px!important}.resource-photo{width:34px;height:34px;object-fit:cover;border-radius:9px;background:#fff;border:1px solid #d7e5f6;padding:2px}.resource-blue .resource-photo{box-shadow:0 0 0 2px #cde4ff}.resource-purple .resource-photo{box-shadow:0 0 0 2px #e4d5ff}.resource-green .resource-photo{box-shadow:0 0 0 2px #cff1df}
.weather-title-row{display:flex;justify-content:space-between;align-items:center}.weather-title-row button{border:0;background:#edf6ff;color:#075fd5;border-radius:9px;padding:3px 7px;font-size:8px;font-weight:800}.compact-weather{top:18px;height:142px}.services-teaser{position:absolute;left:0;top:174px;width:385px;height:248px;border-radius:18px;overflow:hidden;display:grid;grid-template-columns:136px 1fr;gap:13px;padding:12px;background:linear-gradient(145deg,#fff,#f6faff)}.services-teaser-photo{width:136px;height:224px;object-fit:cover;border-radius:13px}.services-teaser div{padding:12px 5px 10px}.services-teaser h2{font-size:21px;margin:5px 0 10px}.services-teaser p{font-size:11px;line-height:1.5;color:#405980}.services-teaser strong{display:inline-block;margin-top:15px;color:#e96900;font-size:11px}
.photo-float{overflow:hidden;padding:0}.photo-float img{width:100%!important;height:100%!important;object-fit:cover!important;position:static!important;border-radius:50%}.floating-game{width:48px;height:48px}.floating-assistant{width:62px;height:62px}.floating-mc{width:58px;height:58px;padding:0!important;overflow:hidden}.home-floating{right:13px;bottom:76px}.home-floating .floating-game{width:44px;height:44px}.home-floating .floating-assistant{width:56px;height:56px}.home-floating .floating-mc{width:52px;height:52px}
.assistant-title-wrap{display:flex!important;flex-direction:row!important;align-items:center;gap:10px}.assistant-mini-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;background:#fff;display:block}.assistant-mini-avatar img{width:100%;height:100%;object-fit:cover}.assistant-msg.pending{opacity:.65}.assistant-dialog header>div>div{display:flex;flex-direction:column}
.scene-layer{position:absolute;inset:0;transform-style:preserve-3d}.layer-far{transform:translateZ(-210px) scale(1.22);opacity:.75}.layer-mid{transform:translateZ(-80px) scale(1.08)}.layer-near{transform:translateZ(60px) scale(.96)}.animal-video.lions{width:34vw;height:26vh;left:49vw;bottom:2vh;opacity:.16;object-fit:cover;animation:lionsWalk 32s linear infinite alternate}.animal-video.birds-flight{width:48vw;height:24vh;left:28vw;top:3vh;bottom:auto;opacity:.12;object-fit:cover;animation:skyFlight 38s linear infinite}.chip-a{left:8%!important;top:19%!important}.chip-b{left:70%!important;top:62%!important;width:88px!important;animation:floatNear 7s ease-in-out infinite!important}.ambient-digital.device{width:74px;left:32%;top:66%;animation:floatNear 9s ease-in-out infinite reverse}.wifi-b{left:83%;bottom:10%;right:auto!important}@keyframes lionsWalk{from{transform:translate3d(120px,0,0)}to{transform:translate3d(-220px,-15px,80px)}}@keyframes skyFlight{from{transform:translate3d(-220px,0,-30px)}to{transform:translate3d(320px,35px,80px)}}@keyframes floatNear{50%{transform:translate3d(12px,-24px,110px) rotate(10deg)}}

.page-turn-out{animation:pageOut .15s ease forwards}.page-turn-in{animation:pageIn .32s cubic-bezier(.2,.8,.2,1)}@keyframes pageOut{to{transform:perspective(1200px) rotateY(-5deg);opacity:.7}}@keyframes pageIn{from{transform:perspective(1200px) rotateY(7deg) translateX(24px);opacity:.2}to{transform:none;opacity:1}}
.book-page{animation:bookOpen .4s cubic-bezier(.2,.8,.2,1)}@keyframes bookOpen{from{opacity:0;transform:perspective(1000px) rotateY(5deg) translateX(18px)}to{opacity:1;transform:none}}
.protected-access{max-width:760px;margin:8vh auto;text-align:center}.protected-access h1{font-size:40px}.page-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:22px}.page-actions a{background:#0870ee;color:#fff;padding:11px 18px;border-radius:12px;font-weight:850}.page-actions a.secondary{background:#eef5ff;color:#0759cc}
.page-hero-real{width:150px!important;height:110px!important;object-fit:cover!important;border-radius:16px!important}.service-hero,.game-hero{align-items:stretch}.service-selector{position:sticky;top:8px;z-index:8;border-radius:18px;padding:12px 16px;display:grid;grid-template-columns:1.6fr auto auto;gap:14px;align-items:end}.service-selector label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:800}.service-selector select{height:42px;border:1px solid #cdddf0;border-radius:11px;padding:0 12px}.subscription-strip{display:flex;gap:6px}.plan-choice{height:42px;border:1px solid #ceddf0;background:#fff;border-radius:10px;padding:0 13px;font-weight:800;color:#36517b}.plan-choice.active{background:#0b6ced;color:#fff}.primary-link{height:42px;display:grid;place-items:center;background:#ff8610;color:#fff;border-radius:10px;padding:0 15px;font-weight:850}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.service-card{border-radius:18px;overflow:hidden;min-height:175px;display:grid;grid-template-columns:118px 1fr}.service-photo{width:118px;height:100%;min-height:175px;object-fit:cover}.service-card>div{padding:13px;display:flex;flex-direction:column}.service-number{font-size:10px;color:#7c8eaa}.service-card h2{font-size:16px;margin:4px 0}.service-card p{font-size:11px;line-height:1.45;color:#52688b;margin:0 0 8px}.service-card strong{color:#e96900;font-size:12px;margin-top:auto}.service-card button{align-self:flex-start;margin-top:8px;border:0;background:#edf5ff;color:#075ccc;padding:6px 10px;border-radius:9px;font-weight:800}.quote-pay-grid{border-radius:22px;padding:22px;display:grid;grid-template-columns:1.4fr .8fr;gap:30px}.quote-form,.payment-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quote-form h2,.quote-form .eyebrow,.payment-form h2,.payment-form .eyebrow,.demo-note,.payment-form fieldset,.payment-form button,.payment-form .form-message{grid-column:1/-1}.quote-form label,.payment-form label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:800}.quote-form input,.quote-form select,.quote-form textarea,.payment-form select{border:1px solid #cadcf1;border-radius:10px;padding:10px}.quote-form button,.payment-form button{border:0;background:#0a69e9;color:#fff;border-radius:11px;padding:12px;font-weight:850}.demo-note{font-size:11px;line-height:1.5;background:#fff7dd;padding:10px;border-radius:10px}.payment-form fieldset{border:1px solid #d5e2f2;border-radius:12px;display:grid;gap:7px}.pay-choice{display:flex!important;flex-direction:row!important;align-items:center}.full{grid-column:1/-1}
.game-real{object-position:center}.game-toolbar{border-radius:18px;padding:12px;display:grid;grid-template-columns:1fr 220px 160px;gap:10px;margin:15px 0}.game-toolbar input,.game-toolbar select{height:42px;border:1px solid #cbdced;border-radius:10px;padding:0 12px}.game-toolbar button{border:0;border-radius:10px;background:#6829df;color:#fff;font-weight:850}.games-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.game-card{border-radius:16px;padding:0;overflow:hidden;display:grid;grid-template-columns:86px 1fr;text-align:left;min-height:92px}.game-photo-wrap{display:block;height:100%;overflow:hidden}.game-card-photo{width:86px;height:100%;object-fit:cover}.game-card>span:last-child{padding:12px;display:flex;flex-direction:column}.game-card small{color:#6a43c9}.game-card strong{font-size:13px;margin:3px 0}.game-card em{font-style:normal;color:#6429d8;font-size:10px;margin-top:auto}.emulator-panel{margin-top:18px;border-radius:20px;padding:20px;display:grid;grid-template-columns:1fr 640px;gap:20px;align-items:center}.emulator-panel canvas{width:100%;max-width:640px;background:#05152f;border-radius:14px;image-rendering:pixelated;box-shadow:inset 0 0 0 2px #15345d}.emulator-actions{display:flex;gap:7px;flex-wrap:wrap}.emulator-actions button,.file-button{border:0;background:#5925cf;color:#fff;padding:9px 12px;border-radius:10px;font-weight:800;font-size:11px}.file-button input{display:none}.game-modal{position:fixed;inset:0;z-index:300;background:rgba(2,13,42,.65);display:grid;place-items:center;padding:20px}.game-dialog{width:min(720px,96vw);min-height:480px;border-radius:24px;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto}.game-dialog header{padding:18px 20px;background:linear-gradient(135deg,#5a23d1,#8c45ee);color:#fff;display:flex;justify-content:space-between;align-items:center}.game-dialog header h2{margin:2px 0 0}.game-close{width:38px;height:38px;border:0;border-radius:50%;font-size:25px}.game-stage{padding:28px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;background:#f8fbff;text-align:center}.game-stage input,.game-stage textarea{min-width:260px;border:1px solid #bfd2ea;border-radius:10px;padding:10px}.game-stage button{border:0;background:#0a69e9;color:#fff;border-radius:11px;padding:10px 16px;font-weight:850}.game-dialog footer{padding:13px 20px;display:flex;justify-content:space-between;background:#fff}.reaction-zone{height:170px;width:100%;display:grid;place-items:center}.target-dot{width:68px!important;height:68px!important;border-radius:50%!important;background:#ff4f5e!important;box-shadow:0 0 0 12px rgba(255,79,94,.15)}.memory-number,.math-question,.word-scramble,.logic-seq{font-size:34px;letter-spacing:.12em;font-weight:900;color:#321277}.color-grid{display:grid;grid-template-columns:repeat(2,80px);gap:12px}.color-grid button{width:80px;height:80px}.target-field{height:230px;width:100%;position:relative;border:2px dashed #cadbee;border-radius:16px}.moving-target{position:absolute;width:42px;height:42px;border-radius:50%!important;background:#ff8b13!important}.gate-dialog{padding:32px;text-align:center;display:block;min-height:0}.expired{color:#c82736!important}
.module-tabs{display:flex;gap:8px;margin:15px 0;flex-wrap:wrap}.module-tabs button{border:1px solid #cedef0;background:#fff;border-radius:12px;padding:10px 15px;font-weight:850;color:#36527f}.module-tabs button.active{background:#0a69e9;color:#fff}.module-panel{display:none;border-radius:20px;padding:22px}.module-panel.active{display:block}.module-head{display:flex;justify-content:space-between;align-items:center}.student-roster{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0}.student-roster label{display:flex;gap:7px;align-items:center;background:#f5f9ff;padding:8px;border-radius:9px}.education-form,#attendance-form,#absence-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.education-form label,#attendance-form>label,#absence-form label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:800}.education-form input,.education-form textarea,.education-form select,#attendance-form input,#absence-form input,#absence-form textarea{border:1px solid #c9daef;border-radius:10px;padding:10px}.education-form button,#attendance-form button,#absence-form button{border:0;background:#0870ee;color:#fff;border-radius:11px;padding:11px;font-weight:850}.student-roster,#attendance-form button,#attendance-message,#absence-form button,#absence-message{grid-column:1/-1}.state-list{margin-top:18px;display:grid;gap:7px}.state-row{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border-radius:10px;background:#f5f9ff;font-size:11px}.course-proposals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.course-proposal{border:1px solid #d2e0f2;border-radius:14px;padding:13px;background:#fbfdff}.course-proposal pre{white-space:pre-wrap;font:inherit;font-size:11px;line-height:1.45;color:#3f557b}.course-proposal button{border:0;background:#0a69e9;color:#fff;border-radius:9px;padding:8px;font-weight:800}.subscription-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.subscription-cards article{background:#f5f9ff;border-radius:14px;padding:16px}.trial-badge{display:inline-block;margin-top:7px;background:#e9f8ef;color:#087144;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:850}.muted{color:#7486a3;font-size:11px}
.site-footer,.footer-links,.footer-copy,.footer-brand .brand-copy{font-smooth:always;text-rendering:geometricPrecision}.footer-links{font-size:12.5px!important;font-weight:750}.footer-copy{font-size:11px!important}.footer-brand .brand-copy small{font-size:8.5px!important}.socials img{filter:none!important;image-rendering:auto}

@media(min-width:1181px){
  .site-shell.home-mode{position:absolute!important;left:0!important;top:0!important;width:100vw!important;height:100vh!important;transform:none!important}
  .site-shell.home-mode .topbar{height:7vh;min-height:56px}.site-shell.home-mode .mainnav{height:6.5vh;min-height:54px}.site-shell.home-mode .site-footer{height:6.3vh;min-height:52px}.site-shell.home-mode .footer-inner{height:100%;width:calc(100% - 48px)}
  .site-shell.home-mode main{height:80.2vh!important;flex:1!important;min-height:0}.site-shell.home-mode .home-page{height:100%!important;padding:0 1.35vw!important;display:grid;grid-template-rows:43.5% 56.5%;overflow:hidden}
  .site-shell.home-mode .hero-news-grid{height:100%!important;grid-template-columns:51% 49%;gap:.9vw}.site-shell.home-mode .hero{height:96%!important}.site-shell.home-mode .news-panel{width:100%!important;height:96%!important;margin-top:.4vh!important;grid-template-rows:10% 84% 6%;padding:1.2vh .9vw .7vh}.site-shell.home-mode .news-carousel,.site-shell.home-mode .news-marquee{height:100%!important}.site-shell.home-mode .news-loop .news-card{height:100%!important;width:13.1vw;grid-template-rows:49% 51%}.site-shell.home-mode .news-media{min-height:0}.site-shell.home-mode .news-body{min-height:0}
  .site-shell.home-mode .bottom-area{height:100%!important;grid-template-columns:73.5% 25.5%;gap:1%}.site-shell.home-mode .content-left{height:100%!important;padding-left:1.7vw;grid-template-rows:55% 43%;gap:2%}.site-shell.home-mode .compartments{height:100%!important;grid-template-columns:38% 35% 27%;gap:.8vw}.site-shell.home-mode .compartment{height:100%!important;grid-template-rows:42% 58%}.site-shell.home-mode .compartment-photo{height:100%!important}.site-shell.home-mode .compartment-icon{top:42%!important;width:4.4vw;height:4.4vw}.site-shell.home-mode .compartment-body{height:100%!important;padding-top:2.2vw}.site-shell.home-mode .lower-two{height:100%!important}.site-shell.home-mode .compact-panel{height:100%!important}.site-shell.home-mode .side-stack{height:100%!important}.site-shell.home-mode .compact-weather{width:100%;height:31%;top:3%}.site-shell.home-mode .services-teaser{width:100%;height:58%;top:37%;grid-template-columns:36% 1fr}.site-shell.home-mode .services-teaser-photo{width:100%;height:100%}
  .site-shell.home-mode .hero-content{padding-top:3.3vh}.site-shell.home-mode .hero-kicker{font-size:clamp(25px,2.2vw,34px)}.site-shell.home-mode .hero h1{font-size:clamp(43px,3.8vw,58px)}.site-shell.home-mode .hero-subtitle{font-size:clamp(14px,1.15vw,18px)}.site-shell.home-mode .hero-actions{margin-top:2.4vh}.site-shell.home-mode .hero-pill{height:4.5vh;min-height:36px}
}

@media(max-width:900px){.services-grid{grid-template-columns:repeat(2,1fr)}.quote-pay-grid{grid-template-columns:1fr}.games-grid{grid-template-columns:repeat(2,1fr)}.emulator-panel{grid-template-columns:1fr}.course-proposals,.subscription-cards{grid-template-columns:1fr}.student-roster{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.services-grid,.games-grid{grid-template-columns:1fr}.service-selector{grid-template-columns:1fr;position:static}.service-card{grid-template-columns:105px 1fr}.quote-form,.payment-form,.education-form,#attendance-form,#absence-form{grid-template-columns:1fr}.quote-form .full,.payment-form .full,.education-form .full{grid-column:1}.game-toolbar{grid-template-columns:1fr}.student-roster{grid-template-columns:1fr}.emulator-panel canvas{width:100%;height:auto}.assistant-dialog{width:calc(100vw - 24px);height:72vh}.floating-tools{right:9px}}
.news-stream{height:330px;border-radius:20px;overflow:hidden;padding:14px;margin:16px 0}.news-stream .news-loop{height:100%}.news-stream .news-card{width:280px;height:300px;grid-template-rows:150px 150px}.news-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.news-list-card{border-radius:18px;overflow:hidden;display:grid;grid-template-columns:170px 1fr;min-height:145px}.news-list-card>img{width:170px;height:145px;object-fit:cover}.news-list-card>div{padding:15px}.news-list-card h2{margin:4px 0 7px;font-size:18px}.news-list-card span,.news-list-card p{font-size:11px;color:#617492}.news-list-card p{line-height:1.45}@media(max-width:650px){.news-list{grid-template-columns:1fr}}
.floating-back{width:46px;height:46px;border-radius:50%;font-size:24px;color:#075ccf;display:grid;place-items:center}
.nav-photo-icon{object-fit:cover!important;border-radius:10px!important;box-shadow:0 0 0 1px rgba(7,76,160,.14)}.nav-link.active .nav-photo-icon{box-shadow:0 0 0 2px rgba(255,255,255,.7)}.pill-photo{object-fit:cover!important;border-radius:9px!important;background:#fff}.compartment-real-icon{object-fit:cover!important;border:4px solid #fff!important;padding:0!important}
/* Scène de fond volontairement perceptible sans passer devant le contenu. */
.site-shell{background:rgba(239,248,255,.70)}.site-shell.home-mode{background:rgba(237,248,255,.68)!important}.home-page{background:linear-gradient(180deg,rgba(239,249,255,.64),rgba(230,245,255,.70))!important}.animal-video{opacity:.24}.animal-video.lions{opacity:.24}.animal-video.birds-flight{opacity:.19}.ambient-animal{opacity:.22}.ambient-digital{opacity:.22}

/* ===== TentoniNumérik v1.5.0 — correction ciblée ===== */
.nav-symbol{width:28px!important;height:28px!important;object-fit:contain!important;filter:none!important;image-rendering:auto}
.round-action>img{width:25px!important;height:25px!important;object-fit:contain!important;filter:none!important}
.professional-symbol{object-fit:contain!important;padding:11px!important;border:1px solid rgba(130,166,220,.28)!important;image-rendering:auto!important}
.compartment.orange{border-color:#f09322}.compartment.orange .compartment-body{background:linear-gradient(180deg,#fff,#fff6e8)}.compartment.orange a{background:#ef8212}

/* Accueil : un seul écran, actualités prioritaires à gauche, bienvenue à droite. */
.site-shell.home-mode .home-page.home-v15{height:100%!important;display:grid!important;grid-template-rows:58% 42%!important;gap:0!important;padding:0 1.35vw!important;overflow:hidden!important}
.home-primary-v15{height:100%;display:grid;grid-template-columns:minmax(0,62%) minmax(0,38%);gap:.9vw;min-height:0}
.home-primary-v15 .news-panel-featured{width:100%!important;height:96%!important;margin-top:.4vh!important;padding:1.1vh 1vw .7vh!important;display:grid!important;grid-template-rows:10% 84% 6%!important;overflow:hidden!important;border-radius:20px}
.home-primary-v15 .news-carousel,.home-primary-v15 .news-marquee{height:100%!important;min-height:0}.home-primary-v15 .news-loop{height:100%!important;gap:14px!important;animation-duration:34s!important}.home-primary-v15 .news-loop .news-card{height:100%!important;width:19vw!important;grid-template-rows:50% 50%!important}.home-primary-v15 .news-body h3{font-size:15px}.home-primary-v15 .news-body p{font-size:11px}.home-primary-v15 .news-date{font-size:10px}
.home-primary-v15 .hero-v15{height:96%!important;margin-top:.4vh;border-radius:20px;box-shadow:0 7px 20px rgba(27,77,151,.08);background:#eef8ff}.hero-v15 .hero-photo{object-position:62% center}.hero-v15 .hero-fade{background:linear-gradient(90deg,#eff9ff 0%,rgba(239,249,255,.98) 44%,rgba(239,249,255,.62) 67%,rgba(239,249,255,.12) 92%)}.hero-v15 .hero-content{width:94%;padding:3.6vh 0 0 2.1vw}.hero-v15 .hero-kicker{font-size:2.15vw}.hero-v15 h1{font-size:3.45vw}.hero-v15 .hero-subtitle{max-width:78%;font-size:.96vw;margin-top:1.4vh}.hero-v15 .hero-actions{gap:.45vw;margin-top:2.2vh;flex-wrap:wrap}.hero-v15 .hero-pill{height:4.4vh;min-height:36px;padding:0 .65vw;border-radius:13px;font-size:.66vw}.hero-v15 .hero-pill img{width:28px;height:28px;object-fit:contain}
.home-secondary-v15{height:100%;display:grid;grid-template-columns:minmax(0,1fr) 15.3vw;gap:.85vw;min-height:0;padding:.35vh 0 .6vh 1.7vw}
.site-shell.home-mode .compartments-four{height:100%!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:.75vw!important;min-height:0}.site-shell.home-mode .compartments-four .compartment{height:100%!important;grid-template-rows:38% 62%!important;min-width:0}.site-shell.home-mode .compartments-four .compartment-photo-wrap,.site-shell.home-mode .compartments-four .compartment-photo{height:100%!important}.site-shell.home-mode .compartments-four .compartment-icon{top:38%!important;width:3.55vw!important;height:3.55vw!important}.site-shell.home-mode .compartments-four .compartment-body{height:100%!important;padding:1.85vw .65vw .55vw!important}.site-shell.home-mode .compartments-four .compartment-body h2{font-size:1.02vw!important;white-space:normal!important}.site-shell.home-mode .compartments-four .compartment-body p{font-size:.58vw!important;line-height:1.25}.site-shell.home-mode .compartments-four .compartment-body a{font-size:.58vw;padding:.45vw 1.15vw}
.home-utilities-v15{position:relative;height:100%;min-height:0}.site-shell.home-mode .weather-v15{position:absolute!important;left:0!important;top:4%!important;width:100%!important;height:72%!important;padding:.7vh .7vw!important;grid-template-rows:20% 62% 18%!important;border-radius:16px}.weather-v15 .weather-title-row{display:flex;justify-content:space-between;align-items:center}.weather-v15 .weather-title-row button{width:30px;height:30px;border:0;border-radius:50%;background:#e9f3ff;display:grid;place-items:center}.weather-v15 .weather-title-row button img{width:17px;height:17px}.weather-v15 .weather-body{grid-template-columns:44% 56%;min-height:0}.weather-v15 .weather-now>img{width:44px;height:44px}.weather-v15 .forecast{height:100%}.weather-v15 .forecast-item:nth-child(n+3){display:none}.weather-v15 .forecast{grid-template-columns:repeat(2,1fr)}

/* Flottants : visiteurs = jeux + Assistante ; connecté = Monsieur Chretien uniquement. */
.floating-tools.public-floating{right:15px;bottom:75px;gap:9px}.compact-game-button{width:58px!important;height:58px!important;border-radius:50%!important;background:linear-gradient(135deg,#6b32e7,#4b17c7)!important;border:2px solid #fff!important;color:#fff!important;overflow:visible!important;position:relative!important}.compact-game-button img{width:32px!important;height:32px!important;filter:brightness(0) invert(1)}.compact-game-button span{position:absolute;right:64px;white-space:nowrap;background:#4e20bd;color:#fff;border-radius:14px;padding:5px 9px;font-size:10px;font-weight:850;box-shadow:0 6px 16px rgba(58,27,140,.22)}.compact-assistant{width:58px!important;height:58px!important;border:2px solid #fff!important}.compact-assistant img{height:72px!important}.floating-tools.logged-floating{right:16px;bottom:77px}.floating-mc{width:68px!important;height:68px!important;border-radius:50%!important;overflow:hidden!important;padding:2px!important;border:2px solid #fff!important;background:linear-gradient(135deg,#eef6ff,#e7edff)!important}.floating-mc img{width:100%!important;height:100%!important;object-fit:contain!important;position:static!important;filter:none!important}

/* Jeux fournis et émulation Flash. */
.game-icon-wrap{display:grid;place-items:center;background:linear-gradient(135deg,#f0eaff,#e1f2ff);height:100%;min-height:92px}.game-icon-wrap img{width:44px;height:44px}.games-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.game-card{grid-template-columns:72px 1fr}.supplied-emulator{grid-template-columns:1fr auto!important}.emulator-note{padding:10px 14px;border-radius:13px;background:#efe8ff;color:#4a22aa;font-weight:850}.flash-dialog{width:min(900px,96vw)!important;height:min(720px,90vh)!important}.flash-stage{padding:0!important;min-height:520px!important;background:#09162d!important;overflow:hidden}.flash-stage ruffle-player{width:100%;height:100%;display:block}.ruffle-loading,.ruffle-error{color:#fff;padding:30px;text-align:center}.ruffle-error p{color:#d8e6ff}

/* Parcours éducation : la validation conserve une trace et permet une prévisualisation. */
.parent-teacher-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.parent-interface-preview{border:1px solid #d3e2f6;border-radius:16px;padding:16px;background:linear-gradient(135deg,#f6fbff,#f4efff)}.parent-interface-preview h3{margin:3px 0 12px}.parent-preview-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px}.parent-preview-cards span{background:#fff;border:1px solid #dbe8f7;border-radius:11px;padding:11px;font-size:11px;font-weight:800}.homework-preview{border:1px solid #d7e4f3;border-radius:13px;padding:10px 12px;margin:8px 0;background:#fff}.homework-preview summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center}.homework-preview summary span{font-size:10px;color:#64779a}.homework-preview p,.homework-preview pre{white-space:pre-wrap;font:inherit;font-size:11px;line-height:1.45;color:#31486d}.homework-meta{display:flex;gap:8px;flex-wrap:wrap}.homework-meta span{background:#edf5ff;border-radius:12px;padding:5px 8px;font-size:9px;font-weight:750}.student-preview-btn{margin-top:8px;border:0;background:#075ed9;color:white;border-radius:10px;padding:7px 10px;font-weight:800}.saved-courses{margin-top:18px;border-top:1px solid #dbe8f6;padding-top:14px}

/* Une profondeur visuelle plus franche dans la scène d'arrière-plan. */
.ambient-scene{perspective:900px!important;background:linear-gradient(180deg,#dff4ff 0%,#ecf8ff 43%,#dff2e6 100%)!important}.scene-camera{position:absolute;inset:-7%;transform-style:preserve-3d;perspective:900px;transform:rotateX(2.5deg);animation:cameraDepth 18s ease-in-out infinite alternate}.scene-layer{transform-style:preserve-3d!important;will-change:transform}.layer-sky{transform:translateZ(-330px) scale(1.42);opacity:.82}.layer-far{transform:translateZ(-210px) scale(1.26)!important}.layer-mid{transform:translateZ(-60px) scale(1.08)!important}.layer-near{transform:translateZ(125px) scale(.90)!important}.ambient-animal,.animal-video,.ambient-digital{filter:drop-shadow(0 16px 18px rgba(18,53,84,.16));will-change:transform}.giraffe{animation:giraffeDepthWalk 36s linear infinite!important}.elephant{animation:elephantDepthWalk 43s linear infinite!important}.lions{animation:lionsDepthWalk 35s linear infinite!important}.bird{animation:birdDepthFly 17s linear infinite!important}@keyframes cameraDepth{from{transform:rotateX(2deg) translate3d(-1%,0,0)}to{transform:rotateX(4deg) translate3d(1.5%,-1%,34px)}}@keyframes giraffeDepthWalk{0%{transform:translate3d(-12vw,0,-60px) scale(.72)}50%{transform:translate3d(38vw,-1vh,50px) scale(.9)}100%{transform:translate3d(86vw,0,130px) scale(1.06)}}@keyframes elephantDepthWalk{0%{transform:translate3d(-22vw,1vh,-120px) scale(.7)}100%{transform:translate3d(92vw,-2vh,90px) scale(1.04)}}@keyframes lionsDepthWalk{0%{transform:translate3d(85vw,0,-70px) scale(.76)}100%{transform:translate3d(-28vw,-1vh,100px) scale(1.02)}}@keyframes birdDepthFly{0%{transform:translate3d(-20vw,0,-120px) scale(.65)}100%{transform:translate3d(96vw,-20vh,150px) scale(1.05)}}

/* Netteté du pied de page. */
.site-footer,.site-footer *{text-rendering:geometricPrecision!important;-webkit-font-smoothing:antialiased!important}.footer-links{font-size:13px!important;font-weight:800!important}.footer-copy{font-size:11.5px!important}.footer-brand .brand-copy small{font-size:9px!important;letter-spacing:.1px}.socials img{image-rendering:auto!important}

@media(max-width:1180px){.home-primary-v15{grid-template-columns:61% 39%}.home-secondary-v15{grid-template-columns:1fr 180px}.site-shell.home-mode .compartments-four .compartment-body h2{font-size:13px!important}.site-shell.home-mode .compartments-four .compartment-body p,.site-shell.home-mode .compartments-four .compartment-body a{font-size:8.5px!important}.hero-v15 .hero-kicker{font-size:28px}.hero-v15 h1{font-size:46px}.hero-v15 .hero-subtitle{font-size:13px}.hero-v15 .hero-pill{font-size:9px}}
@media(max-width:650px){.parent-teacher-grid{grid-template-columns:1fr}.games-grid{grid-template-columns:1fr}.home-primary-v15{grid-template-columns:59% 41%}.home-secondary-v15{grid-template-columns:1fr 154px}.compact-game-button span{display:none}}

/* === TentoniNumérik 1.6.0 — cadrage, médias et flottants === */
/* L’accueil reste sur un écran, mais la zone utile est cadrée : le décor reste visible sur les côtés. */
.site-shell.home-mode .topbar-inner,
.site-shell.home-mode .nav-inner,
.site-shell.home-mode .home-page,
.site-shell.home-mode .footer-inner{
  width:calc(100% - 108px)!important;
  max-width:1428px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.site-shell.home-mode .home-page{padding-left:0!important;padding-right:0!important}
.site-shell.home-mode .topbar,
.site-shell.home-mode .mainnav,
.site-shell.home-mode .site-footer{background-clip:padding-box}

/* Suppression définitive du bouton à petits points. */
.apps-action{display:none!important}

/* Actualités davantage au cœur de l’accueil ; bienvenue reste à droite. */
.home-primary-v15{grid-template-columns:minmax(0,66.5%) minmax(0,33.5%)!important;gap:.72vw!important}
.home-primary-v15 .news-panel-featured{height:97%!important}
.home-primary-v15 .news-loop .news-card{width:20.1vw!important}
.home-primary-v15 .hero-v15{height:97%!important}
.hero-v15 .hero-content{padding-left:1.65vw!important;padding-top:3.1vh!important}
.hero-v15 .hero-kicker{font-size:1.85vw!important}
.hero-v15 h1{font-size:3.05vw!important}
.hero-v15 .hero-subtitle{font-size:.86vw!important;max-width:82%!important}
.hero-v15 .hero-pill{font-size:.6vw!important;padding-left:.48vw!important;padding-right:.58vw!important}
.hero-v15 .hero-pill img{width:25px!important;height:25px!important}
.hero-rotating-photo{transition:opacity .38s ease,filter .38s ease;will-change:opacity}
.hero-rotating-photo.hero-image-switching{opacity:.18;filter:saturate(.85) blur(1px)}

/* Les 4 compartiments sont un peu plus compacts pour libérer l’espace visuel. */
.home-secondary-v15{grid-template-columns:minmax(0,1fr) 11.8vw!important;gap:.72vw!important;padding-left:0!important}
.site-shell.home-mode .compartments-four{gap:.58vw!important}
.site-shell.home-mode .compartments-four .compartment-icon{width:3.15vw!important;height:3.15vw!important}
.site-shell.home-mode .compartments-four .compartment-body{padding:1.62vw .52vw .42vw!important}
.site-shell.home-mode .compartments-four .compartment-body h2{font-size:.89vw!important}
.site-shell.home-mode .compartments-four .compartment-body p{font-size:.52vw!important}
.site-shell.home-mode .compartments-four .compartment-body a{font-size:.53vw!important;padding:.36vw .9vw!important}

/* Météo nettement réduite. */
.site-shell.home-mode .weather-v15{
  top:7%!important;
  height:47%!important;
  padding:.48vh .45vw!important;
  grid-template-rows:22% 58% 20%!important;
  border-radius:13px!important;
}
.weather-v15 h2{font-size:.78vw!important;margin:0!important}
.weather-v15 .weather-title-row button{width:23px!important;height:23px!important}
.weather-v15 .weather-title-row button img{width:13px!important;height:13px!important}
.weather-v15 .weather-now>img{width:31px!important;height:31px!important}
.weather-v15 .weather-now strong{font-size:1.18vw!important}
.weather-v15 .weather-now span{font-size:.48vw!important}
.weather-v15 .weather-place{font-size:.48vw!important}
.weather-v15 .forecast-item{padding:.22vw!important}
.weather-v15 .forecast-item small,.weather-v15 .forecast-item strong{font-size:.46vw!important}
.weather-v15 .forecast-icon{width:18px!important;height:18px!important}

/* Flottants : image seule, nom au-dessus, aucune bulle qui enferme l’avatar. */
.floating-tools.public-floating{
  right:5.1vw!important;
  bottom:7.4vh!important;
  flex-direction:row!important;
  align-items:flex-end!important;
  gap:18px!important;
}
.floating-tools.logged-floating{right:5.1vw!important;bottom:7.2vh!important}
.floating-person,.floating-game-wrap{display:flex;flex-direction:column;align-items:center;gap:3px;position:relative}
.floating-name{
  white-space:nowrap;
  color:#06216e;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(166,195,232,.62);
  border-radius:999px;
  padding:4px 9px;
  font-size:10px;
  font-weight:900;
  box-shadow:0 5px 15px rgba(7,55,120,.12);
  text-rendering:geometricPrecision;
}
.avatar-only,
.compact-assistant.avatar-only,
.floating-mc.avatar-only{
  width:92px!important;
  height:108px!important;
  min-width:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:block!important;
}
.compact-assistant.avatar-only img{
  position:static!important;
  width:92px!important;
  height:108px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 10px 13px rgba(14,53,104,.18))!important;
}
.floating-mc.avatar-only img{
  width:92px!important;
  height:108px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 10px 13px rgba(14,53,104,.18))!important;
}
.compact-game-button{
  width:68px!important;
  height:66px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
}
.compact-game-button img{
  width:64px!important;
  height:64px!important;
  filter:drop-shadow(0 8px 12px rgba(65,35,155,.20))!important;
}
.floating-person:hover .avatar-only,.floating-game-wrap:hover .compact-game-button{transform:translateY(-4px) scale(1.04)}
.avatar-only,.compact-game-button{transition:transform .2s ease,filter .2s ease}

/* Le fond V3 fourni sert de base et les couches animées apportent la profondeur. */
.ambient-scene{
  background-image:url('/assets/v3/dashboard_background.svg'),linear-gradient(180deg,#dff4ff 0%,#eef9ff 45%,#dff1e5 100%)!important;
  background-size:cover,cover!important;
  background-position:center center,center!important;
  perspective:760px!important;
}
.ambient-gradient{background:radial-gradient(circle at 74% 20%,rgba(84,180,255,.22),transparent 25%),radial-gradient(circle at 14% 76%,rgba(52,176,103,.20),transparent 31%)!important}
.scene-camera{transform-style:preserve-3d!important;perspective:760px!important}
.giraffe-a{right:-2vw!important;bottom:9vh!important;opacity:.16!important}
.giraffe-b{left:18vw!important;right:auto!important;bottom:15vh!important;width:235px!important;height:175px!important;opacity:.10!important;animation-delay:-13s!important}
.bird-a{left:57%!important;top:7vh!important}
.bird-b{left:20%!important;top:15vh!important;width:135px!important;height:105px!important;opacity:.12!important;animation-delay:-8s!important}
.elephant-a{left:-5vw!important;bottom:2vh!important;opacity:.14!important}
.elephant-b{left:63vw!important;bottom:-2vh!important;width:34vw!important;height:30vh!important;opacity:.09!important;animation-delay:-17s!important}
.lions-a{opacity:.12!important}
.layer-far{transform:translateZ(-260px) scale(1.34)!important}
.layer-mid{transform:translateZ(-60px) scale(1.10)!important}
.layer-near{transform:translateZ(155px) scale(.86)!important}

@media(max-width:1180px){
  .site-shell.home-mode .topbar-inner,.site-shell.home-mode .nav-inner,.site-shell.home-mode .home-page,.site-shell.home-mode .footer-inner{width:calc(100% - 52px)!important}
  .home-primary-v15{grid-template-columns:64% 36%!important}
  .home-secondary-v15{grid-template-columns:1fr 176px!important}
  .floating-tools.public-floating,.floating-tools.logged-floating{right:26px!important}
  .weather-v15 h2{font-size:12px!important}.weather-v15 .weather-now strong{font-size:18px!important}.weather-v15 .weather-now span,.weather-v15 .weather-place,.weather-v15 .forecast-item small,.weather-v15 .forecast-item strong{font-size:8px!important}
}


/* === TentoniNumérik 1.6.0 — finition ciblée du lot demandé === */
/* Cadrage desktop : contenu utile centré, le décor V3 reste visible comme marge vivante. */
@media (min-width:1181px){
  .site-shell.home-mode .topbar-inner,
  .site-shell.home-mode .nav-inner,
  .site-shell.home-mode .home-page,
  .site-shell.home-mode .footer-inner{
    width:min(1420px,calc(100vw - 112px))!important;
    max-width:1420px!important;
  }
}

/* Actualités prioritaires ; bienvenue garde un tiers de l'espace. */
.home-primary-v15{grid-template-columns:minmax(0,68.5%) minmax(0,31.5%)!important;gap:.68vw!important}
.home-primary-v15 .news-panel-featured{height:98%!important}
.home-primary-v15 .hero-v15{height:98%!important}

/* Les quatre accès restent lisibles mais plus compacts. */
.home-secondary-v15{grid-template-columns:minmax(0,1fr) 10.4vw!important;gap:.62vw!important}
.site-shell.home-mode .compartments-four{gap:.48vw!important}
.site-shell.home-mode .compartments-four .compartment-icon{width:2.9vw!important;height:2.9vw!important}
.site-shell.home-mode .compartments-four .compartment-body{padding:1.48vw .48vw .36vw!important}
.site-shell.home-mode .compartments-four .compartment-body h2{font-size:.82vw!important}
.site-shell.home-mode .compartments-four .compartment-body p{font-size:.49vw!important;line-height:1.18!important}
.site-shell.home-mode .compartments-four .compartment-body a{font-size:.5vw!important;padding:.31vw .72vw!important}

/* La météo devient un vrai module secondaire, volontairement discret. */
.site-shell.home-mode .weather-v15{
  top:8%!important;
  height:34%!important;
  width:100%!important;
  padding:.34vh .34vw!important;
  grid-template-rows:24% 56% 20%!important;
  border-radius:11px!important;
}
.weather-v15 h2{font-size:.68vw!important}
.weather-v15 .weather-title-row button{width:19px!important;height:19px!important}
.weather-v15 .weather-title-row button img{width:11px!important;height:11px!important}
.weather-v15 .weather-now>img{width:25px!important;height:25px!important}
.weather-v15 .weather-now strong{font-size:.98vw!important}
.weather-v15 .weather-now span,.weather-v15 .weather-place{font-size:.4vw!important}
.weather-v15 .forecast-item{padding:.12vw!important;border-radius:8px!important}
.weather-v15 .forecast-item small,.weather-v15 .forecast-item strong{font-size:.38vw!important}
.weather-v15 .forecast-icon{width:14px!important;height:14px!important}

/* Les flottants ne sont enfermés dans aucune bulle ; leur libellé reste au-dessus. */
.floating-name{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0 2px 3px!important;
  color:#06216e!important;
  font-size:11px!important;
  font-weight:900!important;
  text-shadow:0 1px 0 #fff,0 0 7px rgba(255,255,255,.96)!important;
}
.avatar-only,.compact-assistant.avatar-only,.floating-mc.avatar-only{
  width:110px!important;
  height:132px!important;
}
.compact-assistant.avatar-only img,.floating-mc.avatar-only img{
  width:110px!important;
  height:132px!important;
  object-fit:contain!important;
}
.floating-tools.public-floating{right:4.6vw!important;bottom:6.7vh!important;gap:14px!important}
.floating-tools.logged-floating{right:4.6vw!important;bottom:6.7vh!important}
.compact-game-button{width:70px!important;height:70px!important}
.compact-game-button img{width:68px!important;height:68px!important;filter:drop-shadow(0 8px 12px rgba(65,35,155,.22))!important}

/* Fond V3 repris comme base, avec perspective et profondeur multi-plans. */
.ambient-scene{
  background-image:url('/assets/v3/dashboard_background.svg'),linear-gradient(180deg,#dff4ff 0%,#eef9ff 45%,#dff1e5 100%)!important;
  background-size:cover,cover!important;
  background-position:center top,center!important;
  perspective:1050px!important;
}
.scene-camera{perspective:1050px!important;transform-style:preserve-3d!important}
.layer-sky{transform:translateZ(-380px) scale(1.48)!important}
.layer-far{transform:translateZ(-235px) scale(1.31)!important}
.layer-mid{transform:translateZ(-55px) scale(1.09)!important}
.layer-near{transform:translateZ(150px) scale(.86)!important}

@media(max-width:1180px){
  .home-primary-v15{grid-template-columns:65% 35%!important}
  .home-secondary-v15{grid-template-columns:1fr 164px!important}
  .avatar-only,.compact-assistant.avatar-only,.floating-mc.avatar-only{width:100px!important;height:122px!important}
  .compact-assistant.avatar-only img,.floating-mc.avatar-only img{width:100px!important;height:122px!important}
  .weather-v15 h2{font-size:11px!important}
  .weather-v15 .weather-now strong{font-size:16px!important}
  .weather-v15 .weather-now span,.weather-v15 .weather-place,.weather-v15 .forecast-item small,.weather-v15 .forecast-item strong{font-size:7px!important}
}

/* === TentoniNumérik 1.7.0 — lot ciblé : alignements + flottants + actualités === */
@media (min-width:1181px){
  :root{--tn-home-frame:min(1400px,74vw)}
  .site-shell.home-mode .topbar-inner,
  .site-shell.home-mode .nav-inner,
  .site-shell.home-mode .home-page,
  .site-shell.home-mode .footer-inner{
    width:var(--tn-home-frame)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .site-shell.home-mode .home-page.home-v15{
    padding:0!important;
    grid-template-rows:66% 34%!important;
    row-gap:.75vh!important;
    background:transparent!important;
  }
  .home-primary-v15{
    grid-template-columns:minmax(0,41%) minmax(0,59%)!important;
    gap:.65vw!important;
    align-items:stretch!important;
  }
  .home-primary-v15 .hero-v15,
  .home-primary-v15 .news-panel-featured{
    width:100%!important;height:98.5%!important;margin-top:.3vh!important;min-width:0!important;
  }
  .home-primary-v15 .hero-v15{border-radius:18px!important}
  .home-primary-v15 .news-panel-featured{
    padding:.95vh .78vw .45vh!important;
    grid-template-rows:8.5% 88% 3.5%!important;
    border-radius:18px!important;
  }
  .home-primary-v15 .section-heading h2{font-size:clamp(17px,1.15vw,21px)!important}
  .home-primary-v15 .section-heading h2 img{width:24px!important;height:24px!important}
  .home-primary-v15 .news-loop{gap:.55vw!important}
  .home-primary-v15 .news-loop .news-card{
    width:17.8vw!important;min-width:245px!important;height:100%!important;
    grid-template-rows:60% 40%!important;border-radius:13px!important;
  }
  .home-primary-v15 .news-body{padding:7px 9px!important;display:block!important;overflow:hidden!important}
  .home-primary-v15 .news-date{margin:0 0 2px!important;font-size:9px!important}
  .home-primary-v15 .news-body h3{font-size:clamp(11px,.74vw,14px)!important;line-height:1.06!important;margin:0 0 3px!important}
  .home-primary-v15 .news-body p{font-size:clamp(8px,.54vw,10px)!important;line-height:1.18!important;margin:0 0 5px!important}
  .home-primary-v15 .soft-link{display:inline-flex!important;margin-top:2px!important;padding:4px 8px!important;font-size:9px!important}
  .hero-v15 .hero-content{width:100%!important;padding:3.2vh .8vw 0 1.3vw!important}
  .hero-v15 .hero-kicker{font-size:clamp(24px,1.55vw,30px)!important}
  .hero-v15 h1{font-size:clamp(37px,2.55vw,49px)!important;white-space:nowrap!important;letter-spacing:-1.8px!important}
  .hero-v15 .hero-subtitle{max-width:92%!important;font-size:clamp(12px,.78vw,15px)!important;margin-top:1.2vh!important}
  .hero-v15 .hero-actions{margin-top:1.7vh!important;gap:.35vw!important}
  .hero-v15 .hero-pill{height:4.1vh!important;min-height:34px!important;font-size:clamp(8px,.53vw,10px)!important;padding:0 .45vw!important}
  .hero-v15 .hero-pill img{width:25px!important;height:25px!important}
  .home-secondary-v15{
    grid-template-columns:minmax(0,1fr) 10.2vw!important;
    gap:.6vw!important;padding:.1vh 0 .35vh 0!important;align-items:stretch!important;
  }
  .site-shell.home-mode .compartments-four{gap:.45vw!important;align-items:stretch!important}
  .site-shell.home-mode .compartments-four .compartment{height:100%!important;grid-template-rows:46% 54%!important;border-radius:17px!important}
  .site-shell.home-mode .compartments-four .compartment-icon{top:46%!important;width:2.65vw!important;height:2.65vw!important}
  .site-shell.home-mode .compartments-four .compartment-body{padding:1.25vw .42vw .26vw!important;justify-content:flex-start!important;gap:1px!important}
  .site-shell.home-mode .compartments-four .compartment-body h2{font-size:.77vw!important;line-height:1.04!important;margin:0 0 2px!important}
  .site-shell.home-mode .compartments-four .compartment-body p{font-size:.44vw!important;line-height:1.13!important;margin:0!important}
  .site-shell.home-mode .compartments-four .compartment-body a{font-size:.46vw!important;padding:.28vw .65vw!important;margin-top:auto!important;margin-bottom:.1vw!important}
  .site-shell.home-mode .weather-v15{left:0!important;right:0!important;top:3%!important;width:100%!important;height:31%!important;padding:.28vh .28vw!important;border-radius:10px!important}
  .floating-tools.public-floating,.floating-tools.logged-floating{
    right:calc((100vw - var(--tn-home-frame))/2 + 8px)!important;
    bottom:calc(6.3vh + 8px)!important;z-index:45!important;
  }
  .floating-tools.public-floating{gap:12px!important}
  .floating-person,.floating-game-wrap{animation:tnFloat 3.2s ease-in-out infinite}
  .floating-game-wrap{animation-delay:-1.2s}
  @keyframes tnFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
  .floating-name{font-size:10px!important;padding-bottom:1px!important}
  .floating-hint{font-size:8px;color:#315a95;font-weight:800;white-space:nowrap;text-shadow:0 1px 0 #fff}
  .compact-game-button{width:64px!important;height:64px!important}
  .compact-game-button img{width:61px!important;height:61px!important}
  .avatar-only,.compact-assistant.avatar-only,.floating-mc.avatar-only{width:92px!important;height:112px!important}
  .compact-assistant.avatar-only img,.floating-mc.avatar-only img{width:92px!important;height:112px!important}
  .site-shell.home-mode .site-footer{background:transparent!important;padding:0!important}
  .site-shell.home-mode .footer-inner{height:100%!important;padding:0 18px!important;background:linear-gradient(90deg,#073a8f,#0050aa 62%,#063b90)!important;overflow:hidden!important}
}
@media (min-width:1181px) and (max-width:1499px){
  :root{--tn-home-frame:calc(100vw - 64px)}
  .home-primary-v15{grid-template-columns:42% 58%!important}
  .home-secondary-v15{grid-template-columns:minmax(0,1fr) 148px!important}
  .home-primary-v15 .news-loop .news-card{min-width:220px!important;width:21vw!important}
}


/* 1.7.0 — finition du lot validé : aucun débordement, actualités renforcées, avatars détourés */
@media (min-width:1181px){
  .site-shell.home-mode .home-page.home-v15{grid-template-rows:70% 30%!important}
  .home-primary-v15 .news-loop .news-card{grid-template-rows:65% 35%!important}
  .home-primary-v15 .news-body{padding:5px 8px!important}
  .home-primary-v15 .news-body p{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
  .site-shell.home-mode .compartments-four{gap:.34vw!important}
  .site-shell.home-mode .compartments-four .compartment{grid-template-rows:43% 57%!important}
  .site-shell.home-mode .compartments-four .compartment-icon{top:43%!important;width:2.35vw!important;height:2.35vw!important}
  .site-shell.home-mode .compartments-four .compartment-body{padding:1.05vw .38vw .22vw!important}
  .site-shell.home-mode .compartments-four .compartment-body h2{font-size:.72vw!important}
  .site-shell.home-mode .compartments-four .compartment-body p{font-size:.40vw!important;line-height:1.08!important}
  .site-shell.home-mode .compartments-four .compartment-body a{font-size:.43vw!important;padding:.24vw .58vw!important}
  .floating-tools.public-floating,.floating-tools.logged-floating{max-width:130px!important;align-items:center!important}
  .compact-assistant.avatar-only,.floating-mc.avatar-only{
    width:92px!important;height:112px!important;background:transparent!important;border:0!important;border-radius:0!important;
    overflow:visible!important;box-shadow:none!important;padding:0!important;
  }
  .compact-assistant.avatar-only img,.floating-mc.avatar-only img{
    width:92px!important;height:112px!important;object-fit:contain!important;position:static!important;filter:none!important;
  }
  .floating-person{display:flex!important;flex-direction:column!important;align-items:center!important;overflow:visible!important}
  .floating-game-wrap{display:flex!important;flex-direction:column!important;align-items:center!important;overflow:visible!important}
  .site-shell.home-mode .footer-inner{box-sizing:border-box!important;border-radius:0!important}
}

/* ======================================================================
   1.8.0 — QUALITÉ RÉFÉRENCE
   Objectif : retrouver la lisibilité, les proportions et la finition de la
   maquette de référence, sans transformer l'accueil en capture d'écran.
   Tous les textes restent du vrai HTML et tous les pictogrammes restent des
   assets indépendants haute définition.
   ====================================================================== */
@media (min-width:1181px){
  :root{--tn-home-frame:1488px}

  /* Cadre 1536 × 1024 : mêmes proportions que la maquette fournie. */
  .site-shell.home-mode{
    width:1536px!important;height:1024px!important;min-height:0!important;
    background:rgba(237,248,255,.88)!important;overflow:hidden!important;
  }
  .site-shell.home-mode .topbar{height:72px!important}
  .site-shell.home-mode .mainnav{height:66px!important}
  .site-shell.home-mode main{height:824px!important;flex:none!important;overflow:hidden!important}
  .site-shell.home-mode .site-footer{height:62px!important;flex:none!important}

  .site-shell.home-mode .topbar-inner,
  .site-shell.home-mode .nav-inner,
  .site-shell.home-mode .home-page,
  .site-shell.home-mode .footer-inner{
    width:1488px!important;max-width:1488px!important;margin-left:auto!important;margin-right:auto!important;
  }

  /* Entête : aucune micro-typographie. */
  .site-shell.home-mode .topbar-inner{grid-template-columns:370px 1fr auto!important;gap:18px!important}
  .site-shell.home-mode .brand-mark img{width:52px!important;height:52px!important}
  .site-shell.home-mode .brand-copy strong{font-size:25px!important;letter-spacing:-.9px!important}
  .site-shell.home-mode .brand-copy small{font-size:10px!important;margin-top:4px!important}
  .site-shell.home-mode .top-meta{gap:23px!important}
  .site-shell.home-mode .meta-item{font-size:12.5px!important}
  .site-shell.home-mode .meta-item img{width:24px!important;height:24px!important}
  .site-shell.home-mode .connect-btn{height:44px!important;font-size:13px!important;padding:0 20px!important}
  .site-shell.home-mode .round-action{width:44px!important;height:44px!important}
  .site-shell.home-mode .round-action img{width:28px!important;height:28px!important}

  /* Ruban de navigation : icônes cohérentes et texte lisible. */
  .site-shell.home-mode .nav-inner{gap:14px!important}
  .site-shell.home-mode .nav-links{gap:2px!important}
  .site-shell.home-mode .nav-link{
    height:54px!important;padding:0 11px!important;gap:7px!important;
    font-size:12.5px!important;border-radius:13px!important;white-space:nowrap!important;
  }
  .site-shell.home-mode .nav-link img{width:34px!important;height:34px!important;filter:none!important}
  .site-shell.home-mode .search-form{width:290px!important;height:44px!important}
  .site-shell.home-mode .search-form input{font-size:10.5px!important}

  /* Composition de l'accueil : héros à gauche, actualités à droite. */
  .site-shell.home-mode .home-page.home-v15{
    height:824px!important;padding:0!important;display:grid!important;
    grid-template-rows:392px 432px!important;gap:0!important;overflow:hidden!important;
    background:linear-gradient(180deg,rgba(241,250,255,.88),rgba(226,244,255,.92))!important;
  }
  .home-primary-v15{
    height:392px!important;display:grid!important;
    grid-template-columns:820px 652px!important;gap:16px!important;min-height:0!important;
  }
  .home-primary-v15 .hero-v15,
  .home-primary-v15 .news-panel-featured{
    width:100%!important;height:372px!important;margin-top:10px!important;margin-bottom:10px!important;
    border-radius:20px!important;overflow:hidden!important;
  }

  /* Héros : la petite fille est une photo locale HQ, fixe. */
  .hero-v15{position:relative!important;background:#edf8ff!important;box-shadow:0 9px 25px rgba(20,80,155,.10)!important}
  .hero-v15 .hero-photo{
    position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
    object-fit:cover!important;object-position:72% 43%!important;
    filter:saturate(1.05) contrast(1.025)!important;image-rendering:auto!important;
  }
  .hero-v15 .hero-fade{
    position:absolute!important;inset:0!important;
    background:linear-gradient(90deg,#eef9ff 0%,#eef9ff 37%,rgba(238,249,255,.98) 46%,rgba(238,249,255,.77) 58%,rgba(238,249,255,.18) 77%,rgba(238,249,255,.02) 100%)!important;
  }
  .hero-v15 .hero-content{
    position:relative!important;z-index:2!important;width:615px!important;
    padding:43px 0 0 32px!important;
  }
  .hero-v15 .hero-kicker{font-size:32px!important;line-height:1!important;margin:0 0 4px!important;letter-spacing:-.6px!important}
  .hero-v15 h1{
    font-size:56px!important;line-height:.98!important;letter-spacing:-2.5px!important;
    white-space:nowrap!important;max-width:590px!important;margin:0!important;
  }
  .hero-v15 .hero-subtitle{
    max-width:565px!important;font-size:18px!important;line-height:1.45!important;
    margin:18px 0 0!important;font-weight:620!important;
  }
  .hero-v15 .hero-actions{margin-top:28px!important;gap:8px!important;flex-wrap:nowrap!important}
  .hero-v15 .hero-pill{
    height:45px!important;min-height:45px!important;padding:0 13px 0 8px!important;
    gap:7px!important;border-radius:13px!important;font-size:12px!important;
  }
  .hero-v15 .hero-pill img{width:32px!important;height:32px!important}

  /* Actualités : davantage de place et texte réellement lisible. */
  .home-primary-v15 .news-panel-featured{
    padding:14px 16px 10px!important;display:grid!important;
    grid-template-rows:38px 306px 14px!important;background:rgba(255,255,255,.97)!important;
    box-shadow:0 9px 25px rgba(20,80,155,.08)!important;
  }
  .home-primary-v15 .section-heading h2{font-size:20px!important;gap:7px!important}
  .home-primary-v15 .section-heading h2 img{width:29px!important;height:29px!important}
  .home-primary-v15 .section-heading>a{font-size:11.5px!important}
  .home-primary-v15 .live-news{font-size:8px!important;padding:4px 7px!important}
  .home-primary-v15 .news-carousel,
  .home-primary-v15 .news-marquee{height:306px!important;min-height:0!important;overflow:hidden!important}
  .home-primary-v15 .news-loop{height:306px!important;gap:12px!important;animation-duration:32s!important}
  .home-primary-v15 .news-loop .news-card{
    width:197px!important;min-width:197px!important;height:306px!important;
    grid-template-rows:143px 163px!important;border-radius:14px!important;overflow:hidden!important;
  }
  .home-primary-v15 .news-media img{width:100%!important;height:100%!important;object-fit:cover!important;filter:saturate(1.06) contrast(1.02)!important}
  .home-primary-v15 .news-tag{font-size:10px!important;padding:4px 9px!important}
  .home-primary-v15 .news-body{padding:9px 10px!important;display:block!important;overflow:hidden!important}
  .home-primary-v15 .news-date{font-size:9.5px!important;margin:0 0 4px!important}
  .home-primary-v15 .news-body h3{font-size:13.3px!important;line-height:1.10!important;margin:0 0 5px!important;letter-spacing:-.15px!important}
  .home-primary-v15 .news-body p{font-size:10.2px!important;line-height:1.28!important;margin:0 0 8px!important;-webkit-line-clamp:2!important}
  .home-primary-v15 .soft-link{font-size:10px!important;padding:5px 9px!important;margin-top:2px!important}

  /* Quatre espaces : photos plus présentes, texte agrandi, aucun vide inutile. */
  .home-secondary-v15{
    height:432px!important;display:grid!important;grid-template-columns:1296px 176px!important;
    gap:16px!important;padding:8px 0 10px!important;align-items:stretch!important;min-height:0!important;
  }
  .site-shell.home-mode .compartments-four{
    height:414px!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;
    gap:12px!important;align-items:stretch!important;
  }
  .site-shell.home-mode .compartments-four .compartment{
    height:414px!important;grid-template-rows:168px 246px!important;border-radius:18px!important;
    box-shadow:0 8px 20px rgba(29,83,150,.06)!important;overflow:hidden!important;
  }
  .site-shell.home-mode .compartments-four .compartment-photo-wrap,
  .site-shell.home-mode .compartments-four .compartment-photo{height:168px!important}
  .site-shell.home-mode .compartments-four .compartment-photo{
    width:100%!important;object-fit:cover!important;filter:saturate(1.07) contrast(1.03)!important;
  }
  .site-shell.home-mode .compartments-four .compartment-icon{
    top:168px!important;left:50%!important;transform:translate(-50%,-50%)!important;
    width:66px!important;height:66px!important;padding:8px!important;border-radius:50%!important;
    background:#fff!important;box-shadow:0 8px 18px rgba(11,69,151,.15)!important;object-fit:contain!important;
  }
  .site-shell.home-mode .compartments-four .compartment-body{
    height:246px!important;padding:38px 16px 14px!important;display:flex!important;
    flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;
    gap:4px!important;text-align:center!important;
  }
  .site-shell.home-mode .compartments-four .compartment-body h2{
    font-size:18px!important;line-height:1.08!important;margin:0 0 3px!important;letter-spacing:-.3px!important;
  }
  .site-shell.home-mode .compartments-four .compartment-body p{
    font-size:11.2px!important;line-height:1.30!important;margin:0!important;max-width:280px!important;
  }
  .site-shell.home-mode .compartments-four .compartment-body .compartment-meta{font-size:11.4px!important;font-weight:720!important}
  .site-shell.home-mode .compartments-four .compartment-body a{
    margin-top:auto!important;margin-bottom:0!important;font-size:11.2px!important;
    padding:8px 20px!important;border-radius:18px!important;
  }

  /* Météo compacte mais lisible. */
  .home-utilities-v15{position:relative!important;height:414px!important;min-width:0!important}
  .site-shell.home-mode .weather-v15{
    position:absolute!important;left:0!important;right:0!important;top:10px!important;
    width:176px!important;height:130px!important;padding:10px 10px 8px!important;border-radius:16px!important;
    background:rgba(255,255,255,.97)!important;overflow:hidden!important;
  }
  .site-shell.home-mode .weather-title-row h2{font-size:14px!important;margin:0!important}
  .site-shell.home-mode .weather-title-row button{width:24px!important;height:24px!important}
  .site-shell.home-mode .weather-title-row button img{width:18px!important;height:18px!important}
  .site-shell.home-mode .weather-body{height:62px!important;display:grid!important;grid-template-columns:73px 1fr!important;gap:4px!important}
  .site-shell.home-mode .weather-now{gap:4px!important}
  .site-shell.home-mode .weather-now>img{width:34px!important;height:34px!important}
  .site-shell.home-mode .weather-now strong{font-size:16px!important}
  .site-shell.home-mode .weather-now span{font-size:7.5px!important;line-height:1.1!important}
  .site-shell.home-mode .forecast{gap:2px!important;height:62px!important}
  .site-shell.home-mode .forecast-item{min-width:24px!important;padding:3px 1px!important;border-radius:8px!important}
  .site-shell.home-mode .forecast-item small{font-size:6.5px!important}
  .site-shell.home-mode .forecast-item strong{font-size:8px!important}
  .site-shell.home-mode .forecast-icon{width:18px!important;height:18px!important}
  .site-shell.home-mode .weather-place{font-size:7.5px!important;margin-top:3px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .site-shell.home-mode .weather-place img{width:13px!important;height:13px!important}

  /* Outils flottants : aucune bulle derrière les avatars. */
  .floating-tools.public-floating,
  .floating-tools.logged-floating{
    right:calc((100vw - 1536px * var(--home-scale,1))/2 + 36px)!important;
    bottom:calc((100vh - 1024px * var(--home-scale,1))/2 + 77px)!important;
    z-index:50!important;gap:14px!important;max-width:150px!important;align-items:center!important;
    transform:scale(var(--home-scale,1));transform-origin:bottom right;
  }
  .floating-tools.public-floating{flex-direction:column!important}
  .floating-person,.floating-game-wrap{display:flex!important;flex-direction:column!important;align-items:center!important;gap:2px!important;animation:tnFloat 3s ease-in-out infinite!important}
  .floating-game-wrap{animation-delay:-1.1s!important}
  .floating-name{font-size:11px!important;line-height:1.15!important;font-weight:900!important;color:#07184e!important;text-shadow:0 1px 0 #fff!important;white-space:nowrap!important}
  .floating-hint{font-size:8.5px!important;color:#315a95!important;font-weight:800!important;white-space:nowrap!important}
  .compact-game-button{width:62px!important;height:62px!important;border-radius:50%!important;box-shadow:0 10px 24px rgba(78,32,189,.28)!important}
  .compact-game-button img{width:56px!important;height:56px!important;filter:none!important;object-fit:contain!important}
  .compact-assistant.avatar-only,.floating-mc.avatar-only{
    width:105px!important;height:142px!important;background:transparent!important;border:0!important;
    border-radius:0!important;overflow:visible!important;box-shadow:none!important;padding:0!important;
  }
  .compact-assistant.avatar-only img,.floating-mc.avatar-only img{
    width:105px!important;height:142px!important;object-fit:contain!important;position:static!important;
    filter:drop-shadow(0 9px 10px rgba(16,63,120,.14))!important;
  }
  @keyframes tnFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}

  /* Footer : texte net et taille suffisante. */
  .site-shell.home-mode .site-footer{background:transparent!important;padding:0!important}
  .site-shell.home-mode .footer-inner{
    height:62px!important;padding:0 18px!important;box-sizing:border-box!important;
    grid-template-columns:260px 1fr 190px!important;gap:20px!important;
    background:linear-gradient(90deg,#073a8f,#0050aa 62%,#063b90)!important;
  }
  .site-shell.home-mode .footer-links{font-size:12px!important;font-weight:780!important;gap:10px!important}
  .site-shell.home-mode .footer-copy{font-size:10.5px!important}
  .site-shell.home-mode .footer-brand .brand-copy strong{font-size:18px!important}
  .site-shell.home-mode .footer-brand .brand-copy small{font-size:8px!important}
  .site-shell.home-mode .socials button,.site-shell.home-mode .socials img{width:30px!important;height:30px!important}
  .site-shell.home-mode .secure-badge{width:175px!important;height:42px!important;font-size:10px!important}
}
@media (min-width:1181px){
  /* La photo source est un portrait HD : on la place dans la moitié droite du héros
     au lieu de l'étirer sur tout le rectangle. Le texte reste parfaitement net. */
  .hero-v15 .hero-photo{
    left:auto!important;right:0!important;top:0!important;bottom:0!important;
    width:56%!important;height:100%!important;object-fit:cover!important;object-position:center 43%!important;
  }
  .hero-v15 .hero-fade{
    background:linear-gradient(90deg,#eef9ff 0%,#eef9ff 43%,rgba(238,249,255,.98) 49%,rgba(238,249,255,.73) 58%,rgba(238,249,255,.18) 73%,rgba(238,249,255,0) 88%)!important;
  }
}
@media (min-width:1181px){
  /* Répartition finale : plus d'espace à l'information principale, cartes du bas plus compactes. */
  .site-shell.home-mode .home-page.home-v15{grid-template-rows:480px 344px!important}
  .home-primary-v15{height:480px!important}
  .home-primary-v15 .hero-v15,.home-primary-v15 .news-panel-featured{height:460px!important}
  .hero-v15 .hero-photo{width:50%!important;object-position:center 43%!important}
  .hero-v15 .hero-fade{background:linear-gradient(90deg,#eef9ff 0%,#eef9ff 44%,rgba(238,249,255,.98) 50%,rgba(238,249,255,.70) 60%,rgba(238,249,255,.13) 76%,rgba(238,249,255,0) 90%)!important}
  .hero-v15 .hero-content{padding-top:58px!important}
  .home-primary-v15 .news-panel-featured{grid-template-rows:38px 384px 14px!important}
  .home-primary-v15 .news-carousel,.home-primary-v15 .news-marquee,.home-primary-v15 .news-loop{height:384px!important}
  .home-primary-v15 .news-loop .news-card{height:384px!important;grid-template-rows:180px 204px!important}
  .home-primary-v15 .news-body h3{font-size:14px!important;line-height:1.12!important}
  .home-primary-v15 .news-body p{font-size:10.8px!important;line-height:1.3!important}
  .home-secondary-v15{height:344px!important;padding:8px 0 10px!important}
  .site-shell.home-mode .compartments-four,.home-utilities-v15{height:326px!important}
  .site-shell.home-mode .compartments-four .compartment{height:326px!important;grid-template-rows:140px 186px!important}
  .site-shell.home-mode .compartments-four .compartment-photo-wrap,.site-shell.home-mode .compartments-four .compartment-photo{height:140px!important}
  .site-shell.home-mode .compartments-four .compartment-icon{top:140px!important;width:62px!important;height:62px!important}
  .site-shell.home-mode .compartments-four .compartment-body{height:186px!important;padding:35px 14px 12px!important;gap:3px!important}
  .site-shell.home-mode .compartments-four .compartment-body h2{font-size:17px!important}
  .site-shell.home-mode .compartments-four .compartment-body p{font-size:10.6px!important;line-height:1.24!important}
  .site-shell.home-mode .compartments-four .compartment-body .compartment-meta{font-size:10.8px!important}
  .site-shell.home-mode .compartments-four .compartment-body a{font-size:10.5px!important;padding:7px 18px!important}
}

/* ======================================================================
   TentoniNumérik 1.9.0 — composition desktop recentrée et hiérarchie pro
   Le desktop ne dépend plus d'un zoom global : la page occupe 100vh,
   le footer reste visible et Actualités devient le contenu prioritaire.
   ====================================================================== */
@media (min-width:1181px){
  body.home-route{min-width:1181px!important;width:100vw!important;height:100vh!important;overflow:hidden!important;background:#e8f6ff!important}
  body.home-route #app{position:fixed!important;inset:0!important;overflow:hidden!important}

  .site-shell.home-mode{
    position:absolute!important;left:50%!important;top:0!important;transform:translateX(-50%)!important;
    width:min(1536px,100vw)!important;height:100vh!important;min-height:0!important;
    display:grid!important;grid-template-rows:64px 58px minmax(0,1fr) 56px!important;
    overflow:hidden!important;background:rgba(238,248,255,.93)!important;
    box-shadow:0 0 42px rgba(18,78,145,.10)!important;
  }
  .site-shell.home-mode .topbar{height:64px!important;min-height:64px!important}
  .site-shell.home-mode .mainnav{height:58px!important;min-height:58px!important}
  .site-shell.home-mode main{height:auto!important;min-height:0!important;overflow:hidden!important}
  .site-shell.home-mode .site-footer{height:56px!important;min-height:56px!important;overflow:hidden!important}

  .site-shell.home-mode .topbar-inner,
  .site-shell.home-mode .nav-inner,
  .site-shell.home-mode .home-page,
  .site-shell.home-mode .footer-inner{
    width:min(1488px,calc(100% - 32px))!important;max-width:1488px!important;margin-inline:auto!important;
  }

  .site-shell.home-mode .topbar-inner{height:64px!important;grid-template-columns:350px 1fr auto!important;gap:15px!important}
  .site-shell.home-mode .brand-mark img{width:47px!important;height:47px!important}
  .site-shell.home-mode .brand-copy strong{font-size:24px!important}
  .site-shell.home-mode .brand-copy small{font-size:9.5px!important}
  .site-shell.home-mode .top-meta{gap:20px!important}
  .site-shell.home-mode .meta-item{font-size:12px!important}
  .site-shell.home-mode .meta-item img{width:22px!important;height:22px!important}
  .site-shell.home-mode .connect-btn{height:40px!important;padding:0 18px!important;font-size:12.5px!important}
  .site-shell.home-mode .round-action{width:40px!important;height:40px!important}
  .site-shell.home-mode .round-action img{width:25px!important;height:25px!important}

  .site-shell.home-mode .nav-inner{height:58px!important;gap:10px!important}
  .site-shell.home-mode .nav-links{gap:2px!important}
  .site-shell.home-mode .nav-link{height:48px!important;padding:0 10px!important;gap:6px!important;font-size:12.2px!important;border-radius:12px!important}
  .site-shell.home-mode .nav-link img{width:30px!important;height:30px!important}
  .site-shell.home-mode .search-form{height:40px!important;width:276px!important}
  .site-shell.home-mode .search-form button{width:36px!important;height:36px!important}
  .site-shell.home-mode .search-form button img{width:32px!important;height:32px!important}

  .site-shell.home-mode .home-page.home-v15{
    height:100%!important;min-height:0!important;padding:8px 0 8px!important;
    display:grid!important;grid-template-rows:minmax(0,57%) minmax(0,43%)!important;gap:10px!important;
    background:
      radial-gradient(circle at 92% 14%,rgba(87,181,255,.16),transparent 22%),
      linear-gradient(180deg,rgba(244,251,255,.96),rgba(227,244,255,.96))!important;
    overflow:hidden!important;
  }

  .home-primary-v15{
    height:auto!important;min-height:0!important;display:grid!important;
    grid-template-columns:minmax(0,44%) minmax(0,56%)!important;gap:14px!important;
  }
  .home-primary-v15 .hero-v15,
  .home-primary-v15 .news-panel-featured{
    width:100%!important;height:100%!important;min-height:0!important;margin:0!important;border-radius:20px!important;overflow:hidden!important;
  }

  /* Héros : visuel de référence à gauche, contenu net et réellement contenu. */
  .hero-v15{background:#edf8ff!important;box-shadow:0 10px 26px rgba(18,80,155,.09)!important}
  .hero-v15 .hero-photo{
    left:auto!important;right:0!important;top:0!important;bottom:0!important;width:56%!important;height:100%!important;
    object-fit:cover!important;object-position:56% 44%!important;filter:saturate(1.08) contrast(1.03)!important;
  }
  .hero-v15 .hero-fade{
    background:linear-gradient(90deg,#eef9ff 0%,#eef9ff 40%,rgba(238,249,255,.99) 47%,rgba(238,249,255,.79) 58%,rgba(238,249,255,.22) 77%,rgba(238,249,255,0) 96%)!important;
  }
  .hero-v15 .hero-content{width:68%!important;max-width:460px!important;padding:34px 0 0 28px!important}
  .hero-v15 .hero-kicker{font-size:27px!important;line-height:1.02!important;margin:0 0 4px!important;letter-spacing:-.45px!important}
  .hero-v15 h1{font-size:46px!important;line-height:.98!important;letter-spacing:-2.1px!important;max-width:445px!important;white-space:nowrap!important}
  .hero-v15 .hero-subtitle{font-size:16px!important;line-height:1.42!important;max-width:430px!important;margin-top:16px!important}
  .hero-v15 .hero-actions{margin-top:23px!important;gap:7px!important}
  .hero-v15 .hero-pill{height:42px!important;padding:0 12px 0 8px!important;font-size:11.2px!important;border-radius:13px!important;gap:6px!important}
  .hero-v15 .hero-pill img{width:29px!important;height:29px!important}

  /* Actualités : panneau prioritaire, 3 grandes cartes visibles et zéro vide inutile. */
  .home-primary-v15 .news-panel-featured{
    padding:13px 15px 10px!important;display:grid!important;grid-template-rows:40px minmax(0,1fr) 12px!important;
    background:rgba(255,255,255,.985)!important;border:1px solid rgba(148,190,236,.36)!important;
    box-shadow:0 10px 28px rgba(22,78,148,.10)!important;
  }
  .home-primary-v15 .section-heading h2{font-size:22px!important;letter-spacing:-.35px!important;gap:8px!important}
  .home-primary-v15 .section-heading h2 img{width:30px!important;height:30px!important}
  .home-primary-v15 .section-heading>a{font-size:12px!important}
  .home-primary-v15 .live-news{font-size:8.5px!important;padding:4px 7px!important}
  .home-primary-v15 .news-carousel,
  .home-primary-v15 .news-marquee,
  .home-primary-v15 .news-loop{height:100%!important;min-height:0!important}
  .home-primary-v15 .news-marquee{overflow:hidden!important}
  .home-primary-v15 .news-loop{display:flex!important;gap:12px!important;align-items:stretch!important;animation-duration:38s!important}
  .home-primary-v15 .news-loop .news-card{
    width:250px!important;min-width:250px!important;height:100%!important;min-height:0!important;
    display:grid!important;grid-template-rows:minmax(150px,58%) minmax(0,42%)!important;
    border-radius:15px!important;overflow:hidden!important;background:#fff!important;
    border:1px solid #d7e5f6!important;box-shadow:0 5px 14px rgba(20,72,137,.05)!important;
  }
  .home-primary-v15 .news-media{height:100%!important;min-height:0!important;overflow:hidden!important}
  .home-primary-v15 .news-media img{width:100%!important;height:100%!important;object-fit:cover!important;filter:saturate(1.08) contrast(1.035)!important}
  .home-primary-v15 .news-tag{font-size:10.5px!important;padding:4px 9px!important}
  .home-primary-v15 .news-body{padding:9px 10px!important;overflow:hidden!important}
  .home-primary-v15 .news-date{font-size:9.7px!important;margin-bottom:4px!important}
  .home-primary-v15 .news-body h3{font-size:15.2px!important;line-height:1.10!important;margin:0 0 5px!important;letter-spacing:-.22px!important}
  .home-primary-v15 .news-body p{font-size:10.8px!important;line-height:1.27!important;margin:0 0 7px!important;-webkit-line-clamp:2!important}
  .home-primary-v15 .soft-link{font-size:10.2px!important;padding:5px 9px!important;margin-top:0!important}

  /* Rangée secondaire : cartes compactes et utiles, sans grands panneaux vides. */
  .home-secondary-v15{
    height:auto!important;min-height:0!important;padding:0!important;display:grid!important;
    grid-template-columns:minmax(0,1fr) 190px!important;gap:14px!important;align-items:stretch!important;
  }
  .site-shell.home-mode .compartments-four{
    height:100%!important;min-height:0!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;
  }
  .site-shell.home-mode .compartments-four .compartment{
    height:100%!important;min-height:0!important;display:grid!important;grid-template-rows:42% 58%!important;
    border-radius:17px!important;overflow:hidden!important;box-shadow:0 7px 18px rgba(24,78,145,.055)!important;
  }
  .site-shell.home-mode .compartments-four .compartment-photo-wrap,
  .site-shell.home-mode .compartments-four .compartment-photo{height:100%!important;min-height:0!important}
  .site-shell.home-mode .compartments-four .compartment-photo{width:100%!important;object-fit:cover!important;filter:saturate(1.08) contrast(1.04)!important}
  .site-shell.home-mode .compartments-four .compartment-icon{
    top:42%!important;width:56px!important;height:56px!important;padding:7px!important;border-radius:50%!important;
    background:#fff!important;box-shadow:0 7px 17px rgba(11,69,151,.14)!important;
  }
  .site-shell.home-mode .compartments-four .compartment-body{
    height:100%!important;min-height:0!important;padding:29px 10px 9px!important;display:flex!important;flex-direction:column!important;
    align-items:center!important;justify-content:flex-start!important;gap:2px!important;text-align:center!important;
  }
  .site-shell.home-mode .compartments-four .compartment-body h2{font-size:16.2px!important;line-height:1.08!important;margin:0 0 2px!important;letter-spacing:-.22px!important}
  .site-shell.home-mode .compartments-four .compartment-body p{font-size:10.1px!important;line-height:1.22!important;margin:0!important;max-width:270px!important}
  .site-shell.home-mode .compartments-four .compartment-body .compartment-meta{font-size:10.35px!important;font-weight:760!important}
  .site-shell.home-mode .compartments-four .compartment-body a{margin-top:auto!important;font-size:10.2px!important;padding:6px 17px!important;border-radius:17px!important}

  /* Colonne utilitaire : discrète, lisible et intégrée au cadre. */
  .home-utilities-v15{position:relative!important;height:100%!important;min-height:0!important}
  .site-shell.home-mode .weather-v15{
    position:absolute!important;left:0!important;right:0!important;top:0!important;width:100%!important;height:124px!important;
    padding:10px 10px 8px!important;border-radius:15px!important;background:rgba(255,255,255,.985)!important;
  }
  .site-shell.home-mode .weather-title-row h2{font-size:14px!important}
  .site-shell.home-mode .weather-body{height:61px!important;grid-template-columns:74px 1fr!important}
  .site-shell.home-mode .weather-now strong{font-size:17px!important}
  .site-shell.home-mode .weather-now span{font-size:7.8px!important}
  .site-shell.home-mode .weather-place{font-size:7.8px!important}

  /* Assistant connecté : solution sobre et nette, pas de personnage approximatif. */
  .floating-tools.logged-floating{
    position:fixed!important;right:max(24px,calc((100vw - min(1488px,calc(100vw - 32px)))/2 + 28px))!important;
    bottom:72px!important;transform:none!important;z-index:60!important;max-width:none!important;
  }
  .mc-professional-wrap{animation:tnFloat 3s ease-in-out infinite!important}
  .mc-professional-button{
    width:94px;height:94px;border:0;border-radius:24px;padding:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
    color:#fff;background:linear-gradient(145deg,#1689ff,#0757d7);box-shadow:0 12px 30px rgba(7,73,174,.28);border:1px solid rgba(255,255,255,.62)
  }
  .mc-professional-button img{width:55px;height:55px;filter:brightness(0) invert(1);opacity:.96}
  .mc-professional-button span{font-size:10px;font-weight:850;letter-spacing:.15px}
  .mc-professional-button:hover{transform:translateY(-4px) scale(1.04)}

  .floating-tools.public-floating{
    position:fixed!important;right:max(24px,calc((100vw - min(1488px,calc(100vw - 32px)))/2 + 26px))!important;
    bottom:70px!important;transform:none!important;z-index:60!important;gap:12px!important;max-width:170px!important;
  }
  .floating-tools.public-floating .floating-name{font-size:10.5px!important}
  .floating-tools.public-floating .floating-hint{font-size:8px!important}
  .floating-tools.public-floating .compact-assistant.avatar-only{width:90px!important;height:120px!important}
  .floating-tools.public-floating .compact-assistant.avatar-only img{width:90px!important;height:120px!important}

  /* Footer toujours visible et strictement aligné avec le contenu. */
  .site-shell.home-mode .site-footer{padding:0!important;background:transparent!important}
  .site-shell.home-mode .footer-inner{
    height:56px!important;min-height:56px!important;padding:0 16px!important;box-sizing:border-box!important;
    grid-template-columns:245px 1fr 178px!important;gap:18px!important;
    background:linear-gradient(90deg,#073a8f,#0054ad 62%,#063b90)!important;
  }
  .site-shell.home-mode .footer-links{font-size:11.5px!important;gap:9px!important}
  .site-shell.home-mode .footer-copy{font-size:10px!important}
  .site-shell.home-mode .footer-brand .brand-copy strong{font-size:17px!important}
  .site-shell.home-mode .footer-brand .brand-copy small{font-size:7.7px!important}
  .site-shell.home-mode .socials button,.site-shell.home-mode .socials img{width:27px!important;height:27px!important}
  .site-shell.home-mode .secure-badge{width:165px!important;height:38px!important;font-size:9.6px!important}
}


/* === TentoniNumérik 1.10.0 — ajustements ciblés validés === */
@media (min-width:1181px){
  /* On garde le cadrage 1.9.0 ; on redonne de la hauteur aux contenus prioritaires. */
  .site-shell.home-mode{
    background:rgba(238,248,255,.86)!important;
  }
  .site-shell.home-mode .home-page.home-v15{
    grid-template-rows:minmax(0,62%) minmax(0,38%)!important;
    gap:9px!important;
    background:
      radial-gradient(circle at 92% 14%,rgba(87,181,255,.13),transparent 22%),
      linear-gradient(180deg,rgba(244,251,255,.90),rgba(227,244,255,.88))!important;
  }

  /* Actualités plus présentes, sans écraser Bienvenue. */
  .home-primary-v15{
    grid-template-columns:minmax(0,43%) minmax(0,57%)!important;
    gap:14px!important;
  }
  .home-primary-v15 .news-panel-featured{
    padding:13px 15px 9px!important;
    grid-template-rows:42px minmax(0,1fr) 11px!important;
  }
  .home-primary-v15 .section-heading h2{font-size:23px!important}
  .home-primary-v15 .news-loop{gap:11px!important}
  .home-primary-v15 .news-loop .news-card{
    width:262px!important;
    min-width:262px!important;
    grid-template-rows:minmax(178px,61%) minmax(0,39%)!important;
  }
  .home-primary-v15 .news-body h3{font-size:15.8px!important;line-height:1.08!important}
  .home-primary-v15 .news-body p{font-size:11px!important;line-height:1.24!important}

  /* Bienvenue : uniquement un rééquilibrage vertical, sans changer le design. */
  .hero-v15 .hero-content{
    padding-top:48px!important;
    padding-left:30px!important;
  }
  .hero-v15 .hero-actions{margin-top:26px!important}

  /* Les cartes du bas utilisent réellement leur espace : suppression du grand vide avant les boutons. */
  .home-secondary-v15{
    grid-template-columns:minmax(0,1fr) 184px!important;
    gap:12px!important;
  }
  .site-shell.home-mode .compartments-four{gap:9px!important}
  .site-shell.home-mode .compartments-four .compartment{
    grid-template-rows:46% 54%!important;
  }
  .site-shell.home-mode .compartments-four .compartment-icon{
    top:46%!important;
    width:54px!important;
    height:54px!important;
  }
  .site-shell.home-mode .compartments-four .compartment-body{
    padding:27px 10px 6px!important;
    gap:2px!important;
    justify-content:flex-start!important;
  }
  .site-shell.home-mode .compartments-four .compartment-body h2{
    font-size:16.5px!important;
    margin-bottom:2px!important;
  }
  .site-shell.home-mode .compartments-four .compartment-body p{
    font-size:10.2px!important;
    line-height:1.18!important;
  }
  .site-shell.home-mode .compartments-four .compartment-body .compartment-meta{
    font-size:10.45px!important;
  }
  .site-shell.home-mode .compartments-four .compartment-body a{
    margin-top:7px!important;
    padding:6px 17px!important;
  }

  /* Arrière-plan : uniquement des animaux, plus visible mais toujours discret. */
  .ambient-scene{
    background:linear-gradient(135deg,#dff3ff 0%,#edf9ff 46%,#e1f3e8 100%)!important;
    perspective:900px!important;
  }
  .ambient-gradient{
    background:
      radial-gradient(circle at 75% 18%,rgba(79,176,245,.22),transparent 27%),
      radial-gradient(circle at 15% 76%,rgba(53,176,104,.20),transparent 31%)!important;
  }
  .ambient-digital{display:none!important}
  .animal-video{opacity:.22!important;filter:saturate(1.10) contrast(1.06)!important}
  .ambient-animal{opacity:.20!important;filter:saturate(1.08) contrast(1.05)!important}
  .giraffe-a{opacity:.22!important;right:-1vw!important;bottom:8vh!important}
  .giraffe-b{opacity:.17!important;left:16vw!important;bottom:12vh!important}
  .bird-a{opacity:.20!important;left:60%!important;top:6vh!important}
  .bird-b{opacity:.17!important;left:20%!important;top:17vh!important}
  .elephant-a{opacity:.20!important;left:-3vw!important;bottom:1vh!important}
  .elephant-b{opacity:.15!important;left:64vw!important;bottom:-1vh!important}
  .lions-a{opacity:.18!important;left:34vw!important;bottom:2vh!important;width:34vw!important;height:29vh!important}
  .lions-b{position:absolute!important;right:-7vw!important;bottom:20vh!important;width:30vw!important;height:24vh!important;object-fit:cover!important;opacity:.12!important;filter:saturate(1.08) contrast(1.06)!important;mask-image:radial-gradient(ellipse at center,#000 26%,transparent 76%);animation:wander 31s linear infinite alternate-reverse!important}
}

/* ========================================================================== */
/* TentoniNumérik 1.11 — Jeux individualisés, ambiance animale & Présence pro */
/* ========================================================================== */

/* Jeux : une identité visuelle propre par jeu, sans pictogramme générique. */
.games-page .game-toolbar{margin-top:18px}
.games-page .games-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.games-page .game-card{
  grid-template-columns:96px minmax(0,1fr)!important;
  min-height:108px!important;
  background:#fff;
  border:1px solid #dce8f7;
  box-shadow:0 9px 26px rgba(26,70,125,.08);
}
.game-logo-wrap{
  position:relative;
  display:grid;
  place-items:center;
  min-height:108px;
  overflow:hidden;
  background:linear-gradient(145deg,#eef6ff,#f5efff);
  border-right:1px solid #e3ecf8;
}
.game-logo-wrap::after{
  content:"";
  position:absolute;
  inset:auto -18px -24px auto;
  width:74px;height:74px;border-radius:50%;
  background:rgba(92,50,221,.08);
}
.game-logo-wrap img{
  width:82px!important;
  height:82px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 5px 8px rgba(20,51,107,.14));
  transform:translateZ(0);
}
.game-card-copy{padding:13px 12px!important;min-width:0}
.game-card-copy small{font-size:10px;font-weight:800;letter-spacing:.02em;color:#6c42ce}
.game-card-copy strong{font-size:13.5px;line-height:1.16;margin:5px 0 7px;overflow-wrap:anywhere}
.game-card-copy em{font-size:10.5px;font-weight:850;color:#0b69e7}
.game-card:hover .game-logo-wrap img{transform:scale(1.07) rotate(-1.5deg);transition:transform .22s ease}

/* Ambiance 3D : ciel visible, nuages, soleil et plusieurs espèces en couches. */
.ambient-scene{overflow:hidden!important;isolation:isolate}
.ambient-sky-decoration{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.ambient-sun{
  position:absolute;top:5.5vh;right:11vw;width:58px;height:58px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%,#fff8bc 0 16%,#ffd64a 38%,#ffb514 70%,rgba(255,181,20,.15) 72% 100%);
  box-shadow:0 0 38px rgba(255,196,32,.35);
  opacity:.42;
  animation:sun-drift 38s ease-in-out infinite alternate;
}
.cloud{position:absolute;height:28px;border-radius:999px;background:rgba(255,255,255,.68);filter:blur(.2px);box-shadow:22px -10px 0 4px rgba(255,255,255,.54),47px 0 0 1px rgba(255,255,255,.47);opacity:.55}
.cloud-a{width:86px;left:8vw;top:8vh;animation:cloud-drift 55s linear infinite}
.cloud-b{width:110px;left:42vw;top:14vh;transform:scale(.8);animation:cloud-drift 72s linear infinite reverse}
.cloud-c{width:72px;left:70vw;top:5vh;transform:scale(.68);animation:cloud-drift 63s linear infinite}
.scene-camera{position:absolute;inset:0;transform-style:preserve-3d;perspective:950px;pointer-events:none}
.scene-layer{position:absolute;inset:0;transform-style:preserve-3d;pointer-events:none}
.layer-sky{transform:translateZ(-190px) scale(1.18)}
.layer-far{transform:translateZ(-115px) scale(1.10)}
.layer-mid{transform:translateZ(-55px) scale(1.055)}
.layer-near{transform:translateZ(0)}
.animal-video,.ambient-animal{position:absolute;pointer-events:none;mix-blend-mode:multiply;opacity:.16;filter:saturate(1.08) contrast(1.05);object-fit:cover}
.storks{width:25vw;height:19vh;top:2vh;mask-image:radial-gradient(ellipse,#000 28%,transparent 78%);opacity:.25!important}
.storks-a{left:-4vw;animation:stork-cross 33s linear infinite}
.storks-b{left:44vw;top:9vh;transform:scale(.75);animation:stork-cross 41s linear infinite reverse;opacity:.19!important}
.birds-flight{width:27vw;height:16vh;right:0;top:18vh;opacity:.14!important;mask-image:linear-gradient(to right,transparent,#000 20% 80%,transparent);animation:bird-drift 30s ease-in-out infinite alternate}
.giraffe-video{width:29vw;height:30vh;bottom:2vh;mask-image:radial-gradient(ellipse,#000 30%,transparent 75%)}
.giraffe-video-a{left:6vw;animation:animal-walk 38s linear infinite alternate;opacity:.17!important}
.gorilla{width:24vw;height:28vh;bottom:2vh;mask-image:radial-gradient(ellipse,#000 30%,transparent 75%)}
.gorilla-a{right:18vw;animation:animal-walk 34s ease-in-out infinite alternate;opacity:.17!important}
.gorilla-b{left:28vw;bottom:8vh;transform:scale(.72);animation:animal-walk 47s ease-in-out infinite alternate-reverse;opacity:.12!important}
.elephant{width:30vw;height:28vh;bottom:0;mask-image:radial-gradient(ellipse,#000 27%,transparent 76%)}
.elephant-a{left:-7vw;animation:animal-walk 44s linear infinite alternate;opacity:.16!important}
.elephant-b{right:-8vw;animation:animal-walk 39s linear infinite alternate-reverse;opacity:.12!important}
.lions{width:28vw;height:24vh;bottom:1vh;mask-image:radial-gradient(ellipse,#000 27%,transparent 76%)}
.lions-a{left:38vw;animation:animal-walk 42s ease-in-out infinite alternate;opacity:.15!important}
.lions-b{right:-5vw;bottom:18vh;animation:animal-walk 49s ease-in-out infinite alternate-reverse;opacity:.10!important}
@keyframes cloud-drift{from{translate:-15vw 0}to{translate:105vw 2vh}}
@keyframes sun-drift{from{transform:translate3d(0,0,-30px)}to{transform:translate3d(-7vw,2vh,-30px)}}
@keyframes stork-cross{0%{translate:-14vw 0}50%{translate:44vw 2vh}100%{translate:105vw -1vh}}
@keyframes bird-drift{from{transform:translate3d(-6vw,0,-15px)}to{transform:translate3d(8vw,3vh,-15px)}}
@keyframes animal-walk{from{translate:-4vw 0}to{translate:8vw -1vh}}
@media (prefers-reduced-motion:reduce){.ambient-sun,.cloud,.storks,.birds-flight,.giraffe-video,.gorilla,.elephant,.lions{animation:none!important}.animal-video{display:none!important}}

/* Présence : tableau professionnel de type registre, inspiré des usages scolaires. */
.attendance-module{padding:0!important;overflow:visible;background:#fff}
.attendance-module>.module-head{padding:20px 22px 12px;border-bottom:1px solid #e5edf7;background:linear-gradient(180deg,#fff,#fbfdff)}
.attendance-module>.module-head h2{margin:2px 0 0;font-size:24px;color:#10275f}
.attendance-workspace{padding:16px 18px 20px;min-height:420px}
.attendance-loading,.attendance-error{padding:28px;border-radius:16px;background:#f4f8ff;color:#39527f;text-align:center}
.attendance-error strong{color:#a62535}
.attendance-toolbar{display:grid;grid-template-columns:minmax(155px,1.1fr) minmax(150px,.8fr) minmax(150px,.8fr) auto auto;gap:10px;align-items:end;margin-bottom:14px}
.attendance-toolbar label,.attendance-fixed-class{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:900;letter-spacing:.03em;text-transform:uppercase;color:#536a91}
.attendance-toolbar select,.attendance-toolbar input{height:40px;border:1px solid #c9d9ec;border-radius:10px;padding:0 10px;background:#fff;color:#172c59;font-weight:750;min-width:0}
.attendance-fixed-class{min-height:40px;justify-content:center;padding:7px 12px;border:1px solid #d8e5f4;border-radius:10px;background:#f7faff}
.attendance-fixed-class strong{font-size:13px;color:#10275f;text-transform:none;letter-spacing:0}
.attendance-mark-all,.attendance-save{height:40px;border:0;border-radius:10px;padding:0 14px;font-weight:900;white-space:nowrap;cursor:pointer}
.attendance-mark-all{background:#e6f9ee;color:#087841;border:1px solid #b8eacb}
.attendance-save{background:#0a6fec;color:#fff;box-shadow:0 7px 18px rgba(10,111,236,.18)}
.attendance-readonly-badge{grid-column:2/-1;justify-self:end;align-self:center;padding:8px 12px;border-radius:999px;background:#eef6ff;color:#0c5eb9;font-size:11px;font-weight:850}
.attendance-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:0 0 12px}
.attendance-summary article{border:1px solid #dfebf8;background:linear-gradient(180deg,#fff,#f8fbff);border-radius:12px;padding:9px 11px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.attendance-summary span{font-size:10px;color:#64799b;font-weight:750}
.attendance-summary strong{font-size:18px;color:#112b64}
.attendance-legend{display:flex;gap:12px;flex-wrap:wrap;padding:9px 11px;margin-bottom:9px;border:1px solid #e0ebf8;border-radius:12px;background:#fbfdff}
.attendance-legend span{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:750;color:#425979}
.attendance-legend i,.attendance-status-popover i{display:inline-block;width:12px;height:12px;border-radius:50%;flex:0 0 12px}
.is-present i,.attendance-status.is-present{--attendance-color:#13c94b}.is-absent i,.attendance-status.is-absent{--attendance-color:#ed1534}.is-late i,.attendance-status.is-late{--attendance-color:#f2a51a}.is-excused i,.attendance-status.is-excused{--attendance-color:#ec3150}.is-excused-late i,.attendance-status.is-excused-late{--attendance-color:#6f6f7c}.is-expelled i,.attendance-status.is-expelled{--attendance-color:#b30f44}
.attendance-legend .is-present i,.attendance-status-popover .is-present i{background:#13c94b}.attendance-legend .is-absent i,.attendance-status-popover .is-absent i{background:#ed1534}.attendance-legend .is-late i,.attendance-status-popover .is-late i{background:#f2a51a}.attendance-legend .is-excused i,.attendance-status-popover .is-excused i{background:#ec3150;box-shadow:inset 0 0 0 2px #fff,0 0 0 1px #ec3150}.attendance-legend .is-excused-late i,.attendance-status-popover .is-excused-late i{background:#fff;border:2px solid #687386}.attendance-legend .is-expelled i,.attendance-status-popover .is-expelled i{background:#b30f44;border-radius:2px;transform:rotate(-8deg)}
.attendance-grid-wrap{max-width:100%;overflow:auto;border:1px solid #d7e4f4;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(31,70,119,.06)}
.attendance-grid{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:11px;color:#273b5d}
.attendance-grid th,.attendance-grid td{height:46px;padding:5px 8px;border-right:1px solid #d6e4f5;border-bottom:1px solid #dbe7f5;text-align:center;background:#fff;min-width:86px}
.attendance-grid thead th{position:sticky;top:0;z-index:4;height:42px;background:#f7faff;color:#db6d0a;font-size:10.5px;font-weight:900;white-space:nowrap}
.attendance-grid thead th:first-child,.attendance-grid tbody th{position:sticky;left:0;z-index:5;min-width:240px;text-align:left;background:#fff}
.attendance-grid thead th:first-child{z-index:7;background:#f7faff;color:#566a87}
.attendance-grid tbody tr:nth-child(even) td,.attendance-grid tbody tr:nth-child(even) th{background:#f4f8fd}
.attendance-grid tbody tr:hover td,.attendance-grid tbody tr:hover th{background:#edf6ff}
.attendance-grid .selected-attendance-day{box-shadow:inset 0 3px 0 #0b72ed;background:#eef7ff!important}
.attendance-grid tbody th{display:grid;grid-template-columns:24px 32px 1fr;gap:8px;align-items:center;font-weight:750;color:#384c6a}
.student-index{color:#9ba9bb;text-align:right;font-size:10px}
.student-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#e6f0ff,#f4eaff);border:2px solid #f39a24;color:#1a4d97;font-size:9px;font-weight:900}
.student-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.attendance-status{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;border:2px solid var(--attendance-color,#bac5d5);background:var(--attendance-color,#fff);color:#fff;font-size:7.5px;font-weight:950;cursor:pointer;padding:0;box-shadow:0 1px 3px rgba(13,38,78,.12);transition:transform .16s ease,box-shadow .16s ease}
.attendance-status:hover:not(:disabled){transform:scale(1.16);box-shadow:0 3px 9px rgba(13,38,78,.2)}
.attendance-status:disabled{cursor:default;opacity:.88}
.attendance-status.is-late{background:#fff;color:#d38200}
.attendance-status.is-excused-late{background:#fff;color:#586273}
.attendance-status.is-expelled{border-radius:4px;background:#b30f44}
.attendance-status.is-empty{background:#fff;color:#8ea0b8}
.student-stat{font-weight:900;color:#1473ca;min-width:64px!important}
.attendance-footer-line{display:flex;justify-content:space-between;gap:16px;padding:10px 3px 0;color:#70819b;font-size:10.5px;font-weight:750}
.attendance-footer-line .ok{color:#087a45}.attendance-footer-line .error{color:#b32237}
.attendance-status-popover{position:fixed;z-index:1000;width:260px;padding:10px;background:#fff;border:1px solid #cbd9e9;border-radius:12px;box-shadow:0 14px 40px rgba(15,43,84,.24);display:grid;gap:4px}
.attendance-status-popover>strong{padding:6px 7px 8px;color:#334968;font-size:11px}
.attendance-status-popover button{display:flex;align-items:center;gap:9px;width:100%;border:0;background:#fff;border-radius:8px;padding:8px 9px;text-align:left;font-size:11px;color:#3d4d63;cursor:pointer}
.attendance-status-popover button:hover{background:#eef6ff}
.attendance-family-form{margin-top:16px;border:1px solid #dce8f5;border-radius:14px;background:#f8fbff;padding:14px;display:grid;grid-template-columns:1.2fr .7fr 1fr .8fr auto;gap:10px;align-items:end}
.attendance-family-form>div h3{margin:2px 0;font-size:17px;color:#15346c}.attendance-family-form>div p{margin:0;font-size:10.5px;color:#697d9b}
.attendance-family-form label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:850;color:#506684}
.attendance-family-form input,.attendance-family-form textarea{border:1px solid #cbdbea;border-radius:9px;padding:8px;background:#fff;min-width:0}.attendance-family-form textarea{height:40px;resize:vertical}
.attendance-family-form button{height:40px;border:0;border-radius:10px;background:#0b6fea;color:#fff;font-weight:900;padding:0 12px}.attendance-family-form .form-message{grid-column:1/-1;margin:0}

@media(max-width:1100px){
  .games-page .games-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .attendance-toolbar{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.attendance-mark-all,.attendance-save{width:100%}
  .attendance-summary{grid-template-columns:repeat(3,1fr)}
  .attendance-family-form{grid-template-columns:1fr 1fr}.attendance-family-form>div,.attendance-family-form button,.attendance-family-form .form-message{grid-column:1/-1}
}
@media(max-width:760px){
  .games-page .games-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.games-page .game-card{grid-template-columns:78px minmax(0,1fr)!important}.game-logo-wrap img{width:68px!important;height:68px!important}
  .attendance-workspace{padding:12px 10px 16px}.attendance-toolbar{grid-template-columns:1fr 1fr}.attendance-fixed-class,.attendance-readonly-badge{grid-column:1/-1}.attendance-summary{grid-template-columns:repeat(2,1fr)}.attendance-grid thead th:first-child,.attendance-grid tbody th{min-width:190px}.attendance-grid tbody th{grid-template-columns:21px 28px 1fr}
}
@media(max-width:520px){.games-page .games-grid{grid-template-columns:1fr}.attendance-toolbar{grid-template-columns:1fr}.attendance-summary{grid-template-columns:1fr 1fr}.attendance-family-form{grid-template-columns:1fr}.attendance-family-form>*{grid-column:1!important}}

/* === TentoniNumérik 1.12.0 — accueil simplifié, actualité dominante, faune enrichie === */
.site-shell.home-mode .home-page.home-v112{
  height:824px!important;
  padding:12px 24px 14px!important;
  display:block!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,rgba(235,248,255,.72),rgba(231,246,255,.78))!important;
}
.home-dashboard-v112{
  height:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,39.5%) minmax(0,60.5%)!important;
  gap:14px!important;
  min-height:0!important;
}
.home-left-v112{
  min-width:0!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:minmax(0,69%) minmax(0,31%)!important;
  gap:12px!important;
}
.hero-v112{
  height:100%!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,#edf8ff,#e6f4ff)!important;
  box-shadow:0 12px 30px rgba(12,76,155,.10)!important;
  border:1px solid rgba(126,181,236,.30)!important;
  overflow:hidden!important;
}
.hero-v112 .hero-photo{
  position:absolute!important;
  inset:0 0 0 auto!important;
  width:61%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:right center!important;
  filter:saturate(1.07) contrast(1.025)!important;
  background:transparent!important;
}
.hero-v112 .hero-fade{
  background:linear-gradient(90deg,#edf8ff 0%,#edf8ff 38%,rgba(237,248,255,.97) 50%,rgba(237,248,255,.78) 62%,rgba(237,248,255,.20) 82%,transparent 100%)!important;
}
.hero-v112 .hero-content{
  width:62%!important;
  max-width:465px!important;
  padding:64px 0 0 34px!important;
}
.hero-v112 .hero-kicker{font-size:34px!important;line-height:1!important;margin:0 0 5px!important}
.hero-v112 h1{font-size:55px!important;line-height:.96!important;letter-spacing:-2.3px!important;white-space:nowrap!important}
.hero-v112 .hero-subtitle{font-size:17px!important;line-height:1.42!important;max-width:430px!important;margin-top:18px!important}

.quick-access-grid{
  height:100%!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.quick-access{
  position:relative!important;
  min-width:0!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  padding:10px 12px!important;
  border-radius:16px!important;
  border:1px solid rgba(158,191,231,.44)!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 8px 20px rgba(15,69,138,.075)!important;
  overflow:hidden!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
.quick-access::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--qa,#1677ef)}
.quick-access.blue{--qa:#1878ef}.quick-access.green{--qa:#16a667}.quick-access.purple{--qa:#7150df}.quick-access.orange{--qa:#ff8b1a}
.quick-access:hover,.quick-access:focus-visible{transform:translateY(-3px) scale(1.025)!important;box-shadow:0 13px 28px rgba(15,69,138,.14)!important;border-color:rgba(61,135,220,.42)!important;outline:none!important}
.quick-access-icon{width:48px!important;height:48px!important;object-fit:contain!important}
.quick-access>span{display:flex!important;flex-direction:column!important;min-width:0!important}
.quick-access strong{font-size:14.5px!important;line-height:1.08!important;color:#09215e!important;letter-spacing:-.2px!important}
.quick-access small{font-size:9.8px!important;line-height:1.24!important;color:#5a6d93!important;margin-top:4px!important;font-weight:700!important}

.news-panel-v112{
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:14px 15px 11px!important;
  border-radius:20px!important;
  display:grid!important;
  grid-template-rows:48px minmax(0,1fr) 12px!important;
  min-height:0!important;
  overflow:hidden!important;
}
.news-panel-v112 .section-heading h2{font-size:24px!important;gap:9px!important}
.news-panel-v112 .section-heading h2 img{width:32px!important;height:32px!important}
.news-panel-v112 .section-heading>a{font-size:12px!important}
.news-panel-v112 .live-news{font-size:8.5px!important;padding:4px 8px!important}
.news-carousel-v112,.news-panel-v112 .news-marquee{height:100%!important;min-height:0!important;overflow:hidden!important;border-radius:16px!important}
.news-loop-v112{height:100%!important;display:flex!important;gap:14px!important;align-items:stretch!important;animation-duration:42s!important}
.news-loop-v112 .news-card{
  flex:0 0 calc((100% - 14px)/2)!important;
  width:calc((100% - 14px)/2)!important;
  height:100%!important;
  grid-template-rows:60% 40%!important;
  border-radius:17px!important;
  box-shadow:0 8px 18px rgba(13,65,132,.07)!important;
}
.news-loop-v112 .news-media{height:100%!important;min-height:0!important}
.news-loop-v112 .news-media img{width:100%!important;height:100%!important;object-fit:cover!important;filter:saturate(1.08) contrast(1.03)!important}
.news-loop-v112 .news-tag{font-size:11px!important;padding:5px 10px!important;border-radius:12px!important}
.news-loop-v112 .news-body{padding:14px 15px 12px!important;min-height:0!important;overflow:hidden!important}
.news-loop-v112 .news-date{font-size:11px!important;margin-bottom:6px!important}
.news-loop-v112 .news-body h3{font-size:20px!important;line-height:1.08!important;margin:0 0 8px!important;letter-spacing:-.35px!important}
.news-loop-v112 .news-body p{font-size:13px!important;line-height:1.32!important;margin:0 0 10px!important;display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
.news-loop-v112 .soft-link{font-size:11.5px!important;padding:6px 11px!important}

/* Météo : uniquement dans l’en-tête. */
.topbar-inner{grid-template-columns:330px minmax(0,1fr) auto!important;gap:14px!important}
.top-meta{gap:14px!important;min-width:0!important}
.top-date{font-size:11px!important;flex:0 0 auto!important}
.top-date img{width:22px!important;height:22px!important}
.top-weather-inline{display:flex;align-items:center;gap:8px;min-width:0;padding:5px 9px;border:1px solid rgba(157,190,230,.55);border-radius:16px;background:rgba(246,251,255,.92);box-shadow:0 5px 14px rgba(12,73,145,.055)}
.top-weather-inline>img{width:28px;height:28px;object-fit:contain}
.top-weather-current,.top-forecast-day{display:flex;flex-direction:column;align-items:center;line-height:1.02;min-width:34px}
.top-weather-current small,.top-forecast-day small{font-size:8.8px;color:#66799c;font-weight:800;text-transform:capitalize}
.top-weather-current strong{font-size:16px;color:#0b58c9}.top-forecast-day strong{font-size:12px;color:#163d79;margin-top:3px}
.top-weather-divider{width:1px;height:31px;background:#d9e6f5;margin:0 2px}
.top-weather-place{display:flex;align-items:center;gap:5px;max-width:130px;border:0;background:transparent;color:#193d79;font-size:9px;font-weight:800;padding:0;overflow:hidden}
.top-weather-place img{width:18px;height:18px;flex:0 0 auto}.top-weather-place span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Faune : plus riche, plus visible et sans “photo de girafe posée”. */
.ambient-scene{background:linear-gradient(180deg,#d8f1ff 0%,#edf9ff 42%,#dff2e5 100%)!important}
.ambient-gradient{background:radial-gradient(circle at 76% 15%,rgba(255,219,91,.16),transparent 18%),radial-gradient(circle at 19% 77%,rgba(51,171,101,.22),transparent 34%)!important}
.ambient-sun{opacity:.58!important;filter:blur(.2px) drop-shadow(0 0 20px rgba(255,209,71,.32))!important}
.cloud-d{top:20vh!important;left:63vw!important;width:150px!important;opacity:.45!important;animation-delay:-17s!important}
.animal-video{mix-blend-mode:multiply!important;filter:saturate(1.08) contrast(1.06)!important;mask-image:radial-gradient(ellipse at center,#000 22%,rgba(0,0,0,.92) 38%,transparent 76%)!important;transition:opacity 1.1s ease!important}
.fauna-dim{opacity:.035!important}
.storks{width:31vw!important;height:23vh!important;top:1vh!important;opacity:.31!important}
.storks-a{left:-4vw!important}.storks-b{left:30vw!important;top:9vh!important}.storks-c{left:63vw!important;top:2vh!important;transform:scale(.82)!important;animation:stork-cross 45s linear infinite reverse!important}
.eagle{width:24vw!important;height:18vh!important;top:14vh!important;left:52vw!important;bottom:auto!important;opacity:.20!important;animation:skyFlight 33s linear infinite reverse!important}
.birds-flight{width:35vw!important;height:19vh!important;left:10vw!important;top:6vh!important;opacity:.12!important}
.giraffe-video{width:29vw!important;height:28vh!important;left:4vw!important;bottom:3vh!important;opacity:.14!important}
.gorilla{width:24vw!important;height:26vh!important}.gorilla-a{right:15vw!important;bottom:1vh!important;opacity:.20!important}.gorilla-b{left:20vw!important;bottom:12vh!important;opacity:.13!important}
.elephant{width:33vw!important;height:29vh!important}.elephant-a{left:-5vw!important;bottom:1vh!important}.elephant-b{left:59vw!important;bottom:-2vh!important}
.lions{width:29vw!important;height:24vh!important}.lions-a{left:40vw!important;bottom:2vh!important}.lions-b{right:-5vw!important;bottom:17vh!important}
.tiger{width:29vw!important;height:25vh!important;bottom:8vh!important;mask-image:radial-gradient(ellipse at center,#000 25%,rgba(0,0,0,.92) 42%,transparent 78%)!important}
.tiger-a{left:17vw!important;animation:animal-walk 39s linear infinite alternate-reverse!important}.tiger-b{right:7vw!important;bottom:4vh!important;animation:animal-walk 52s linear infinite alternate!important}
.wolf{width:27vw!important;height:23vh!important;bottom:12vh!important;mask-image:radial-gradient(ellipse at center,#000 24%,rgba(0,0,0,.9) 43%,transparent 78%)!important}
.wolf-a{left:3vw!important;animation:animal-walk 48s ease-in-out infinite alternate!important}.wolf-b{left:54vw!important;bottom:8vh!important;animation:animal-walk 57s ease-in-out infinite alternate-reverse!important}

@media (max-width:1180px){
  .site-shell.home-mode .home-page.home-v112{padding:10px 18px 12px!important}
  .home-dashboard-v112{grid-template-columns:42% 58%!important;gap:10px!important}
  .home-left-v112{gap:9px!important}
  .hero-v112 .hero-content{padding:52px 0 0 25px!important;max-width:390px!important}
  .hero-v112 .hero-kicker{font-size:29px!important}.hero-v112 h1{font-size:47px!important}.hero-v112 .hero-subtitle{font-size:14px!important;max-width:360px!important}
  .quick-access{grid-template-columns:44px minmax(0,1fr)!important;padding:8px 9px!important;gap:7px!important}.quick-access-icon{width:40px!important;height:40px!important}.quick-access strong{font-size:12px!important}.quick-access small{font-size:8.2px!important}
  .news-loop-v112 .news-body h3{font-size:16px!important}.news-loop-v112 .news-body p{font-size:10.5px!important}.news-panel-v112 .section-heading h2{font-size:20px!important}
  .topbar-inner{grid-template-columns:260px minmax(0,1fr) auto!important}.top-weather-inline{gap:5px!important;padding:4px 6px!important}.top-weather-place{max-width:90px!important}.top-date{display:none!important}
}

@media (max-width:650px){
  .site-shell.home-mode .home-page.home-v112{padding:9px 20px 11px!important}
  .home-dashboard-v112{grid-template-columns:43% 57%!important;gap:8px!important}
  .home-left-v112{grid-template-rows:67% 33%!important;gap:8px!important}
  .hero-v112 .hero-photo{width:65%!important;object-fit:contain!important}.hero-v112 .hero-content{width:66%!important;padding:44px 0 0 18px!important}.hero-v112 .hero-kicker{font-size:27px!important}.hero-v112 h1{font-size:43px!important}.hero-v112 .hero-subtitle{font-size:13px!important;max-width:330px!important}
  .quick-access{grid-template-columns:36px minmax(0,1fr)!important;padding:6px 7px!important;border-radius:12px!important}.quick-access-icon{width:33px!important;height:33px!important}.quick-access strong{font-size:10.5px!important}.quick-access small{font-size:7px!important;margin-top:2px!important}
  .news-panel-v112{padding:10px 10px 8px!important;grid-template-rows:40px minmax(0,1fr) 9px!important}.news-panel-v112 .section-heading h2{font-size:18px!important}.news-panel-v112 .section-heading>a{font-size:9px!important}.news-loop-v112{gap:8px!important}.news-loop-v112 .news-card{flex-basis:calc((100% - 8px)/2)!important;width:calc((100% - 8px)/2)!important}.news-loop-v112 .news-body{padding:8px!important}.news-loop-v112 .news-date{font-size:8px!important}.news-loop-v112 .news-body h3{font-size:13px!important}.news-loop-v112 .news-body p{font-size:8.5px!important;-webkit-line-clamp:2!important}.news-loop-v112 .soft-link{font-size:8px!important;padding:4px 7px!important}
  .site-shell.home-mode .top-meta{display:flex!important;position:absolute!important;left:112px!important;right:116px!important;justify-content:center!important}.site-shell.home-mode .top-date,.site-shell.home-mode .language-btn,.top-weather-place,.top-weather-divider,.top-forecast-day:nth-of-type(n+4){display:none!important}.top-weather-inline{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important}.top-weather-inline>img{width:30px!important;height:30px!important}.top-weather-current small{font-size:9px!important}.top-weather-current strong{font-size:16px!important}.top-forecast-day{min-width:31px!important}.top-forecast-day small{font-size:8px!important}.top-forecast-day strong{font-size:11px!important}
}

/* =========================================================
   TentoniNumérik 1.17 — accueil professionnel (base saine)
   ========================================================= */
.site-shell.home-mode main{overflow:hidden!important}
.site-shell.home-mode .home-page.home-pro-117{height:100%!important;padding:12px 22px 14px!important;box-sizing:border-box!important;overflow:hidden!important;display:block!important}
.home-dashboard-pro{height:100%!important;display:grid!important;grid-template-columns:minmax(440px, .93fr) minmax(600px, 1.28fr)!important;gap:18px!important;min-height:0!important}
.home-left-pro{height:100%!important;display:grid!important;grid-template-rows:minmax(0,66%) minmax(0,34%)!important;gap:12px!important;min-height:0!important}

.hero-pro{position:relative!important;width:100%!important;height:100%!important;min-height:0!important;border-radius:22px!important;overflow:hidden!important;background:linear-gradient(135deg,#eaf7ff,#dff2ff)!important;box-shadow:0 15px 34px rgba(14,72,139,.10)!important}
.hero-pro .hero-photo{position:absolute!important;inset:0 0 58px auto!important;width:64%!important;height:calc(100% - 58px)!important;object-fit:cover!important;object-position:68% 30%!important;z-index:1!important;filter:saturate(1.02) brightness(1.03)!important}
.hero-pro .hero-fade{position:absolute!important;inset:0!important;z-index:2!important;background:linear-gradient(90deg,#edf8ff 0%,rgba(237,248,255,.98) 34%,rgba(237,248,255,.58) 48%,rgba(237,248,255,.06) 72%)!important}
.hero-copy-pro{position:relative!important;z-index:4!important;width:37%!important;max-width:285px!important;padding:68px 0 0 28px!important}
.hero-copy-pro .hero-kicker{font-size:10px!important;line-height:1.35!important;letter-spacing:.11em!important;font-weight:900!important;color:#0871ef!important;margin:0 0 14px!important}
.hero-copy-pro .hero-subtitle{font-size:13px!important;line-height:1.52!important;color:#12346f!important;margin:0!important;max-width:255px!important}
.hero-title-band-pro{position:absolute!important;left:14px!important;right:14px!important;bottom:8px!important;height:43px!important;z-index:6!important;display:flex!important;align-items:center!important;padding:0 15px!important;background:rgba(255,255,255,.95)!important;border:1px solid rgba(151,194,231,.58)!important;border-radius:13px!important;backdrop-filter:blur(8px)!important}
.hero-title-band-pro h1{margin:0!important;font-size:22px!important;line-height:1!important;color:#082568!important;letter-spacing:-.35px!important}.hero-title-band-pro h1 span{color:#0871ef!important}

.quick-access-pro{height:100%!important;min-height:0!important;display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:1fr 1fr!important;gap:9px!important}
.quick-access-pro .quick-access{height:100%!important;min-height:0!important;box-sizing:border-box!important;padding:10px 12px!important;grid-template-columns:42px minmax(0,1fr)!important;gap:8px!important;border-radius:15px!important;overflow:hidden!important;background:rgba(255,255,255,.97)!important;box-shadow:0 8px 19px rgba(14,72,139,.07)!important}
.quick-access-pro .quick-access-icon{width:38px!important;height:38px!important}.quick-access-pro .quick-access strong{font-size:11px!important;line-height:1.14!important}.quick-access-pro .quick-access small{display:block!important;opacity:1!important;visibility:visible!important;font-size:7.4px!important;line-height:1.28!important;white-space:normal!important;margin-top:3px!important;color:#42618c!important}

.news-pro{height:100%!important;min-height:0!important;display:grid!important;grid-template-rows:58px minmax(0,1fr) 34px!important;padding:14px 15px 11px!important;box-sizing:border-box!important;border-radius:22px!important;overflow:hidden!important;background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(240,248,255,.98))!important;border:1px solid rgba(153,193,228,.55)!important;box-shadow:0 16px 38px rgba(13,66,132,.11)!important}
.news-pro-heading{padding-bottom:8px!important;border-bottom:1px solid #e4edf7!important;align-items:center!important}.news-pro-heading>div{display:flex!important;flex-direction:column!important;gap:1px!important}.news-eyebrow{font-size:7.5px!important;font-weight:900!important;letter-spacing:.12em!important;color:#52749d!important}.news-pro-heading h2{font-size:23px!important;line-height:1!important;margin:0!important;gap:7px!important}.news-pro-heading h2 img{width:28px!important;height:28px!important}.news-pro-heading>a{font-size:9px!important;white-space:nowrap!important;padding:6px 9px!important;border:1px solid #d6e5f4!important;border-radius:10px!important;background:#fff!important}
.news-pro-carousel{height:100%!important;min-height:0!important;overflow:hidden!important;border-radius:16px!important;padding:9px 0!important}.news-pro-carousel .news-marquee{height:100%!important;overflow:hidden!important}
.news-pro-loop{height:100%!important;display:flex!important;align-items:stretch!important;gap:11px!important;animation:newsPro117 40s ease-in-out infinite!important;will-change:transform!important}
.news-pro-loop .news-card,.news-pro-loop .news-card:nth-child(even){flex:0 0 calc((100% - 22px)/3)!important;width:calc((100% - 22px)/3)!important;height:100%!important;min-width:0!important;display:grid!important;grid-template-rows:44% 56%!important;overflow:hidden!important;border-radius:16px!important;border:1px solid #dbe8f5!important;background:#fff!important;box-shadow:0 8px 18px rgba(13,66,132,.09)!important;transform:none!important}
.news-pro-loop .news-card:hover{transform:translateY(-3px)!important;box-shadow:0 13px 24px rgba(13,66,132,.14)!important}
.news-pro-loop .news-media{position:relative!important;width:100%!important;height:100%!important;min-height:0!important;overflow:hidden!important;background:#e9f3fb!important}.news-pro-loop .news-media::after{display:none!important}.news-pro-loop .news-media img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center!important;display:block!important}
.news-pro-loop .news-tag{top:8px!important;left:8px!important;font-size:7px!important;padding:4px 7px!important;border-radius:8px!important}
.news-pro-loop .news-body{min-width:0!important;min-height:0!important;padding:10px 11px 11px!important;display:flex!important;flex-direction:column!important;gap:6px!important;overflow:hidden!important}
.publication-meta{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:5px!important;border-bottom:1px solid #e7eef7!important;padding-bottom:6px!important}.news-pro-loop .news-date{font-size:7.3px!important;white-space:nowrap!important}.publication-source{font-size:7px!important;font-weight:800!important;color:#4a6b95!important;max-width:58%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-align:right!important}
.news-pro-loop .news-body h3{font-size:13px!important;line-height:1.18!important;margin:0!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important}.news-pro-loop .news-body p{font-size:8.8px!important;line-height:1.38!important;margin:0!important;color:#506684!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:4!important;overflow:hidden!important}.news-pro-loop .soft-link{margin-top:auto!important;font-size:7.8px!important;padding:5px 7px!important}
.news-pro-footer{display:flex!important;align-items:center!important;gap:7px!important;border-top:1px solid #e4edf7!important;padding-top:7px!important;color:#486a92!important;min-width:0!important}.news-pro-footer>span{width:7px!important;height:7px!important;border-radius:50%!important;background:#13aa68!important;box-shadow:0 0 0 4px rgba(19,170,104,.10)!important}.news-pro-footer b{font-size:8.4px!important;color:#214f83!important}.news-pro-footer small{font-size:7.7px!important}
@keyframes newsPro117{0%,18%{transform:translateX(0)}44%,56%{transform:translateX(calc(-100% - 11px))}82%,100%{transform:translateX(0)}}.news-pro-carousel:hover .news-pro-loop{animation-play-state:paused!important}

/* Les outils flottants restent hors de la zone Actualités. */
.site-shell.home-mode .floating-tools.public-floating{left:10px!important;right:auto!important;bottom:76px!important;top:auto!important;transform:scale(.82)!important;transform-origin:bottom left!important;gap:8px!important;z-index:60!important}.site-shell.home-mode .floating-tools.public-floating .floating-name{font-size:9px!important}.site-shell.home-mode .floating-tools.public-floating .floating-hint{display:none!important}.site-shell.home-mode .floating-tools.public-floating .compact-game-button{width:48px!important;height:48px!important}.site-shell.home-mode .floating-tools.public-floating .compact-game-button img{width:44px!important;height:44px!important}.site-shell.home-mode .floating-tools.public-floating .compact-assistant.avatar-only{width:76px!important;height:105px!important}.site-shell.home-mode .floating-tools.public-floating .compact-assistant.avatar-only img{width:76px!important;height:105px!important}

/* Faune riche et lisible : tigre libre, grandes cigognes, profondeur. */
.ambient-scene{background:linear-gradient(180deg,#d9f1ff 0%,#edf9ff 43%,#dcefe2 100%)!important}.scene-camera{perspective:1050px!important}
.animal-video.storks{width:42vw!important;height:31vh!important;opacity:.68!important;filter:saturate(1.2) contrast(1.14) drop-shadow(0 7px 12px rgba(16,53,85,.16))!important;mask-image:radial-gradient(ellipse,#000 52%,transparent 91%)!important}.storks-a{top:-1vh!important}.storks-b{top:10vh!important;transform:scale(.80)!important}.storks-c{top:20vh!important;transform:scale(.64)!important}
.eagle-b{width:20vw!important;height:15vh!important;left:8vw!important;top:20vh!important;opacity:.20!important}.parrot{width:18vw!important;height:15vh!important;opacity:.13!important;mask-image:radial-gradient(ellipse,#000 34%,transparent 82%)!important}.parrot-a{right:8vw!important;top:25vh!important}.parrot-b{left:70vw!important;bottom:15vh!important}.giraffe-video-b{width:23vw!important;height:23vh!important;left:65vw!important;bottom:15vh!important;opacity:.12!important}
.layer-far{opacity:.79!important}.layer-mid{opacity:.68!important}.layer-near{opacity:.56!important}.tiger{opacity:.42!important;mask-image:radial-gradient(ellipse at center,#000 38%,transparent 84%)!important}.fauna-dim{opacity:.08!important}

@media(max-width:1180px){
 .home-dashboard-pro{grid-template-columns:minmax(370px,.9fr) minmax(510px,1.18fr)!important}.hero-copy-pro{padding-left:22px!important}.news-pro-loop .news-card,.news-pro-loop .news-card:nth-child(even){flex-basis:calc((100% - 11px)/2)!important;width:calc((100% - 11px)/2)!important}.quick-access-pro .quick-access small{font-size:7px!important}
}
@media(max-width:760px){
 .site-shell.home-mode .home-page.home-pro-117{overflow:auto!important;height:auto!important;padding:9px 12px 18px!important}.home-dashboard-pro{display:flex!important;flex-direction:column!important;height:auto!important}.home-left-pro{display:flex!important;flex-direction:column!important}.hero-pro{height:390px!important}.hero-pro .hero-photo{width:76%!important;object-position:70% 26%!important}.hero-copy-pro{width:42%!important;max-width:175px!important;padding:60px 0 0 16px!important}.hero-copy-pro .hero-subtitle{font-size:10.5px!important}.hero-title-band-pro h1{font-size:18px!important}.quick-access-pro{height:220px!important;min-height:220px!important}.news-pro{height:590px!important;min-height:590px!important}.news-pro-loop .news-card,.news-pro-loop .news-card:nth-child(even){flex-basis:84%!important;width:84%!important}.site-shell.home-mode .floating-tools.public-floating{left:5px!important;bottom:78px!important;transform:scale(.68)!important}
}

/* 1.17 final : accueil dégagé */
.home-pro-117 .quick-access-pro .quick-access strong{font-size:12.2px!important}
.home-pro-117 .quick-access-pro .quick-access small{font-size:9px!important;line-height:1.34!important;color:#35567f!important}
.site-shell.home-mode .floating-tools.public-floating{display:none!important}
.home-pro-117 .news-pro-footer b{font-size:9px!important}
.home-pro-117 .news-pro-footer small{font-size:8.2px!important}

/* ==========================================================
   TentoniNumérik 1.18 — lisibilité, vitrine, 3D et temps réel
   ========================================================== */

/* Header plus lisible */
.topbar-inner{grid-template-columns:330px minmax(0,1fr) auto!important;gap:14px!important}
.brand-copy strong{font-size:25px!important}
.brand-copy small{font-size:10.5px!important}
.top-meta{gap:12px!important}
.meta-item{font-size:13.5px!important;font-weight:820!important;gap:6px!important}
.meta-item img{width:24px!important;height:24px!important}
.top-time{color:#0b58c9!important}
.top-weather-inline{gap:7px!important;padding:6px 8px!important;border-radius:17px!important}
.top-weather-inline>img{width:31px!important;height:31px!important}
.top-weather-current,.top-forecast-day{min-width:42px!important}
.top-weather-current small,.top-forecast-day small{font-size:10.5px!important}
.top-weather-current strong{font-size:18px!important}
.top-forecast-day strong{font-size:13.5px!important}
.top-weather-place{max-width:165px!important;font-size:11.2px!important}
.top-weather-place img{width:19px!important;height:19px!important}
.language-code{font-size:10.5px!important}
.connect-btn{font-size:14px!important}
.nav-link{font-size:14.5px!important;padding:0 15px!important;gap:9px!important}
.nav-link img{width:35px!important;height:35px!important}
.search-form input{font-size:12px!important}

/* Vitrine : utiliser exactement l'image fournie, sans texte superposé */
.home-pro-118 .home-dashboard-pro{grid-template-columns:minmax(500px,.98fr) minmax(620px,1.18fr)!important;gap:20px!important}
.home-pro-118 .home-left-pro{grid-template-rows:minmax(0,40%) minmax(0,60%)!important;gap:12px!important}
.home-pro-118 .hero-reference-pro{height:100%!important;min-height:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background:linear-gradient(135deg,#eff9ff,#e1f3ff)!important;border-radius:22px!important;overflow:hidden!important}
.home-pro-118 .hero-reference-image{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;filter:none!important;z-index:1!important}
.home-pro-118 .hero-reference-pro .hero-fade,
.home-pro-118 .hero-reference-pro .hero-content,
.home-pro-118 .hero-reference-pro .hero-title-band-pro{display:none!important}

/* Quatre blocs : textes plus grands */
.home-pro-118 .quick-access-pro{gap:11px!important}
.home-pro-118 .quick-access-pro .quick-access{padding:15px 16px!important;grid-template-columns:50px minmax(0,1fr)!important;gap:12px!important;border-radius:17px!important}
.home-pro-118 .quick-access-pro .quick-access-icon{width:46px!important;height:46px!important}
.home-pro-118 .quick-access-pro .quick-access strong{font-size:15px!important;line-height:1.18!important}
.home-pro-118 .quick-access-pro .quick-access small{font-size:11.2px!important;line-height:1.42!important;margin-top:5px!important;color:#35567f!important}

/* Actualités : deux cartes à la fois, grandes polices */
.home-pro-118 .news-pro-118{position:relative!important;isolation:isolate!important;perspective:1200px!important;overflow:hidden!important}
.home-pro-118 .news-pro-heading,
.home-pro-118 .news-pro-carousel,
.home-pro-118 .news-pro-footer{position:relative!important;z-index:3!important}
.home-pro-118 .news-eyebrow{font-size:10.5px!important}
.home-pro-118 .news-pro-heading h2{font-size:29px!important;gap:8px!important}
.home-pro-118 .news-pro-heading h2 img{width:32px!important;height:32px!important}
.home-pro-118 .news-pro-heading>a{font-size:12px!important;padding:8px 11px!important}
.home-pro-118 .live-news{font-size:9px!important;padding:5px 8px!important}
.home-pro-118 .news-pro-loop{gap:14px!important;animation:newsPro118 42s ease-in-out infinite!important;transform-style:preserve-3d!important}
.home-pro-118 .news-pro-loop .news-card,
.home-pro-118 .news-pro-loop .news-card:nth-child(even){
  flex:0 0 calc((100% - 14px)/2)!important;
  width:calc((100% - 14px)/2)!important;
  grid-template-rows:45% 55%!important;
  border-radius:18px!important;
  box-shadow:0 12px 26px rgba(13,66,132,.12)!important;
  transform:translateZ(0)!important;
  transition:transform .28s ease,box-shadow .28s ease!important;
}
.home-pro-118 .news-pro-loop .news-card:hover{transform:translateY(-4px) translateZ(24px) rotateX(.8deg)!important;box-shadow:0 20px 36px rgba(13,66,132,.17)!important}
.home-pro-118 .news-pro-loop .news-tag{font-size:10px!important;padding:6px 9px!important}
.home-pro-118 .news-pro-loop .news-body{padding:14px 15px 15px!important;gap:9px!important}
.home-pro-118 .publication-meta{padding-bottom:8px!important}
.home-pro-118 .news-pro-loop .news-date{font-size:10.8px!important;font-weight:850!important}
.home-pro-118 .publication-source{font-size:10.5px!important;font-weight:850!important}
.home-pro-118 .news-pro-loop .news-body h3{font-size:18px!important;line-height:1.22!important;-webkit-line-clamp:2!important}
.home-pro-118 .news-pro-loop .news-body p{font-size:13.2px!important;line-height:1.5!important;-webkit-line-clamp:5!important;color:#405a7d!important}
.home-pro-118 .news-pro-loop .soft-link{font-size:11.8px!important;padding:7px 10px!important}
.home-pro-118 .news-pro-footer b{font-size:11px!important}
.home-pro-118 .news-pro-footer small{font-size:10.5px!important}
@keyframes newsPro118{
  0%,20%{transform:translateX(0)}
  40%,55%{transform:translateX(calc(-50% - 7px))}
  75%,90%{transform:translateX(calc(-100% - 14px))}
  100%{transform:translateX(0)}
}

/* Animation 3D décorative discrète, derrière les textes */
.news-orbits{position:absolute!important;inset:62px 8px 38px!important;z-index:1!important;pointer-events:none!important;overflow:hidden!important;perspective:900px!important}
.news-orbits i{position:absolute!important;display:block!important;border-radius:50%!important;border:1px solid rgba(35,132,236,.20)!important;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.80),rgba(88,175,255,.13) 38%,rgba(75,93,225,.04) 70%,transparent)!important;box-shadow:inset 0 0 22px rgba(64,151,237,.10),0 14px 34px rgba(60,120,210,.08)!important;backdrop-filter:blur(1px)!important;opacity:.55!important}
.news-orbits i:nth-child(1){width:110px!important;height:110px!important;left:3%!important;top:9%!important;animation:orbit118a 15s ease-in-out infinite alternate!important}
.news-orbits i:nth-child(2){width:72px!important;height:72px!important;right:8%!important;top:4%!important;animation:orbit118b 18s ease-in-out infinite alternate-reverse!important}
.news-orbits i:nth-child(3){width:145px!important;height:145px!important;right:-3%!important;bottom:9%!important;animation:orbit118a 21s ease-in-out infinite alternate!important}
.news-orbits i:nth-child(4){width:58px!important;height:58px!important;left:38%!important;bottom:4%!important;animation:orbit118b 13s ease-in-out infinite alternate!important}
.news-orbits i:nth-child(5){width:88px!important;height:88px!important;left:52%!important;top:36%!important;animation:orbit118c 17s ease-in-out infinite alternate!important}
@keyframes orbit118a{from{transform:translate3d(-8px,7px,-30px) scale(.92)}to{transform:translate3d(22px,-14px,75px) scale(1.08)}}
@keyframes orbit118b{from{transform:translate3d(8px,-4px,-50px) rotate(0deg)}to{transform:translate3d(-24px,18px,65px) rotate(18deg)}}
@keyframes orbit118c{from{transform:translate3d(-4px,14px,-40px) scale(.88)}to{transform:translate3d(17px,-20px,90px) scale(1.10)}}

/* Faune : deux grandes cigognes dispersées et animaux équilibrés en profondeur */
.ambient-scene .storks{width:30vw!important;height:24vh!important;opacity:.74!important;filter:saturate(1.2) contrast(1.18) drop-shadow(0 8px 12px rgba(16,53,85,.18))!important;mask-image:radial-gradient(ellipse,#000 54%,transparent 91%)!important}
.ambient-scene .storks-a{left:1vw!important;top:1vh!important;animation-duration:38s!important}
.ambient-scene .storks-b{left:auto!important;right:2vw!important;top:10vh!important;transform:scale(.82)!important;animation-duration:47s!important}
.ambient-scene .tiger-a{width:15vw!important;height:16vh!important;left:auto!important;right:10vw!important;bottom:18vh!important;opacity:.20!important;transform:scale(.78)!important}
.ambient-scene .tiger-b{width:12vw!important;height:13vh!important;left:5vw!important;right:auto!important;bottom:12vh!important;opacity:.16!important;transform:scale(.68)!important}
.ambient-scene .giraffe-video-a{width:20vw!important;height:21vh!important;left:2vw!important;bottom:4vh!important;opacity:.18!important}
.ambient-scene .giraffe-video-b{width:17vw!important;height:18vh!important;left:auto!important;right:4vw!important;bottom:20vh!important;opacity:.15!important}
.ambient-scene .elephant-a{width:22vw!important;height:21vh!important;left:14vw!important;bottom:0!important;opacity:.17!important}
.ambient-scene .elephant-b{width:19vw!important;height:19vh!important;left:auto!important;right:2vw!important;bottom:1vh!important;opacity:.15!important}
.ambient-scene .gorilla-a{width:15vw!important;height:16vh!important;left:34vw!important;right:auto!important;bottom:8vh!important;opacity:.15!important}
.ambient-scene .gorilla-b{width:13vw!important;height:14vh!important;left:auto!important;right:24vw!important;bottom:9vh!important;opacity:.13!important}
.ambient-scene .lions-a{width:19vw!important;height:17vh!important;left:45vw!important;bottom:1vh!important;opacity:.16!important}
.ambient-scene .lions-b{width:15vw!important;height:14vh!important;left:auto!important;right:31vw!important;bottom:16vh!important;opacity:.12!important}
.ambient-scene .wolf-a{width:13vw!important;height:13vh!important;left:auto!important;right:5vw!important;bottom:29vh!important;opacity:.13!important}
.ambient-scene .wolf-b{width:12vw!important;height:12vh!important;left:21vw!important;bottom:18vh!important;opacity:.12!important}
.ambient-scene .eagle-a{opacity:.22!important}.ambient-scene .eagle-b{opacity:.18!important}
.ambient-scene .parrot-a,.ambient-scene .parrot-b{opacity:.13!important}
.ambient-scene .layer-far{opacity:.82!important}.ambient-scene .layer-mid{opacity:.73!important}.ambient-scene .layer-near{opacity:.62!important}

/* Responsive : conserver la lisibilité */
@media(max-width:1180px){
  .top-meta{gap:8px!important}.meta-item{font-size:12px!important}.top-weather-place{max-width:120px!important;font-size:10px!important}
  .nav-link{font-size:13px!important;padding:0 11px!important}
  .home-pro-118 .home-dashboard-pro{grid-template-columns:minmax(420px,.95fr) minmax(520px,1.1fr)!important}
  .home-pro-118 .quick-access-pro .quick-access strong{font-size:13.5px!important}
  .home-pro-118 .quick-access-pro .quick-access small{font-size:10.2px!important}
  .home-pro-118 .news-pro-loop .news-body h3{font-size:16.5px!important}
  .home-pro-118 .news-pro-loop .news-body p{font-size:12px!important}
}
@media(max-width:760px){
  .home-pro-118 .home-left-pro{display:flex!important;flex-direction:column!important}
  .home-pro-118 .hero-reference-pro{height:300px!important;min-height:300px!important}
  .home-pro-118 .quick-access-pro{height:auto!important;min-height:430px!important}
  .home-pro-118 .quick-access-pro .quick-access{min-height:205px!important}
  .home-pro-118 .news-pro-loop .news-card,
  .home-pro-118 .news-pro-loop .news-card:nth-child(even){flex-basis:88%!important;width:88%!important}
  .home-pro-118 .news-pro-loop .news-body h3{font-size:18px!important}
  .home-pro-118 .news-pro-loop .news-body p{font-size:13px!important}
  .news-orbits{opacity:.35!important}
}
@media(prefers-reduced-motion:reduce){
  .news-orbits i,.home-pro-118 .news-pro-loop{animation:none!important}
}

/* =========================================================
   TentoniNumérik 1.19.0 — accueil recréé selon la demande
   ========================================================= */
.site-shell.home-mode .home-page.home-pro-119{
  height:auto!important;
  min-height:100%!important;
  padding:12px 20px 16px!important;
  overflow:visible!important;
}
.home-pro-119 .home-dashboard-119{
  display:grid!important;
  grid-template-columns:minmax(470px,.95fr) minmax(620px,1.22fr)!important;
  gap:18px!important;
  align-items:stretch!important;
  min-height:610px!important;
}
.home-pro-119 .home-left-119{
  display:grid!important;
  grid-template-rows:350px 242px!important;
  gap:14px!important;
  min-height:0!important;
}

/* Vitrine : on recrée la composition, on ne colle pas l'image modèle. */
.home-pro-119 .hero-119{
  display:grid!important;
  grid-template-columns:54% 46%!important;
  width:100%!important;
  height:350px!important;
  min-height:350px!important;
  position:relative!important;
  overflow:hidden!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.95),transparent 28%),
    linear-gradient(135deg,#eef9ff 0%,#e2f4ff 58%,#d8efff 100%)!important;
  border:1px solid rgba(154,196,232,.55)!important;
  box-shadow:0 14px 32px rgba(15,74,142,.10)!important;
}
.home-pro-119 .hero-copy-119{
  position:relative!important;
  z-index:4!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:30px 10px 30px 32px!important;
  min-width:0!important;
}
.home-pro-119 .hero-copy-119 h1{
  margin:0!important;
  max-width:430px!important;
  color:#082568!important;
  font-size:36px!important;
  line-height:1.05!important;
  letter-spacing:-1.1px!important;
  font-weight:900!important;
}
.home-pro-119 .hero-copy-119 h1 span{color:#0871ef!important}
.home-pro-119 .hero-copy-119 p{
  margin:18px 0 0!important;
  max-width:400px!important;
  color:#163d73!important;
  font-size:16px!important;
  line-height:1.5!important;
  font-weight:650!important;
}
.home-pro-119 .hero-visual-119{
  position:relative!important;
  min-width:0!important;
  overflow:hidden!important;
}
.home-pro-119 .hero-visual-119::before{
  content:""!important;
  position:absolute!important;
  inset:0 auto 0 -1px!important;
  width:42%!important;
  z-index:2!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,#e7f6ff 0%,rgba(231,246,255,.78) 28%,transparent 100%)!important;
}
.home-pro-119 .hero-photo-119{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:52% 20%!important;
  filter:saturate(1.04) brightness(1.03) contrast(1.02)!important;
  display:block!important;
}

/* Quatre blocs : titres et textes nettement plus lisibles. */
.home-pro-119 .quick-access-119{
  height:242px!important;
  min-height:242px!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  grid-template-rows:1fr 1fr!important;
  gap:11px!important;
}
.home-pro-119 .quick-access-119 .quick-access{
  min-height:0!important;
  height:100%!important;
  padding:15px 16px!important;
  grid-template-columns:50px minmax(0,1fr)!important;
  gap:12px!important;
  border-radius:17px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 9px 20px rgba(14,72,139,.08)!important;
}
.home-pro-119 .quick-access-119 .quick-access-icon{width:46px!important;height:46px!important}
.home-pro-119 .quick-access-119 .quick-access strong{
  font-size:16px!important;
  line-height:1.18!important;
  letter-spacing:-.15px!important;
}
.home-pro-119 .quick-access-119 .quick-access small{
  display:block!important;
  margin-top:6px!important;
  color:#385a83!important;
  font-size:12.2px!important;
  line-height:1.42!important;
  white-space:normal!important;
  overflow:visible!important;
  opacity:1!important;
}

/* Menu et informations hautes : légèrement plus présentes sans déséquilibrer le header. */
.site-shell.home-mode .nav-link{
  font-size:14.5px!important;
  font-weight:850!important;
  padding:0 14px!important;
}
.site-shell.home-mode .meta-item{font-size:13.2px!important}
.site-shell.home-mode .top-date strong,
.site-shell.home-mode .top-clock strong{font-size:13.8px!important}
.site-shell.home-mode .top-weather-current strong{font-size:16px!important}
.site-shell.home-mode .top-weather-place{font-size:11.5px!important;max-width:165px!important}

/* Actualités : une vraie publication à la fois, sans texte coupé ni grand vide. */
.home-pro-119 .news-pro-119{
  position:relative!important;
  isolation:isolate!important;
  min-height:606px!important;
  height:606px!important;
  display:grid!important;
  grid-template-rows:68px minmax(0,1fr) 38px!important;
  padding:15px 16px 12px!important;
  border-radius:24px!important;
  overflow:hidden!important;
  background:linear-gradient(145deg,#fff 0%,#f5faff 100%)!important;
  border:1px solid rgba(154,196,232,.56)!important;
  box-shadow:0 15px 35px rgba(13,66,132,.11)!important;
  perspective:1200px!important;
}
.home-pro-119 .news-heading-119,
.home-pro-119 .news-carousel-119,
.home-pro-119 .news-footer-119{position:relative!important;z-index:3!important}
.home-pro-119 .news-heading-119{border-bottom:1px solid #e3edf7!important;padding-bottom:9px!important}
.home-pro-119 .news-eyebrow{font-size:11px!important;letter-spacing:.10em!important}
.home-pro-119 .news-heading-119 h2{font-size:30px!important;gap:9px!important;margin:0!important}
.home-pro-119 .news-heading-119 h2 img{width:34px!important;height:34px!important}
.home-pro-119 .news-heading-119>a{font-size:13px!important;padding:9px 12px!important;border-radius:11px!important}
.home-pro-119 .live-news{font-size:9.5px!important;padding:5px 8px!important}
.home-pro-119 .news-carousel-119{
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:12px 0 8px!important;
}
.home-pro-119 .news-carousel-119 .news-marquee{height:100%!important;overflow:hidden!important}
.home-pro-119 .news-loop-119{
  height:100%!important;
  display:flex!important;
  align-items:stretch!important;
  gap:16px!important;
  animation:news119 54s cubic-bezier(.22,.72,.25,1) infinite!important;
  will-change:transform!important;
  transform-style:preserve-3d!important;
}
.home-pro-119 .news-loop-119 .news-card,
.home-pro-119 .news-loop-119 .news-card:nth-child(even){
  flex:0 0 100%!important;
  width:100%!important;
  min-width:100%!important;
  height:100%!important;
  display:grid!important;
  grid-template-columns:46% 54%!important;
  grid-template-rows:1fr!important;
  border-radius:19px!important;
  overflow:hidden!important;
  border:1px solid #d9e7f4!important;
  background:#fff!important;
  box-shadow:0 12px 25px rgba(13,66,132,.11)!important;
  transform:none!important;
}
.home-pro-119 .news-loop-119 .news-card:hover{
  transform:translateY(-3px) translateZ(15px)!important;
  box-shadow:0 18px 30px rgba(13,66,132,.15)!important;
}
.home-pro-119 .news-loop-119 .news-media{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#eaf3fb!important;
}
.home-pro-119 .news-loop-119 .news-media::after{display:none!important}
.home-pro-119 .news-loop-119 .news-media img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
}
.home-pro-119 .news-loop-119 .news-tag{
  top:12px!important;
  left:12px!important;
  font-size:11px!important;
  padding:7px 10px!important;
  border-radius:9px!important;
}
.home-pro-119 .news-loop-119 .news-body{
  min-width:0!important;
  min-height:0!important;
  padding:24px 24px 22px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  overflow:visible!important;
}
.home-pro-119 .publication-meta{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding-bottom:11px!important;
  border-bottom:1px solid #e5edf6!important;
}
.home-pro-119 .news-date{font-size:12.5px!important;font-weight:850!important;white-space:nowrap!important}
.home-pro-119 .publication-source{
  max-width:62%!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:800!important;
  color:#4a698f!important;
  text-align:right!important;
  white-space:normal!important;
  overflow:visible!important;
}
.home-pro-119 .news-loop-119 .news-body h3{
  margin:0!important;
  color:#0b2a64!important;
  font-size:24px!important;
  line-height:1.18!important;
  letter-spacing:-.35px!important;
  display:block!important;
  overflow:visible!important;
  -webkit-line-clamp:unset!important;
}
.home-pro-119 .news-loop-119 .news-body p{
  margin:0!important;
  color:#3e587b!important;
  font-size:15px!important;
  line-height:1.58!important;
  display:block!important;
  overflow:visible!important;
  -webkit-line-clamp:unset!important;
}
.home-pro-119 .news-loop-119 .soft-link{
  margin-top:auto!important;
  align-self:flex-start!important;
  font-size:13px!important;
  padding:9px 12px!important;
}
.home-pro-119 .news-footer-119{gap:8px!important}
.home-pro-119 .news-footer-119 b{font-size:12px!important}
.home-pro-119 .news-footer-119 small{font-size:11.2px!important}
@keyframes news119{
  0%,25%{transform:translateX(0)}
  32%,57%{transform:translateX(calc(-100% - 16px))}
  64%,89%{transform:translateX(calc(-200% - 32px))}
  96%,100%{transform:translateX(0)}
}
.home-pro-119 .news-carousel-119:hover .news-loop-119{animation-play-state:paused!important}

/* Effet 3D discret : uniquement en arrière-plan, jamais sur le texte. */
.home-pro-119 .news-orbits-119{
  position:absolute!important;
  inset:76px 14px 44px!important;
  z-index:1!important;
  pointer-events:none!important;
  overflow:hidden!important;
  opacity:.34!important;
  perspective:900px!important;
}
.home-pro-119 .news-orbits-119 i{
  position:absolute!important;
  border-radius:50%!important;
  border:1px solid rgba(46,133,229,.20)!important;
  background:radial-gradient(circle at 30% 28%,rgba(255,255,255,.86),rgba(91,177,250,.13) 42%,rgba(71,91,220,.03) 72%,transparent)!important;
  box-shadow:inset 0 0 24px rgba(71,151,229,.10),0 16px 30px rgba(60,120,210,.06)!important;
}
.home-pro-119 .news-orbits-119 i:nth-child(1){width:120px!important;height:120px!important;left:2%!important;top:7%!important;animation:bubble119a 18s ease-in-out infinite alternate!important}
.home-pro-119 .news-orbits-119 i:nth-child(2){width:78px!important;height:78px!important;right:8%!important;top:9%!important;animation:bubble119b 22s ease-in-out infinite alternate-reverse!important}
.home-pro-119 .news-orbits-119 i:nth-child(3){width:150px!important;height:150px!important;right:-3%!important;bottom:7%!important;animation:bubble119a 25s ease-in-out infinite alternate!important}
.home-pro-119 .news-orbits-119 i:nth-child(4){width:62px!important;height:62px!important;left:43%!important;bottom:9%!important;animation:bubble119b 16s ease-in-out infinite alternate!important}
@keyframes bubble119a{from{transform:translate3d(-8px,10px,-45px) rotateX(4deg)}to{transform:translate3d(18px,-18px,55px) rotateX(-5deg)}}
@keyframes bubble119b{from{transform:translate3d(6px,-8px,-25px)}to{transform:translate3d(-16px,18px,45px)}}

/* Arrière-plan : plusieurs animaux, visibles en douceur et mieux intégrés. */
.site-shell.home-mode .ambient-scene{
  background:linear-gradient(180deg,#dcefff 0%,#eef8ff 45%,#e0efe4 100%)!important;
}
.site-shell.home-mode .scene-camera{perspective:1150px!important}
.site-shell.home-mode .animal-video{
  mix-blend-mode:multiply!important;
  filter:saturate(.82) contrast(.95) brightness(1.06)!important;
}
.site-shell.home-mode .ambient-scene .storks{
  width:34vw!important;
  height:25vh!important;
  opacity:.34!important;
  mix-blend-mode:multiply!important;
  filter:saturate(.9) contrast(1.02) brightness(1.04)!important;
  mask-image:radial-gradient(ellipse,#000 58%,transparent 94%)!important;
}
.site-shell.home-mode .ambient-scene .storks-a{left:-3vw!important;top:0!important;transform:scale(.92)!important}
.site-shell.home-mode .ambient-scene .storks-b{left:auto!important;right:7vw!important;top:10vh!important;transform:scale(.72)!important}
.site-shell.home-mode .ambient-scene .storks-c{display:none!important}
.site-shell.home-mode .ambient-scene .gorilla-a{width:17vw!important;height:18vh!important;left:7vw!important;right:auto!important;bottom:7vh!important;opacity:.20!important}
.site-shell.home-mode .ambient-scene .gorilla-b{width:15vw!important;height:16vh!important;left:auto!important;right:16vw!important;bottom:8vh!important;opacity:.17!important}
.site-shell.home-mode .ambient-scene .tiger-a{width:13vw!important;height:14vh!important;left:auto!important;right:2vw!important;bottom:22vh!important;opacity:.13!important;transform:scale(.76)!important}
.site-shell.home-mode .ambient-scene .tiger-b{width:12vw!important;height:13vh!important;left:19vw!important;right:auto!important;bottom:17vh!important;opacity:.11!important;transform:scale(.70)!important}
.site-shell.home-mode .ambient-scene .elephant-a{width:18vw!important;height:18vh!important;left:1vw!important;bottom:0!important;opacity:.13!important}
.site-shell.home-mode .ambient-scene .elephant-b{width:17vw!important;height:17vh!important;left:auto!important;right:1vw!important;bottom:1vh!important;opacity:.12!important}
.site-shell.home-mode .ambient-scene .giraffe-video-a{width:17vw!important;height:19vh!important;left:18vw!important;bottom:2vh!important;opacity:.13!important}
.site-shell.home-mode .ambient-scene .giraffe-video-b{width:15vw!important;height:17vh!important;left:auto!important;right:18vw!important;bottom:17vh!important;opacity:.11!important}
.site-shell.home-mode .ambient-scene .lions-a{width:15vw!important;height:15vh!important;left:43vw!important;bottom:1vh!important;opacity:.12!important}
.site-shell.home-mode .ambient-scene .lions-b{width:13vw!important;height:13vh!important;left:auto!important;right:29vw!important;bottom:15vh!important;opacity:.10!important}
.site-shell.home-mode .ambient-scene .wolf-a{width:11vw!important;height:11vh!important;left:auto!important;right:5vw!important;bottom:34vh!important;opacity:.10!important}
.site-shell.home-mode .ambient-scene .wolf-b{width:10vw!important;height:10vh!important;left:27vw!important;bottom:24vh!important;opacity:.09!important}
.site-shell.home-mode .ambient-scene .eagle-a{opacity:.13!important}.site-shell.home-mode .ambient-scene .eagle-b{opacity:.11!important}
.site-shell.home-mode .ambient-scene .parrot-a,.site-shell.home-mode .ambient-scene .parrot-b{opacity:.08!important}
.site-shell.home-mode .ambient-scene .layer-far{opacity:.78!important}
.site-shell.home-mode .ambient-scene .layer-mid{opacity:.66!important}
.site-shell.home-mode .ambient-scene .layer-near{opacity:.52!important}

@media(max-width:1180px){
  .home-pro-119 .home-dashboard-119{grid-template-columns:minmax(410px,.94fr) minmax(520px,1.12fr)!important}
  .home-pro-119 .hero-copy-119 h1{font-size:31px!important}
  .home-pro-119 .hero-copy-119 p{font-size:14px!important}
  .home-pro-119 .quick-access-119 .quick-access strong{font-size:14.5px!important}
  .home-pro-119 .quick-access-119 .quick-access small{font-size:11px!important}
  .home-pro-119 .news-loop-119 .news-body h3{font-size:21px!important}
  .home-pro-119 .news-loop-119 .news-body p{font-size:13.5px!important}
}
@media(max-width:760px){
  .site-shell.home-mode .home-page.home-pro-119{padding:10px 12px 18px!important}
  .home-pro-119 .home-dashboard-119{display:flex!important;flex-direction:column!important;min-height:0!important}
  .home-pro-119 .home-left-119{display:flex!important;flex-direction:column!important}
  .home-pro-119 .hero-119{grid-template-columns:1fr!important;height:430px!important;min-height:430px!important}
  .home-pro-119 .hero-copy-119{position:absolute!important;left:0!important;top:0!important;bottom:0!important;width:58%!important;z-index:4!important;padding:38px 12px 38px 18px!important;background:linear-gradient(90deg,rgba(239,249,255,.98),rgba(239,249,255,.82),transparent)!important}
  .home-pro-119 .hero-copy-119 h1{font-size:27px!important}.home-pro-119 .hero-copy-119 p{font-size:12px!important}
  .home-pro-119 .hero-visual-119{height:100%!important}.home-pro-119 .hero-photo-119{object-position:63% 18%!important}
  .home-pro-119 .quick-access-119{height:auto!important;min-height:480px!important}
  .home-pro-119 .quick-access-119 .quick-access{min-height:226px!important}
  .home-pro-119 .news-pro-119{height:690px!important;min-height:690px!important}
  .home-pro-119 .news-loop-119 .news-card,.home-pro-119 .news-loop-119 .news-card:nth-child(even){grid-template-columns:1fr!important;grid-template-rows:44% 56%!important}
  .home-pro-119 .news-loop-119 .news-body{padding:18px!important;gap:10px!important}
  .home-pro-119 .news-loop-119 .news-body h3{font-size:20px!important}.home-pro-119 .news-loop-119 .news-body p{font-size:13.2px!important}
  .home-pro-119 .news-orbits-119{opacity:.20!important}
}
@media(prefers-reduced-motion:reduce){
  .home-pro-119 .news-loop-119,.home-pro-119 .news-orbits-119 i{animation:none!important}
}

/* ==============================================================
   TentoniNumérik 1.20.0
   Reprise fidèle des modèles fournis, sans copier les images.
   ============================================================== */
body.home-route .floating-tools.public-floating{display:none!important}

.site-shell.home-mode .home-page.home-pro-120{
  height:auto!important;
  min-height:100%!important;
  padding:12px 20px 18px!important;
  overflow:visible!important;
}
.home-pro-120 .home-dashboard-120{
  display:grid!important;
  grid-template-columns:minmax(500px,.98fr) minmax(650px,1.22fr)!important;
  gap:20px!important;
  align-items:stretch!important;
  min-height:660px!important;
}
.home-pro-120 .home-left-120{
  display:grid!important;
  grid-template-rows:420px 226px!important;
  gap:14px!important;
  min-height:0!important;
}

/* Bienvenue : texte et photo dans deux zones séparées. Aucun texte sur le visage. */
.home-pro-120 .hero-120{
  display:grid!important;
  grid-template-columns:49% 51%!important;
  width:100%!important;
  height:420px!important;
  min-height:420px!important;
  position:relative!important;
  overflow:hidden!important;
  border-radius:25px!important;
  background:
    radial-gradient(circle at 15% 15%,rgba(255,255,255,.96),transparent 29%),
    linear-gradient(135deg,#eef9ff 0%,#e3f4ff 60%,#d9efff 100%)!important;
  border:1px solid rgba(151,194,231,.55)!important;
  box-shadow:0 15px 34px rgba(15,74,142,.10)!important;
}
.home-pro-120 .hero-copy-120{
  position:relative!important;
  z-index:4!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:34px 14px 34px 38px!important;
  min-width:0!important;
}
.home-pro-120 .hero-copy-120 h1{
  margin:0!important;
  max-width:455px!important;
  color:#092568!important;
  font-size:43px!important;
  line-height:1.03!important;
  letter-spacing:-1.35px!important;
  font-weight:900!important;
}
.home-pro-120 .hero-copy-120 h1 span{color:#0871ef!important}
.home-pro-120 .hero-copy-120 p{
  margin:22px 0 0!important;
  max-width:430px!important;
  color:#163d73!important;
  font-size:18px!important;
  line-height:1.55!important;
  font-weight:650!important;
}
.home-pro-120 .hero-visual-120{
  position:relative!important;
  min-width:0!important;
  overflow:hidden!important;
}
.home-pro-120 .hero-visual-120::before{
  content:""!important;
  position:absolute!important;
  inset:0 auto 0 -1px!important;
  width:25%!important;
  z-index:2!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,#e5f5ff 0%,rgba(229,245,255,.62) 35%,transparent 100%)!important;
}
.home-pro-120 .hero-photo-120{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:54% 17%!important;
  filter:saturate(1.05) brightness(1.04) contrast(1.02)!important;
  display:block!important;
}

/* Les 4 blocs restent identiques dans leur contenu, mais sont descendus et présentés comme les modèles. */
.home-pro-120 .quick-access-120{
  height:226px!important;
  min-height:226px!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  grid-template-rows:1fr 1fr!important;
  gap:11px!important;
}
.home-pro-120 .quick-access-120 .quick-access{
  height:100%!important;
  min-height:0!important;
  padding:15px 16px!important;
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 9px 20px rgba(14,72,139,.08)!important;
}
.home-pro-120 .quick-access-icon-shell{
  width:54px!important;
  height:54px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:16px!important;
  background:linear-gradient(145deg,#f8fbff,#e9f4ff)!important;
  box-shadow:inset 0 0 0 1px rgba(151,194,231,.42),0 6px 13px rgba(15,74,142,.08)!important;
}
.home-pro-120 .quick-access-120 .blue .quick-access-icon-shell{background:linear-gradient(145deg,#f0f7ff,#dfeeff)!important}
.home-pro-120 .quick-access-120 .green .quick-access-icon-shell{background:linear-gradient(145deg,#effcf5,#def6e9)!important}
.home-pro-120 .quick-access-120 .purple .quick-access-icon-shell{background:linear-gradient(145deg,#f7f2ff,#ece2ff)!important}
.home-pro-120 .quick-access-120 .orange .quick-access-icon-shell{background:linear-gradient(145deg,#fff8ee,#ffecd1)!important}
.home-pro-120 .quick-access-120 .quick-access-icon{width:45px!important;height:45px!important}
.home-pro-120 .quick-access-copy{min-width:0!important}
.home-pro-120 .quick-access-120 .quick-access strong{
  display:block!important;
  font-size:17px!important;
  line-height:1.15!important;
  letter-spacing:-.15px!important;
}
.home-pro-120 .quick-access-120 .quick-access small{
  display:block!important;
  margin-top:6px!important;
  color:#385a83!important;
  font-size:12.5px!important;
  line-height:1.42!important;
  white-space:normal!important;
  opacity:1!important;
}

/* Actualités : structure du modèle fourni, reconstruite avec les contenus du site. */
.home-pro-120 .news-pro-120{
  position:relative!important;
  isolation:isolate!important;
  min-height:660px!important;
  height:660px!important;
  display:grid!important;
  grid-template-rows:68px minmax(0,1fr) 26px!important;
  padding:15px 20px 14px!important;
  border-radius:25px!important;
  overflow:hidden!important;
  background:linear-gradient(145deg,#fff 0%,#f5faff 100%)!important;
  border:1px solid rgba(154,196,232,.56)!important;
  box-shadow:0 15px 35px rgba(13,66,132,.11)!important;
}
.home-pro-120 .news-heading-120{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:15px!important;
  border-bottom:1px solid #e4edf7!important;
  padding:0 2px 10px!important;
  position:relative!important;
  z-index:4!important;
}
.home-pro-120 .news-heading-120 h2{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  color:#082568!important;
  font-size:31px!important;
  line-height:1!important;
  letter-spacing:-.7px!important;
}
.home-pro-120 .news-heading-120 h2 img{width:34px!important;height:34px!important}
.home-pro-120 .news-heading-120>a{
  font-size:14px!important;
  font-weight:850!important;
  padding:10px 14px!important;
  border:1px solid #d5e5f4!important;
  border-radius:12px!important;
  background:#fff!important;
  white-space:nowrap!important;
}

.home-pro-120 .news-slider-120{
  position:relative!important;
  z-index:4!important;
  min-height:0!important;
  height:100%!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 42px!important;
  align-items:center!important;
  gap:8px!important;
}
.home-pro-120 .news-viewport-120{
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:16px 0 10px!important;
}
.home-pro-120 .news-track-120{
  width:200%!important;
  height:100%!important;
  display:flex!important;
  transition:transform .55s cubic-bezier(.2,.75,.22,1)!important;
  will-change:transform!important;
}
.home-pro-120 .news-slide-120{
  width:50%!important;
  flex:0 0 50%!important;
  height:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  padding:0 2px!important;
  box-sizing:border-box!important;
}
.home-pro-120 .news-slide-120 .news-card,
.home-pro-120 .news-slide-120 .news-card:nth-child(even){
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  display:grid!important;
  grid-template-rows:43% 57%!important;
  border-radius:18px!important;
  overflow:hidden!important;
  border:1px solid #dce8f4!important;
  background:#fff!important;
  box-shadow:0 9px 20px rgba(13,66,132,.09)!important;
  transform:none!important;
}
.home-pro-120 .news-slide-120 .news-card:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 14px 27px rgba(13,66,132,.14)!important;
}
.home-pro-120 .news-slide-120 .news-media{
  position:relative!important;
  min-height:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  background:#eaf3fb!important;
}
.home-pro-120 .news-slide-120 .news-media::after{display:none!important}
.home-pro-120 .news-slide-120 .news-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
}
.home-pro-120 .news-slide-120 .news-tag{
  top:9px!important;
  left:9px!important;
  font-size:10px!important;
  padding:6px 9px!important;
  border-radius:8px!important;
}
.home-pro-120 .news-slide-120 .news-body{
  min-width:0!important;
  min-height:0!important;
  padding:13px 14px 14px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  overflow:hidden!important;
}
.home-pro-120 .publication-meta{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:3px!important;
  padding-bottom:7px!important;
  border-bottom:1px solid #e7eef6!important;
}
.home-pro-120 .news-date{
  font-size:11.5px!important;
  font-weight:850!important;
  color:#57708f!important;
}
.home-pro-120 .publication-source{
  max-width:100%!important;
  font-size:10.5px!important;
  line-height:1.25!important;
  font-weight:750!important;
  color:#71849d!important;
  text-align:left!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.home-pro-120 .news-slide-120 .news-body h3{
  margin:0!important;
  color:#0b2a64!important;
  font-size:17px!important;
  line-height:1.18!important;
  letter-spacing:-.2px!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
}
.home-pro-120 .news-slide-120 .news-body p{
  margin:0!important;
  color:#405a7b!important;
  font-size:12.3px!important;
  line-height:1.47!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:4!important;
  overflow:hidden!important;
}
.home-pro-120 .news-slide-120 .soft-link{
  margin-top:auto!important;
  align-self:flex-start!important;
  font-size:12.3px!important;
  padding:8px 11px!important;
}

.home-pro-120 .news-arrow-120{
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
  border:1px solid #d5e4f3!important;
  background:#fff!important;
  color:#153a75!important;
  font-size:31px!important;
  line-height:1!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:0 8px 18px rgba(13,66,132,.10)!important;
  cursor:pointer!important;
  z-index:5!important;
}
.home-pro-120 .news-arrow-120:hover{transform:scale(1.06)!important;background:#f7fbff!important}
.home-pro-120 .news-pagination-120{
  position:relative!important;
  z-index:5!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
}
.home-pro-120 .news-pagination-120 button{
  width:8px!important;
  height:8px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:#c5ceda!important;
  cursor:pointer!important;
}
.home-pro-120 .news-pagination-120 button.active{
  width:19px!important;
  border-radius:999px!important;
  background:#2678f2!important;
}

/* 3D très légère derrière les cartes : ne gêne ni image ni texte. */
.home-pro-120 .news-orbits-120{
  position:absolute!important;
  inset:80px 55px 40px!important;
  z-index:1!important;
  pointer-events:none!important;
  opacity:.18!important;
  overflow:hidden!important;
}
.home-pro-120 .news-orbits-120 i{
  position:absolute!important;
  border-radius:50%!important;
  border:1px solid rgba(59,144,229,.22)!important;
  background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.92),rgba(91,177,250,.14) 45%,transparent 73%)!important;
}
.home-pro-120 .news-orbits-120 i:nth-child(1){width:100px!important;height:100px!important;left:8%!important;top:8%!important;animation:orb120a 20s ease-in-out infinite alternate!important}
.home-pro-120 .news-orbits-120 i:nth-child(2){width:72px!important;height:72px!important;right:8%!important;top:18%!important;animation:orb120b 24s ease-in-out infinite alternate!important}
.home-pro-120 .news-orbits-120 i:nth-child(3){width:125px!important;height:125px!important;right:28%!important;bottom:2%!important;animation:orb120a 28s ease-in-out infinite alternate-reverse!important}
@keyframes orb120a{from{transform:translate3d(-8px,6px,0)}to{transform:translate3d(18px,-16px,0)}}
@keyframes orb120b{from{transform:translate3d(5px,-4px,0)}to{transform:translate3d(-15px,18px,0)}}

/* Menu : même logique visuelle que le modèle de navigation fourni. */
.site-shell.home-mode .nav-link{
  font-size:15.5px!important;
  font-weight:850!important;
  padding:0 15px!important;
  gap:8px!important;
}
.site-shell.home-mode .nav-symbol{width:28px!important;height:28px!important}

@media(max-width:1180px){
  .home-pro-120 .home-dashboard-120{grid-template-columns:minmax(430px,.96fr) minmax(560px,1.14fr)!important}
  .home-pro-120 .hero-copy-120 h1{font-size:36px!important}
  .home-pro-120 .hero-copy-120 p{font-size:16px!important}
  .home-pro-120 .quick-access-120 .quick-access strong{font-size:15px!important}
  .home-pro-120 .quick-access-120 .quick-access small{font-size:11.3px!important}
  .home-pro-120 .news-slide-120 .news-body h3{font-size:15px!important}
  .home-pro-120 .news-slide-120 .news-body p{font-size:11.3px!important;-webkit-line-clamp:3!important}
}
@media(max-width:820px){
  .site-shell.home-mode .home-page.home-pro-120{padding:10px 12px 20px!important}
  .home-pro-120 .home-dashboard-120{display:flex!important;flex-direction:column!important;min-height:0!important}
  .home-pro-120 .home-left-120{display:flex!important;flex-direction:column!important}
  .home-pro-120 .hero-120{height:450px!important;min-height:450px!important;grid-template-columns:1fr!important}
  .home-pro-120 .hero-copy-120{position:absolute!important;left:0!important;top:0!important;bottom:0!important;width:54%!important;z-index:4!important;padding:38px 10px 38px 18px!important;background:linear-gradient(90deg,rgba(239,249,255,.98),rgba(239,249,255,.82),transparent)!important}
  .home-pro-120 .hero-copy-120 h1{font-size:28px!important}.home-pro-120 .hero-copy-120 p{font-size:12.5px!important}
  .home-pro-120 .hero-visual-120{height:100%!important}.home-pro-120 .hero-photo-120{object-position:62% 16%!important}
  .home-pro-120 .quick-access-120{height:auto!important;min-height:470px!important}
  .home-pro-120 .quick-access-120 .quick-access{min-height:220px!important}
  .home-pro-120 .news-pro-120{height:680px!important;min-height:680px!important}
  .home-pro-120 .news-slide-120{grid-template-columns:1fr!important;grid-template-rows:1fr!important}
  .home-pro-120 .news-slide-120 .news-card{display:none!important}
  .home-pro-120 .news-slide-120 .news-card:first-child{display:grid!important;grid-template-rows:45% 55%!important}
  .home-pro-120 .news-arrow-120{width:38px!important;height:38px!important}
}
@media(prefers-reduced-motion:reduce){
  .home-pro-120 .news-track-120{transition:none!important}
  .home-pro-120 .news-orbits-120 i{animation:none!important}
}

/* ============================================================
   TentoniNumérik 1.21.0 — reprise fidèle des maquettes validées
   ============================================================ */
body.home-route .floating-tools.public-floating{
  display:flex!important;
  position:fixed!important;
  right:18px!important;
  left:auto!important;
  top:auto!important;
  bottom:88px!important;
  z-index:120!important;
  flex-direction:column!important;
  gap:10px!important;
  transform:scale(.82)!important;
  transform-origin:bottom right!important;
}
body.home-route .floating-tools.public-floating .floating-hint{display:none!important}

.site-shell.home-mode .home-page.home-pro-121{
  height:auto!important;
  min-height:100%!important;
  padding:12px 20px 18px!important;
  overflow:visible!important;
}
.home-pro-121 .home-dashboard-121{
  display:grid!important;
  grid-template-columns:minmax(500px,.98fr) minmax(650px,1.22fr)!important;
  gap:20px!important;
  align-items:stretch!important;
  min-height:660px!important;
}
.home-pro-121 .home-left-121{
  display:grid!important;
  grid-template-rows:410px 236px!important;
  gap:14px!important;
  min-height:0!important;
}

/* Vitrine : même logique que la maquette, sans boutons Apprendre/Partager/Innover. */
.home-pro-121 .hero-121{
  display:grid!important;
  grid-template-columns:48% 52%!important;
  width:100%!important;
  height:410px!important;
  min-height:410px!important;
  position:relative!important;
  overflow:hidden!important;
  border-radius:25px!important;
  background:
    radial-gradient(circle at 16% 16%,rgba(255,255,255,.97),transparent 29%),
    linear-gradient(135deg,#eff9ff 0%,#e4f4ff 61%,#d9efff 100%)!important;
  border:1px solid rgba(151,194,231,.55)!important;
  box-shadow:0 15px 34px rgba(15,74,142,.10)!important;
}
.home-pro-121 .hero-copy-121{
  position:relative!important;
  z-index:4!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:34px 14px 34px 40px!important;
  min-width:0!important;
}
.home-pro-121 .hero-copy-121 h1{
  margin:0!important;
  color:#092568!important;
  line-height:1!important;
  font-weight:900!important;
}
.home-pro-121 .hero-welcome-121{
  display:block!important;
  font-size:34px!important;
  letter-spacing:-.7px!important;
  margin-bottom:5px!important;
}
.home-pro-121 .hero-brand-121{
  display:block!important;
  color:#0871ef!important;
  font-size:51px!important;
  letter-spacing:-1.7px!important;
}
.home-pro-121 .hero-copy-121 p{
  margin:22px 0 0!important;
  max-width:430px!important;
  color:#163d73!important;
  font-size:18px!important;
  line-height:1.55!important;
  font-weight:650!important;
}
.home-pro-121 .hero-visual-121{
  position:relative!important;
  min-width:0!important;
  overflow:hidden!important;
}
.home-pro-121 .hero-visual-121::before{
  content:""!important;
  position:absolute!important;
  inset:0 auto 0 -1px!important;
  width:22%!important;
  z-index:2!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,#e5f5ff 0%,rgba(229,245,255,.55) 34%,transparent 100%)!important;
}
.home-pro-121 .hero-photo-121{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:55% 16%!important;
  filter:saturate(1.05) brightness(1.04) contrast(1.02)!important;
  display:block!important;
}

/* Quatre blocs : fonds colorés, texte centré, CTA comme sur les maquettes. */
.home-pro-121 .quick-access-121{
  height:236px!important;
  min-height:236px!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  grid-template-rows:1fr 1fr!important;
  gap:11px!important;
}
.home-pro-121 .quick-access-121 .quick-access{
  height:100%!important;
  min-height:0!important;
  padding:12px 15px 11px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  border-radius:18px!important;
  overflow:hidden!important;
  text-align:center!important;
  box-shadow:0 9px 20px rgba(14,72,139,.08)!important;
  border:1px solid rgba(150,190,228,.42)!important;
}
.home-pro-121 .quick-access-121 .blue{background:linear-gradient(180deg,#e8f5ff 0%,#f7fbff 100%)!important}
.home-pro-121 .quick-access-121 .green{background:linear-gradient(180deg,#e8f8ef 0%,#f8fdf9 100%)!important}
.home-pro-121 .quick-access-121 .purple{background:linear-gradient(180deg,#f0e9ff 0%,#faf8ff 100%)!important}
.home-pro-121 .quick-access-121 .orange{background:linear-gradient(180deg,#fff0dc 0%,#fffaf2 100%)!important}
.home-pro-121 .quick-access-icon-shell{
  width:43px!important;
  height:43px!important;
  display:grid!important;
  place-items:center!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.home-pro-121 .quick-access-121 .quick-access-icon{width:39px!important;height:39px!important}
.home-pro-121 .quick-access-copy{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
}
.home-pro-121 .quick-access-121 .quick-access strong{
  display:block!important;
  color:#0b2a64!important;
  font-size:17px!important;
  line-height:1.12!important;
  letter-spacing:-.2px!important;
}
.home-pro-121 .quick-access-121 .quick-access small{
  display:block!important;
  max-width:270px!important;
  margin-top:4px!important;
  color:#294f82!important;
  font-size:11px!important;
  line-height:1.32!important;
  white-space:normal!important;
  opacity:1!important;
}
.home-pro-121 .quick-access-cta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-width:116px!important;
  margin-top:8px!important;
  padding:7px 17px!important;
  border-radius:999px!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:850!important;
  box-shadow:0 7px 14px rgba(18,83,158,.13)!important;
}
.home-pro-121 .blue .quick-access-cta{background:#0871ef!important}
.home-pro-121 .green .quick-access-cta{background:#10a75b!important}
.home-pro-121 .purple .quick-access-cta{background:#6d35dc!important}
.home-pro-121 .orange .quick-access-cta{background:#f08a18!important}
.home-pro-121 .quick-access-cta b{font-size:15px!important;line-height:1!important}

/* Actualités : 2 cartes visibles, défilement lent de 12 secondes. */
.home-pro-121 .news-pro-121{
  position:relative!important;
  isolation:isolate!important;
  min-height:660px!important;
  height:660px!important;
  display:grid!important;
  grid-template-rows:68px minmax(0,1fr) 28px!important;
  padding:15px 20px 14px!important;
  border-radius:25px!important;
  overflow:hidden!important;
  background:linear-gradient(145deg,#fff 0%,#f5faff 100%)!important;
  border:1px solid rgba(154,196,232,.56)!important;
  box-shadow:0 15px 35px rgba(13,66,132,.11)!important;
}
.home-pro-121 .news-heading-121{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:15px!important;
  border-bottom:1px solid #e4edf7!important;
  padding:0 2px 10px!important;
  position:relative!important;
  z-index:4!important;
}
.home-pro-121 .news-heading-121 h2{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  color:#082568!important;
  font-size:31px!important;
  line-height:1!important;
  letter-spacing:-.7px!important;
}
.home-pro-121 .news-heading-121 h2 img{width:34px!important;height:34px!important}
.home-pro-121 .news-heading-121>a{
  font-size:14px!important;
  font-weight:850!important;
  padding:10px 14px!important;
  border:1px solid #d5e5f4!important;
  border-radius:12px!important;
  background:#fff!important;
}
.home-pro-121 .news-slider-121{
  position:relative!important;
  z-index:4!important;
  min-height:0!important;
  height:100%!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 42px!important;
  align-items:center!important;
  gap:8px!important;
}
.home-pro-121 .news-viewport-121{
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:17px 0 10px!important;
}
.home-pro-121 .news-track-121{
  width:300%!important;
  height:100%!important;
  display:flex!important;
  transition:transform .72s cubic-bezier(.2,.72,.22,1)!important;
  will-change:transform!important;
}
.home-pro-121 .news-slide-121{
  width:33.333333%!important;
  flex:0 0 33.333333%!important;
  height:100%!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  padding:0 3px!important;
  box-sizing:border-box!important;
}
.home-pro-121 .news-slide-121 .news-card,
.home-pro-121 .news-slide-121 .news-card:nth-child(even){
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-rows:46% 54%!important;
  border-radius:19px!important;
  overflow:hidden!important;
  border:1px solid #dce8f4!important;
  background:#fff!important;
  box-shadow:0 10px 22px rgba(13,66,132,.10)!important;
  transform:perspective(900px) rotateY(0deg)!important;
  transition:transform .28s ease,box-shadow .28s ease!important;
}
.home-pro-121 .news-slide-121 .news-card:hover{
  transform:perspective(900px) translateY(-4px) rotateY(-1.3deg)!important;
  box-shadow:0 17px 30px rgba(13,66,132,.15)!important;
}
.home-pro-121 .news-slide-121 .news-media{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#eaf3fb!important;
}
.home-pro-121 .news-slide-121 .news-media::after{display:none!important}
.home-pro-121 .news-slide-121 .news-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
}
.home-pro-121 .news-slide-121 .news-tag{
  top:10px!important;
  left:10px!important;
  font-size:10px!important;
  padding:6px 9px!important;
  border-radius:8px!important;
}
.home-pro-121 .news-slide-121 .news-body{
  min-width:0!important;
  min-height:0!important;
  padding:15px 16px 15px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  overflow:hidden!important;
}
.home-pro-121 .publication-meta{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:9px!important;
  padding-bottom:7px!important;
  border-bottom:1px solid #e7eef6!important;
}
.home-pro-121 .news-date{font-size:12px!important;font-weight:850!important;color:#56708f!important}
.home-pro-121 .publication-source{
  max-width:58%!important;
  font-size:11px!important;
  line-height:1.22!important;
  font-weight:750!important;
  color:#71849d!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.home-pro-121 .news-slide-121 .news-body h3{
  margin:0!important;
  color:#0b2a64!important;
  font-size:19px!important;
  line-height:1.18!important;
  letter-spacing:-.25px!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
}
.home-pro-121 .news-slide-121 .news-body p{
  margin:0!important;
  color:#405a7b!important;
  font-size:13px!important;
  line-height:1.48!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:4!important;
  overflow:hidden!important;
}
.home-pro-121 .news-slide-121 .soft-link{
  margin-top:auto!important;
  align-self:flex-start!important;
  font-size:12.5px!important;
  padding:8px 11px!important;
}
.home-pro-121 .news-arrow-121{
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
  border:1px solid #d5e4f3!important;
  background:#fff!important;
  color:#153a75!important;
  font-size:31px!important;
  line-height:1!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:0 8px 18px rgba(13,66,132,.10)!important;
  cursor:pointer!important;
  z-index:5!important;
}
.home-pro-121 .news-pagination-121{
  position:relative!important;
  z-index:5!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:6px!important;
}
.home-pro-121 .news-pagination-121 button{
  width:8px!important;
  height:8px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:#c4cedb!important;
}
.home-pro-121 .news-pagination-121 button.active{
  width:20px!important;
  border-radius:999px!important;
  background:#287af3!important;
}

/* 3D très légère en arrière-plan, sans gêner les cartes. */
.home-pro-121 .news-orbits-121{
  position:absolute!important;
  inset:84px 56px 40px!important;
  z-index:1!important;
  pointer-events:none!important;
  opacity:.15!important;
  overflow:hidden!important;
}
.home-pro-121 .news-orbits-121 i{
  position:absolute!important;
  border-radius:50%!important;
  border:1px solid rgba(59,144,229,.20)!important;
  background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.94),rgba(91,177,250,.13) 45%,transparent 73%)!important;
}
.home-pro-121 .news-orbits-121 i:nth-child(1){width:105px!important;height:105px!important;left:7%!important;top:8%!important;animation:orb121a 22s ease-in-out infinite alternate!important}
.home-pro-121 .news-orbits-121 i:nth-child(2){width:74px!important;height:74px!important;right:9%!important;top:18%!important;animation:orb121b 25s ease-in-out infinite alternate!important}
.home-pro-121 .news-orbits-121 i:nth-child(3){width:130px!important;height:130px!important;right:30%!important;bottom:2%!important;animation:orb121a 29s ease-in-out infinite alternate-reverse!important}
@keyframes orb121a{from{transform:translate3d(-8px,6px,0)}to{transform:translate3d(18px,-16px,0)}}
@keyframes orb121b{from{transform:translate3d(5px,-4px,0)}to{transform:translate3d(-15px,18px,0)}}

@media(max-width:1180px){
  .home-pro-121 .home-dashboard-121{grid-template-columns:minmax(430px,.96fr) minmax(560px,1.14fr)!important}
  .home-pro-121 .hero-welcome-121{font-size:29px!important}
  .home-pro-121 .hero-brand-121{font-size:43px!important}
  .home-pro-121 .hero-copy-121 p{font-size:16px!important}
  .home-pro-121 .quick-access-121 .quick-access strong{font-size:15px!important}
  .home-pro-121 .quick-access-121 .quick-access small{font-size:10px!important}
  body.home-route .floating-tools.public-floating{right:5px!important;transform:scale(.66)!important}
}
@media(max-width:820px){
  .site-shell.home-mode .home-page.home-pro-121{padding:10px 12px 20px!important}
  .home-pro-121 .home-dashboard-121{display:flex!important;flex-direction:column!important}
  .home-pro-121 .home-left-121{display:flex!important;flex-direction:column!important}
  .home-pro-121 .hero-121{height:450px!important;min-height:450px!important;grid-template-columns:1fr!important}
  .home-pro-121 .hero-copy-121{position:absolute!important;inset:0 auto 0 0!important;width:55%!important;z-index:4!important;padding:38px 10px 38px 18px!important;background:linear-gradient(90deg,rgba(239,249,255,.98),rgba(239,249,255,.84),transparent)!important}
  .home-pro-121 .hero-welcome-121{font-size:24px!important}.home-pro-121 .hero-brand-121{font-size:33px!important}
  .home-pro-121 .hero-copy-121 p{font-size:12.5px!important}
  .home-pro-121 .hero-photo-121{object-position:63% 17%!important}
  .home-pro-121 .quick-access-121{height:auto!important;min-height:550px!important}
  .home-pro-121 .quick-access-121 .quick-access{min-height:260px!important}
  .home-pro-121 .news-pro-121{height:690px!important;min-height:690px!important}
  .home-pro-121 .news-slide-121{grid-template-columns:1fr!important}
  .home-pro-121 .news-slide-121 .news-card:nth-child(2){display:none!important}
  body.home-route .floating-tools.public-floating{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  .home-pro-121 .news-track-121{transition:none!important}
  .home-pro-121 .news-orbits-121 i{animation:none!important}
}


/* ============================================================
   TentoniNumérik 1.22.0 — lisibilité renforcée
   ============================================================ */
.home-pro-121 .hero-brand-black-122{color:#0a2259!important}
.home-pro-121 .hero-brand-blue-122{color:#0871ef!important}
.home-pro-121 .hero-sub-122{
  text-align:justify!important;
  text-justify:inter-word!important;
}

/* Blocs : plus hauts pour montrer logo et bouton */
.home-pro-121 .home-left-121{
  grid-template-rows:398px 272px!important;
}
.home-pro-121 .hero-121{
  height:398px!important;
  min-height:398px!important;
}
.home-pro-121 .quick-access-121{
  height:272px!important;
  min-height:272px!important;
  gap:12px!important;
}
.home-pro-121 .quick-access-121 .quick-access{
  padding:14px 15px 13px!important;
  gap:8px!important;
}
.home-pro-121 .quick-access-icon-shell{
  width:48px!important;height:48px!important;
}
.home-pro-121 .quick-access-121 .quick-access-icon{
  width:44px!important;height:44px!important;
}
.home-pro-121 .quick-access-121 .quick-access strong{
  font-size:18px!important;
}
.home-pro-121 .quick-access-121 .quick-access small{
  font-size:11.5px!important;
  line-height:1.34!important;
  max-width:250px!important;
}
.home-pro-121 .quick-access-cta{
  min-width:126px!important;
  margin-top:10px!important;
  padding:8px 18px!important;
  font-size:12px!important;
  visibility:visible!important;
  opacity:1!important;
}

/* Actualités : boutons et points visibles, pages remplacées au lieu d'un défilement latéral */
.home-pro-121 .news-pro-121{
  height:670px!important;
  min-height:670px!important;
}
.home-pro-121 .news-slider-121{
  grid-template-columns:48px minmax(0,1fr) 48px!important;
  gap:10px!important;
}
.home-pro-121 .news-viewport-121{
  position:relative!important;
  overflow:hidden!important;
  min-height:520px!important;
}
.home-pro-121 .news-track-121{
  width:100%!important;
  height:100%!important;
  position:relative!important;
  display:block!important;
  transform:none!important;
}
.home-pro-121 .news-slide-121{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(16px) scale(.987)!important;
  transition:opacity .55s ease, transform .55s ease, visibility .55s ease!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  padding:0 5px!important;
}
.home-pro-121 .news-slide-121.is-active{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateY(0) scale(1)!important;
}
.home-pro-121 .news-slide-121 .news-card{
  min-height:500px!important;
}
.home-pro-121 .news-slide-121 .news-body{
  padding:15px 16px 16px!important;
}
.home-pro-121 .news-slide-121 .news-body p{
  -webkit-line-clamp:5!important;
}
.home-pro-121 .news-slide-121 .soft-link{
  margin-top:auto!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  z-index:2!important;
}
.home-pro-121 .news-arrow-121{
  width:46px!important;
  height:46px!important;
  font-size:33px!important;
}
.home-pro-121 .news-pagination-121{
  margin-top:6px!important;
}
.home-pro-121 .news-pagination-121 button{
  width:10px!important;
  height:10px!important;
  background:#b7c5d8!important;
  opacity:1!important;
  visibility:visible!important;
}
.home-pro-121 .news-pagination-121 button.active{
  width:24px!important;
  height:10px!important;
  background:#2677ef!important;
}
@media(max-width:1180px){
  .home-pro-121 .home-left-121{grid-template-rows:392px 292px!important}
  .home-pro-121 .hero-121{height:392px!important;min-height:392px!important}
  .home-pro-121 .quick-access-121{height:292px!important;min-height:292px!important}
  .home-pro-121 .quick-access-121 .quick-access strong{font-size:16px!important}
  .home-pro-121 .quick-access-121 .quick-access small{font-size:10.6px!important}
}
@media(max-width:820px){
  .home-pro-121 .quick-access-121{
    min-height:620px!important;
    height:auto!important;
  }
  .home-pro-121 .news-slide-121{
    grid-template-columns:1fr!important;
  }
  .home-pro-121 .news-slide-121 .news-card:nth-child(2){
    display:none!important;
  }
}


/* ============================================================
   TentoniNumérik 1.23.0 — ajustements de la zone Bienvenue et des 4 blocs
   ============================================================ */
.home-pro-121 .home-left-121{
  grid-template-rows:410px 356px!important;
}
.home-pro-121 .hero-121{
  grid-template-columns:46% 54%!important;
  height:410px!important;
  min-height:410px!important;
}
.home-pro-121 .hero-copy-121{
  justify-content:flex-start!important;
  padding:76px 18px 26px 40px!important;
}
.home-pro-121 .hero-welcome-121{
  font-size:28px!important;
  margin-bottom:6px!important;
  color:#1874f0!important;
}
.home-pro-121 .hero-brand-121{
  font-size:42px!important;
  letter-spacing:-1.2px!important;
  line-height:.98!important;
}
.home-pro-121 .hero-copy-121 p,
.home-pro-121 .hero-sub-122{
  margin-top:22px!important;
  max-width:350px!important;
  text-align:left!important;
  text-justify:auto!important;
  word-spacing:normal!important;
  letter-spacing:normal!important;
  line-height:1.5!important;
}
.home-pro-121 .hero-visual-121::before{
  width:30%!important;
  background:linear-gradient(90deg,#e5f5ff 0%,rgba(229,245,255,.92) 28%,rgba(229,245,255,.45) 55%,transparent 100%)!important;
}
.home-pro-121 .hero-photo-121{
  object-position:62% 12%!important;
}

/* 4 blocs : plus grands, logo et bouton entièrement visibles */
.home-pro-121 .quick-access-121{
  height:356px!important;
  min-height:356px!important;
  gap:14px!important;
}
.home-pro-121 .quick-access-121 .quick-access{
  padding:18px 18px 16px!important;
  justify-content:space-between!important;
  gap:10px!important;
}
.home-pro-121 .quick-access-copy{
  flex:1 1 auto!important;
  justify-content:flex-start!important;
  width:100%!important;
}
.home-pro-121 .quick-access-icon-shell{
  width:54px!important;
  height:54px!important;
  margin-top:2px!important;
}
.home-pro-121 .quick-access-121 .quick-access-icon{
  width:48px!important;
  height:48px!important;
}
.home-pro-121 .quick-access-121 .quick-access strong{
  font-size:19px!important;
  line-height:1.1!important;
}
.home-pro-121 .quick-access-121 .quick-access small{
  font-size:12px!important;
  line-height:1.36!important;
  max-width:270px!important;
  margin-top:6px!important;
}
.home-pro-121 .quick-access-cta{
  margin-top:12px!important;
  margin-bottom:2px!important;
  min-width:132px!important;
  padding:9px 18px!important;
  font-size:12px!important;
  align-self:center!important;
}

/* Réductions modérées sur écrans moyens */
@media(max-width:1180px){
  .home-pro-121 .home-left-121{grid-template-rows:398px 368px!important}
  .home-pro-121 .hero-121{height:398px!important;min-height:398px!important}
  .home-pro-121 .hero-copy-121{padding:78px 12px 24px 28px!important}
  .home-pro-121 .hero-brand-121{font-size:38px!important}
  .home-pro-121 .hero-copy-121 p,.home-pro-121 .hero-sub-122{max-width:320px!important;font-size:16px!important}
  .home-pro-121 .quick-access-121{height:368px!important;min-height:368px!important}
}
@media(max-width:820px){
  .home-pro-121 .hero-121{
    height:470px!important;
    min-height:470px!important;
    grid-template-columns:1fr!important;
  }
  .home-pro-121 .hero-copy-121{
    position:absolute!important;
    inset:0 auto 0 0!important;
    width:58%!important;
    padding:92px 10px 24px 18px!important;
  }
  .home-pro-121 .hero-brand-121{font-size:34px!important}
  .home-pro-121 .hero-copy-121 p,.home-pro-121 .hero-sub-122{font-size:12.5px!important;max-width:210px!important}
  .home-pro-121 .quick-access-121{
    height:auto!important;
    min-height:700px!important;
  }
  .home-pro-121 .quick-access-121 .quick-access{
    min-height:320px!important;
  }
}


/* ============================================================
   TentoniNumérik 1.25.0 — correction ciblée après retour utilisateur
   Base reprise depuis 1.23.0 (plus propre visuellement)
   ============================================================ */
.home-pro-121 .home-left-121{
  grid-template-rows:388px 340px!important;
}
.home-pro-121 .hero-121{
  height:388px!important;
  min-height:388px!important;
}
.home-pro-121 .hero-copy-121{
  justify-content:flex-start!important;
  padding:94px 18px 18px 36px!important;
}
.home-pro-121 .hero-welcome-121{
  margin-bottom:6px!important;
}
.home-pro-121 .hero-brand-121{
  font-size:42px!important;
  line-height:0.98!important;
}
.home-pro-121 .hero-copy-121 p,
.home-pro-121 .hero-sub-122{
  margin-top:18px!important;
  max-width:312px!important;
  text-align:left!important;
  text-justify:auto!important;
  word-spacing:normal!important;
  letter-spacing:normal!important;
  line-height:1.38!important;
}
.home-pro-121 .hero-photo-121{
  object-position:61% 12%!important;
}
.home-pro-121 .hero-visual-121::before{
  width:31%!important;
}

/* 4 cartes : garder tout visible dans l'écran */
.home-pro-121 .quick-access-121{
  height:340px!important;
  min-height:340px!important;
  gap:14px!important;
}
.home-pro-121 .quick-access-121 .quick-access{
  min-height:163px!important;
  padding:14px 14px 12px!important;
  gap:8px!important;
  justify-content:space-between!important;
  overflow:visible!important;
}
.home-pro-121 .quick-access-copy{
  gap:2px!important;
}
.home-pro-121 .quick-access-icon-shell{
  width:46px!important;
  height:46px!important;
  margin-top:0!important;
}
.home-pro-121 .quick-access-121 .quick-access-icon{
  width:40px!important;
  height:40px!important;
}
.home-pro-121 .quick-access-121 .quick-access strong{
  font-size:17px!important;
  line-height:1.1!important;
}
.home-pro-121 .quick-access-121 .quick-access small{
  font-size:11px!important;
  line-height:1.28!important;
  max-width:240px!important;
  margin-top:4px!important;
}
.home-pro-121 .quick-access-cta{
  margin-top:6px!important;
  margin-bottom:0!important;
  min-width:120px!important;
  padding:8px 16px!important;
  font-size:11px!important;
  align-self:center!important;
}

/* Actualités : pagination plus visible */
.home-pro-121 .news-pagination-121{
  margin-top:-2px!important;
  margin-bottom:8px!important;
  position:relative!important;
  top:-4px!important;
}

/* Ajustements écrans moyens */
@media(max-width:1180px){
  .home-pro-121 .home-left-121{grid-template-rows:378px 350px!important}
  .home-pro-121 .hero-121{height:378px!important;min-height:378px!important}
  .home-pro-121 .hero-copy-121{padding:92px 14px 16px 28px!important}
  .home-pro-121 .hero-brand-121{font-size:38px!important}
  .home-pro-121 .hero-copy-121 p,.home-pro-121 .hero-sub-122{max-width:286px!important;font-size:15px!important}
  .home-pro-121 .quick-access-121{height:350px!important;min-height:350px!important}
  .home-pro-121 .quick-access-121 .quick-access small{font-size:10.5px!important;max-width:214px!important}
}
@media(max-width:820px){
  .home-pro-121 .hero-121{
    height:454px!important;
    min-height:454px!important;
    grid-template-columns:1fr!important;
  }
  .home-pro-121 .hero-copy-121{
    position:absolute!important;
    inset:0 auto 0 0!important;
    width:58%!important;
    padding:104px 10px 18px 18px!important;
  }
  .home-pro-121 .hero-brand-121{font-size:32px!important}
  .home-pro-121 .hero-copy-121 p,.home-pro-121 .hero-sub-122{font-size:12px!important;max-width:205px!important}
  .home-pro-121 .quick-access-121{
    height:auto!important;
    min-height:680px!important;
  }
  .home-pro-121 .quick-access-121 .quick-access{
    min-height:310px!important;
  }
}

/* ============================================================
   TentoniNumérik 1.26.0 — ajustement final partie gauche uniquement
   ============================================================ */

/* Bannière plus compacte pour libérer de la place aux quatre blocs */
.home-pro-121 .home-left-121{
  grid-template-rows:352px 360px!important;
  gap:14px!important;
}

.home-pro-121 .hero-121{
  height:352px!important;
  min-height:352px!important;
}

/* Le texte reste dans sa propre zone et descend légèrement */
.home-pro-121 .hero-copy-121{
  justify-content:flex-start!important;
  padding:86px 16px 18px 34px!important;
}

.home-pro-121 .hero-welcome-121{
  font-size:27px!important;
  margin-bottom:5px!important;
}

.home-pro-121 .hero-brand-121{
  font-size:40px!important;
  line-height:1!important;
}

.home-pro-121 .hero-copy-121 p,
.home-pro-121 .hero-sub-122{
  margin-top:16px!important;
  max-width:305px!important;
  text-align:left!important;
  line-height:1.4!important;
}

/* Photo légèrement remontée/cadrée sans toucher au visage */
.home-pro-121 .hero-photo-121{
  object-position:61% 10%!important;
}

/* Quatre blocs : toute la hauteur utile doit rester visible avant le footer */
.home-pro-121 .quick-access-121{
  height:360px!important;
  min-height:360px!important;
  gap:12px!important;
}

.home-pro-121 .quick-access-121 .quick-access{
  min-height:174px!important;
  padding:14px 14px 12px!important;
  justify-content:space-between!important;
  gap:8px!important;
  overflow:hidden!important;
}

.home-pro-121 .quick-access-icon-shell{
  width:46px!important;
  height:46px!important;
}

.home-pro-121 .quick-access-121 .quick-access-icon{
  width:40px!important;
  height:40px!important;
}

.home-pro-121 .quick-access-121 .quick-access strong{
  font-size:17px!important;
  line-height:1.08!important;
}

.home-pro-121 .quick-access-121 .quick-access small{
  font-size:10.8px!important;
  line-height:1.26!important;
  max-width:235px!important;
  margin-top:4px!important;
}

.home-pro-121 .quick-access-cta{
  min-width:118px!important;
  margin-top:6px!important;
  margin-bottom:0!important;
  padding:7px 15px!important;
  font-size:10.8px!important;
}

/* Empêcher le footer de recouvrir visuellement les cartes sur l'accueil */
.site-shell.home-mode .site-footer{
  position:relative!important;
  z-index:20!important;
  margin-top:10px!important;
}

.site-shell.home-mode main{
  padding-bottom:0!important;
}

/* Écrans moyens */
@media(max-width:1180px){
  .home-pro-121 .home-left-121{
    grid-template-rows:344px 374px!important;
  }

  .home-pro-121 .hero-121{
    height:344px!important;
    min-height:344px!important;
  }

  .home-pro-121 .hero-copy-121{
    padding:82px 12px 16px 26px!important;
  }

  .home-pro-121 .hero-brand-121{
    font-size:36px!important;
  }

  .home-pro-121 .hero-copy-121 p,
  .home-pro-121 .hero-sub-122{
    max-width:275px!important;
    font-size:14.5px!important;
  }

  .home-pro-121 .quick-access-121{
    height:374px!important;
    min-height:374px!important;
  }

  .home-pro-121 .quick-access-121 .quick-access small{
    font-size:10.1px!important;
    max-width:210px!important;
  }
}

/* Mobile : conserver les cartes complètes et empilées proprement */
@media(max-width:820px){
  .home-pro-121 .hero-121{
    height:430px!important;
    min-height:430px!important;
  }

  .home-pro-121 .hero-copy-121{
    padding:96px 10px 18px 18px!important;
  }

  .home-pro-121 .hero-brand-121{
    font-size:31px!important;
  }

  .home-pro-121 .quick-access-121{
    height:auto!important;
    min-height:660px!important;
  }

  .home-pro-121 .quick-access-121 .quick-access{
    min-height:300px!important;
  }
}


/* ============================================================
   TentoniNumérik 1.27.0 — module Présences enrichi uniquement
   ============================================================ */
.attendance-edit-note{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 9px;
  padding:8px 11px;
  border:1px solid #dce8f6;
  border-radius:11px;
  background:#f8fbff;
  color:#5f7594;
  font-size:10.5px;
}
.attendance-edit-note b{color:#153e75;font-size:11px}
.attendance-date-pick{
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  font-weight:900;
  cursor:pointer;
  padding:5px 7px;
  border-radius:7px;
}
.attendance-date-pick:hover{background:#e7f2ff;color:#075fca}
.attendance-history-cell:not(:disabled){cursor:pointer;opacity:.94}
.attendance-history-cell:not(:disabled):hover{transform:scale(1.12);box-shadow:0 0 0 4px rgba(9,111,236,.10)}

.attendance-grid tbody th{
  display:table-cell!important;
  padding:0!important;
  vertical-align:middle;
}
.student-profile-trigger{
  width:100%;
  min-height:46px;
  display:grid;
  grid-template-columns:24px 34px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:5px 8px;
  border:0;
  background:transparent;
  color:#384c6a;
  text-align:left;
  font:inherit;
  font-weight:750;
  cursor:pointer;
}
.student-profile-trigger:hover{background:#e8f3ff}
.student-profile-trigger .student-name{min-width:0}
.student-edit-hint{
  color:#0a6fec;
  font-size:8px;
  font-weight:900;
  opacity:0;
  transition:opacity .16s ease;
}
.student-profile-trigger:hover .student-edit-hint{opacity:1}
.student-avatar.has-photo,
.student-profile-photo.has-photo{overflow:hidden;background:#eef5ff}
.student-avatar img,
.student-profile-photo img{width:100%;height:100%;object-fit:cover;display:block}

/* Fiche élève modale */
.student-profile-overlay{
  position:fixed;
  inset:0;
  z-index:1600;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(17,31,55,.42);
  backdrop-filter:blur(3px);
}
.student-profile-dialog{
  width:min(860px,96vw);
  max-height:min(820px,92vh);
  overflow:hidden;
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr) auto;
  background:#fff;
  border:1px solid #d5e2f0;
  border-radius:20px;
  box-shadow:0 24px 70px rgba(10,32,68,.28);
}
.student-profile-dialog>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 18px 12px;
  border-bottom:1px solid #e7eef7;
}
.student-profile-head{display:flex;align-items:center;gap:14px;min-width:0}
.student-profile-head>div{min-width:0}
.student-profile-head small{font-size:9px;font-weight:900;letter-spacing:.12em;color:#e76f09}
.student-profile-head h2{margin:2px 0 1px;color:#10275f;font-size:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.student-profile-head p{margin:0;color:#71819a;font-size:11px;font-weight:750}
.student-profile-photo{
  width:76px;
  height:76px;
  flex:0 0 76px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:3px solid #f08217;
  background:linear-gradient(135deg,#e7f2ff,#f7ecff);
  color:#194d98;
  font-size:19px;
  font-weight:950;
  overflow:hidden;
}
.student-photo-editor{display:grid;justify-items:center;gap:4px;cursor:default}
.student-photo-editor.editable{cursor:pointer}
.student-photo-editor>span:last-child{font-size:8px;font-weight:850;color:#0a69db}
.student-profile-actions{display:flex;gap:8px}
.student-profile-actions button{
  min-height:38px;
  border:1px solid #d3dfed;
  border-radius:10px;
  background:#fff;
  color:#435873;
  font-weight:850;
  padding:0 13px;
  cursor:pointer;
}
.student-profile-actions .primary{border-color:#0a6fec;background:#0a6fec;color:#fff}

.student-profile-tabs{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border-bottom:1px solid #e7eef7;
  background:#fbfdff;
}
.student-profile-tabs button{
  height:48px;
  border:0;
  border-bottom:3px solid transparent;
  background:transparent;
  color:#687993;
  font-size:10px;
  font-weight:850;
  cursor:pointer;
}
.student-profile-tabs button:hover{background:#f0f7ff;color:#174d91}
.student-profile-tabs button.active{color:#e56c08;border-bottom-color:#ef7c13;background:#fff}

.student-profile-content{overflow:auto;padding:18px}
.student-profile-content>[data-profile-panel]{display:none}
.student-profile-content>[data-profile-panel].active{display:block}
.student-profile-content h3{margin:22px 0 10px;color:#e56c08;font-size:16px;border-bottom:1px solid #edf1f6;padding-bottom:7px}
.profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.profile-fields label,.profile-large-field{
  display:flex;
  flex-direction:column;
  gap:5px;
  color:#ea700d;
  font-size:10px;
  font-weight:850;
}
.profile-fields label.wide{grid-column:1/-1}
.profile-fields input,.profile-fields textarea,.profile-large-field input,.profile-large-field textarea{
  min-height:40px;
  border:0;
  border-bottom:1px solid #dce6f1;
  outline:none;
  background:#fff;
  color:#374a63;
  font:inherit;
  font-size:13px;
  padding:7px 2px;
  resize:vertical;
}
.profile-fields textarea,.profile-large-field textarea{min-height:86px}
.profile-fields input:focus,.profile-fields textarea:focus,.profile-large-field input:focus,.profile-large-field textarea:focus{border-bottom-color:#0a70eb;background:#fbfdff}
.profile-fields input:disabled,.profile-fields textarea:disabled,.profile-large-field input:disabled,.profile-large-field textarea:disabled{color:#7f8c9e;background:#fafafa}
.profile-info-card{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:16px;
  border:1px solid #dce8f5;
  border-radius:12px;
  background:#f8fbff;
  margin-bottom:18px;
}
.profile-info-card span{color:#6f819d}.profile-info-card strong{color:#132f65}
.profile-help{color:#75869e;font-size:11px;line-height:1.55}

.student-history-list{display:grid;gap:7px}
.student-history-list article{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:12px;
  align-items:center;
  padding:9px 10px;
  border:1px solid #e2ebf5;
  border-radius:10px;
  background:#fbfdff;
}
.student-history-list article>div{display:flex;gap:9px;align-items:center}
.student-history-list article strong{color:#263e66}.student-history-list article div span{color:#8190a4;font-size:10px}
.history-status{display:inline-flex;align-items:center;gap:6px;color:#4e627e;font-size:10px;font-weight:800}
.history-status i{width:10px;height:10px;border-radius:50%;background:var(--attendance-color,#aeb8c6)}
.history-status.is-present{--attendance-color:#13c94b}.history-status.is-absent{--attendance-color:#ed1534}.history-status.is-late{--attendance-color:#f2a51a}.history-status.is-excused{--attendance-color:#ec3150}.history-status.is-excused-late{--attendance-color:#6f6f7c}.history-status.is-expelled{--attendance-color:#b30f44}
.student-history-list button{
  border:1px solid #cdddef;
  border-radius:8px;
  background:#fff;
  color:#0a65cf;
  font-size:9px;
  font-weight:900;
  padding:6px 9px;
  cursor:pointer;
}
.profile-empty{padding:18px;border:1px dashed #d3dfec;border-radius:11px;color:#7689a2;text-align:center}

.student-profile-dialog>footer{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 18px;
  border-top:1px solid #e7eef7;
  background:#fafcff;
  color:#607691;
  font-size:10px;
}
#student-profile-message{font-weight:850;color:#0b6bcf}

@media(max-width:760px){
  .student-profile-overlay{padding:8px}
  .student-profile-dialog{width:100%;max-height:96vh;border-radius:14px}
  .student-profile-dialog>header{align-items:flex-start}
  .student-profile-photo{width:58px;height:58px;flex-basis:58px}
  .student-profile-tabs{overflow:auto;display:flex}
  .student-profile-tabs button{min-width:105px;padding:0 10px}
  .profile-fields{grid-template-columns:1fr}
  .profile-fields label.wide{grid-column:auto}
  .student-history-list article{grid-template-columns:1fr auto}
  .student-history-list article button{grid-column:1/-1}
  .student-edit-hint{display:none}
}


/* ============================================================
   TentoniNumérik 1.28.0 — options Additio adaptées à Présences
   ============================================================ */
.attendance-toolbar{
  grid-template-columns:minmax(145px,1fr) minmax(135px,.72fr) minmax(135px,.72fr) auto auto auto auto!important;
}
.attendance-secondary-action{
  height:40px;
  border:1px solid #c8d9ec;
  border-radius:10px;
  background:#fff;
  color:#155aa9;
  font-weight:900;
  padding:0 12px;
  white-space:nowrap;
  cursor:pointer;
}
.attendance-secondary-action:hover{background:#eef6ff}

/* Menu Actions du profil */
.student-actions-wrap{position:relative}
.student-actions-menu{
  position:absolute;
  top:44px;
  right:0;
  z-index:20;
  width:230px;
  padding:6px;
  border:1px solid #d5e0ed;
  border-radius:11px;
  background:#fff;
  box-shadow:0 14px 34px rgba(12,35,68,.18);
}
.student-actions-menu button{
  width:100%;
  min-height:36px;
  border:0;
  border-radius:7px;
  background:#fff;
  color:#344a68;
  text-align:left;
  padding:7px 9px;
  cursor:pointer;
}
.student-actions-menu button:hover:not(:disabled){background:#eef6ff}
.student-actions-menu button:disabled{color:#bbc3cd;cursor:not-allowed}
.student-actions-menu button.danger{color:#e02836}

/* Petites fenêtres d’action */
.attendance-mini-overlay{
  position:fixed;
  inset:0;
  z-index:1900;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(18,30,50,.38);
  backdrop-filter:blur(2px);
}
.attendance-mini-dialog{
  width:min(480px,94vw);
  max-height:88vh;
  overflow:auto;
  background:#fff;
  border:1px solid #d7e2ee;
  border-radius:16px;
  box-shadow:0 22px 60px rgba(14,34,64,.28);
}
.attendance-mini-dialog>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid #e8eef5;
}
.attendance-mini-dialog>header h3{margin:0;color:#183867;font-size:18px}
.attendance-mini-dialog>header button{
  width:34px;height:34px;border:0;border-radius:50%;background:#f3f6fa;color:#49617f;font-size:22px;cursor:pointer
}
.attendance-mini-dialog>p{margin:14px 16px;color:#647792;font-size:12px;line-height:1.5}
.attendance-mini-fields{display:grid;gap:12px;padding:16px}
.attendance-mini-fields label{
  display:flex;
  flex-direction:column;
  gap:5px;
  color:#596f8d;
  font-size:10px;
  font-weight:850;
}
.attendance-mini-fields input,.attendance-mini-fields textarea{
  border:1px solid #cad9e9;
  border-radius:9px;
  padding:9px 10px;
  font:inherit;
  font-size:13px;
  color:#334963;
}
.attendance-mini-fields textarea{min-height:110px;resize:vertical}
.attendance-mini-dialog>footer{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  padding:12px 16px;
  border-top:1px solid #e8eef5;
}
.attendance-mini-dialog>footer button{
  min-height:38px;border:1px solid #cedae7;border-radius:9px;background:#fff;color:#435975;font-weight:850;padding:0 14px;cursor:pointer
}
.attendance-mini-dialog>footer button.primary{background:#0a6fec;border-color:#0a6fec;color:#fff}
.attendance-mini-dialog>footer button.danger{background:#d92c3d;border-color:#d92c3d}
#mini-message,#communication-message,#removed-message{min-height:20px;margin:0;padding:0 16px 14px;color:#c13646;font-size:11px;font-weight:750}
.danger-confirm{padding:14px;border:1px solid #f0ccd1;border-radius:11px;background:#fff7f8}
.danger-confirm strong{color:#b42636}.danger-confirm p{margin:6px 0 0;color:#7f5c63;line-height:1.5}

/* Communications */
.communication-options{display:grid;gap:8px;padding:0 16px 16px}
.communication-options button{
  min-height:42px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border:1px solid #d4dde8;
  border-radius:9px;
  background:#fff;
  color:#566a84;
  padding:0 14px;
  cursor:pointer;
}
.communication-options button:hover{background:#f6faff}
.communication-options button.active{border-color:#44bb64;background:#f2fff5;color:#24773a;font-weight:900}

/* Élèves retirés */
.removed-list{display:grid;gap:8px;padding:14px 16px}
.removed-list article{
  display:grid;
  grid-template-columns:36px 1fr auto;
  gap:10px;
  align-items:center;
  padding:8px 9px;
  border:1px solid #e0e9f3;
  border-radius:10px;
  background:#fbfdff;
}
.removed-list article strong{color:#324a68}
.removed-list article button{
  border:1px solid #bfd5ee;border-radius:8px;background:#fff;color:#0a66d0;font-size:10px;font-weight:900;padding:7px 10px;cursor:pointer
}

/* Contenus supplémentaires du profil */
.profile-panel-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 10px;
}
.profile-panel-toolbar h3{margin:0!important;flex:1}
.profile-panel-toolbar button{
  border:1px solid #c9d9eb;
  border-radius:9px;
  background:#fff;
  color:#0a66d0;
  font-size:10px;
  font-weight:900;
  padding:7px 10px;
  cursor:pointer;
}
.profile-panel-toolbar .resource-plus{
  width:44px;
  height:44px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#ff7a00;
  color:#fff;
  font-size:25px;
  box-shadow:0 8px 18px rgba(255,122,0,.22);
}
.student-profile-feed,.student-resources-list{display:grid;gap:8px;margin-top:10px}
.student-profile-feed article,.student-resource-item{
  border:1px solid #e0e9f3;
  border-radius:11px;
  background:#fbfdff;
  padding:10px 11px;
}
.student-profile-feed article>div,.student-resource-item>div:first-child{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
}
.student-profile-feed strong,.student-resource-item strong{color:#294568}
.student-profile-feed span,.student-resource-item span{color:#8492a5;font-size:9px}
.student-profile-feed p,.student-resource-item p{margin:7px 0 0;color:#60728c;font-size:11px;line-height:1.45}
.resource-actions{display:flex!important;justify-content:flex-end!important;gap:8px!important;margin-top:8px}
.resource-actions a,.resource-actions button{
  border:1px solid #cbdbea;border-radius:8px;background:#fff;color:#0b66cc;font-size:9px;font-weight:900;padding:6px 9px;text-decoration:none;cursor:pointer
}
.resource-actions button{color:#cc3645}
.communication-mode-badge{
  margin-left:auto;
  padding:5px 9px;
  border-radius:999px;
  background:#eef6ff;
  color:#0c61be;
  font-size:9px;
  font-weight:850;
}

@media(max-width:1280px){
  .attendance-toolbar{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .attendance-secondary-action,.attendance-mark-all,.attendance-save{width:100%}
}
@media(max-width:760px){
  .attendance-toolbar{grid-template-columns:1fr 1fr!important}
  .student-profile-actions{flex-wrap:wrap;justify-content:flex-end}
  .student-actions-menu{right:auto;left:0}
}


/* ============================================================
   TentoniNumérik 1.29.0 — gestion de classe / import Excel
   ============================================================ */
.attendance-management-bar{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  margin:-4px 0 12px;
  padding:8px 10px;
  border:1px solid #deebf7;
  border-radius:11px;
  background:#f9fcff;
}
.attendance-management-link,
.attendance-management-bar button{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  padding:0 11px;
  font-size:9.5px;
  font-weight:900;
  text-decoration:none;
  cursor:pointer;
}
.attendance-management-link{
  border:1px solid #c7ddf4;
  background:#fff;
  color:#0a64c9;
}
.attendance-management-link:hover{background:#edf6ff}
.attendance-danger-action{
  border:1px solid #f0bcc5!important;
  background:#fff5f6!important;
  color:#b51e35!important;
}
.attendance-danger-action:hover{background:#ffe8eb!important}
.attendance-secondary-action{
  border:1px solid #c9dced;
  background:#fff;
  color:#315a86;
}
.attendance-secondary-action:hover{background:#eef6ff}

/* Les actions de contact distinguent clairement les deux responsables. */
.student-actions-menu button[data-student-action-dialog="contact_guardian_1"],
.student-actions-menu button[data-student-action-dialog="contact_guardian_2"]{
  color:#24548a;
}
.student-actions-menu button[data-student-action-dialog="contact_guardian_1"]::before{content:"R1";font-size:8px;font-weight:950;color:#e46d08;margin-right:6px}
.student-actions-menu button[data-student-action-dialog="contact_guardian_2"]::before{content:"R2";font-size:8px;font-weight:950;color:#6b38d1;margin-right:6px}

@media(max-width:1100px){
  .attendance-management-bar{justify-content:flex-start}
}
@media(max-width:760px){
  .attendance-management-bar{display:grid;grid-template-columns:1fr}
  .attendance-management-link,.attendance-management-bar button{width:100%}
}

/* ============================================================
   TentoniNumérik 1.30.0 — Présences : traçabilité, alertes, périscolaire
   ============================================================ */
.attendance-import-notice{display:flex;align-items:flex-start;gap:10px;margin:-3px 0 8px;padding:10px 12px;border:1px solid #d9e8f7;border-radius:11px;background:#f7fbff;color:#607693;font-size:10.5px;line-height:1.45}
.attendance-import-notice strong{color:#153e75;white-space:nowrap}.attendance-import-notice span{min-width:0}
.attendance-role-tools{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin:0 0 10px}
.attendance-role-tools button{min-height:34px;border:1px solid #ccdded;border-radius:9px;background:#fff;color:#315b87;padding:0 12px;font-size:9.5px;font-weight:900;cursor:pointer}
.attendance-role-tools button:hover{background:#eef6ff}
.attendance-family-zone{margin-top:16px}.attendance-family-form select{border:1px solid #cbdbea;border-radius:9px;padding:8px;background:#fff;min-width:0}
.parent-child-location{margin-top:8px;padding:10px 12px;border:1px solid #dce9f7;border-radius:11px;background:#f8fcff;display:flex;align-items:center;gap:10px;font-size:10px}.parent-child-location span{color:#71839d}.parent-child-location strong{color:#123d75}.parent-child-location small{margin-left:auto;color:#8a98aa}
.attendance-audit-dialog,.periscolaire-dialog{width:min(980px,96vw);max-height:90vh;overflow:hidden;background:#fff;border:1px solid #d7e3f0;border-radius:18px;box-shadow:0 24px 70px rgba(14,35,70,.28);display:grid;grid-template-rows:auto minmax(0,1fr)}
.attendance-audit-dialog>header,.periscolaire-dialog>header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 17px;border-bottom:1px solid #e5edf6}.attendance-audit-dialog header small,.periscolaire-dialog header small{font-size:8px;letter-spacing:.12em;font-weight:900;color:#e56c08}.attendance-audit-dialog h3,.periscolaire-dialog h3{margin:2px 0;color:#123167;font-size:20px}.attendance-audit-dialog header button,.periscolaire-dialog header button{width:34px;height:34px;border:1px solid #d4e0ed;border-radius:9px;background:#fff;color:#526983;font-size:20px;cursor:pointer}
.audit-list{overflow:auto;padding:12px 15px;display:grid;gap:7px}.audit-list article{display:grid;grid-template-columns:1.05fr 1.5fr auto;gap:12px;align-items:center;padding:9px 10px;border:1px solid #e2ebf5;border-radius:10px;background:#fbfdff}.audit-list article>div{display:grid;gap:2px}.audit-list strong{color:#193864}.audit-list b{color:#0b5cae}.audit-list span,.audit-list time{color:#71839d;font-size:9.5px}.audit-list time{white-space:nowrap}
.periscolaire-dialog{grid-template-rows:auto auto minmax(0,1fr) auto}.periscolaire-help{margin:0;padding:10px 17px;background:#f8fbff;color:#6f819a;font-size:10.5px;border-bottom:1px solid #e8eef5}.periscolaire-dialog>article,.periscolaire-student{margin:0 14px 8px;padding:10px;border:1px solid #e1eaf5;border-radius:11px;background:#fff}.periscolaire-dialog{overflow:auto}.periscolaire-student>div:first-child{display:flex;align-items:center;gap:9px}.periscolaire-student>div:first-child>span{display:grid;gap:2px}.periscolaire-student strong{color:#244267}.periscolaire-student small{color:#7b8ca2;font-size:9px}.periscolaire-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.periscolaire-actions button{border:1px solid #cbddec;border-radius:8px;background:#f9fcff;color:#265988;font-size:9px;font-weight:850;padding:6px 9px;cursor:pointer}.periscolaire-actions button:hover{background:#eaf4ff}.readonly-chip{padding:5px 9px;border-radius:999px;background:#eef3f8;color:#718096;font-size:9px}
.periscolaire-dialog h4{margin:12px 16px 7px;color:#153d72}.periscolaire-feed{margin:0 14px 16px;display:grid;gap:6px}.periscolaire-feed article{display:grid;grid-template-columns:1fr 1.6fr auto;gap:10px;padding:8px 9px;border:1px solid #e2ebf5;border-radius:9px;background:#fbfdff}.periscolaire-feed strong{color:#213e66}.periscolaire-feed span{color:#315a85}.periscolaire-feed small{color:#8492a5;white-space:nowrap}
.morning-dialog{width:min(460px,94vw)!important}.morning-dialog>p{padding:12px 16px;color:#526b88}.check-line{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;color:#244a76!important}.check-line input{width:auto!important;min-height:auto!important}
.attendance-management-link#noop{display:none}
@media(max-width:800px){.attendance-import-notice{display:grid}.attendance-import-notice strong{white-space:normal}.audit-list article{grid-template-columns:1fr}.audit-list time{white-space:normal}.periscolaire-feed article{grid-template-columns:1fr}.parent-child-location{display:grid}.parent-child-location small{margin-left:0}}


/* ============================================================
   TentoniNumérik 1.31.0 — Présences avancées, alertes, archives
   ============================================================ */
.education-alert-bell{position:relative!important}
.education-alert-badge{position:absolute;right:-4px;top:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#1874ef;color:#fff;font-size:9px;font-weight:950;display:grid;place-items:center;box-shadow:0 2px 8px rgba(18,61,120,.22)}
.education-alert-bell[data-severity="important"]{box-shadow:0 0 0 3px rgba(22,170,93,.14)!important}
.education-alert-bell[data-severity="warning"]{box-shadow:0 0 0 3px rgba(240,145,20,.18)!important}
.education-alert-bell[data-severity="critical"]{box-shadow:0 0 0 4px rgba(225,46,62,.18)!important}
.education-alert-bell[data-severity="important"] .education-alert-badge{background:#17a85c}
.education-alert-bell[data-severity="warning"] .education-alert-badge{background:#ef9419}
.education-alert-bell[data-severity="critical"] .education-alert-badge{background:#df2d43}

.education-alert-center{position:fixed;z-index:1800;right:34px;top:82px;width:min(420px,92vw);max-height:72vh;background:#fff;border:1px solid #d7e4f1;border-radius:16px;box-shadow:0 22px 60px rgba(16,42,80,.24);overflow:hidden}
.education-alert-center>section{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:72vh}
.education-alert-center header{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-bottom:1px solid #e7eef6;background:#fbfdff}
.education-alert-center header small{font-size:8px;letter-spacing:.12em;font-weight:950;color:#e66f0d}.education-alert-center header h3{margin:2px 0 0;color:#0d2c62;font-size:18px}
.education-alert-center header button{border:0;background:transparent;font-size:23px;color:#667890;cursor:pointer}
.education-alert-list{overflow:auto;padding:10px;display:grid;gap:8px}
.education-alert-list article{display:grid;grid-template-columns:12px minmax(0,1fr);gap:9px;padding:10px;border:1px solid #e2ebf5;border-radius:11px;background:#fff}
.education-alert-list article>i{width:10px;height:10px;border-radius:50%;margin-top:4px;background:#2f7fe8}.education-alert-list article strong{display:block;color:#183a70;font-size:11.5px}.education-alert-list article p{margin:3px 0;color:#536a88;font-size:10.5px;line-height:1.4}.education-alert-list article small{color:#8a98aa;font-size:9px}
.education-alert-list .alert-severity-important>i{background:#16a65d}.education-alert-list .alert-severity-warning>i{background:#f09a18}.education-alert-list .alert-severity-critical>i{background:#df2f46}.education-alert-list .alert-severity-success>i{background:#18a65e}
.education-alert-center footer{display:flex;justify-content:flex-end;gap:8px;padding:9px 12px;border-top:1px solid #e7eef6;background:#fbfdff}.education-alert-center footer button{border:1px solid #cfe0f0;border-radius:8px;background:#fff;color:#27629d;font-weight:850;font-size:9.5px;padding:7px 10px;cursor:pointer}

.removed-list article{grid-template-columns:auto minmax(0,1fr) auto!important}.removed-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.removed-actions button{border:1px solid #d0deed;border-radius:8px;background:#fff;color:#1d5e9e;font-size:9px;font-weight:900;padding:6px 8px;cursor:pointer}.removed-actions button.danger{color:#b3273a;border-color:#efc0c8;background:#fff7f8}

.audit-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 12px;border-bottom:1px solid #e7eef6;background:#fbfdff}.audit-toolbar>span{margin-right:auto;color:#5d7391;font-size:10px;font-weight:850}.audit-toolbar select,.audit-toolbar button{height:32px;border:1px solid #cfdeed;border-radius:8px;background:#fff;color:#305d8e;font-size:9.5px;font-weight:850;padding:0 9px}.audit-toolbar button{cursor:pointer}.audit-footer-note{padding:9px 12px;color:#7889a0;font-size:9.5px;border-top:1px solid #e7eef6;background:#fafcff}.audit-archive-list{padding:12px;overflow:auto}.audit-archive-list details{border:1px solid #dfe9f4;border-radius:10px;background:#fff;margin-bottom:8px}.audit-archive-list summary{display:grid;grid-template-columns:1fr auto auto;gap:12px;padding:10px;cursor:pointer;color:#234e81}.audit-archive-list summary span,.audit-archive-list summary small{color:#7b8ca2;font-size:9.5px}.archive-dialog header p{margin:2px 0 0;color:#8290a4;font-size:9px}

.reminder-settings-dialog{width:min(920px,96vw)!important}.reminder-rules{display:grid;gap:10px}.reminder-rule{border:1px solid #dce7f3;border-radius:12px;background:#fbfdff;padding:10px}.reminder-rule-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.reminder-rule-remove{border:1px solid #efc0c8;border-radius:7px;background:#fff8f9;color:#b3263a;font-size:9px;font-weight:850;padding:5px 8px;cursor:pointer}.reminder-rule-grid{display:grid;grid-template-columns:1.25fr 1.2fr .7fr .9fr .9fr 1fr;gap:8px}.reminder-rule-grid label{display:flex;flex-direction:column;gap:4px;color:#58708f;font-size:9px;font-weight:850}.reminder-rule-grid input,.reminder-rule-grid select{height:34px;border:1px solid #cbdced;border-radius:8px;background:#fff;color:#233e64;padding:0 8px;font-size:10px}.reminder-settings-dialog #reminder-add-rule{border:1px dashed #a9c7e6;border-radius:9px;background:#f5faff;color:#0d66c7;font-weight:900;padding:8px 10px;cursor:pointer}

.class-settings-dialog{width:min(760px,95vw)!important}.class-level-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:330px;overflow:auto;padding:8px;border:1px solid #dfe9f4;border-radius:10px;background:#fbfdff}.class-level-grid label{display:flex;align-items:center;gap:6px;padding:6px 7px;border-radius:7px;background:#fff;color:#3d587b;font-size:9.5px;font-weight:750}.class-level-summary small{display:block;margin-top:2px;color:#7690ae;font-size:8.5px}

.periscolaire-actions button[data-peri-action="school_message_periscolaire"]{border-color:#c8dcef!important;background:#f2f8ff!important;color:#1f619f!important}

@media(max-width:900px){.reminder-rule-grid{grid-template-columns:1fr 1fr}.class-level-grid{grid-template-columns:1fr 1fr}.education-alert-center{right:10px;top:70px}}
@media(max-width:600px){.reminder-rule-grid,.class-level-grid{grid-template-columns:1fr}.removed-actions{justify-content:flex-start}.audit-archive-list summary{grid-template-columns:1fr}.education-alert-center{left:8px;right:8px;width:auto}}


/* ============================================================
   TentoniNumérik 1.32.0 — Évaluation & Visioconférence
   ============================================================ */

/* Évaluation */
.evaluation-workspace{display:grid;gap:12px}
.evaluation-toolbar{
  display:flex;align-items:end;gap:10px;flex-wrap:wrap;
  padding:10px;border:1px solid #dce8f5;border-radius:12px;background:#f9fcff
}
.evaluation-toolbar label,.evaluation-class-fixed{display:flex;flex-direction:column;gap:5px;color:#536b8d;font-size:9px;font-weight:900;text-transform:uppercase}
.evaluation-toolbar select{height:38px;border:1px solid #c9dbea;border-radius:9px;background:#fff;color:#173565;padding:0 9px;font-weight:800}
.evaluation-class-fixed{min-width:170px}.evaluation-class-fixed strong{color:#133467;font-size:13px;text-transform:none}
.evaluation-access-badge{margin-left:auto;padding:8px 11px;border-radius:999px;background:#eaf4ff;color:#0d65c8;font-size:10px;font-weight:900}
.evaluation-toolbar>button{height:38px;border:0;border-radius:9px;background:#0a6fec;color:#fff;font-weight:900;padding:0 13px;cursor:pointer}
.evaluation-layout{display:grid;grid-template-columns:minmax(210px,.32fr) minmax(0,1fr);gap:12px;min-height:520px}
.evaluation-list{display:grid;align-content:start;gap:8px;max-height:650px;overflow:auto;padding:2px}
.evaluation-card{
  display:grid;gap:3px;width:100%;border:1px solid #dae7f4;border-radius:12px;background:#fff;text-align:left;padding:10px;color:#49617f;cursor:pointer
}
.evaluation-card:hover,.evaluation-card.active{border-color:#88b9ed;background:#f2f8ff;box-shadow:0 7px 18px rgba(20,80,145,.08)}
.evaluation-card span{font-size:9px;color:#8290a4}.evaluation-card strong{font-size:12px;color:#15386d}.evaluation-card small{font-size:9.5px}.evaluation-card b{margin-top:4px;color:#0b6fdf;font-size:12px}
.evaluation-editor{border:1px solid #dce7f3;border-radius:13px;background:#fff;overflow:hidden}
.evaluation-editor-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #e7eef7;background:#fbfdff}
.evaluation-editor-head small{font-size:8px;letter-spacing:.12em;color:#e46d0b;font-weight:950}.evaluation-editor-head h3{margin:2px 0 0;color:#11336b}
.evaluation-editor-head button{border:1px solid #cbdced;border-radius:8px;background:#fff;color:#0a63c4;font-weight:850;padding:7px 10px;cursor:pointer}
.evaluation-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:13px}
.evaluation-meta-grid label{display:flex;flex-direction:column;gap:4px;color:#57708f;font-size:9px;font-weight:900}
.evaluation-meta-grid label.wide{grid-column:1/-1}
.evaluation-meta-grid input,.evaluation-meta-grid select,.evaluation-meta-grid textarea{min-height:36px;border:1px solid #d1dfed;border-radius:8px;background:#fff;color:#263f64;padding:7px;font:inherit;font-size:10.5px}
.evaluation-meta-grid textarea{min-height:68px;resize:vertical}
.evaluation-results-wrap{overflow:auto;border-top:1px solid #e7eef7}
.evaluation-results{width:100%;border-collapse:collapse;font-size:10px}
.evaluation-results th,.evaluation-results td{border-bottom:1px solid #e5edf6;padding:7px 8px;text-align:left}
.evaluation-results thead th{background:#f6faff;color:#526b8d;font-size:9px;text-transform:uppercase}
.evaluation-results tbody th{display:flex;align-items:center;gap:7px;min-width:180px;color:#27466e}
.evaluation-results .student-avatar{flex:0 0 28px}
.evaluation-results input[type="number"],.evaluation-results input[type="text"],.evaluation-comment{height:32px;border:1px solid #d4e0ed;border-radius:7px;padding:0 7px;min-width:82px}
.evaluation-comment{min-width:180px}
.evaluation-absent{display:flex;align-items:center;gap:5px;white-space:nowrap}
.evaluation-form-actions{display:flex;align-items:center;gap:12px;padding:11px 13px;background:#fbfdff}
.evaluation-form-actions button{border:0;border-radius:9px;background:#0a6fec;color:#fff;font-weight:900;padding:9px 12px;cursor:pointer}
.evaluation-form-actions span{color:#14764b;font-size:10px;font-weight:850}
.evaluation-permissions{border:1px solid #dce8f5;border-radius:12px;background:#fff;overflow:hidden}
.evaluation-permissions summary{padding:11px 13px;color:#174777;font-weight:900;cursor:pointer;background:#f9fcff}
.evaluation-permissions>p{padding:0 13px;color:#71839a;font-size:10px}
.evaluation-permissions>div{display:grid;gap:6px;padding:9px 13px 13px}
.evaluation-permissions article{display:grid;grid-template-columns:minmax(0,1fr) 160px auto;align-items:center;gap:9px;border-top:1px solid #edf2f7;padding-top:7px}
.evaluation-permissions article span{display:grid}.evaluation-permissions article strong{color:#304e73}.evaluation-permissions article small{color:#8390a2;font-size:9px}
.evaluation-permissions select{height:32px;border:1px solid #d2dfed;border-radius:7px;background:#fff}.evaluation-permissions button{height:32px;border:1px solid #bcd6ef;border-radius:7px;background:#f4f9ff;color:#0a61be;font-weight:850;cursor:pointer}

/* Visioconférence */
.videoconference-shell{display:grid;gap:12px}
.videoconference-shell.embedded{padding:4px 0}
.videoconference-start{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.video-create-card,.video-join-card,.video-room-list{border:1px solid #dbe7f3;border-radius:14px;background:#fff;padding:14px;box-shadow:0 8px 20px rgba(24,73,126,.05)}
.video-room-list{grid-column:1/-1}
.video-create-card h3,.video-join-card h3,.video-room-list h3{margin:2px 0 10px;color:#15386d}
.video-create-card form,.video-join-card form{display:grid;gap:9px}
.video-create-card label,.video-join-card label{display:flex;flex-direction:column;gap:5px;color:#56708f;font-size:9px;font-weight:900}
.video-create-card input,.video-join-card input{height:38px;border:1px solid #ccdbeb;border-radius:9px;padding:0 9px;color:#264467}
.video-create-card button,.video-join-card button{height:39px;border:0;border-radius:9px;background:#0b6feb;color:#fff;font-weight:900;cursor:pointer}
.video-join-card p{color:#7a899d;font-size:10px;line-height:1.45}
.video-room-list .module-head button{border:1px solid #c9dcec;border-radius:8px;background:#fff;color:#1760a7;padding:7px 9px;font-weight:850;cursor:pointer}
.conference-room-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.conference-room-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e0e9f3;border-radius:10px;background:#fbfdff;padding:9px}
.conference-room-list article>div{display:grid;gap:2px}.conference-room-list strong{color:#193c70}.conference-room-list span{color:#0b6fec;font-size:11px;font-weight:900}.conference-room-list small{color:#8492a5;font-size:9px}
.conference-room-list button{border:1px solid #bcd5ed;border-radius:8px;background:#fff;color:#0a61be;font-weight:850;padding:7px 9px;cursor:pointer}
.conference-room-view{border:1px solid #d7e4f2;border-radius:15px;background:#fff;overflow:hidden}
.conference-room-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #e5edf6;background:#fbfdff}
.conference-room-head small{font-size:8px;letter-spacing:.13em;color:#e16e0a;font-weight:950}.conference-room-head h3{margin:2px 0;color:#15376c;font-size:21px}.conference-room-head p{margin:0;color:#75869c;font-size:10px}
.conference-room-actions{display:flex;gap:7px}.conference-room-actions button{border:1px solid #cadbea;border-radius:8px;background:#fff;color:#1a5e9c;font-weight:850;padding:7px 9px;cursor:pointer}.conference-room-actions .danger{color:#b52139;border-color:#eebfc7;background:#fff7f8}
.conference-main{display:grid;grid-template-columns:minmax(0,1fr) 280px;min-height:520px}
.conference-stage{display:grid;grid-template-rows:minmax(0,1fr) auto;background:#10233d;padding:10px}
.conference-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(190px,1fr);gap:8px;overflow:auto}
.conference-video-tile{position:relative;min-height:190px;border-radius:12px;overflow:hidden;background:#1e3552;border:1px solid rgba(255,255,255,.12)}
.conference-video-tile video{width:100%;height:100%;object-fit:cover;background:#162840;display:block}
.conference-video-tile span{position:absolute;left:8px;bottom:7px;padding:4px 7px;border-radius:7px;background:rgba(5,21,39,.72);color:#fff;font-size:9px;font-weight:850}
.conference-video-tile.local{outline:2px solid rgba(26,143,255,.55)}
.conference-controls{display:flex;justify-content:center;gap:8px;padding-top:9px}.conference-controls button{border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#1b385a;color:#fff;font-weight:850;padding:8px 12px;cursor:pointer}
.conference-sidebar{display:grid;grid-template-rows:.42fr .58fr;border-left:1px solid #dce7f1;background:#fbfdff;min-height:0}
.conference-sidebar h4{margin:0;padding:10px 11px;color:#264a75;border-bottom:1px solid #e6edf5}
.conference-participants,.conference-chat{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr)}
#conference-participant-list{overflow:auto;padding:8px;display:grid;align-content:start;gap:6px}
#conference-participant-list>div{display:grid;padding:7px;border:1px solid #e4ebf3;border-radius:8px;background:#fff}#conference-participant-list strong{color:#315173;font-size:10px}#conference-participant-list small{color:#8794a5;font-size:8px}
.conference-chat{grid-template-rows:auto minmax(0,1fr) auto}
#conference-chat-list{overflow:auto;padding:8px;display:grid;align-content:start;gap:6px}
#conference-chat-list article{padding:7px;border-radius:8px;background:#fff;border:1px solid #e2eaf3}#conference-chat-list strong{color:#1d5e9e;font-size:9px}#conference-chat-list p{margin:3px 0;color:#435c7c;font-size:10px}#conference-chat-list small{color:#96a1af;font-size:8px}
#conference-chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;padding:8px;border-top:1px solid #e5edf5}#conference-chat-form input{height:34px;border:1px solid #cedcea;border-radius:8px;padding:0 7px}#conference-chat-form button{border:0;border-radius:8px;background:#0a6fec;color:#fff;font-weight:850;padding:0 9px}
.conference-status{margin:0;padding:7px 11px;border-top:1px solid #e6edf5;color:#6e8199;font-size:9px;background:#fff}

/* Route globale visioconférence */
.videoconference-page>.videoconference-shell{margin-top:12px}

/* Responsive */
@media(max-width:1050px){
  .evaluation-layout{grid-template-columns:1fr}.evaluation-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}
  .conference-main{grid-template-columns:1fr}.conference-sidebar{border-left:0;border-top:1px solid #dce7f1;grid-template-columns:1fr 1fr;grid-template-rows:none;min-height:250px}
}
@media(max-width:760px){
  .evaluation-meta-grid{grid-template-columns:1fr 1fr}.evaluation-permissions article{grid-template-columns:1fr}.evaluation-list{grid-template-columns:1fr}
  .videoconference-start{grid-template-columns:1fr}.conference-room-list{grid-template-columns:1fr}.conference-room-head{align-items:flex-start;flex-direction:column}.conference-video-grid{grid-template-columns:1fr}.conference-sidebar{grid-template-columns:1fr;grid-template-rows:260px 340px}
}
@media(max-width:520px){
  .evaluation-meta-grid{grid-template-columns:1fr}.evaluation-meta-grid label.wide{grid-column:auto}
  .conference-controls{flex-wrap:wrap}.conference-room-actions{flex-wrap:wrap}
}


/* ============================================================
   TentoniNumérik 1.33.0 — Bouton Retour universel
   ============================================================ */
.global-back-button{
  position:fixed;
  left:14px;
  top:132px;
  z-index:950;
  min-height:38px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 12px;
  border:1px solid rgba(169,195,223,.82);
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:#164d88;
  box-shadow:0 7px 22px rgba(18,57,103,.12);
  backdrop-filter:blur(8px);
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
.global-back-button:hover{
  transform:translateX(-2px);
  background:#f4f9ff;
  box-shadow:0 9px 25px rgba(18,57,103,.17);
}
.global-back-button:focus-visible{
  outline:3px solid rgba(10,111,236,.25);
  outline-offset:2px;
}
.global-back-button span{
  font-size:20px;
  line-height:1;
}
.global-back-button strong{
  font-size:11px;
  font-weight:900;
}
@media(max-width:760px){
  .global-back-button{
    top:88px;
    left:8px;
    min-height:34px;
    padding:0 10px;
  }
  .global-back-button strong{font-size:10px}
}
