:root{
  --gold:#FFC83D;
  --gold-dark:#caa02e;
  --gold-ink:#8f6a12; /* variante foncée accessible (4.87:1 sur fond clair), pour les libellés « kicker » */
  --gold-glow:rgba(255,200,61,0.5);
  --navy:#151A33;
  --forest:#0C3B2E;
  --green:#1C6A4F;
  --cream:#F6F3E7;
  --offwhite:#FFFDF7;
  --ink:#1c2333;
  --line:#d9d2bd;
  --radius:16px;
  --maxw:1180px;
  --font-head: Georgia, "Iowan Old Style", "Palatino Linotype", "Noto Serif", "Noto Serif SC", serif;
  --font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", Helvetica, Arial, sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}

/* ===== Fondu "sous la canopée" — lumière filtrant à travers les feuillages ===== */
body{
  margin:0;
  color:var(--ink);
  font-family:var(--font-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  background-color:#0C3B2E;
  background-image:
    linear-gradient(180deg, rgba(12,59,46,0.4) 0%, rgba(6,30,22,0.48) 45%, rgba(21,26,51,0.6) 100%),
    url("canopy.jpg");
  background-size: auto, cover;
  background-position: center, center 32%;
  background-repeat: no-repeat, no-repeat;
  background-attachment: fixed, fixed;
}
@media (max-width:900px){ body{ background-attachment:scroll, scroll; background-position:center, center 25%; } }

:lang(zh){ line-height:1.85; letter-spacing:0.02em; }

h1,h2,h3,h4{
  font-family:var(--font-head);
  color:var(--navy);
  margin:0 0 0.55em 0;
  font-weight:700;
  text-wrap:balance;
  overflow-wrap:break-word;
}
h1{ font-size:clamp(2.4rem, 5.8vw, 4.2rem); line-height:1.06; }
h2{ font-size:clamp(1.8rem, 3.8vw, 2.8rem); line-height:1.15; }
h3{ font-size:clamp(1.15rem, 2vw, 1.4rem); }
p{margin:0 0 1.1em 0;}
a{color:var(--forest);}
a:focus-visible, button:focus-visible, select:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:3px solid var(--gold);
  outline-offset:3px;
}
img,svg{max-width:100%;display:block;}

.container{max-width:var(--maxw); margin:0 auto; padding:0 1.25rem;}

.skip-link{
  position:absolute; left:-999px; top:auto;
  background:var(--navy); color:var(--offwhite); padding:0.75rem 1.25rem;
  z-index:1000; border-radius:8px;
}
.skip-link:focus{ left:1rem; top:1rem; }

header.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(255,253,247,0.97);
  border-bottom:1px solid var(--line);
  box-shadow:0 2px 20px rgba(4,20,13,0.2);
}
.header-row{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:0.8rem 1.25rem; max-width:var(--maxw); margin:0 auto; }
.brand{ display:flex; align-items:center; gap:0.65rem; text-decoration:none; }
.brand-mark{ width:42px; height:42px; flex:none; border-radius:9px; object-fit:cover; }
.brand-text{ display:flex; flex-direction:column; line-height:1.1; }
.brand-text strong{ font-family:var(--font-head); color:var(--navy); font-size:1.15rem; letter-spacing:0.02em;}
.brand-text span{ font-size:0.68rem; color:var(--forest); text-transform:uppercase; letter-spacing:0.08em;}

nav.main-nav{ display:none; }
nav.main-nav ul{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:0.25rem 1.15rem; }
nav.main-nav a{ color:var(--ink); text-decoration:none; font-size:0.92rem; padding:0.5rem 0.1rem; border-bottom:2px solid transparent; min-height:44px; display:inline-flex; align-items:center; font-weight:600; }
nav.main-nav a:hover, nav.main-nav a:focus-visible{ border-bottom-color:var(--gold); }

.header-actions{ display:flex; align-items:center; gap:0.6rem; flex:none; }
.lang-select-wrap{ display:flex; align-items:center; gap:0.35rem; }
.lang-select-wrap label{ font-size:0.75rem; color:var(--forest); }
select#lang-switch{ font-family:var(--font-body); font-size:0.85rem; padding:0.45rem 0.5rem; border:1px solid var(--line); background:var(--offwhite); color:var(--ink); border-radius:8px; min-height:44px; }

.btn{ display:inline-flex; align-items:center; justify-content:center; padding:0.8rem 1.5rem; min-height:44px; border-radius:999px; text-decoration:none; font-size:0.96rem; font-weight:800; border:2px solid transparent; cursor:pointer; white-space:nowrap; }
.btn-primary{ background:var(--gold); color:var(--navy); border-color:var(--gold-dark); box-shadow:0 0 0 0 var(--gold-glow), 0 10px 28px var(--gold-glow); }
.btn-primary:hover{ background:var(--gold-dark); }
.btn-outline{ background:transparent; color:var(--navy); border-color:var(--navy); }
.btn-outline:hover{ background:var(--navy); color:var(--offwhite); }

.menu-toggle{ display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid var(--line); background:var(--offwhite); border-radius:999px; cursor:pointer; }
.menu-toggle svg{ width:20px; height:20px; }

#mobile-nav{ display:none; flex-direction:column; gap:0.1rem; background:var(--offwhite); border-top:1px solid var(--line); padding:0.5rem 1.25rem 1rem; }
#mobile-nav.open{ display:flex; }
#mobile-nav a{ color:var(--ink); text-decoration:none; padding:0.75rem 0.25rem; min-height:44px; display:flex; align-items:center; border-bottom:1px solid var(--line); }

@media (min-width:960px){
  nav.main-nav{ display:block; }
  .menu-toggle{ display:none; }
  #mobile-nav{ display:none !important; }
}

/* ---------- Hero ---------- */
.hero{ position:relative; color:var(--offwhite); padding:7rem 0 7rem; text-align:left; overflow:hidden; }
.hero-scrim{
  position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(100deg, rgba(4,20,13,0.86) 0%, rgba(4,20,13,0.8) 38%, rgba(4,20,13,0.45) 62%, rgba(4,20,13,0.18) 100%),
    linear-gradient(180deg, rgba(4,20,13,0.35) 0%, rgba(4,20,13,0.25) 30%, rgba(4,20,13,0.62) 100%);
}
.photo-credit{ position:absolute; right:0.9rem; bottom:0.6rem; z-index:2; font-size:0.68rem; color:rgba(255,253,247,0.55); letter-spacing:0.02em; }
.photo-credit a{ color:inherit; }
.hero .container{ max-width:860px; position:relative; z-index:2; }
.hero .eyebrow{ color:var(--gold); text-transform:uppercase; letter-spacing:0.16em; font-size:0.82rem; margin-bottom:1.1rem; font-weight:800; }
.hero h1{ color:var(--offwhite); }
.hero p.lead{ color:#eee9d6; font-size:1.2rem; max-width:680px; }
.hero-ctas{ display:flex; flex-wrap:wrap; gap:0.9rem; margin:2rem 0; }
.hero-note{ border-left:4px solid var(--gold); padding:1rem 1.2rem; background:rgba(4,20,13,0.35); font-size:0.92rem; color:#e3dfc8; max-width:680px; border-radius:0 12px 12px 0; }

/* ---------- Sections ---------- */
section{ padding:3.2rem 0; position:relative; }
.section-head{ max-width:760px; margin-bottom:2.2rem; }
.section-head .kicker{ color:var(--gold-ink); text-transform:uppercase; font-size:0.8rem; letter-spacing:0.13em; font-weight:800; margin-bottom:0.6rem; display:block; }

section:not(.hero):not(#ethique):not(#contact) > .container{
  background:var(--offwhite);
  border-radius:var(--radius);
  box-shadow:0 0 0 1px rgba(255,200,61,0.25), 0 30px 70px rgba(4,20,13,0.45), 0 0 60px rgba(255,200,61,0.08);
  padding:3.2rem 2.8rem;
  margin:1.6rem auto;
}
.alt-bg > .container{ background:#f5f8f0 !important; }

/* ---------- Schéma du déroulement d'un agent (capacités réelles, pas un tableau de bord) ---------- */
.agent-flow{
  display:flex; flex-wrap:wrap; align-items:stretch; gap:0; margin-bottom:2rem;
  background:linear-gradient(180deg, #0C3B2E, #103b2c);
  border-radius:var(--radius); padding:2rem 1.6rem; box-shadow:0 20px 50px rgba(4,20,13,0.35);
}
.flow-node{
  flex:1 1 150px; min-width:150px; display:flex; flex-direction:column; align-items:flex-start;
  padding:0.6rem 1rem; position:relative;
}
.flow-node .flow-num{
  width:2.4rem; height:2.4rem; border-radius:8px; background:var(--gold); color:var(--navy);
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:1rem;
  margin-bottom:0.7rem; box-shadow:0 6px 16px var(--gold-glow);
}
.flow-node h4{ color:var(--offwhite); font-size:0.92rem; font-weight:800; margin:0 0 0.3rem; font-family:var(--font-body); }
.flow-node p{ color:#cfe3d6; font-size:0.82rem; margin:0; line-height:1.45; }
.flow-arrow{
  flex:0 0 auto; display:flex; align-items:center; justify-content:center; color:var(--gold);
  padding:0 0.2rem; opacity:0.85; align-self:center;
}
.flow-arrow svg{ width:20px; height:20px; }
@media (max-width:820px){
  .agent-flow{ flex-direction:column; }
  .flow-arrow{ transform:rotate(90deg); align-self:flex-start; margin-left:1.6rem; }
}

.grid{ display:grid; gap:1.2rem; grid-template-columns:repeat(auto-fit, minmax(250px,1fr)); }
.card{ border:1px solid var(--line); background:var(--offwhite); padding:1.4rem 1.5rem; border-radius:12px; transition:box-shadow .2s; }
.card:hover{ box-shadow:0 8px 24px rgba(28,106,79,0.15); }
.card h3{ margin-bottom:0.4rem; font-size:1.05rem; }
.card p{ margin:0; font-size:0.94rem; color:#333a4d; }

.honesty{ margin-top:1.6rem; padding:1.1rem 1.3rem; background:#fbf4de; border:1px dashed var(--gold-dark); font-size:0.88rem; color:#3d4356; border-radius:12px; }
.honesty strong{ color:var(--forest); }

.orga-grid{ display:grid; gap:1.1rem; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.orga-grid .card{ border-top:4px solid var(--green); border-radius:0 12px 12px 12px; }

/* ---------- Ethics ---------- */
#ethique{ position:relative; color:var(--offwhite); padding:6.5rem 0; }
#ethique .section-head{ max-width:780px; margin:0 auto 2.8rem; text-align:left; }
#ethique .section-head .kicker{ color:var(--gold); }
#ethique h2{ color:var(--offwhite); }
#ethique p.lead{ color:#dfeadd; max-width:720px; font-size:1.08rem; }
.ethics-list{ max-width:860px; margin:0 auto; list-style:none; padding:0; display:grid; gap:1.2rem; grid-template-columns:repeat(auto-fit,minmax(340px,1fr)); }
#ethique .section-head, .contact-intro{
  background:rgba(4,20,13,0.72);
  padding:1.9rem 2.1rem;
  border-radius:var(--radius);
  backdrop-filter:blur(2px);
}

.ethics-list li{ border-left:3px solid var(--gold); padding:0.3rem 0 0.3rem 1.1rem; background:rgba(4,20,13,0.6); border-radius:0 12px 12px 0; }
.ethics-list h4{ color:var(--gold); font-family:var(--font-body); font-size:1rem; margin-bottom:0.3rem; text-transform:none; font-weight:800;}
.ethics-list p{ color:#e7f0e3; font-size:0.93rem; margin:0;}

.badge-status{ display:inline-block; background:var(--gold); color:var(--navy); font-weight:800; font-size:0.76rem; padding:0.45rem 0.9rem; border-radius:999px; margin-bottom:1.1rem; text-transform:uppercase; letter-spacing:0.06em; box-shadow:0 8px 20px var(--gold-glow); }
.regional-list{ columns:2 240px; column-gap:2.2rem; }
.regional-list li{ break-inside:avoid; margin-bottom:0.75rem; font-size:0.95rem; }

.usecase-grid{ display:grid; gap:1.2rem; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
.usecase-card{ border:1px solid var(--line); padding:1.4rem; border-radius:14px; background:var(--offwhite); box-shadow:0 0 24px rgba(255,200,61,0.06); }
.usecase-icon{ width:36px; height:36px; margin-bottom:0.65rem; color:var(--forest); }
.usecase-card h3{ font-size:1.03rem; margin-bottom:0.35rem; }
.usecase-card p{ font-size:0.9rem; color:#333a4d; margin:0;}

/* ---------- Journey ---------- */
.journey-rail{ position:relative; padding-left:2.8rem; }
.journey-rail::before{ content:""; position:absolute; left:0.9rem; top:0.3rem; bottom:0.3rem; width:4px; background:linear-gradient(180deg, var(--gold), var(--green), var(--gold)); border-radius:4px; box-shadow:0 0 16px rgba(255,200,61,0.35); }
.station{ position:relative; margin-bottom:2.4rem; padding-left:0.2rem; }
.station:last-child{ margin-bottom:0; }
.station-pk{ position:absolute; left:-2.8rem; top:0; width:3rem; height:3rem; background:var(--gold); color:var(--navy); border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:0.76rem; border:3px solid var(--navy); box-shadow:0 8px 22px var(--gold-glow); }
.station h3{ margin-bottom:0.35rem; }
.station p{ font-size:0.95rem; color:#333a4d; max-width:620px; }

/* ---------- CTA / contact ---------- */
#contact{ position:relative; color:var(--offwhite); padding-top:5.5rem; padding-bottom:5.5rem; }
#contact h2{ color:var(--offwhite); }
#contact .lead{ color:#dcd8c7; max-width:660px; font-size:1.05rem; }
.contact-wrap{ display:grid; gap:2.2rem; grid-template-columns:1.1fr 1fr; align-items:start; }
form.contact-form{ background:var(--offwhite); color:var(--ink); padding:1.9rem; border-radius:16px; box-shadow:0 0 60px rgba(255,200,61,0.12), 0 30px 70px rgba(4,20,13,0.4); }
form.contact-form label{ display:block; font-size:0.85rem; font-weight:700; margin:0.95rem 0 0.3rem; }
form.contact-form input, form.contact-form textarea, form.contact-form select{ width:100%; padding:0.75rem 0.8rem; border:1px solid var(--line); border-radius:10px; font-family:var(--font-body); font-size:0.95rem; min-height:44px; }
form.contact-form textarea{ min-height:110px; resize:vertical; }
form.contact-form .btn{ margin-top:1.3rem; }
.form-disclaimer{ font-size:0.78rem; color:#5b6272; margin-top:0.85rem; }

footer.site-footer{ background:var(--offwhite); border-top:1px solid var(--line); padding:2.6rem 0 1.5rem; font-size:0.88rem; color:#3d4356; }
.footer-grid{ display:grid; gap:2rem; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); margin-bottom:2rem; }
.footer-grid h4{ font-family:var(--font-body); font-size:0.82rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--forest); margin-bottom:0.7rem; }
.footer-grid ul{ list-style:none; margin:0; padding:0; }
.footer-grid li{ margin-bottom:0.45rem; }
.footer-grid a{ color:#3d4356; text-decoration:none; }
.footer-grid a:hover{ text-decoration:underline; }
.footer-bottom{ border-top:1px solid var(--line); padding-top:1.2rem; display:flex; flex-wrap:wrap; gap:0.8rem; justify-content:space-between; }

.image-placeholder{ border:1px dashed var(--line); background:var(--cream); color:#5b6272; font-size:0.78rem; padding:0.6rem 0.8rem; border-radius:10px; }
.visually-hidden{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

@media (max-width:720px){
  .contact-wrap{ grid-template-columns:1fr; }
  .regional-list{ columns:1; }
  section:not(.hero):not(#ethique):not(#contact) > .container{ padding:2.2rem 1.5rem; }
}

/* Version Pro v2 — navigation, souveraineté et mobile */
@font-face{font-family:"Noto Sans SC Danbwa";src:url("NotoSansCJKsc-Danbwa.woff2") format("woff2");font-style:normal;font-weight:400 900;font-display:swap}
:lang(zh),:lang(zh) h1,:lang(zh) h2,:lang(zh) h3,:lang(zh) h4{font-family:"Noto Sans SC Danbwa","Noto Sans SC","Microsoft YaHei",sans-serif}
:lang(zh) select#lang-switch{font-family:"Noto Sans SC Danbwa","Noto Sans SC","Microsoft YaHei",sans-serif}
.header-row{max-width:1340px}
nav.main-nav ul{flex-wrap:nowrap;gap:.25rem .85rem}
nav.main-nav a{font-size:.88rem}
nav.main-nav .nav-project{border-left:1px solid rgba(21,26,51,.2);padding-left:.75rem}
#mobile-nav .nav-project{border-top:1px solid rgba(21,26,51,.16);margin-top:.25rem;padding-top:.85rem;color:var(--forest)}
@media (min-width:1180px){
  nav.main-nav{display:block}
  .menu-toggle{display:none}
  #mobile-nav{display:none!important}
}
@media (min-width:960px) and (max-width:1179px){
  nav.main-nav{display:none}
  .menu-toggle{display:inline-flex}
}
@media (max-width:1179px){.header-actions>.btn{display:none}}
@media (max-width:520px){
  .header-row{padding:.65rem .75rem;gap:.45rem}
  .brand{gap:.45rem}.brand-mark{width:38px;height:38px}.brand-text strong{font-size:1rem}
  .brand-text span{font-size:.58rem}.header-actions{gap:.35rem}
  select#lang-switch{max-width:104px;padding:.4rem .35rem}
  .hero{padding:4.6rem 0 4.8rem}.hero h1{font-size:clamp(2.15rem,10vw,2.65rem);line-height:1.04}
  .hero p.lead{font-size:1.05rem}
  .ethics-list{grid-template-columns:1fr}
}
.agentic-complement{margin-top:2.2rem;padding-top:1.7rem;border-top:1px solid rgba(21,26,51,.14)}
.agentic-complement>p{max-width:760px;margin-bottom:1.25rem}
.agentic-complement .card{border-top:3px solid var(--forest)}
.operating-note{margin-top:1.6rem;padding:1.05rem 1.25rem;background:rgba(15,77,58,.06);border-left:4px solid var(--forest);font-size:.9rem;color:#30384a;border-radius:0 10px 10px 0}
.sovereignty-section{padding:0 0 5.5rem;color:var(--offwhite);margin-top:4.5rem}
.project-boundary{display:flex;justify-content:center;align-items:center;padding:1.15rem 1rem;margin-bottom:4rem;border-top:4px solid var(--gold);border-bottom:1px solid rgba(255,200,61,.38);background:rgba(7,34,26,.96);color:var(--gold);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;text-align:center}
.sovereignty-section>.container{background:linear-gradient(135deg,rgba(8,45,34,.97),rgba(21,26,51,.97))!important;color:var(--offwhite);border:1px solid rgba(255,200,61,.35);box-shadow:0 35px 85px rgba(4,20,13,.55),inset 0 1px 0 rgba(255,255,255,.06)}
.sovereignty-section h2,.sovereignty-section h3{color:var(--offwhite)}
.sovereignty-section .section-head .kicker{color:var(--gold)}
.sovereignty-section .lead{color:#e4eadf;font-size:1.08rem}
.sovereignty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0}
.sovereignty-grid .card,.energy-grid .card{background:rgba(255,255,255,.07);border-color:rgba(255,200,61,.35);color:var(--offwhite);backdrop-filter:blur(4px)}
.sovereignty-grid .card h3,.energy-grid .card h3{color:var(--gold);font-family:var(--font-body)}
.sovereignty-grid .card p,.energy-grid .card p{color:#e4eadf}
.regional-details{display:grid;grid-template-columns:.9fr 1.25fr;gap:2rem;align-items:start;margin-top:2rem}
.regional-list{color:#e4eadf;margin:0;padding-left:1.2rem}
.regional-list li::marker{color:var(--gold)}
.energy-panel{background:rgba(255,255,255,.055);border:1px solid rgba(255,200,61,.25);border-radius:14px;padding:1.4rem}
.energy-panel>p{color:#dfe7df}
.energy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin-top:1rem}
.energy-grid .card{padding:1rem}
.energy-grid .card h3{font-size:.95rem}.energy-grid .card p{font-size:.84rem}
/* Keep the whole energy frame below the sticky navigation when the browser
   brings it into view (mobile links, focus navigation and automated scroll). */
.energy-panel{scroll-margin-top:134px}
.regional-note{background:linear-gradient(90deg,rgba(28,106,79,.3),rgba(255,200,61,.1));color:#f2ead2;border-left-color:var(--gold)}
.regional-ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}
.btn-outline.light{color:var(--offwhite);border-color:rgba(255,255,255,.75)}
.btn-outline.light:hover{background:var(--offwhite);color:var(--navy)}
@media(max-width:850px){.sovereignty-grid{grid-template-columns:1fr}.regional-details{grid-template-columns:1fr}}
@media(max-width:560px){.energy-grid{grid-template-columns:1fr}.sovereignty-section{padding:0 0 3.5rem;margin-top:3rem}.project-boundary{margin-bottom:2.5rem;padding:.9rem .75rem;font-size:.68rem}}
/* Multipage commercial layout */
.home-offers .offer-grid,.home-explore .gateway-grid{display:grid;gap:1.2rem;grid-template-columns:repeat(3,1fr)}
.home-explore .gateway-grid{grid-template-columns:repeat(2,1fr)}
.offer-card,.gateway-card{display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--line);background:var(--offwhite);padding:1.55rem;border-radius:14px}
.offer-card{border-top:4px solid var(--gold)}.gateway-card{border-left:4px solid var(--green)}
.offer-card p,.gateway-card p{flex:1;color:#333a4d}.offer-card .btn,.gateway-card .text-link{margin-top:.6rem}
.text-link{font-weight:800;text-underline-offset:4px}.page-cta{text-align:center}.page-cta .container{max-width:850px}
.subpage-hero{padding:5.5rem 0 4.5rem;color:var(--offwhite);background:linear-gradient(105deg,rgba(4,20,13,.9),rgba(12,59,46,.72),rgba(21,26,51,.75))}
.subpage-hero>.container{background:transparent!important;box-shadow:none!important;border:0!important;padding:0 1.25rem!important;margin:0 auto!important}
.subpage-hero .eyebrow{color:var(--gold);font-size:.82rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.subpage-hero h1{color:var(--offwhite);max-width:900px}.subpage-hero .lead{font-size:1.15rem;color:#e5eadf;max-width:780px}.subpage-context-cta{margin-top:1.15rem}
body[data-page] nav.main-nav a[aria-current="page"]{border-bottom-color:var(--gold);color:var(--forest)}
.tree-nav-pages{grid-template-columns:1fr!important;max-width:680px}.tree-nav-pages .tree-nav-group{grid-template-columns:repeat(2,1fr)}
@media(max-width:760px){.home-offers .offer-grid,.home-explore .gateway-grid{grid-template-columns:1fr}.tree-nav-pages .tree-nav-group{grid-template-columns:1fr}.subpage-hero{padding:4rem 0 3.4rem}}

/* Danbwa — canopée cyber-organique
   Une composition originale inspirée des strates forestières, des nervures
   végétales et des réseaux techniques. Les boîtes blanches répétitives sont
   remplacées par des paysages, des nœuds et des surfaces teintées. */
:root{
  --deep:#041b16;
  --deep-2:#071f2a;
  --moss:#123f31;
  --leaf:#3d8b68;
  --mint:#9ad7b5;
  --amber:#ffc83d;
  --warm:#eee8d4;
  --cyber-line:rgba(126,226,177,.23);
  --cyber-soft:rgba(126,226,177,.09);
}
/* Component-specific typography must never override the embedded CJK face. */
html:lang(zh),html:lang(zh) body,html:lang(zh) body *{
  font-family:"Noto Sans SC Danbwa","Noto Sans SC","Microsoft YaHei",sans-serif!important;
}
/* Fond premium d’origine : photo centrale de 1 800 px, entourée d’un
   dégradé presque noir qui prolonge la forêt sans aplats latéraux. */
body{
  background-color:#041B16;
  background-image:
    linear-gradient(180deg,rgba(4,27,22,.42),rgba(4,27,22,.82) 52%,rgba(5,18,28,.90)),
    radial-gradient(circle at 12% 28%,rgba(62,139,104,.22),transparent 28%),
    url("canopy.jpg");
  background-size:auto,cover,1800px auto;
  background-position:center,center,center top;
  background-repeat:no-repeat,no-repeat,no-repeat;
  background-attachment:fixed,fixed,fixed;
}
.hero-scrim{
  inset:0 auto 0 50%;
  width:min(100%,1800px);
  transform:translateX(-50%);
}
@media (min-width:761px){
  body{background-size:auto,cover,max(1800px,149.68815svh) auto}
  .hero-scrim{width:min(100%,max(1800px,149.68815svh))}
}
@media (max-width:760px){
  html{background:#041B16}
  body{background:none!important;position:relative}
  body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-color:#041B16;background-image:linear-gradient(180deg,rgba(4,27,22,.34),rgba(4,27,22,.64) 58%,rgba(5,18,28,.78)),url("canopy-portrait.webp");background-size:cover,cover;background-position:center,center;background-repeat:no-repeat,no-repeat}
  body>*{position:relative;z-index:1}
}

/* Navigation: smoked canopy rather than an isolated white bar. */
header.site-header{
  background:rgba(4,27,22,.91);
  border-bottom:1px solid rgba(154,215,181,.23);
  box-shadow:0 12px 34px rgba(0,0,0,.28);
  backdrop-filter:blur(16px) saturate(1.15);
}
.brand-text strong,nav.main-nav a{color:var(--offwhite)}
.brand-text span,.lang-select-wrap label{color:var(--mint)}
nav.main-nav .nav-project{border-left-color:rgba(154,215,181,.25)}
select#lang-switch,.menu-toggle{
  background:rgba(255,255,255,.07);color:var(--offwhite);
  border-color:rgba(154,215,181,.32)
}
select#lang-switch option{background:var(--deep);color:var(--offwhite)}

/* Root-tree control: roots reference Unix, branch nodes reference Danbwa's
   wired, wireless, cloud, application and service connections. */
.tree-nav-toggle{
  display:inline-flex!important;width:50px;height:50px;padding:5px;
  border-radius:18px 18px 24px 24px;
  background:linear-gradient(145deg,rgba(20,77,58,.76),rgba(7,31,42,.9));
  border:1px solid rgba(154,215,181,.42);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 22px rgba(0,0,0,.25);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.tree-nav-toggle:hover,.tree-nav-toggle:focus-visible,.tree-nav-toggle[aria-expanded="true"]{
  transform:translateY(-1px);border-color:var(--amber);
  box-shadow:0 0 0 3px rgba(255,200,61,.13),0 10px 28px rgba(0,0,0,.34)
}
.tree-network-icon{width:40px!important;height:40px!important;overflow:visible}
.tree-network-icon .ebony-crown{fill:rgba(126,72,151,.28);stroke:rgba(190,139,216,.72);stroke-width:1.15;stroke-linejoin:round}
.tree-network-icon .ebony-trunk{fill:#171116;stroke:#d1ad68;stroke-width:1.15;stroke-linejoin:round}
.tree-network-icon .ebony-branch{fill:none;stroke:var(--mint);stroke-width:1.35;stroke-linecap:round;opacity:.9}
.tree-network-icon .tree-roots{fill:none;stroke:var(--amber);stroke-width:1.8;stroke-linecap:round}
.tree-network-icon .ebony-bloom circle{fill:#b978d1;stroke:#341d3e;stroke-width:.65}
.tree-network-icon .ebony-bloom .bloom-core{fill:var(--amber);stroke:none}
.tree-network-icon text{fill:var(--amber);stroke:none;font:800 9px ui-monospace,SFMono-Regular,Consolas,monospace}

#mobile-nav.tree-nav-panel{
  display:none!important;position:fixed;z-index:1003;
  top:76px;right:max(1rem,calc((100vw - 1340px)/2));
  width:min(860px,calc(100vw - 2rem));max-height:calc(100dvh - 92px);overflow:auto;
  padding:1.4rem;
  background:linear-gradient(145deg,rgba(4,27,22,.97),rgba(7,31,42,.96));
  border:1px solid rgba(154,215,181,.3);border-radius:30px 8px 34px 10px;
  box-shadow:0 30px 90px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(22px) saturate(1.1)
}
#mobile-nav.tree-nav-panel.open{display:block!important}
.tree-nav-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.25rem .25rem 1.15rem;border-bottom:1px solid rgba(154,215,181,.2)}
.root-path{display:block;margin-bottom:.35rem;color:var(--amber);font:700 .72rem/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.05em}
.tree-nav-head h2{margin:0;color:var(--offwhite);font-size:clamp(1.45rem,3vw,2rem)}
.tree-nav-head p{margin:.35rem 0 0;color:#bcd5c6;font-size:.9rem}
.tree-nav-close{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid rgba(154,215,181,.3);background:rgba(255,255,255,.05);color:var(--offwhite);font-size:1.8rem;line-height:1;cursor:pointer}
.tree-nav-close:hover,.tree-nav-close:focus-visible{border-color:var(--amber);color:var(--amber)}
.tree-nav-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1rem}
.tree-nav-group{position:relative;padding:.9rem .75rem .75rem 1.1rem;background:linear-gradient(145deg,rgba(16,67,51,.4),rgba(7,31,42,.32));border:1px solid rgba(126,226,177,.15);border-radius:22px 5px 24px 7px}
.tree-nav-group::before{content:"";position:absolute;left:.62rem;top:3.05rem;bottom:1.1rem;width:1px;background:linear-gradient(var(--mint),rgba(154,215,181,.08))}
.tree-nav-group h3{margin:0 0 .65rem;color:var(--amber);font:800 .75rem/1.3 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
#mobile-nav .tree-nav-group a{position:relative;display:flex;align-items:center;gap:.6rem;min-height:42px;padding:.45rem .55rem;text-decoration:none;border:0;border-radius:10px;color:var(--offwhite)}
#mobile-nav .tree-nav-group a::before{content:"";position:absolute;left:-.55rem;width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 3px rgba(154,215,181,.1)}
#mobile-nav .tree-nav-group a>span{min-width:1.55rem;color:var(--mint);font:700 .66rem ui-monospace,SFMono-Regular,Consolas,monospace}
#mobile-nav .tree-nav-group a strong{font-size:.84rem;line-height:1.25}
#mobile-nav .tree-nav-group a:hover,#mobile-nav .tree-nav-group a:focus-visible{background:rgba(154,215,181,.1);color:#fff;outline:1px solid rgba(154,215,181,.2)}
#mobile-nav .tree-nav-group a.nav-project{margin:0;padding-top:.45rem;color:var(--offwhite)}
#mobile-nav .tree-nav-group a[aria-current="page"]{background:rgba(255,200,61,.12);color:var(--amber);outline:1px solid rgba(255,200,61,.28)}
#mobile-nav .tree-nav-group a[aria-current="page"]::before{background:var(--amber);box-shadow:0 0 0 3px rgba(255,200,61,.12)}
#mobile-nav .tree-nav-group a[aria-current="page"]>span{color:var(--amber)}
#mobile-nav .tree-nav-group a[aria-current="page"] strong{color:var(--amber)}
.tree-nav-backdrop{position:fixed;z-index:1001;inset:0;background:rgba(1,14,12,.58);backdrop-filter:blur(3px)}
.tree-nav-backdrop[hidden]{display:none!important}
body.tree-nav-open{overflow:hidden}

@media(max-width:720px){
  .tree-nav-toggle{width:44px;height:44px;padding:5px;border-radius:15px 15px 20px 20px}
  .tree-network-icon{width:34px!important;height:34px!important}
  #mobile-nav.tree-nav-panel{top:68px;right:.5rem;width:calc(100vw - 1rem);max-height:calc(100dvh - 76px);padding:1rem;border-radius:24px 7px 28px 9px}
  .tree-nav-groups{grid-template-columns:1fr;gap:.65rem}
  .tree-nav-group{padding:.75rem .65rem .65rem 1rem}
  #mobile-nav .tree-nav-group a{min-height:40px}
}

/* Landscapes: one large organic field per idea, not a stack of white cards. */
section:not(.hero):not(#contact) > .container{
  position:relative;isolation:isolate;overflow:hidden;
  background:linear-gradient(138deg,rgba(242,239,222,.84),rgba(210,227,211,.76));
  border:1px solid rgba(154,215,181,.42);
  border-radius:46px 10px 54px 14px;
  box-shadow:0 32px 80px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.5);
  backdrop-filter:blur(4px) saturate(.88);
  padding:clamp(2.2rem,5vw,4.6rem) clamp(1.35rem,5vw,4rem);
}
/* No printed dots, meshes or decorative ellipses inside the frames. */
section:not(.hero):not(#contact) > .container::before,
section:not(.hero):not(#contact) > .container::after{content:none}
.alt-bg > .container{background:linear-gradient(138deg,rgba(226,237,222,.84),rgba(193,217,201,.76))!important}
.section-head{position:relative;z-index:1;max-width:820px}
.section-head::before{
  content:"";position:absolute;left:-1.35rem;top:.25rem;width:2px;height:72%;
  background:linear-gradient(var(--amber),rgba(61,139,104,.35));
  box-shadow:0 0 18px rgba(255,200,61,.3)
}
.section-head .kicker{color:#755817}
.section-head .lead{font-size:1.06rem}

/* Unified translucent editorial landscapes. Distinction now comes from content
   and accents, never from an unchosen grey/light panel. */
:is(#agentique,#hermes,#couts,#continuite,#personnalisation,#cas-usage,#securite,#ethique,#parcours) > .container{
  color:#e8f2ea;
  background:
    linear-gradient(135deg,rgba(4,27,22,.84),rgba(7,31,42,.78))!important;
  border-color:rgba(126,226,177,.26);
  box-shadow:0 40px 90px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.05);
}
:is(#agentique,#hermes,#couts,#continuite,#personnalisation,#cas-usage,#securite,#ethique,#parcours) > .container::before{content:none}
:is(#agentique,#hermes,#couts,#continuite,#personnalisation,#cas-usage,#securite,#ethique,#parcours) h2,
:is(#agentique,#hermes,#couts,#continuite,#personnalisation,#cas-usage,#securite,#ethique,#parcours) h3{color:var(--offwhite)}
:is(#agentique,#hermes,#couts,#continuite,#personnalisation,#cas-usage,#securite,#ethique,#parcours) .section-head .kicker{color:var(--amber)}
:is(#agentique,#hermes,#couts,#continuite,#personnalisation,#cas-usage,#securite,#ethique,#parcours) .section-head p,
:is(#agentique,#hermes,#couts,#continuite,#personnalisation,#cas-usage,#securite,#ethique,#parcours) > .container > div > p{color:#cfe2d5}

/* Reusable information nodes: tinted, open and connected. */
.grid,.orga-grid,.usecase-grid{gap:1px;background:rgba(28,106,79,.18);border:1px solid rgba(28,106,79,.18)}
.card,.usecase-card{
  position:relative;background:linear-gradient(145deg,rgba(234,240,222,.72),rgba(196,220,201,.54));
  border:0;border-radius:0;padding:1.55rem 1.6rem;box-shadow:none;
  transition:background .2s ease,transform .2s ease;
}
.card::before,.usecase-card::before{
  content:"";position:absolute;left:0;top:0;width:34px;height:2px;background:var(--green)
}
.card:hover,.usecase-card:hover{background:rgba(245,242,224,.88);box-shadow:none;transform:translateY(-2px)}
.card p,.usecase-card p{color:#33453e}
.grid .card:nth-child(4n+1),.usecase-card:nth-child(4n+1){border-radius:24px 0 0 0}
.grid .card:nth-child(4n),.usecase-card:nth-child(4n){border-radius:0 0 24px 0}
:is(#agentique,#couts,#continuite,#personnalisation,#cas-usage,#securite,#parcours) .grid,
#hermes .orga-grid{background:rgba(126,226,177,.12);border-color:rgba(126,226,177,.13)}
:is(#agentique,#couts,#continuite,#personnalisation,#cas-usage,#securite,#parcours) .card,
#cas-usage .usecase-card,
#hermes .orga-grid .card{
  background:linear-gradient(145deg,rgba(16,67,51,.42),rgba(7,31,42,.36));color:var(--offwhite)
}
:is(#agentique,#couts,#continuite,#personnalisation,#cas-usage,#securite,#parcours) .card:hover,
#cas-usage .usecase-card:hover,
#hermes .orga-grid .card:hover{background:linear-gradient(145deg,rgba(26,83,63,.56),rgba(7,42,48,.44))}
:is(#agentique,#couts,#continuite,#personnalisation,#cas-usage,#securite,#parcours) .card h3,
#cas-usage .usecase-card h3,
#hermes .orga-grid .card h3{color:#f5f4e9}
:is(#agentique,#couts,#continuite,#personnalisation,#cas-usage,#securite,#parcours) .card p,
#cas-usage .usecase-card p,
#hermes .orga-grid .card p{color:#cbe1d2}
:is(#agentique,#couts,#continuite,#personnalisation,#cas-usage,#securite,#parcours) .card::before,
#cas-usage .usecase-card::before,
#hermes .orga-grid .card::before{background:var(--mint)}

/* Agent flow becomes a branching process rail. */
.agent-flow{
  position:relative;background:rgba(0,0,0,.12);border:1px solid rgba(126,226,177,.17);
  border-radius:32px 8px 32px 8px;padding:2.15rem 1.5rem;box-shadow:none
}
.flow-node{border-top:1px solid rgba(126,226,177,.2);padding-top:1rem}
.flow-node .flow-num{border-radius:50% 50% 50% 8px;background:var(--amber);box-shadow:0 0 0 7px rgba(255,200,61,.08),0 8px 20px rgba(0,0,0,.3)}
.agentic-complement{border-top-color:rgba(126,226,177,.18)}
.agentic-complement>p{color:#cfe2d5}
.operating-note{
  background:linear-gradient(90deg,rgba(28,106,79,.14),rgba(255,200,61,.07));
  border:0;border-left:2px solid var(--green);border-radius:0 22px 22px 0
}
:is(#continuite,#securite) .operating-note{color:#d9e9dd;border-left-color:var(--amber)}

/* Hermes / open infrastructure — a two-bank operating spectrum. */
#hermes > .container{border-radius:64px 12px 64px 12px}
#hermes .section-head{max-width:900px}
#hermes .section-head .lead{font-size:1.08rem;color:#d7e8dc}
.operating-spectrum{
  display:grid;grid-template-columns:minmax(0,1fr) 74px minmax(0,1fr);
  align-items:stretch;margin:2.8rem 0 4rem
}
.spectrum-side{
  position:relative;padding:2rem clamp(1.25rem,3vw,2.2rem);
  border:1px solid rgba(126,226,177,.18);overflow:hidden
}
.spectrum-hosted{background:linear-gradient(145deg,rgba(17,51,59,.68),rgba(8,37,40,.55));border-radius:32px 8px 32px 8px}
.spectrum-operated{background:linear-gradient(145deg,rgba(22,78,58,.75),rgba(8,48,38,.62));border-color:rgba(255,200,61,.34);border-radius:8px 32px 8px 32px}
.spectrum-index{font:700 .72rem/1 var(--font-body);letter-spacing:.18em;color:var(--mint)}
.spectrum-operated .spectrum-index{color:var(--amber)}
.spectrum-side h3{font-family:var(--font-body);font-size:1.3rem;margin-top:.75rem}
.spectrum-side>p{color:#bcd3c6;font-size:.92rem;max-width:34rem}
.spectrum-side ul{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:.8rem}
.spectrum-side li{position:relative;padding:.75rem 0 .75rem 1.4rem;border-top:1px solid rgba(126,226,177,.13);color:#dceae0;font-size:.91rem}
.spectrum-side li::before{content:"";position:absolute;left:0;top:1.12rem;width:7px;height:7px;border:1px solid var(--mint);border-radius:50%}
.spectrum-operated li::before{background:var(--amber);border-color:var(--amber);box-shadow:0 0 12px rgba(255,200,61,.5)}
.spectrum-bridge{position:relative;display:flex;align-items:center;justify-content:center}
.spectrum-bridge::before{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--cyber-line),var(--amber),var(--cyber-line))}
.spectrum-bridge span{position:relative;width:18px;height:18px;border:1px solid var(--amber);border-radius:50%;background:var(--deep);box-shadow:0 0 0 8px rgba(255,200,61,.07),0 0 24px rgba(255,200,61,.25)}

.hermes-reference{position:relative;padding:2.7rem 0 1rem;border-top:1px solid rgba(126,226,177,.2)}
.reference-head{display:grid;grid-template-columns:.42fr 1fr;gap:.4rem 2rem;align-items:start;margin-bottom:2rem}
.micro-kicker{grid-row:1/3;color:var(--amber);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;font-weight:800;padding-top:.4rem}
.reference-head h3{font-size:clamp(1.5rem,3vw,2.25rem);margin:0}
.reference-head p{color:#cfe2d5;max-width:720px;margin:0}
.hermes-capability-grid{counter-reset:capability;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(126,226,177,.13);border:1px solid rgba(126,226,177,.14)}
.hermes-capability-grid .card{counter-increment:capability;background:rgba(8,42,34,.5);padding:1.55rem 1.5rem 1.55rem 4.5rem;min-height:150px}
.hermes-capability-grid .card::before{content:counter(capability,decimal-leading-zero);left:1.4rem;top:1.7rem;width:auto;height:auto;background:none;color:var(--amber);font-size:.72rem;letter-spacing:.12em;font-weight:800}
.hermes-capability-grid .card h3{color:#f4f5e9;font-family:var(--font-body);font-size:1rem}
.hermes-capability-grid .card p{color:#bfd6c8}
.hermes-capability-grid .card:hover{background:rgba(18,71,54,.65)}

.open-architecture{
  display:grid;grid-template-columns:1.2fr .8fr;gap:1px;margin-top:3rem;
  background:rgba(255,200,61,.22);border:1px solid rgba(255,200,61,.22);
  border-radius:30px 8px 30px 8px;overflow:hidden
}
.open-architecture>div{padding:1.7rem 1.8rem;background:rgba(9,45,36,.7)}
.open-architecture h3{font-family:var(--font-body);font-size:1.1rem;color:var(--amber)}
.open-architecture p{margin:0;color:#d6e7da;font-size:.92rem}
.danbwa-value{background:linear-gradient(145deg,rgba(255,200,61,.14),rgba(22,78,58,.45))!important}
.danbwa-value span{display:block;color:var(--amber);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800;margin-bottom:.7rem}
.orga-zone{margin-top:3.4rem;padding-top:2.4rem;border-top:1px solid rgba(126,226,177,.18)}
.orga-zone>p{max-width:760px;color:#cfe2d5}

/* No light/grey section variants until editorial emphasis is chosen. */
:is(#couts,#personnalisation,#cas-usage,#parcours) .operating-note{
  color:#cfe2d5;
  background:linear-gradient(90deg,rgba(28,106,79,.26),rgba(255,200,61,.08));
  border-left-color:var(--mint);
}
.usecase-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
#cas-usage .usecase-icon{color:var(--amber)}

/* Concrete field diagrams: operational flows rather than editorial cards. */
.field-diagrams{display:grid;grid-template-columns:minmax(0,1fr);gap:1.35rem!important;background:none!important;border:0!important}
.field-symbols{position:absolute;overflow:hidden}
.field-diagram{
  position:relative;min-width:0;overflow:hidden;padding:clamp(1.25rem,2.4vw,2rem);
  border:1px solid rgba(126,226,177,.22);border-radius:26px 10px 26px 10px;
  background:linear-gradient(135deg,rgba(10,48,39,.72),rgba(7,31,42,.62));
  box-shadow:inset 0 1px rgba(255,255,255,.04)
}
.field-diagram::after{content:"";position:absolute;inset:auto -8% -52% 42%;height:70%;border-radius:50%;background:radial-gradient(circle,rgba(126,226,177,.08),transparent 70%);pointer-events:none}
.business-diagram{border-color:rgba(185,120,209,.3);background:linear-gradient(135deg,rgba(35,31,56,.68),rgba(7,31,42,.64))}
.business-diagram::after{background:radial-gradient(circle,rgba(185,120,209,.1),transparent 70%)}
.field-diagram-head{position:relative;z-index:1;max-width:820px;margin-bottom:1.5rem}
.field-tag{display:inline-flex;margin-bottom:.55rem;padding:.3rem .68rem;border:1px solid rgba(126,226,177,.3);border-radius:999px;color:var(--mint);font-size:.7rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.business-diagram .field-tag{color:#d6a1e8;border-color:rgba(185,120,209,.38)}
.field-diagram-head h3{margin:0 0 .45rem;color:var(--offwhite);font-size:clamp(1.25rem,2.2vw,1.8rem)}
.field-diagram-head p{margin:0;color:#cbe1d2;max-width:760px}
.field-flow{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(170px,.9fr) 48px minmax(0,1fr);align-items:center;gap:.35rem}
.flow-stack{display:grid;gap:.7rem}
.flow-node{
  min-width:0;min-height:78px;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:.78rem;
  padding:.85rem .9rem;border:1px solid rgba(126,226,177,.2);border-radius:16px 6px 16px 6px;
  background:linear-gradient(145deg,rgba(17,74,57,.48),rgba(7,35,43,.4));color:var(--offwhite)
}
.business-diagram .flow-node{border-color:rgba(185,120,209,.24);background:linear-gradient(145deg,rgba(55,42,75,.48),rgba(7,35,43,.42))}
.flow-node svg{width:38px;height:38px;padding:.4rem;overflow:visible;color:var(--mint);stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;fill:none;border:1px solid rgba(126,226,177,.25);border-radius:12px;background:rgba(2,19,19,.24)}
.business-diagram .flow-node svg{color:#d6a1e8;border-color:rgba(185,120,209,.3)}
.flow-node strong{min-width:0;color:#f7f4e8;font-size:.91rem;line-height:1.22}
.flow-core{min-height:154px;display:flex;flex-direction:column;justify-content:center;text-align:center;border-color:rgba(255,200,61,.46);background:linear-gradient(145deg,rgba(28,106,79,.7),rgba(7,31,42,.62));box-shadow:0 0 28px rgba(126,226,177,.1)}
.flow-core svg{width:52px;height:52px;margin:0 auto .55rem;color:var(--amber);border-color:rgba(255,200,61,.38);border-radius:50%}
.flow-core strong{font-size:1rem}
.flow-core small{margin-top:.32rem;color:#b9d8c7;font-size:.72rem;line-height:1.3}
.business-diagram .flow-core{border-color:rgba(185,120,209,.54);background:linear-gradient(145deg,rgba(70,45,88,.7),rgba(7,31,42,.64));box-shadow:0 0 30px rgba(185,120,209,.12)}
.business-diagram .flow-core svg{color:#e0afea;border-color:rgba(185,120,209,.45)}
.flow-arrow{display:flex;align-items:center;justify-content:center}
.flow-arrow span{position:relative;display:block;width:100%;height:1px;background:linear-gradient(90deg,rgba(126,226,177,.18),var(--mint))}
.flow-arrow span::after{content:"";position:absolute;right:0;top:50%;width:8px;height:8px;border-top:2px solid var(--mint);border-right:2px solid var(--mint);transform:translateY(-50%) rotate(45deg)}
.business-diagram .flow-arrow span{background:linear-gradient(90deg,rgba(185,120,209,.16),#c886df)}
.business-diagram .flow-arrow span::after{border-color:#c886df}
.proposal-path{grid-column:5;display:flex;flex-direction:column;align-items:center;margin-top:.25rem}
.flow-down{position:relative;width:1px;height:24px;background:linear-gradient(#c886df,rgba(255,200,61,.65))}
.flow-down::after{content:"";position:absolute;left:50%;bottom:0;width:7px;height:7px;border-right:2px solid var(--amber);border-bottom:2px solid var(--amber);transform:translate(-50%,0) rotate(45deg)}
.proposal-node{width:100%;margin-top:.2rem;border-color:rgba(255,200,61,.42)!important;background:linear-gradient(145deg,rgba(71,56,41,.58),rgba(41,35,47,.5))!important}
.proposal-node svg{color:var(--amber)!important;border-color:rgba(255,200,61,.35)!important}
.approval-note{margin:.55rem 0 0;padding:.35rem .55rem;color:#f2d77d!important;font-size:.7rem!important;line-height:1.35;text-align:center;border-left:2px solid var(--amber)}
@media(max-width:800px){
  .field-diagram{padding:1.05rem;border-radius:20px 8px 20px 8px}
  .field-diagram-head{margin-bottom:1.1rem}
  .field-flow{grid-template-columns:1fr;gap:.3rem}
  .field-flow .flow-arrow{height:32px;transform:none;align-self:stretch;margin-left:0;padding:0}
  .field-flow .flow-arrow span{width:1px;height:26px;background:linear-gradient(rgba(126,226,177,.18),var(--mint))}
  .flow-arrow span::after{right:auto;left:50%;top:auto;bottom:-1px;width:0;height:0;border:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:8px solid var(--mint);transform:translateX(-50%)}
  .business-diagram .flow-arrow span{background:linear-gradient(rgba(185,120,209,.16),#c886df)}
  .business-diagram .flow-arrow span::after{border-left-color:transparent;border-right-color:transparent;border-top-color:#c886df}
  .flow-core{min-height:136px}
  .proposal-path{grid-column:1;margin-top:0}
  .flow-down{height:28px}
}

/* The six "Comprendre" capabilities need reading width, not six narrow
   newspaper columns. A serpentine 3 × 2 sequence keeps the order explicit. */
#agentic-flow{
  display:grid;grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr) 38px minmax(0,1fr);
  grid-template-rows:auto 38px auto;gap:.55rem .5rem;align-items:stretch
}
#agentic-flow>.flow-node{
  min-width:0;min-height:156px;display:grid;grid-template-columns:48px minmax(0,1fr);
  grid-template-rows:auto 1fr;gap:.35rem .8rem;align-content:start;padding:1.1rem 1.15rem;
  border:1px solid rgba(126,226,177,.2);border-radius:18px 7px 18px 7px;
  background:linear-gradient(145deg,rgba(17,74,57,.5),rgba(7,35,43,.38))
}
#agentic-flow>.flow-node .flow-num{grid-row:1/3;margin:0;width:42px;height:42px}
#agentic-flow>.flow-node h4{margin:.05rem 0 0;font-size:.98rem;line-height:1.35;word-break:normal;overflow-wrap:normal;hyphens:none}
#agentic-flow>.flow-node p{margin:.15rem 0 0;font-size:.84rem;line-height:1.5;word-break:normal;overflow-wrap:normal;hyphens:none}
#agentic-flow>.flow-arrow{padding:0;align-self:center;justify-self:stretch;margin:0;transform:none}
#agentic-flow>.flow-arrow svg{width:22px;height:22px;margin:auto}
#agentic-flow>:nth-child(1){grid-column:1;grid-row:1}
#agentic-flow>:nth-child(2){grid-column:2;grid-row:1}
#agentic-flow>:nth-child(3){grid-column:3;grid-row:1}
#agentic-flow>:nth-child(4){grid-column:4;grid-row:1}
#agentic-flow>:nth-child(5){grid-column:5;grid-row:1}
#agentic-flow>:nth-child(6){grid-column:5;grid-row:2;transform:rotate(90deg)}
#agentic-flow>:nth-child(7){grid-column:5;grid-row:3}
#agentic-flow>:nth-child(8){grid-column:4;grid-row:3;transform:rotate(180deg)}
#agentic-flow>:nth-child(9){grid-column:3;grid-row:3}
#agentic-flow>:nth-child(10){grid-column:2;grid-row:3;transform:rotate(180deg)}
#agentic-flow>:nth-child(11){grid-column:1;grid-row:3}

/* Complete construction-company implementation: field inputs, Hermes/ERP core,
   three operational domains and shared control outputs. */
.btp-diagram{overflow:visible;background:linear-gradient(145deg,rgba(6,45,37,.84),rgba(7,27,43,.78))}
.btp-diagram::after{inset:15% -10% auto 55%;height:42%;background:radial-gradient(circle,rgba(255,200,61,.08),transparent 70%)}
.btp-intake,.btp-domains,.btp-results{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}
.btp-channel,.btp-engine,.btp-results>div{display:grid;grid-template-columns:46px minmax(0,1fr);gap:.78rem;align-items:center;padding:.9rem 1rem;border:1px solid rgba(126,226,177,.26);border-radius:15px 6px 15px 6px;background:linear-gradient(145deg,rgba(17,74,57,.56),rgba(7,35,43,.5))}
.btp-channel svg,.btp-engine svg,.btp-domain header svg,.btp-results svg{width:42px;height:42px;padding:.48rem;color:var(--mint);stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;fill:none;border:1px solid rgba(126,226,177,.28);border-radius:12px;background:rgba(2,19,19,.22)}
.btp-channel strong,.btp-engine strong,.btp-results strong{display:block;color:var(--offwhite);font-size:.9rem;line-height:1.25}
.btp-channel small,.btp-engine small,.btp-results small{display:block;margin-top:.25rem;color:#bed8ca;font-size:.71rem;line-height:1.38}
.btp-connector{position:relative;z-index:1;height:38px}
.btp-connector span{position:absolute;left:50%;top:0;width:1px;height:30px;background:linear-gradient(var(--mint),var(--amber))}
.btp-connector span::after{content:"";position:absolute;left:50%;bottom:0;width:7px;height:7px;border-right:2px solid var(--amber);border-bottom:2px solid var(--amber);transform:translateX(-50%) rotate(45deg)}
.btp-core{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);align-items:center;max-width:920px;margin:auto}
.btp-engine{min-height:104px;border-color:rgba(255,200,61,.44);background:linear-gradient(145deg,rgba(28,106,79,.72),rgba(7,31,42,.66));box-shadow:0 0 28px rgba(126,226,177,.08)}
.btp-engine svg{width:52px;height:52px;color:var(--amber);border-color:rgba(255,200,61,.42);border-radius:50%}
.btp-engine strong{font-size:1rem}
.erp-engine{border-color:rgba(185,120,209,.46);background:linear-gradient(145deg,rgba(58,43,78,.66),rgba(7,31,42,.66))}
.erp-engine svg{color:#d8a9e7;border-color:rgba(185,120,209,.4)}
.btp-core-arrow span{position:relative;display:block;width:100%;height:1px;background:linear-gradient(90deg,var(--amber),#d6a1e8)}
.btp-core-arrow span::before,.btp-core-arrow span::after{content:"";position:absolute;top:50%;width:7px;height:7px;border-top:2px solid #eed489;border-right:2px solid #eed489}
.btp-core-arrow span::before{left:2px;transform:translateY(-50%) rotate(-135deg)}
.btp-core-arrow span::after{right:2px;transform:translateY(-50%) rotate(45deg)}
.btp-connector-out span{background:linear-gradient(#d6a1e8,var(--mint))}
.btp-connector-out span::after{border-color:var(--mint)}
.btp-comparison-lead{position:relative;z-index:1;margin:0 0 1rem;padding:1.1rem 1.15rem;border:1px solid rgba(255,200,61,.34);border-radius:18px 7px 18px 7px;background:linear-gradient(135deg,rgba(69,52,26,.35),rgba(8,43,40,.58))}
.btp-comparison-kicker,.btp-roi-tag{display:block;margin-bottom:.45rem;color:var(--amber);font-size:.68rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.btp-comparison-lead>h4{margin:0;color:var(--offwhite);font-size:clamp(1.08rem,2vw,1.4rem)}
.btp-comparison-lead>p{max-width:900px;margin:.45rem 0 1rem;color:#d4e3d9;font-size:.85rem;line-height:1.55}
.btp-mode-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.btp-mode-overview>div{padding:.85rem .95rem;border-radius:14px 5px 14px 5px}
.btp-mode-overview span{display:block;margin-bottom:.35rem;font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.btp-mode-overview p{margin:0;color:#d7e2dc;font-size:.78rem;line-height:1.5}
.btp-overview-classic{border:1px solid rgba(226,155,120,.28);background:rgba(91,48,39,.25)}
.btp-overview-classic span{color:#efb08f}
.btp-overview-hermes{border:1px solid rgba(126,226,177,.3);background:rgba(20,92,68,.28)}
.btp-overview-hermes span{color:var(--mint)}
.btp-doc-journey{position:relative;z-index:1;margin:1rem 0 1.25rem;padding:1.15rem;border:1px solid rgba(125,205,255,.28);border-radius:20px 7px 20px 7px;background:linear-gradient(145deg,rgba(8,39,53,.7),rgba(9,52,43,.56))}
.btp-doc-head>span{display:block;margin-bottom:.4rem;color:#9bd7ff;font-size:.68rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.btp-doc-head h4{margin:0;color:var(--offwhite);font-size:clamp(1.08rem,2vw,1.4rem)}
.btp-doc-head p{max-width:900px;margin:.45rem 0 1rem;color:#d2e0e5;font-size:.82rem;line-height:1.55}
.btp-doc-lanes{display:grid;grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr);gap:.8rem;align-items:stretch}
.btp-doc-lane{min-width:0;padding:1rem;border-radius:16px 6px 16px 6px}
.btp-doc-lane h5{min-height:2.5em;margin:0 0 .8rem;font-size:.88rem;line-height:1.4}
.btp-doc-lane ol{display:grid;gap:.5rem;margin:0;padding:0;list-style:none;counter-reset:doc-step}
.btp-doc-lane li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:.5rem;align-items:start;color:#d9e4e1;font-size:.74rem;line-height:1.42;counter-increment:doc-step}
.btp-doc-lane li::before{content:counter(doc-step);display:grid;place-items:center;width:22px;height:22px;border:1px solid currentColor;border-radius:50%;font-size:.62rem;font-weight:850}
.btp-doc-lane>strong{display:block;margin-top:.9rem;padding:.65rem .75rem;border-radius:10px 4px 10px 4px;font-size:.75rem;line-height:1.45}
.btp-doc-classic{border:1px solid rgba(226,155,120,.3);background:linear-gradient(150deg,rgba(91,48,39,.36),rgba(36,29,37,.35))}
.btp-doc-classic h5,.btp-doc-classic li::before{color:#efb08f}
.btp-doc-classic>strong{border-left:2px solid #efb08f;background:rgba(90,45,38,.35);color:#ffd3bd}
.btp-doc-hermes{border:1px solid rgba(126,226,177,.34);background:linear-gradient(150deg,rgba(18,91,66,.38),rgba(17,44,43,.38))}
.btp-doc-hermes h5,.btp-doc-hermes li::before{color:var(--mint)}
.btp-doc-hermes>strong{border-left:2px solid var(--mint);background:rgba(18,98,71,.28);color:#baf4d5}
.btp-doc-versus{display:flex;align-items:center;justify-content:center}
.btp-doc-versus span{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,200,61,.55);border-radius:50%;background:rgba(5,29,31,.88);color:var(--amber);font-size:.7rem;font-weight:900;box-shadow:0 0 20px rgba(255,200,61,.12)}
.btp-ease-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:.85rem}
.btp-ease-grid>div{padding:.75rem .8rem;border:1px solid rgba(126,226,177,.2);border-radius:12px 4px 12px 4px;background:rgba(4,27,31,.32)}
.btp-ease-grid strong{display:block;margin-bottom:.3rem;color:var(--amber);font-size:.76rem}
.btp-ease-grid p{margin:0;color:#c9d9d2;font-size:.7rem;line-height:1.45}
.btp-doc-conclusion{margin:.85rem 0 0;padding:.75rem .9rem;border-left:3px solid var(--mint);background:rgba(126,226,177,.07);color:#eef6eb;font-size:.8rem;font-weight:750;line-height:1.5}
.btp-domains{grid-template-columns:1fr;align-items:start}
.btp-domain{min-width:0;padding:1rem;border:1px solid rgba(126,226,177,.25);border-radius:20px 7px 20px 7px;background:linear-gradient(165deg,rgba(12,59,46,.66),rgba(7,31,42,.5))}
.btp-domain header{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:.7rem;margin-bottom:.25rem;padding-bottom:.8rem;border-bottom:1px solid rgba(126,226,177,.2)}
.btp-domain header svg{width:40px;height:40px;color:var(--amber);border-color:rgba(255,200,61,.32)}
.btp-domain h4{margin:0;color:var(--offwhite);font-size:1.02rem;line-height:1.3}
.btp-hr{border-color:rgba(185,120,209,.3);background:linear-gradient(165deg,rgba(47,38,68,.63),rgba(7,31,42,.5))}
.btp-hr header{border-bottom-color:rgba(185,120,209,.25)}
.btp-hr header svg{color:#d6a1e8;border-color:rgba(185,120,209,.35)}
.btp-site{border-color:rgba(255,200,61,.3);background:linear-gradient(165deg,rgba(63,53,30,.48),rgba(7,31,42,.54))}
.btp-workflow{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(0,1.35fr) minmax(0,1.35fr) minmax(135px,.72fr);gap:.65rem;align-items:stretch;padding:.8rem 0;border-bottom:1px solid rgba(126,226,177,.16)}
.btp-workflow:last-child{border-bottom:0;padding-bottom:0}
.btp-workflow>.btp-task{display:flex;align-items:center;color:var(--amber);font-size:.88rem;line-height:1.35}
.btp-mode,.btp-time{min-width:0;padding:.72rem .78rem;border-radius:12px 5px 12px 5px}
.btp-mode>span,.btp-time>span{display:block;margin-bottom:.35rem;font-size:.61rem;font-weight:850;line-height:1.25;letter-spacing:.08em;text-transform:uppercase}
.btp-mode p{margin:0;color:#d0dfd6;font-size:.72rem;line-height:1.5;word-break:normal;overflow-wrap:normal;hyphens:none}
.btp-mode-classic{border:1px solid rgba(226,155,120,.22);background:rgba(86,45,40,.22)}
.btp-mode-classic>span{color:#efb08f}
.btp-mode-hermes{border:1px solid rgba(126,226,177,.25);background:rgba(17,82,61,.26)}
.btp-mode-hermes>span{color:var(--mint)}
.btp-time{display:flex;flex-direction:column;justify-content:center;border:1px solid rgba(255,200,61,.34);background:linear-gradient(145deg,rgba(255,200,61,.12),rgba(28,106,79,.14))}
.btp-time>span{color:#d9cf9f}
.btp-time>strong{color:var(--amber);font-size:.9rem;line-height:1.35}
.btp-roi{position:relative;z-index:1;margin:1rem 0;padding:1.15rem;border:1px solid rgba(255,200,61,.42);border-radius:20px 7px 20px 7px;background:linear-gradient(135deg,rgba(82,61,27,.48),rgba(11,67,50,.48));box-shadow:0 0 30px rgba(255,200,61,.06)}
.btp-roi-main{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,1.4fr);gap:1rem;align-items:center}
.btp-roi-main>strong{color:var(--amber);font-size:clamp(1.75rem,4vw,3rem);line-height:1;letter-spacing:-.04em}
.btp-roi-main h4{margin:0;color:var(--offwhite);font-size:clamp(1rem,2vw,1.3rem)}
.btp-roi-main p{margin:.35rem 0 0;color:#d7e2dc;font-size:.8rem;line-height:1.45}
.btp-roi-assumptions{margin:.9rem 0 .55rem;padding:.7rem .8rem;border-left:2px solid var(--amber);background:rgba(2,19,19,.2);color:#eef0df;font-size:.76rem;line-height:1.5}
.btp-roi-method{margin:.55rem 0;padding:.65rem .75rem;border:1px solid rgba(126,226,177,.18);border-radius:10px 4px 10px 4px;background:rgba(5,34,34,.24);color:#cbdcd2;font-size:.7rem;line-height:1.5}
.btp-roi>small{display:block;color:#b9ccbf;font-size:.66rem;line-height:1.45}
.btp-results-head{position:relative;z-index:1;display:flex;align-items:center;gap:.7rem;margin:1.35rem 0 .65rem;color:var(--amber);font-size:.7rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.btp-results-head::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,rgba(255,200,61,.5),transparent)}
.btp-results>div{align-items:start;min-height:126px;background:linear-gradient(145deg,rgba(17,74,57,.42),rgba(7,35,43,.45))}
.btp-results svg{width:38px;height:38px;color:var(--amber);border-color:rgba(255,200,61,.32)}
.btp-results small{grid-column:2}
.btp-claim{margin-top:1rem}

@media(max-width:920px){
  .btp-doc-lanes{grid-template-columns:1fr}
  .btp-doc-versus{height:34px}
  .btp-doc-versus span{width:34px;height:34px}
  .btp-intake,.btp-results{grid-template-columns:1fr}
  .btp-core{grid-template-columns:1fr;max-width:none}
  .btp-core-arrow{height:34px;display:flex;justify-content:center}
  .btp-core-arrow span{width:1px;height:28px;background:linear-gradient(var(--amber),#d6a1e8)}
  .btp-core-arrow span::before{display:none}
  .btp-core-arrow span::after{right:auto;left:50%;top:auto;bottom:0;transform:translateX(-50%) rotate(135deg)}
  .btp-domains{grid-template-columns:1fr}
  .btp-workflow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .btp-workflow>.btp-task,.btp-workflow>.btp-time{grid-column:1/-1}
  .btp-roi-main{grid-template-columns:1fr}
  .btp-results>div{min-height:0}
}
@media(max-width:680px){
  .btp-mode-overview,.btp-workflow,.btp-ease-grid{grid-template-columns:1fr}
  .btp-workflow>*{grid-column:1!important}
  .btp-workflow>.btp-task{padding-top:.15rem;font-size:.95rem}
  .btp-time{min-height:82px}
}
@media(max-width:520px){
  .btp-channel,.btp-engine,.btp-results>div{grid-template-columns:40px minmax(0,1fr);padding:.8rem}
  .btp-channel svg,.btp-results svg{width:36px;height:36px}
  .btp-engine svg{width:44px;height:44px}
  .btp-domain{padding:.85rem}
  .btp-comparison-lead{padding:.9rem}
  .btp-workflow{gap:.5rem}
  .btp-mode p{font-size:.76rem;line-height:1.55}
  .btp-roi{padding:.95rem}
  .btp-roi-main>strong{font-size:2rem}
  .erp-claim.btp-claim{grid-template-columns:1fr}
  .btp-claim span{white-space:normal}
}

/* Legacy invoice classes retained for compatibility with older snapshots. */
.site-diagram .flow-sources,.site-diagram .flow-results{gap:1.35rem}
.site-diagram .flow-sources .flow-node:first-child,.site-diagram .flow-results .flow-node:first-child{position:relative}
.site-diagram .flow-sources .flow-node:first-child::after,.site-diagram .flow-results .flow-node:first-child::after{
  content:"";position:absolute;left:50%;bottom:-1.05rem;width:1px;height:.75rem;background:var(--mint)
}
.site-diagram .flow-node small{grid-column:2;color:#b9d8c7;font-size:.7rem;line-height:1.35}
.erp-claim{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:center;margin:1.15rem 0 0;padding:.85rem 1rem;border:1px solid rgba(255,200,61,.34);border-radius:14px 5px 14px 5px;background:linear-gradient(90deg,rgba(255,200,61,.12),rgba(28,106,79,.17))}
.erp-claim span{font:800 .7rem/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--amber);white-space:nowrap}
.erp-claim p{margin:0;color:#e8eddc;font-size:.85rem}
@media(max-width:760px){
  .erp-claim.btp-claim{grid-template-columns:minmax(0,1fr)}
  .erp-claim.btp-claim span,.erp-claim.btp-claim p{min-width:0;white-space:normal;overflow-wrap:anywhere}
}
.invoice-decision{position:relative;z-index:1;margin-top:.15rem}
.decision-fork{position:relative;height:32px}
.decision-fork::before{content:"";position:absolute;left:50%;top:0;width:1px;height:18px;background:linear-gradient(var(--amber),var(--mint))}
.decision-fork::after{content:"";position:absolute;left:25%;right:25%;top:18px;height:1px;background:linear-gradient(90deg,var(--mint),var(--amber),var(--mint))}
.invoice-outcomes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.invoice-outcome,.invoice-final{display:grid;grid-template-columns:42px minmax(0,1fr);gap:.8rem;align-items:center;padding:1rem;border:1px solid rgba(126,226,177,.24);border-radius:16px 6px 16px 6px;background:linear-gradient(145deg,rgba(17,74,57,.48),rgba(7,35,43,.4))}
.invoice-outcome svg,.invoice-final svg{width:40px;height:40px;padding:.45rem;color:var(--mint);stroke:currentColor;stroke-width:1.5;fill:none;border:1px solid rgba(126,226,177,.28);border-radius:12px}
.invoice-outcome strong,.invoice-final strong{display:block;color:var(--offwhite);font-size:.9rem}
.invoice-outcome small,.invoice-final small{display:block;margin-top:.25rem;color:#bfd8ca;font-size:.72rem;line-height:1.4}
.approval-outcome{border-color:rgba(255,200,61,.34)}
.approval-outcome svg{color:var(--amber);border-color:rgba(255,200,61,.35)}
.invoice-final{position:relative;max-width:620px;margin:30px auto 0;border-color:rgba(255,200,61,.42);background:linear-gradient(145deg,rgba(71,56,41,.5),rgba(15,53,44,.48))}
.invoice-final::before{content:"";position:absolute;left:50%;top:-30px;width:1px;height:24px;background:linear-gradient(var(--mint),var(--amber))}
.invoice-final svg{color:var(--amber);border-color:rgba(255,200,61,.35)}

@media(max-width:820px){
  #agentic-flow{grid-template-columns:1fr;grid-template-rows:none;gap:.25rem}
  #agentic-flow>*{grid-column:1!important;grid-row:auto!important}
  #agentic-flow>.flow-node{min-height:0}
  #agentic-flow>.flow-arrow{height:34px;transform:rotate(90deg)!important;justify-self:center;align-self:center;margin:0}
  .invoice-outcomes{grid-template-columns:1fr;gap:.7rem}
  .decision-fork::after{display:none}
  .decision-fork::before{height:27px}
  .invoice-final{margin-top:30px}
}
#parcours .station h3{color:var(--offwhite)}
#parcours .station p{color:#cbe1d2}
.journey-rail::before{width:2px;background:linear-gradient(var(--amber),var(--green),var(--amber));box-shadow:0 0 20px rgba(61,139,104,.3)}
.station-pk{border-radius:50% 50% 50% 8px;border:2px solid var(--forest)}

/* Final material harmonisation: every editorial frame uses a translucent
   gradient. No paragraph is singled out with an opaque grey panel yet. */
.hero-note,
.agent-flow,
#ethique .section-head,
.ethics-list li,
.contact-intro{
  background:linear-gradient(145deg,rgba(12,59,46,.48),rgba(7,31,42,.34));
  backdrop-filter:blur(4px) saturate(.9);
}
.hermes-capability-grid .card,
.open-architecture>div{
  background:linear-gradient(145deg,rgba(16,67,51,.46),rgba(7,31,42,.34));
  backdrop-filter:blur(4px) saturate(.9);
}
.open-architecture>.danbwa-value{
  background:linear-gradient(145deg,rgba(255,200,61,.13),rgba(22,78,58,.4))!important;
}
.project-boundary{
  background:linear-gradient(90deg,rgba(8,45,34,.62),rgba(21,26,51,.5),rgba(8,45,34,.62));
  backdrop-filter:blur(4px) saturate(.9);
}
.sovereignty-section>.container{
  background:linear-gradient(135deg,rgba(8,45,34,.84),rgba(21,26,51,.76))!important;
}
.sovereignty-grid .card,.energy-grid .card{
  background:linear-gradient(145deg,rgba(24,76,58,.42),rgba(10,38,43,.3));
}
.energy-panel{
  background:linear-gradient(145deg,rgba(24,76,58,.34),rgba(10,38,43,.24));
  backdrop-filter:blur(4px) saturate(.9);
}

/* Contact and footer stay in the forest instead of returning to white. */
form.contact-form{
  background:linear-gradient(145deg,rgba(8,45,36,.74),rgba(7,31,42,.64));color:var(--offwhite);
  border:1px solid rgba(154,215,181,.24);border-radius:34px 8px 34px 8px;
  box-shadow:0 30px 70px rgba(0,0,0,.4)
}
form.contact-form input,form.contact-form textarea,form.contact-form select{
  background:rgba(255,255,255,.07);color:var(--offwhite);border-color:rgba(154,215,181,.3)
}
form.contact-form input::placeholder,form.contact-form textarea::placeholder{color:#a9bdb1}
.form-disclaimer{color:#bcd0c3}.form-disclaimer a{color:var(--amber)}
footer.site-footer{background:#041b16;border-top-color:rgba(154,215,181,.2);color:#bdcec3}
.footer-grid h4{color:var(--amber)}.footer-grid a{color:#d7e4db}.footer-bottom{border-top-color:rgba(154,215,181,.15)}

@media(max-width:820px){
  .operating-spectrum{grid-template-columns:1fr;margin-bottom:3rem}
  .spectrum-bridge{height:58px}
  .spectrum-bridge::before{top:0;bottom:0;left:50%;right:auto;width:1px;height:auto;background:linear-gradient(var(--cyber-line),var(--amber),var(--cyber-line))}
  .reference-head{grid-template-columns:1fr}.micro-kicker{grid-row:auto}
  .hermes-capability-grid,.open-architecture{grid-template-columns:1fr}
}
@media(max-width:720px){
  section:not(.hero):not(#contact) > .container{border-radius:30px 7px 34px 9px}
  .section-head::before{left:-.75rem}
  .grid,.orga-grid,.usecase-grid{grid-template-columns:1fr}
  .card,.usecase-card{border-radius:0!important}
  .hermes-capability-grid .card{padding-left:3.8rem}
}
@media(max-width:520px){
  #hermes > .container{border-radius:34px 8px 36px 8px}
  .spectrum-side{padding:1.5rem 1.15rem}
  .open-architecture>div{padding:1.4rem 1.2rem}
}


/* Multipage harmony — reuse the established translucent landscapes.
   New commercial components must feel cut from the same canopy glass as the
   journey, security and agentic sections; no opaque white or unchosen grey. */
.home-explore > .container{
  color:#e8f2ea;
  background:linear-gradient(135deg,rgba(4,27,22,.84),rgba(7,31,42,.78))!important;
  border-color:rgba(126,226,177,.26);
  box-shadow:0 40px 90px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(4px) saturate(.9)
}
.home-explore > .container{border-radius:12px 64px 12px 64px}
.home-explore h2,
.home-explore h3{color:var(--offwhite)}
.home-explore .section-head .kicker{color:var(--amber)}
.home-explore .section-head p{color:#cfe2d5}
.home-explore .gateway-grid{
  gap:1px;background:rgba(126,226,177,.12);border:1px solid rgba(126,226,177,.13)
}
.offer-card,.gateway-card{
  position:relative;
  background:linear-gradient(145deg,rgba(16,67,51,.42),rgba(7,31,42,.36));
  color:var(--offwhite);border:0;border-radius:0;box-shadow:none;
  backdrop-filter:blur(4px) saturate(.9);
  transition:background .2s ease,transform .2s ease
}
.offer-card::before,.gateway-card::before{
  content:"";position:absolute;left:0;top:0;width:38px;height:2px;background:var(--mint)
}
.offer-card::before{background:var(--amber)}
.offer-card:hover,.gateway-card:hover{
  background:linear-gradient(145deg,rgba(26,83,63,.56),rgba(7,42,48,.44));
  transform:translateY(-2px)
}
.offer-card h3,.gateway-card h3{color:#f5f4e9}
.offer-card p,.gateway-card p{color:#cbe1d2}
.offer-card .btn-outline{color:var(--offwhite);border-color:rgba(255,255,255,.72)}
.offer-card .btn-outline:hover{background:var(--offwhite);color:var(--navy)}
.gateway-card .text-link{color:var(--mint)}
.gateway-card .text-link:hover{color:var(--amber)}
.offer-card:first-child,.gateway-card:first-child{border-radius:24px 0 0 0}
.offer-card:last-child,.gateway-card:last-child{border-radius:0 0 24px 0}
.page-cta > .container{
  color:#e8f2ea;
  background:linear-gradient(135deg,rgba(4,27,22,.84),rgba(7,31,42,.78))!important;
  border-color:rgba(126,226,177,.26);
  box-shadow:0 40px 90px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(4px) saturate(.9)
}
.page-cta h2{color:var(--offwhite)}.page-cta p{color:#cfe2d5}
/* Performance, accessibility and mobile conversion upgrades. */
body{background-color:#041B16;background-image:linear-gradient(180deg,rgba(4,27,22,.42),rgba(4,27,22,.82) 52%,rgba(5,18,28,.9)),radial-gradient(circle at 12% 28%,rgba(62,139,104,.22),transparent 28%),image-set(url("canopy.webp") type("image/webp") 1x,url("canopy.jpg") type("image/jpeg") 1x);background-size:auto,cover,1800px auto;background-position:center,center,center top;background-repeat:no-repeat,no-repeat,no-repeat;background-attachment:fixed,fixed,fixed}
.hero-scrim{inset:0 auto 0 50%;width:min(100%,1800px);transform:translateX(-50%)}
@media(max-width:900px){body{background-attachment:scroll,scroll,scroll;background-position:center,center,center 25%}}
@media(min-width:761px){
  body{background-size:auto,cover,max(1800px,149.68815svh) auto}
  .hero-scrim{width:min(100%,max(1800px,149.68815svh))}
}
.journey .step{min-width:0}
.btn-primary{box-shadow:none}
.direct-contact{margin:.9rem 0 0}.direct-contact a{color:var(--amber);font-weight:800;text-underline-offset:4px}
.footer-heading{font-family:var(--font-body);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--amber);margin:0 0 .7rem}
.photo-credit{color:#c5d3ca!important}.site-footer a{min-height:44px;display:inline-flex;align-items:center}
.mobile-contact-cta{display:none;transition:opacity .18s ease,transform .18s ease}.mobile-contact-cta.is-hidden{opacity:0;transform:translateY(120%);pointer-events:none}
@media(max-width:760px){
  html{background:#041B16}
  body{padding-bottom:72px;background:none!important;position:relative}
  body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-color:#041B16;background-image:linear-gradient(180deg,rgba(4,27,22,.34),rgba(4,27,22,.64) 58%,rgba(5,18,28,.78)),url("canopy-portrait.webp");background-size:cover,cover;background-position:center,center;background-repeat:no-repeat,no-repeat}
  body>*{position:relative;z-index:1}
  .erp-claim.btp-claim{grid-template-columns:minmax(0,1fr)}
  .erp-claim.btp-claim span,.erp-claim.btp-claim p{min-width:0;white-space:normal;overflow-wrap:anywhere}
  .home-explore > .container{border-radius:30px 7px 34px 9px}
  .home-explore .gateway-grid{grid-template-columns:1fr;gap:.7rem;background:transparent;border:0}
  .gateway-card{border:1px solid rgba(126,226,177,.18);border-radius:18px 6px 18px 6px!important}
  .mobile-contact-cta{display:flex;position:fixed;z-index:990;left:calc(env(safe-area-inset-left) + .75rem);right:calc(env(safe-area-inset-right) + .75rem);bottom:calc(env(safe-area-inset-bottom) + .65rem);min-height:52px;align-items:center;justify-content:center;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.34);border-radius:14px;background:linear-gradient(135deg,#e9a91b,#ffc83d);color:#09271f;font-weight:900;text-decoration:none;box-shadow:none}
}

/* Hybrid use-case page — one detailed BTP story and four substantial mini-cases. */
.usecase-story{display:grid;gap:2rem;margin-top:2rem;color:#18352d}
.usecase-story h3,.usecase-story h4{margin-top:0}
.story-kicker{display:block;margin-bottom:.55rem;color:#8b5d00;font-size:.72rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.usecase-principle{padding:clamp(1.5rem,4vw,3rem);color:#eef8f1;background:linear-gradient(130deg,rgba(5,43,32,.98),rgba(15,55,71,.94));border:1px solid rgba(126,226,177,.24);border-radius:12px 54px 12px 54px;box-shadow:0 28px 60px rgba(2,20,15,.28)}
.usecase-principle .story-kicker{color:var(--amber)}
.usecase-principle h3{max-width:920px;color:#fff;font-size:clamp(1.65rem,3.4vw,2.65rem);line-height:1.14}
.usecase-principle p{max-width:850px;margin-bottom:0;color:#d8e9dd;font-size:1.05rem}
.single-journey,.btp-story,.sector-stories,.control-framework,.pilot-framework{padding:clamp(1.25rem,3vw,2.35rem);background:linear-gradient(145deg,rgba(247,247,239,.96),rgba(234,243,235,.94));border:1px solid rgba(12,59,46,.18);box-shadow:0 24px 55px rgba(3,31,23,.16)}
.single-journey{border-radius:28px 8px 28px 8px}
.single-journey>header{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;margin-bottom:1.25rem}
.story-index{color:rgba(12,59,46,.22);font:900 clamp(2.2rem,5vw,4rem)/.9 var(--font-heading)}
.single-journey h3{margin-bottom:.4rem;color:var(--navy);font-size:clamp(1.4rem,2.5vw,2rem)}
.single-journey header p{margin:0;color:#4b5a54}
.single-journey-rail{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;margin:0;padding:1px;list-style:none;background:rgba(12,59,46,.17)}
.single-journey-rail li{position:relative;min-width:0;padding:1.1rem;background:#f9fbf7}
.single-journey-rail li span{display:flex;width:30px;height:30px;align-items:center;justify-content:center;margin-bottom:.75rem;color:#063b2b;background:#ffc83d;border-radius:50%;font-weight:900}
.single-journey-rail li:not(:last-child)::after{content:"→";position:absolute;right:-.65rem;top:1.2rem;z-index:2;color:#0c3b2e;font-weight:900}
.single-journey-rail p{margin:0;color:#273e36;font-size:.87rem;font-weight:700;line-height:1.45}
.btp-story{border-top:5px solid var(--amber);border-radius:10px 38px 10px 38px}
.story-heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:2rem;align-items:start;margin-bottom:1.3rem}
.story-heading h3{color:var(--navy);font-size:clamp(1.65rem,3vw,2.35rem)}
#cas-usage .single-journey h3,
#cas-usage .btp-story>.story-heading h3,
#cas-usage .sector-stories>.story-heading h3,
#cas-usage .pilot-framework>header h3{color:var(--navy)}
.story-heading>p{margin:.25rem 0 0;color:#45554f;font-size:1rem}
.illustrative-note{margin:0 0 1.25rem;padding:.8rem 1rem;color:#52605b;background:rgba(255,200,61,.16);border-left:4px solid var(--amber);font-size:.82rem}
.btp-story-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.8rem}
.btp-moment{position:relative;grid-column:span 2;padding:1.25rem;background:#fff;border:1px solid rgba(12,59,46,.14);border-radius:16px 5px 16px 5px}
.btp-moment:nth-child(4){grid-column:2/span 2}.btp-moment:nth-child(5){grid-column:4/span 2}
.moment-no,.sector-no{display:block;margin-bottom:.65rem;color:#b57800;font-size:.72rem;font-weight:900;letter-spacing:.12em}
.btp-moment h4{color:#0c3b2e;font:800 1rem/1.35 var(--font-body)}
.btp-moment p{margin:0;color:#42524c;font-size:.88rem;line-height:1.6}
.story-architecture{margin-top:1.3rem;padding:1.15rem;color:#eaf4ed;background:linear-gradient(115deg,#0c3b2e,#142941);border-radius:6px 22px 6px 22px}
.story-architecture h4{color:#ffc83d;font:800 .85rem var(--font-body);letter-spacing:.06em;text-transform:uppercase}
.architecture-rail{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:.7rem;align-items:center}
.architecture-rail p{margin:0;padding:.9rem;color:#e4efe7;background:rgba(255,255,255,.07);font-size:.82rem;line-height:1.45;border:1px solid rgba(255,255,255,.1)}
.architecture-rail>span{color:#ffc83d;font-weight:900}
.sector-stories{border-radius:38px 10px 38px 10px}
.sector-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.sector-mini-card{display:grid;align-content:start;padding:1.4rem;background:rgba(255,255,255,.9);border:1px solid rgba(12,59,46,.15);border-radius:18px 5px 18px 5px}
.sector-mini-card h4{min-height:2.8em;color:#0c3b2e;font:800 1.08rem/1.4 var(--font-body)}
.mini-case-part,.mini-case-boundary,.mini-case-metrics{padding:.85rem 0;border-top:1px solid rgba(12,59,46,.12)}
.mini-case-part strong,.mini-case-boundary strong,.mini-case-metrics strong{display:block;margin-bottom:.3rem;color:#606c67;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}
.mini-case-part p,.mini-case-boundary p,.mini-case-metrics p{margin:0;color:#42524c;font-size:.86rem;line-height:1.58}
.mini-case-part.is-flow{margin:0 -.65rem;padding:.85rem .65rem;background:rgba(77,178,128,.08);border-left:3px solid #4db280}
.mini-case-part.is-flow strong{color:#12613f}
.mini-case-boundary strong{color:#8c5c00}.mini-case-boundary{border-top-color:rgba(255,200,61,.5)}
.mini-case-metrics{align-self:end}.mini-case-metrics p{font-weight:700;color:#31453d}
.control-framework{color:#edf7f0;background:linear-gradient(130deg,rgba(5,43,32,.97),rgba(15,44,58,.96));border-color:rgba(126,226,177,.22);border-radius:10px 42px 10px 42px}
.control-framework header{max-width:800px}.control-framework h3{color:#fff}.control-framework header p{color:#d4e4d9}.control-framework .story-kicker{color:var(--amber)}
.control-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem;margin-top:1.3rem}
.control-levels article{padding:1.25rem;background:rgba(255,255,255,.07);border-top:4px solid #71d49f}
.control-levels article>span{display:flex;width:34px;height:34px;align-items:center;justify-content:center;margin-bottom:.75rem;color:#062c20;background:#71d49f;border-radius:50%;font-weight:900}
.control-levels h4{color:#fff;font:800 1rem var(--font-body)}.control-levels p{margin:0;color:#d7e5dc;font-size:.87rem}
.control-levels .control-validate{border-top-color:#ffc83d}.control-levels .control-validate>span{background:#ffc83d}
.control-levels .control-forbidden{border-top-color:#f18d7d}.control-levels .control-forbidden>span{background:#f18d7d}
.pilot-framework{border-radius:28px 8px 28px 8px}
.pilot-framework>header{max-width:820px}.pilot-framework>header h3{color:var(--navy);font-size:clamp(1.6rem,3vw,2.25rem)}
.pilot-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:1.4rem;padding:1px;background:rgba(12,59,46,.16)}
.pilot-steps article{padding:1.35rem;background:#fff}.pilot-steps h4{color:#0c3b2e;font:900 1rem var(--font-body)}.pilot-steps p{margin:0;color:#45564f;font-size:.88rem}
.story-closing{margin-top:1.25rem;padding:1.25rem 1.4rem;color:#f1f7f2;background:linear-gradient(110deg,#0c3b2e,#1c6a4f);border-radius:6px 20px 6px 20px}
.story-closing h4{margin-bottom:.35rem;color:#ffc83d;font-size:1.15rem}.story-closing p{margin:0;color:#e3eee6}
@media(max-width:900px){
 .single-journey-rail{grid-template-columns:1fr}.single-journey-rail li{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:center}.single-journey-rail li span{margin:0}.single-journey-rail li:not(:last-child)::after{content:"↓";right:auto;left:1.65rem;top:auto;bottom:-.75rem}
 .story-heading{grid-template-columns:1fr;gap:.6rem}.btp-story-grid{grid-template-columns:repeat(2,1fr)}.btp-moment,.btp-moment:nth-child(4),.btp-moment:nth-child(5){grid-column:auto}.btp-moment:last-child{grid-column:1/-1}
 .architecture-rail{grid-template-columns:1fr}.architecture-rail>span{transform:rotate(90deg);justify-self:center}
}
@media(max-width:700px){
 .usecase-story{gap:1rem}.usecase-principle,.single-journey,.btp-story,.sector-stories,.control-framework,.pilot-framework{padding:1.1rem;border-radius:18px 5px 18px 5px}
 .usecase-principle h3{font-size:1.6rem}.single-journey>header{grid-template-columns:1fr}.story-index{font-size:2.3rem}
 .btp-story-grid,.sector-mini-grid,.control-levels,.pilot-steps{grid-template-columns:1fr}.btp-moment:last-child{grid-column:auto}.btp-moment{padding:1.05rem}.sector-mini-card{padding:1.05rem}.sector-mini-card h4{min-height:0}
 .control-levels{gap:.65rem}.pilot-steps{gap:.65rem;background:transparent;padding:0}.pilot-steps article{border-left:3px solid #4db280}
}
@media(prefers-reduced-motion:reduce){.usecase-story *{scroll-behavior:auto!important}}
