/* Elyne Corp — application of the approved business-card palette. */
:root,:root[data-theme="light"],:root[data-theme="dark"]{
  color-scheme:dark;
  --ground:#070f1e;--surface:#101f35;--surface-2:#0b182b;
  --line:#2b3e59;--line-soft:#1d304b;
  --text:#f7f9ff;--ink:#f7f9ff;--muted:#c0cde0;--faint:#9cacbf;
  --accent:#54dddc;--accent-2:#8db8ff;--accent-soft:rgba(42,205,203,.08);--accent-line:rgba(75,220,220,.42);
  --ok:#6bdab5;--warn:#f1c07b;--info:#8cbcff;--neutral:#b9c8dd;
  --navy:#071120;--navy-2:#10213c;--paper:#070f1e;--blue:#8bb9ff;--teal:#64dec9;
  --glow:rgba(35,202,220,.1);--sans:Arial,"Segoe UI",sans-serif;
  font-family:Arial,"Segoe UI",sans-serif;
}
body.brand-voiles{background:var(--ground);color:var(--text);font-family:var(--sans)}
::selection{background:#245c78;color:#fff}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #6fe5e0;outline-offset:5px}
.nav,.topbar{background:rgba(7,15,30,.95);border-bottom:1px solid var(--line-soft);backdrop-filter:blur(18px)}
.home-page .brand-mark{width:38px;height:38px}
.home-page .nav-in{height:76px}
.nav-links a,.navlinks a{color:#c7d5e8}
.brand-voiles .hero{background:#070f1e;border-bottom:1px solid #253954}
.brand-voiles.home-page .hero{border-bottom:0}
/* Keep the complete artwork near the content instead of cropping it to a wide viewport. */
.brand-voiles .hero,.brand-voiles .contact,.brand-voiles .availability{position:relative;isolation:isolate;overflow:hidden}
.brand-voiles .hero::before,.brand-voiles .contact::before,.brand-voiles .availability::before{
  content:"";position:absolute;z-index:-1;pointer-events:none;top:16px;bottom:16px;
  left:50%;transform:translateX(-50%);width:min(1320px,calc(100% - 32px));
  background:url("fond-voiles-9ce6bca23075.png") center/100% 100% no-repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
}
.hero-bg{display:none}
.home-page .hero-in{padding:96px 24px 64px}
.home-page .hero-logo{position:absolute;right:10px;top:134px;width:252px;height:auto;margin:0;filter:drop-shadow(0 14px 42px rgba(0,0,0,.28))}
.home-page .hero h1{font-size:clamp(38px,4.3vw,58px);font-weight:700;max-width:760px;width:calc(100% - 275px);line-height:1.08;letter-spacing:-.035em;margin:24px 0}
.home-page .hero h1 .hl{color:#68dfdf}
.home-page .hero p.lead{max-width:660px;font-size:18px;line-height:1.7}
.eyebrow{color:#65dedc}
.hero-cta{margin-top:30px}
.btn-primary,.button-primary,.eas-feature .eas-link{background:#64e0dc;color:#05202c;box-shadow:0 6px 24px rgba(25,204,210,.1);font-weight:700}
.button-primary:hover{background:#8debe8}
.btn-ghost,.button-secondary,.lang-switch{background:rgba(14,29,49,.85);border-color:#425978;color:#f8faff}
.stats{border-color:#304361;box-shadow:0 12px 34px rgba(0,0,0,.14);background:#304361;margin-top:52px}
.stat{background:rgba(10,25,45,.94);padding:22px}
.stat .n{color:#fff}.stat .l{color:#b5c7dd}
.trust{background:#0b1729}.ecosystem{background:#0d1b2f}
.home-page .trust,.home-page .ecosystem{
  width:calc(100% - 48px);max-width:calc(var(--maxw) - 48px);margin:24px auto 0;
  border:1px solid var(--line-soft);border-radius:14px;
}
.ecosystem-logo-aktantis{background:transparent}
.brand-voiles .card,.brand-voiles .pillar,.brand-voiles .feature,.brand-voiles .proof,.brand-voiles .mode{
  background:linear-gradient(135deg,rgba(23,43,70,.88),rgba(11,25,44,.98));border-color:#2b3f5d;box-shadow:0 14px 36px rgba(0,0,0,.08)
}
.brand-voiles .card:hover{border-color:#53babd;box-shadow:0 16px 38px rgba(0,0,0,.22)}
.brand-voiles .eas-feature{background:linear-gradient(90deg,rgba(7,17,32,.65),rgba(7,17,32,.2)),url("fond-voiles-9ce6bca23075.png") center/100% 100% no-repeat;border-color:#3b577d}
.eas-feature .eas-tag{background:#142f3b;color:#9aeee0;border:1px solid #35616c}
.card.oss{background:linear-gradient(130deg,rgba(23,77,88,.3),rgba(16,31,53,.95))}
.brand-voiles .dl{background:#0b182b}.dl-visual{background:#101f35}
.brand-voiles .contact,.brand-voiles .availability{background:#070f1e;border-color:#263a54}
.brand-voiles .contact::before,.brand-voiles .availability::before{opacity:.8}
.brand-voiles .availability p{color:var(--muted)}
.brand-voiles footer{background:#060d18;border-color:#25354c}
.legal-panel{background:#101f35}.legal-close{color:white}
.sec-head:before,.section-head:before{content:"";display:block;width:70px;height:2px;margin-bottom:24px;background:linear-gradient(90deg,#20cddd,#aa65ea,#ed56aa,#ffc150)}
.eas-page .hero-inner{padding:108px 0 78px}
.eas-page .section-head .eyebrow{color:#65dedc}
.eas-page .red-section{background:linear-gradient(120deg,#18233f,#281c42);border:1px solid #493c6b}
.eas-page .dark-section{background:#0b172a;border-block:1px solid #253954}
.eas-page .proof .evidence{color:#6de1c9}
.eas-page .scope-note{color:#acbdd4}
/* The diagram keeps its semantic blue/teal/orange/purple distinctions. */
.eas-five-stage{background:#101f35;border-color:#304661;color:#f7f9ff}
.eas-five-stage .fs-diagram{background:#101f35}
.eas-five-stage .fs-toolbar strong{color:#e2eaff}
.eas-five-stage [data-fs-replay]{background:#182e4a;color:#c5e4ff;border-color:#425c80}
.eas-five-stage [data-fs-replay]:hover{background:#234365}
.eas-five-stage .fs-stage-label{color:#98dcf2}
.eas-five-stage .fs-progress i{background:#344964}
.eas-five-stage .fs-side-heading,.eas-five-stage .fs-resource-heading{fill:#b1c4de}
.eas-five-stage .fs-node rect,.eas-five-stage .fs-resources>rect:first-child{fill:#243650}
.eas-five-stage .fs-node-label,.eas-five-stage .fs-agent-title{fill:#f7f9ff}
.eas-five-stage .fs-agent-caption{fill:#c3d2e7}
.eas-five-stage .fs-agent rect{fill:#182c46;stroke:#91a5c4}
.eas-five-stage .fs-eas-layer>rect[fill="#e8ecff"]{fill:#1c315b}
.eas-five-stage .fs-eas-title{fill:#a7c6ff}
.eas-five-stage .fs-os-layer>rect[fill="#d8f4ed"]{fill:#143f40}
.eas-five-stage .fs-mobile-architecture{color:#f0f5ff}
.eas-five-stage .fs-mobile-panel{background:#14243b;border-color:#384d6b}
.eas-five-stage .fs-mobile-panel h3{color:#b6c7dc}
.eas-five-stage .fs-mobile-node{background:#253951}
.eas-five-stage .fs-mobile-agent{background:#1b2d46}
.eas-five-stage .fs-mobile-agent>span:last-child{color:#c1d2e7}
.eas-five-stage[data-stage] .fs-mobile-eas-shell{background:#1b2f54}
.eas-five-stage .fs-mobile-eas-heading{color:#b5d0ff}
@media(max-width:1050px) and (min-width:861px){.home-page .hero-logo{width:210px;right:24px;top:160px}.home-page .hero h1{width:calc(100% - 240px)}.nav-links{gap:16px}.nav-cta{gap:8px}}
@media(max-width:860px){
  .home-page .hero-in{padding:42px 24px 48px}
  .home-page .hero-logo{position:static;width:152px;height:auto;margin:0 0 28px}
  .home-page .hero h1{width:100%;font-size:clamp(34px,6.5vw,49px);line-height:1.12}
  .home-page .hero p.lead{font-size:17px}
  .brand-voiles .hero::before,.brand-voiles .contact::before,.brand-voiles .availability::before{width:100%;top:0;bottom:0;-webkit-mask-image:none;mask-image:none}
  .home-page .nav-in{height:64px}
  .home-page .brand{font-size:16px}.nav-cta{gap:7px}.nav-cta>.btn{padding:10px 12px;font-size:12px}
  .home-page .stats{margin-top:38px}.fam-head{flex-wrap:wrap;gap:8px}
  .eas-page .hero-inner{padding:70px 0 56px}
}
@media(max-width:480px){.home-page .brand{white-space:nowrap}.home-page .nav-cta>.btn{display:none}.home-page .nav-cta{gap:10px}.home-page .hero-logo{width:138px}}
@media(max-width:380px){.home-page .brand-mark{width:26px;height:32px}.home-page .brand{gap:5px;font-size:14px}.nav-cta>.btn{font-size:11px;padding:9px 8px}.nav-in{padding-inline:16px}.burger{width:34px}.lang-switch{width:34px;min-width:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card,.btn,.button{transition:none!important}}
.brand-voiles .source-links{display:flex;flex-wrap:wrap;gap:10px 22px;padding-top:18px;margin-top:18px;border-top:1px solid #2d405b;font-size:13px;line-height:1.6}
.brand-voiles .source-links a{color:#67e1dc;text-decoration:none}
.brand-voiles .source-links a:hover{text-decoration:underline}
.brand-voiles .catalogue-note{color:#b6c7dc;font-size:13px;line-height:1.65;max-width:960px;margin:-12px 0 36px}
.brand-voiles .business-edition{margin-top:28px;padding:24px;border:1px solid #3c5277;border-left:3px solid #67e1dc;border-radius:14px;background:linear-gradient(125deg,#152c47,#101c35)}
.brand-voiles .business-edition .eyebrow{margin-bottom:10px;color:#67e1dc;font-size:11px}
.brand-voiles .business-edition h4{font-size:23px;line-height:1.25;margin:0 0 12px;color:#fff}
.brand-voiles .card[id],.brand-voiles #bonsai-assurance{scroll-margin-top:94px}
.brand-voiles .card .tag{flex-shrink:1;text-align:right;white-space:normal}
@media(max-width:600px){.brand-voiles .business-edition{padding:18px}.brand-voiles .source-links{gap:8px 16px}.brand-voiles .business-edition h4{font-size:21px}}

/* La charte validée reste partagée par l’accueil, les familles et la page EAS. */
.products-nav{position:relative;font-size:14px;font-weight:500;color:var(--muted)}
.products-nav summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;padding:10px 0}
.products-nav summary::-webkit-details-marker{display:none}
.products-nav summary:hover,.products-nav[open] summary{color:var(--text)}
.products-menu{position:absolute;top:100%;left:-16px;min-width:230px;padding:8px;background:#101f35;border:1px solid #3a516e;border-radius:12px;box-shadow:0 16px 40px #0006;z-index:60}
.products-menu a{display:block!important;white-space:nowrap;padding:12px 16px;border-radius:7px;text-decoration:none!important}
.products-menu a:hover,.products-menu a:focus-visible,.products-menu a[aria-current]{background:#1b354c;color:#8aeeea}
.nav-links a[aria-current]{color:#8aeeea}
.category-tabs{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 32px}
.category-tabs a{display:flex;justify-content:space-between;align-items:center;gap:32px;min-width:180px;padding:14px 18px;border:1px solid #3a516e;border-radius:10px;background:#101f35;color:#e7f5ff;text-decoration:none;font-size:15px;font-weight:600}
.category-tabs a:hover,.category-tabs a[aria-current]{border-color:#65dedc;background:#163b4c;color:#9df0eb}
.category-tabs a span{color:#65dedc}
.featured-grid .card{grid-column:1/-1}

/* Accueil : écosystème (le cœur et les quatre familles) */
.eco-label{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:0 0 14px}
.core-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:40px}
.core-card{display:flex;flex-direction:column;gap:8px;padding:28px;border-radius:var(--radius);border:1px solid #3b577d;color:#e7f5ff;text-decoration:none;
  background:linear-gradient(90deg,rgba(7,17,32,.72),rgba(7,17,32,.35)),url("fond-voiles-9ce6bca23075.png") center/100% 100% no-repeat;transition:transform .2s,box-shadow .2s,border-color .2s}
.core-card:hover,.core-card:focus-visible{transform:translateY(-2px);border-color:#65dedc;box-shadow:0 16px 40px rgba(0,0,0,.28)}
.core-card .eyebrow{font-size:11px;color:#80dbe8}
.core-card .pname{font-size:24px;color:#fff}
.core-card p{margin:0;color:#d5e1f3;font-size:14.5px;line-height:1.6}
.core-card .more,.family-card .more{margin-top:auto;padding-top:12px;color:#9df0eb;font-weight:600;font-size:13px}
.family-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.family-card{display:flex;flex-direction:column;gap:10px;padding:26px;border-radius:var(--radius);border:1px solid #2b3f5d;color:#e7f5ff;text-decoration:none;
  background:linear-gradient(135deg,rgba(23,43,70,.88),rgba(11,25,44,.98));transition:border-color .2s,transform .2s,box-shadow .2s}
.family-card:hover,.family-card:focus-visible{border-color:#53babd;transform:translateY(-2px);box-shadow:0 16px 38px rgba(0,0,0,.22)}
.family-card .fam-num{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:#65dedc}
.family-card h3{font-size:22px;color:#fff}
.family-card .fam-tag{margin:0;color:#c0cde0;font-size:15px;line-height:1.55}
.family-card .fam-list{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0;padding:0;list-style:none}
.family-card .fam-list li{border:1px solid rgba(169,198,245,.35);border-radius:999px;padding:4px 10px;font-size:12px;color:#e8f0ff;font-weight:600}

/* Accueil : produit phare, open source, méthode, partenaires */
.feature-section,.oss-section{padding-top:0}
.status-note{margin:18px 0 0;color:#b6c7dc;font-size:13.5px;line-height:1.65;max-width:860px}
.home-page #methode+.ecosystem{margin:-28px auto 56px}

/* Pages de familles */
.category-page .category-hero>.wrap{padding-top:42px;padding-bottom:36px}
.category-page .category-hero h1{width:auto;max-width:none;margin:16px 0;font-size:clamp(38px,5vw,58px)}
.category-page .category-hero .lead{margin:0;max-width:760px}
.category-page .category-hero .category-tabs{margin-bottom:0}
.breadcrumb{display:inline-block;margin-bottom:28px;color:var(--muted);font-size:14px;text-decoration:none}
.breadcrumb:hover{color:#65dedc}
.category-catalogue{padding:40px 0 64px}
.category-page .dl{border-top:1px solid #253954}
.category-contact{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:30px;padding-bottom:50px}
.category-contact h2{font-size:clamp(24px,3vw,32px);margin:0}
.eas-page .topbar{position:relative;z-index:60}
.eas-page .products-menu{left:auto;right:0}

@media(max-width:860px){
  .home-page .nav-links.is-open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:12px 24px 20px;background:#101f35;border-bottom:1px solid #3a516e;max-height:calc(100dvh - 64px);overflow-y:auto}
  .home-page .nav-links.is-open>a{padding:13px 0}
  .home-page .nav-links .products-nav{width:100%}
  .home-page .nav-links .products-nav summary{padding:13px 0;justify-content:space-between}
  .home-page .nav-links .products-menu{position:static;box-shadow:none;margin:0 0 8px}
  .core-grid,.family-grid{grid-template-columns:1fr}
  .core-grid{margin-bottom:32px}
  .core-card,.family-card{padding:22px}
  .core-card{background:linear-gradient(90deg,rgba(7,17,32,.78),rgba(7,17,32,.5)),url("fond-voiles-9ce6bca23075.png") center/cover no-repeat}
  .category-tabs a{min-width:0;flex:1 1 160px}
  .category-contact{align-items:flex-start;flex-direction:column}
  .home-page #methode+.ecosystem{margin:-16px auto 40px}
  .eas-page .navlinks{gap:12px}
  .eas-page .navlinks .products-menu a{display:block}
}
@media(max-width:480px){
  .category-tabs{gap:8px}
  .category-tabs a{flex-basis:100%;padding:12px 16px}
  .eas-page .brand{gap:6px;font-size:13px}
  .eas-page .brand img{width:30px;height:30px;object-fit:contain}
  .eas-page .topbar-inner{gap:8px}
  .eas-page .products-nav{font-size:13px}
}
