/* Révision 03 : déclinaisons des couleurs officielles ELYONE uniquement.
   Les teintes légères sont issues de ces couleurs avec transparence sur blanc.
   Aucun logo ELYONE n'est modifié. */
:root{--blue:#0066da;--blue-dark:#005895;--green:#00bd02;--green-dark:#00b309;--yellow:#ffcb01;--paper:#fbfcff;--ink:#112d3b;--muted:#526570;--button-radius:13px;--footer-text:#526570}
body{background:var(--paper)}
.topbar,.dark .topbar{background:#fff;border-bottom-color:rgba(0,88,149,.1)}
.btn,.header-cta,.dark .header-cta{border-radius:var(--button-radius)}
.header-cta,.dark .header-cta{min-width:92px;gap:0;padding:11px 21px;background:rgba(255,203,1,.08);border-color:rgba(0,88,149,.4)}
.header-cta:hover,.dark .header-cta:hover,.header-cta:focus-visible,.dark .header-cta:focus-visible{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.dropdown{background:#fff;border-color:rgba(0,88,149,.16);min-width:280px}.dropdown a:hover{background:rgba(255,203,1,.22);color:var(--blue-dark)}
.btn.primary,.dark .btn.primary{color:#112d3b;background:var(--yellow);border-color:var(--yellow)}
.btn.primary:hover,.dark .btn.primary:hover{background:color-mix(in srgb,var(--yellow) 87%,white);border-color:var(--yellow)}
.text-link:hover{color:var(--blue)}.dark .text-link:hover{color:var(--yellow)}
.hero-home h1 em{background:linear-gradient(110deg,#0066da,#00bd02);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter:brightness(1.65)}
.hero-atmosphere{background-image:linear-gradient(128deg,transparent 16%,rgba(0,102,218,.10) 28%,rgba(0,102,218,.30) 43%,rgba(0,189,2,.18) 58%,transparent 75%)}
.hero-home:before{background:radial-gradient(ellipse at 48% 28%,rgba(0,102,218,.7),transparent 57%),radial-gradient(ellipse at 86% 38%,rgba(0,189,2,.38),transparent 55%)}
.method-tile{border-color:rgba(0,102,218,.85);background:linear-gradient(130deg,rgba(0,102,218,.24),rgba(0,88,149,.09))}
.method-tile:before{background:var(--blue);filter:brightness(1.6)}
.method-tile:nth-child(2){border-color:rgba(0,189,2,.6);background:linear-gradient(130deg,rgba(0,189,2,.15),rgba(0,88,149,.07))}.method-tile:nth-child(2):before{background:var(--green);filter:none}
.method-tile:nth-child(3){border-color:rgba(255,203,1,.55);background:linear-gradient(130deg,rgba(255,203,1,.13),rgba(0,88,149,.07))}.method-tile:nth-child(3):before{background:var(--yellow);filter:none}
.method-tile:nth-child(4){border-color:rgba(0,102,218,.85);background:linear-gradient(130deg,rgba(0,102,218,.24),rgba(0,88,149,.09))}
.method-tile:hover,.method-tile:nth-child(4):hover{background:linear-gradient(130deg,rgba(0,102,218,.36),rgba(0,88,149,.16));border-color:var(--blue)}
.method-tile:nth-child(2):hover{background:linear-gradient(130deg,rgba(0,189,2,.23),rgba(0,88,149,.09));border-color:var(--green)}
.method-tile:nth-child(3):hover{background:linear-gradient(130deg,rgba(255,203,1,.21),rgba(0,88,149,.09));border-color:var(--yellow)}
.expertise-story,.expertise-story-2,.expertise-story-4{grid-template-columns:1.2fr .8fr;gap:80px}.expertise-story .story-copy{order:0}.expertise-story .story-uses{order:0;justify-self:end}
.story-category>span{color:#0066da;filter:brightness(1.7)}.expertise-story-2 .story-category>span{color:var(--green);filter:brightness(1.2)}.expertise-story-3 .story-category>span{color:var(--yellow);filter:none}
.story-uses{background:linear-gradient(130deg,rgba(0,102,218,.2),rgba(0,88,149,.05));border-color:rgba(0,102,218,.4)}
.expertise-story-2 .story-uses{background:linear-gradient(130deg,rgba(0,189,2,.13),rgba(0,88,149,.05));border-color:rgba(0,189,2,.28)}
.expertise-story-3 .story-uses{background:linear-gradient(130deg,rgba(255,203,1,.12),rgba(0,102,218,.08));border-color:rgba(255,203,1,.3)}
.use-line i{background:var(--blue);filter:brightness(1.5)}.expertise-story-2 .use-line i{background:var(--green);filter:none}.expertise-story-3 .use-line i{background:var(--yellow);filter:none}
.story-explore{font-size:12px}.expertise-photo{width:100%;max-width:410px;justify-self:end}.expertise-photo img{width:100%;display:block;aspect-ratio:1.7;object-fit:cover;border-radius:22px 35px 22px 22px;border:1px solid rgba(0,102,218,.4);box-shadow:0 18px 35px -20px #0008}.expertise-photo>span{display:block;margin-top:10px;font-size:9px;color:#afc5d4}
.band-cta,.dark .band-cta,.light-band,.dark .light-band{background:linear-gradient(112deg,#005895 0%,#0066da 64%,#00b309 145%);color:white;border:1px solid rgba(0,102,218,.5);box-shadow:0 18px 45px -25px rgba(0,88,149,.45)}
.band-cta:before{background:radial-gradient(ellipse,rgba(0,189,2,.23),transparent 65%)}
.band-cta h2,.light-band h2,.dark .light-band h2{color:white}.band-cta p,.dark .band-cta p,.light-band p,.dark .light-band p{color:rgba(255,255,255,.9)}
.band-cta .btn,.dark .band-cta .btn,.light-band .btn,.dark .light-band .btn{background:var(--yellow);color:#112d3b;border-color:var(--yellow)}
.band-cta .btn:hover,.dark .band-cta .btn:hover,.light-band .btn:hover,.dark .light-band .btn:hover{background:color-mix(in srgb,var(--yellow) 87%,white);color:#112d3b;border-color:var(--yellow)}
.inner-hero{background:var(--paper)}.inner-hero:before{inset:-80px -70px -110px 20%;background:radial-gradient(ellipse at 94% 32%,rgba(0,102,218,.30),transparent 58%),radial-gradient(ellipse at 70% 70%,rgba(0,189,2,.19),transparent 64%);filter:blur(45px)}
.inner-hero h1 em{color:var(--blue-dark)}
.hero-photo:before{background:linear-gradient(135deg,rgba(0,189,2,.32),rgba(0,102,218,.39))}.hero-photo .photo-frame{border-color:white}.hero-note{color:var(--blue-dark)}
.tag{background:white;border-color:rgba(0,102,218,.2)}
.project-note{background:linear-gradient(135deg,rgba(0,102,218,.10),rgba(0,189,2,.09));border-color:rgba(0,102,218,.22)}.project-note .eyebrow,.project-note h3{color:var(--blue-dark)}
.project-question{border-color:rgba(0,102,218,.15)}.project-question>span{color:var(--blue)}.project-question:nth-last-child(2)>span{color:color-mix(in srgb,var(--green) 50%,#061c2b)}.project-question:last-child>span{color:#112d3b;border-bottom:3px solid var(--yellow)}
.quote-note{background:rgba(0,189,2,.06);border-left-color:var(--green)}
.step{border-image:linear-gradient(90deg,var(--blue),var(--green)) 1}.step h3{color:var(--blue-dark)}
.catalog-row{border-color:rgba(0,88,149,.18)}.catalog-row:hover{background:linear-gradient(90deg,rgba(0,102,218,.05),transparent)}.catalog-row h3{color:var(--ink)}
.product-enquire{font-size:10px;text-decoration:underline;color:var(--blue-dark);white-space:nowrap}.catalog-row:has(.product-enquire){grid-template-columns:70px 1fr 1fr 65px}
.window-bar{background:linear-gradient(90deg,rgba(0,102,218,.1),rgba(0,189,2,.09));color:var(--blue-dark)}.product-window{border-color:rgba(0,102,218,.25);border-top-color:var(--blue);background:white}
.system{background:rgba(0,102,218,.07);border-color:rgba(0,102,218,.18)}.system.green{background:rgba(0,189,2,.07);border-color:rgba(0,189,2,.2)}
.gallery{background:linear-gradient(135deg,rgba(0,102,218,.1),rgba(0,189,2,.09));border-color:rgba(0,102,218,.15)}
/* Une famille de tuiles : fond blanc, halo discret et contour de marque. */
.resource-visual,.resource-visual.blue,.resource-visual.yellow,.resource-visual.darkblue{--resource-accent:var(--green);--resource-halo:rgba(0,189,2,.11);background:radial-gradient(ellipse at 80% 70%,var(--resource-halo),transparent 68%),#fff;color:var(--ink);border:1px solid color-mix(in srgb,var(--resource-accent) 48%,white);box-shadow:0 12px 25px -20px rgba(0,25,50,.3)}
.resource-visual.blue,.resource-visual.darkblue{--resource-accent:var(--blue);--resource-halo:rgba(0,102,218,.11)}
.resource-visual.yellow{--resource-accent:var(--yellow);--resource-halo:rgba(255,203,1,.18)}
.resource-visual .media-caption{color:var(--muted)}
.resource-visual .media-caption{color:var(--muted)}.resource-visual .media-word{font-size:33px}
.resource-switch a.active{color:var(--blue);border-color:var(--blue)}.article-aside{background:linear-gradient(130deg,rgba(0,102,218,.08),rgba(0,189,2,.08));border-color:rgba(0,102,218,.18)}
.video-placeholder{background:linear-gradient(125deg,#005895,#0066da 70%,#00b309 160%)}
.contact-layout{isolation:isolate}.contact-layout:before{background:radial-gradient(ellipse at 75% 20%,rgba(0,102,218,.28),transparent 65%),radial-gradient(ellipse at 100% 80%,rgba(0,189,2,.17),transparent 60%);animation:brand-atmosphere 13s ease-in-out infinite alternate}
.contact-atmosphere{position:absolute;z-index:-1;inset:-80px -50px -30px 15%;background:linear-gradient(128deg,transparent 15%,rgba(0,102,218,.22) 42%,rgba(0,189,2,.13) 65%,transparent 85%);background-size:170% 140%;filter:blur(60px);animation:brand-current 16s ease-in-out infinite alternate;transform:translate3d(var(--scene-x,0px),var(--scene-y,0px),0);transition:transform 1.5s ease-out;pointer-events:none}
.contact-layout h1 em{color:#fff;background:linear-gradient(110deg,#0066da,#00bd02);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:brightness(1.65)}
.contact-form{background:linear-gradient(135deg,rgba(0,102,218,.18),rgba(0,88,149,.12));border-color:rgba(0,102,218,.55)}
.field input,.field textarea,.field select{background:#061c2b;border-color:rgba(0,102,218,.55)}
.footer,.dark .footer{background:#f7faff;border-color:rgba(0,102,218,.12)}.footer-legal,.dark .footer-legal{border-color:rgba(0,102,218,.14)}
.social-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:23px}.social-links a,.dark .social-links a{display:grid;place-items:center;width:39px;height:39px;border:1px solid color-mix(in srgb,var(--footer-text) 28%,white);border-radius:10px;color:var(--footer-text);background:transparent;transition:background .2s,transform .2s}
.social-links svg{display:block;width:18px;height:18px}.social-links a:hover,.dark .social-links a:hover{background:rgba(82,101,112,.07);color:var(--ink);border-color:var(--footer-text);transform:translateY(-2px)}
.social-links a:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.legal-hero{background:var(--paper)}.legal-article .legal-intro{background:rgba(0,102,218,.045)}.legal-nav a.active{color:var(--blue-dark)}
.review-button{background:white;border-color:rgba(0,102,218,.18)}.review-button:before{background:var(--blue)}.review-panel{background:white}
@media(max-width:1050px){.expertise-story{gap:45px}.catalog-row:has(.product-enquire){grid-template-columns:40px 1fr 1fr 60px}}
@media(max-width:860px){.desktop-nav{background:white}.expertise-story{gap:30px}.catalog-row:has(.product-enquire){grid-template-columns:35px 1fr 65px}.catalog-row .product-enquire{grid-column:3;grid-row:1}}
@media(max-width:520px){.expertise-story,.expertise-story-2,.expertise-story-4{grid-template-columns:1fr;gap:24px}.expertise-story-2 .story-copy,.expertise-story-4 .story-copy{order:0}.expertise-story-2 .story-uses,.expertise-story-4 .story-uses{order:1}.expertise-photo{max-width:none}.expertise-photo img{aspect-ratio:1.75}.expertise-photo>span{font-size:8px}.header-cta,.dark .header-cta{min-width:80px;padding:10px 15px}.dropdown{min-width:0}.social-links a,.dark .social-links a{width:40px;height:40px}.resource-visual .media-word{font-size:33px}.contact-atmosphere{inset:-40px -10px 0 0;filter:blur(40px)}}
@media(prefers-reduced-motion:reduce){.hero-atmosphere,.hero-home:before,.contact-atmosphere,.contact-layout:before{animation:none!important;transform:none!important}.social-links a:hover{transform:none}}
.product-benefits>div{border-color:var(--blue)}.product-benefits>div:nth-child(2){border-color:var(--green)}.product-benefits>div:nth-child(3){border-color:var(--yellow)}.product-benefits h3{color:var(--blue-dark)}
/* Les ressources reprennent la palette en accents et dégradés, sans trois aplats saturés. */
.home-story .story-points span{border-image:linear-gradient(90deg,var(--green),var(--blue)) 1}.resource-card:hover h3{color:var(--blue)}
.footer p,.footer a,.dark .footer p,.dark .footer a{color:var(--footer-text)}
.footer a:hover,.dark .footer a:hover{color:var(--ink)}

/* Des hauts de pages plus présents, sans changer le premier bloc d’accueil. */
.inner-hero .eyebrow{display:flex;align-items:center;gap:12px;color:var(--blue-dark)}
.inner-hero .eyebrow:before{content:'';display:block;width:27px;height:3px;background:var(--yellow);flex-shrink:0}
.expertise-hero .photo-frame{aspect-ratio:1.25}
@media(max-width:860px){.expertise-hero .photo-frame{aspect-ratio:2.15}}
@media(max-width:520px){.expertise-hero .photo-frame{aspect-ratio:1.6}.inner-hero:before{inset:0 -40px -60px 0;filter:blur(35px)}}
.dark .resource-card:hover h3{color:#fff;text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:5px}

/* Legal documents: one reading system, isolated from marketing typography. */
.legal-hero{padding:56px 0 36px}
.legal-hero h1{font-family:Manrope,sans-serif;font-size:clamp(30px,3.2vw,44px);font-weight:600;line-height:1.2;letter-spacing:-.025em;max-width:1000px}
.legal-hero .lead{font-size:17px;line-height:1.7;margin-top:20px}
.legal-layout{grid-template-columns:244px minmax(0,740px);gap:64px;padding-top:32px;align-items:start}
.legal-article{font-family:Manrope,sans-serif;font-size:17px;font-weight:400;line-height:1.8;letter-spacing:0;color:var(--ink);text-align:left}
.legal-article :is(h2,h3,h4,p,ul,li){font-family:inherit;font-style:normal;letter-spacing:0}
.legal-article :is(p,ul){margin:0 0 20px}
.legal-article :is(h2,h3,h4){color:var(--ink);font-weight:700;scroll-margin-top:32px;max-width:none;text-wrap:pretty}
.legal-article h2{font-size:22px;line-height:1.5;margin:44px 0 16px;text-transform:uppercase}
.legal-article :is(h3,h4){font-size:19px;line-height:1.55;margin:28px 0 12px}
.legal-article :is(h2,h3,h4)+:is(h2,h3,h4){margin-top:20px}
.legal-article .legal-list{padding-left:24px;line-height:inherit}
.legal-article .legal-list li{margin:0 0 8px;padding-left:3px;overflow-wrap:anywhere}
.legal-article .legal-list li:last-child{margin-bottom:0}
.legal-article .legal-list .source-marker{list-style:none;padding-left:0;margin-left:-18px}
.legal-article .legal-intro{font-family:inherit;font-size:14px;line-height:1.75;font-weight:400;padding:20px 24px;margin:0 0 32px;border-radius:10px}
.legal-nav a{font-size:14px;line-height:1.65;padding:10px 0}
.legal-toc a{font-size:13px;line-height:1.6;padding:7px 0}
.legal-toc summary{font-size:14px;line-height:1.6}
.legal-article .backtop{font-size:14px;line-height:1.7;margin-top:24px}
@media(max-width:860px){.legal-layout{grid-template-columns:1fr;gap:32px}.legal-article{max-width:740px}.legal-nav a{font-size:12px}.legal-hero{padding:40px 0 28px}}
@media(max-width:520px){.legal-article{font-size:16px;line-height:1.8}.legal-article h2{font-size:20px;margin-top:36px}.legal-article :is(h3,h4){font-size:16px}.legal-article .legal-intro{padding:18px}.legal-hero h1{font-size:30px;line-height:1.25}.legal-layout{padding-top:20px}}

.legal-layout>*{min-width:0}.legal-hero h1,.legal-article,.legal-nav a,.legal-toc a{overflow-wrap:anywhere}

/* Readable navigation, actions and supporting home copy. */
.nav-trigger{font-size:15px;line-height:1.5}
.dropdown{min-width:310px;max-width:min(380px,calc(100vw - 38px))}
.dropdown a{font-size:15px;line-height:1.6;padding:13px 16px}
.btn,.header-cta,.dark .header-cta,.article-aside .btn{font-size:16px;line-height:1.5;min-height:50px}
.text-link,.resource-card .text-link,.story-explore{font-size:16px;line-height:1.6}
.method-tile p{font-size:15px;line-height:1.7;max-width:none}
.story-category{font-size:14px;line-height:1.6;letter-spacing:.035em}
.story-category>span{font-size:16px}
.story-copy>p{font-size:17px;line-height:1.8}
.use-line{font-size:15px;line-height:1.6}
@media(max-width:1120px){
 .header-inner{height:82px;gap:18px}
 .mobile-toggle{display:block;font-size:15px;min-height:46px}
 .desktop-nav{display:none;position:absolute;left:0;right:0;top:82px;background:#fff;color:var(--ink);padding:15px 23px 25px;max-height:calc(100dvh - 82px);overflow:auto;border-bottom:1px solid var(--line)}
 .desktop-nav.mobile-open{display:block}
 .nav-trigger{font-size:16px;width:100%;justify-content:space-between;padding:15px 0}
 .dropdown{position:static;box-shadow:none;border:0;border-left:1px solid var(--line);border-radius:0;margin:0 0 10px 6px;padding:0 0 0 10px;display:none;min-width:0;max-width:none}
 .nav-group:hover .dropdown{display:none}
 .nav-group.open .dropdown,.nav-group:focus-within .dropdown{display:block}
 .header-cta,.dark .header-cta{margin-left:auto;max-width:none;white-space:nowrap;font-size:16px}
}
@media(max-width:520px){
 .header-inner{height:76px;gap:12px}.desktop-nav{top:76px;max-height:calc(100dvh - 76px)}
 .mobile-toggle{font-size:0}.mobile-toggle:after{font-size:20px}
 .btn,.header-cta,.dark .header-cta,.article-aside .btn{font-size:15px;min-height:48px}
 .text-link,.resource-card .text-link,.story-explore{font-size:15px}
 .method-tiles{grid-template-columns:1fr 1fr}.method-tile{padding:22px 16px}.method-tile p{font-size:14px;line-height:1.65;margin-top:10px}
 .story-category{font-size:13px}.story-category>span{font-size:15px}.story-copy>p{font-size:16px}
 .use-line{font-size:14px}.story-uses{flex-wrap:wrap;gap:12px}.use-line{min-width:85px}
}
