/* =========================================================================
   POLICES SERVIES LOCALEMENT
   Aucune dépendance à fonts.googleapis.com : le rendu est identique sur
   toutes les machines, même hors ligne ou si Google est bloqué.
   Fichiers dans assets/fonts/, sous-ensemble latin + français.
   ========================================================================= */
@font-face{font-family:'Figtree';src:url('fonts/figtree.woff2') format('woff2-variations');
  font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:'Newsreader';src:url('fonts/newsreader.woff2') format('woff2');
  font-weight:400 500;font-style:normal;font-display:swap}
@font-face{font-family:'Newsreader';src:url('fonts/newsreader-italic.woff2') format('woff2');
  font-weight:400 500;font-style:italic;font-display:swap}
@font-face{font-family:'Fraunces';src:url('fonts/fraunces.woff2') format('woff2');
  font-weight:500 600;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('fonts/jetbrainsmono.woff2') format('woff2');
  font-weight:400 500;font-style:normal;font-display:swap}

/* ============================================================
   Alora Groupe · système de design
   Trois règles de construction, apprises à la dure.
   1. Les blocs :root de toutes les pages sont RÉUNIS en un seul.
      Les dédupliquer par sélecteur revient à jeter les variables
      propres aux autres pages.
   2. Les règles simples d'abord, les requêtes média ensuite : à
      spécificité égale la dernière du fichier gagne.
   3. Les feuilles de page sont cumulatives et contiennent des copies
      parfois périmées : une page est propriétaire par composant.
   ============================================================ */
:root{
  --cream:#F9F6F1;
  --white:#FFFFFF;
  --navy:#102134;
  --navy-deep:#091929;
  --navy-card:#1B2B3D;
  --coral:#D6604F;
  --coral-dark:#C04E3E;
  --sand:#F5E4D4;
  --sage:#D4E5D8;
  --grey:#5A6472;
  --line:rgba(16,33,52,.12);
  --line-navy:rgba(249,246,241,.14);
  --max:1240px;
  --sec:clamp(72px,8vw,128px);
  --s1:#85B25F;
  --s2:#2772B9;
  --s3:#FF7D00;
  --s4:#935555;
  --s5:#D4360D;
  --s6:#FBA210;
  --s7:#CB3484;
  --s8:#A83C19;
  --s9:#9754D0;
  --s10:#15616D;
  --disc:#F0EBE3;
  --glow-1:#1D3752;
  --glow-2:#16293E;
  --glow-3:#1A314A;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Figtree',system-ui,-apple-system,sans-serif;
  font-size:16.5px;line-height:1.6;color:var(--navy-deep);
  background:var(--cream);-webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
.wrap{max-width:var(--max);margin:0 auto;padding:0 40px}
h1,h2,h3,h4{font-family:'Figtree',sans-serif;font-weight:700;letter-spacing:-.03em;line-height:1.06}
h1{font-size:clamp(35px,4.05vw,52px)}
h2{font-size:clamp(30px,3.5vw,46px);line-height:1.1}
h3{font-size:22px;letter-spacing:-.02em;line-height:1.2}
h4{font-size:17px;font-weight:700;letter-spacing:-.01em}
.it{font-family:'Newsreader',Georgia,serif;font-style:italic;font-weight:400;
    color:var(--coral);letter-spacing:-.01em}
.on-navy .it{color:var(--coral)}
.eyebrow{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--coral);display:block;margin-bottom:20px;font-weight:500}
p{margin:0 0 16px;max-width:66ch}
.lede{font-size:17px;color:var(--grey);max-width:52ch}
.small{font-size:14px;color:var(--grey)}
.tiny{font-size:13px;color:var(--grey)}
.on-navy .lede,.on-navy .small,.on-navy .tiny{color:rgba(249,246,241,.72)}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--coral);outline-offset:3px;border-radius:2px}
section{padding:var(--sec) 0}
.on-navy{background:var(--navy);color:var(--cream)}
.head{max-width:840px;margin-bottom:60px}
.btn{display:inline-flex;align-items:center;gap:9px;font-size:14.5px;font-weight:600;
  padding:15px 27px;border-radius:100px;background:var(--navy-deep);color:var(--cream);
  border:1.5px solid var(--navy-deep);transition:.18s ease;cursor:pointer;font-family:inherit}
.btn:hover{background:var(--navy-card);border-color:var(--navy-card)}
.btn-o{background:transparent;color:var(--navy-deep);border-color:var(--line)}
.btn-o:hover{background:var(--navy-deep);color:var(--cream);border-color:var(--navy-deep)}
.btn-c{background:var(--coral);border-color:var(--coral);color:#fff}
.btn-c:hover{background:var(--coral-dark);border-color:var(--coral-dark)}
.on-navy .btn{background:var(--cream);color:var(--navy-deep);border-color:var(--cream)}
.on-navy .btn:hover{background:#fff;border-color:#fff}
.on-navy .btn-o{background:transparent;color:var(--cream);border-color:var(--line-navy)}
.on-navy .btn-o:hover{background:var(--cream);color:var(--navy-deep)}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.lnk{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;
  border-bottom:1.5px solid var(--coral);padding-bottom:3px}
.lnk .ar{transition:transform .18s ease}
.lnk:hover .ar{transform:translateX(3px)}
header{position:sticky;top:0;z-index:80;background:var(--white);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:28px;height:76px}
.logo{display:block;flex:0 0 auto}
.logo img{height:30px;width:auto;display:block}
body > footer .logo img{height:32px}
.nav .links{display:flex;gap:27px}
.nav .links a{font-size:14.5px;font-weight:500;color:var(--grey)}
.nav .links a:hover{color:var(--navy-deep)}
.nav .links a[aria-current]{color:var(--navy-deep);font-weight:700}

.hero{padding:clamp(44px,5vw,72px) 0 clamp(52px,6vw,84px)}
.hero-g{display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center}
.route{display:flex;align-items:center;gap:0;margin-bottom:30px;flex-wrap:wrap}
.route .node{display:flex;flex-direction:column;gap:3px}
.route .node b{font-size:14.5px;font-weight:700;letter-spacing:-.01em;line-height:1.1}
.route .node span{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--grey)}
.route .link{display:flex;align-items:center;gap:0;margin:0 16px;padding-bottom:14px}
.route .dot{width:7px;height:7px;border-radius:50%;background:var(--coral);flex:0 0 auto}
.route .dash{width:clamp(38px,7vw,88px);height:1px;flex:0 0 auto;
  background:repeating-linear-gradient(90deg,var(--coral) 0 4px,transparent 4px 8px)}
.route .arrow{width:0;height:0;border:4px solid transparent;border-left-color:var(--coral);
  margin-left:-1px;flex:0 0 auto}
.hero h1{margin-bottom:22px}
.proof{display:flex;gap:0;margin-top:36px;border-top:1px solid var(--line);padding-top:26px}
.proof > div{padding-right:34px;margin-right:34px;border-right:1px solid var(--line)}
.proof > div:last-child{border-right:none;padding-right:0;margin-right:0}
.proof b{display:block;font-size:20px;font-weight:800;letter-spacing:-.02em;margin-bottom:3px}
.proof span{font-size:13px;color:var(--grey);line-height:1.4;display:block;max-width:19ch}
.hero-img{position:relative;line-height:0}
.hero-img img{width:100%;height:clamp(360px,40vw,560px);border-radius:22px;object-fit:cover;object-position:center 20%}
.float{position:absolute;border-radius:14px;padding:15px 19px;line-height:1.4;
  max-width:212px;box-shadow:0 14px 40px rgba(9,25,41,.20)}
.float b{display:block;font-size:19px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.float span{font-size:11.5px;line-height:1.35;display:block;margin-top:4px}
.f1{top:9%;left:-30px;background:var(--coral);color:#fff}
.f1 span{color:rgba(255,255,255,.9)}
.f2{bottom:7%;right:-24px;background:var(--white);color:var(--navy-deep);
  display:flex;align-items:center;gap:14px;max-width:248px}
.f2 span{color:var(--grey)}
.f2 .dot{width:36px;height:36px;border-radius:50%;background:var(--sage);
  display:grid;place-items:center;flex:0 0 auto;color:#2C4A38;font-size:15px}
.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 0;
  
  background:linear-gradient(rgba(16,33,52,.042),rgba(16,33,52,.042)),var(--cream)}
.strip-g{display:grid;grid-template-columns:repeat(9,1fr);gap:10px}
.strip a{display:flex;flex-direction:column;align-items:center;gap:11px;text-align:center;
  padding:16px 8px;border-radius:12px;transition:background .18s ease,transform .18s ease}
.strip a:hover{background:rgba(255,255,255,.72);transform:translateY(-2px)}
.strip svg{width:23px;height:23px;stroke:var(--navy);fill:none;stroke-width:1.5;
  opacity:.42;transition:opacity .18s ease,stroke .18s ease}
.strip a:hover svg{opacity:1;stroke:var(--coral)}
.strip span{font-size:12.5px;font-weight:600;line-height:1.3;color:var(--navy);opacity:.52;
  letter-spacing:-.005em;transition:opacity .18s ease}
.strip a:hover span{opacity:1}
.proc{background:var(--navy);border-radius:28px;padding:clamp(40px,5vw,72px);color:var(--cream)}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;margin-top:52px;align-items:start}
.ic{width:52px;height:52px;border-radius:50%;border:1.5px solid var(--coral);
  display:grid;place-items:center;position:relative;background:var(--navy);align-self:start}
.ic svg{width:22px;height:22px;stroke:var(--coral);fill:none;stroke-width:1.6}
.steps > div{position:relative;display:grid;
  grid-template-rows:52px 26px auto auto;align-content:start}
.steps > div:not(:last-child) .ic:after{content:"";position:absolute;left:52px;top:50%;
  width:calc(100% + 26px);height:1px;background:var(--line-navy)}
.st-n{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--coral);display:block;align-self:end;padding-bottom:2px}
.steps h4{margin:0 0 14px;color:var(--cream);min-height:2.3em;text-wrap:balance;
  display:flex;align-items:flex-start}
.steps p{font-size:14px;line-height:1.6;color:rgba(249,246,241,.72);margin:0;max-width:none;
  text-align:left;text-wrap:balance}
.proc-f{margin-top:52px;padding-top:28px;border-top:1px solid var(--line-navy);
  display:flex;justify-content:space-between;gap:24px;align-items:center;flex-wrap:wrap}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.sv{display:block;background:var(--sand);border-radius:18px;padding:28px;transition:.2s ease}
.sv:nth-child(even){background:#EEF1F6}
.sv:hover{transform:translateY(-3px)}
.sv .si{width:38px;height:38px;border-radius:10px;background:var(--coral);
  display:grid;place-items:center;margin-bottom:22px}
.sv .si svg{width:19px;height:19px;stroke:#fff;fill:none;stroke-width:1.7}
.sv h4{margin-bottom:8px}
.sv p{font-size:14px;color:var(--grey);margin-bottom:20px;max-width:none}
.sv .lnk{font-size:13.5px}
.eng{background:var(--cream);border-radius:18px;padding:34px;color:var(--navy-deep);position:relative;overflow:hidden}
.eng .num{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;
  color:var(--coral);display:block;margin-bottom:44px;position:relative}
.eng .gl{position:absolute;top:14px;right:26px;font-family:'Newsreader',serif;font-style:italic;
  font-size:88px;line-height:1;color:rgba(16,33,52,.07);pointer-events:none}
.eng h3{margin-bottom:10px}
.eng p{font-size:14.5px;color:var(--grey);margin:0 0 14px;max-width:none;position:relative}
.eng p:last-child{margin-bottom:0}
.fo{display:flex;gap:26px;align-items:flex-start}
.fo > .ph{flex:0 0 176px}
.fo img{width:176px;height:218px;border-radius:14px;object-fit:cover;object-position:center 14%}
.fo .tag{display:inline-block;background:var(--sand);border-radius:100px;padding:6px 13px;
  font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--navy-deep);margin-bottom:12px}
.fo h3{font-size:20px;margin:0 0 3px}
.fo .role{font-size:13.5px;color:var(--coral);font-weight:600;margin-bottom:14px}
.quote{border-left:2px solid var(--coral);padding-left:18px;margin-top:26px}
.quote p{font-family:'Newsreader',serif;font-style:italic;font-size:15.5px;line-height:1.55;
  color:var(--navy-deep);margin:0;max-width:none}
.plans{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;
  column-gap:24px;align-items:start}
.pl{background:var(--cream);border-radius:22px;padding:38px;position:relative}
.pl-hi{background:var(--navy);color:var(--cream)}
.pl .flag{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--coral);display:block;margin-bottom:16px}
.pl h3{font-size:27px;margin-bottom:6px}
.pl .sb{font-size:14.5px;line-height:1.55;color:var(--grey);margin-bottom:28px;
  min-height:3.2em;max-width:40ch}
.pl-hi .sb{color:rgba(249,246,241,.72)}
.reco{grid-column:2;grid-row:1;display:block;padding:12px 38px;
  border-radius:22px 22px 0 0;background:var(--coral);color:#fff;
  font-size:13px;font-weight:600;letter-spacing:-.005em}
.reco em{font-family:'Newsreader',serif;font-style:italic;font-weight:500}
.reco-void{grid-column:1;grid-row:1}
.plans > .pl:not(.pl-hi){grid-column:1;grid-row:2}
.plans > .pl-hi{grid-column:2;grid-row:2;border-radius:0 0 22px 22px}
.pr{display:flex;align-items:baseline;gap:8px;margin-bottom:6px;flex-wrap:wrap}
.pr b{font-size:clamp(34px,3.4vw,42px);font-weight:800;letter-spacing:-.035em;
  line-height:1;white-space:nowrap}
.pr span{font-size:14px;font-weight:600;color:var(--grey);white-space:nowrap}
.pl-hi .pr span{color:rgba(249,246,241,.8)}
.pr2{font-size:13px;color:var(--grey);margin-bottom:28px}
.pl-hi .pr2{color:rgba(249,246,241,.72)}
.ft{list-style:none;margin:28px 0 0;border-top:1px solid var(--line)}
.pl-hi .ft{border-top-color:var(--line-navy)}
.ft li{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);
  font-size:14px;line-height:1.5}
.pl-hi .ft li{border-bottom-color:var(--line-navy)}
.ft .ck{flex:0 0 17px;height:17px;border-radius:50%;background:var(--coral);
  display:grid;place-items:center;margin-top:3px}
.ft .ck svg{width:9px;height:9px;stroke:#fff;stroke-width:2.6;fill:none}
.pnote{margin-top:30px;border-top:1.5px solid var(--navy);padding:26px 0 0;
  display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.pnote div b{display:block;font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--coral);margin-bottom:6px}
.pnote div span{font-size:14px;line-height:1.55;color:var(--navy-deep);display:block}
.pnote div{padding-right:8px}
.ft li.off{color:#98A0AB}
.pl-hi .ft li.off{color:rgba(249,246,241,.42)}
.ft li.off .ck{background:transparent;border:1.5px solid #C3C9D1}
.ft li.off .ck svg{display:none}
.pl-hi .ft li.off .ck{border-color:rgba(249,246,241,.32)}
.gal{overflow:hidden;padding:14px 0}
.gal-t{display:flex;width:max-content;gap:16px;animation:mv 60s linear infinite}
.gal-t.rev{animation-direction:reverse;animation-duration:72s}
.gal-t img{width:250px;height:168px;object-fit:cover;border-radius:14px;flex:0 0 auto}
.gal:hover .gal-t{animation-play-state:paused}
.cta{background:var(--navy);border-radius:28px;padding:clamp(44px,6vw,84px);color:var(--cream);text-align:center}
.cta .btn{background:var(--cream);color:var(--navy-deep);border-color:var(--cream)}
.cta .btn:hover{background:var(--white);border-color:var(--white)}
.cta .btn-o{background:transparent;color:var(--cream);border-color:rgba(249,246,241,.38)}
.cta .btn-o:hover{background:var(--cream);color:var(--navy-deep);border-color:var(--cream)}
.cta .lede{color:rgba(249,246,241,.78);margin-left:auto;margin-right:auto}
.cta h2{margin-bottom:18px}
.cta .btns{justify-content:center}
.duo{background:var(--cream);border-radius:22px;padding:clamp(28px,3.4vw,44px);margin-top:56px}
.duo-top{display:flex;gap:28px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.duo-id{display:flex;gap:18px;align-items:center}
.duo-txt{flex:1;min-width:200px}
.faces{display:flex;flex:0 0 auto}
.face{position:relative;display:block;flex:0 0 auto}
.face+.face{margin-left:-18px}
.face:hover,.face:focus-visible{z-index:20}
.face img{width:76px;height:76px;border-radius:50%;object-fit:cover;object-position:center;
  border:3px solid var(--white);background:var(--white);
  box-shadow:0 4px 14px rgba(9,25,41,.16);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;display:block}
.face:hover img,.face:focus-visible img{transform:translateY(-4px) scale(1.06);
  border-color:var(--coral);box-shadow:0 12px 30px rgba(9,25,41,.26)}
.face:after{content:"";position:absolute;right:2px;bottom:2px;width:15px;height:15px;
  border-radius:50%;background:var(--coral);border:2.5px solid var(--white);
  transition:transform .2s ease}
.face:hover:after,.face:focus-visible:after{transform:scale(0)}
.vcard{position:absolute;left:50%;bottom:calc(100% + 16px);transform:translateX(-50%) translateY(6px);
  width:288px;background:var(--white);border:1px solid var(--line);border-radius:14px;
  padding:18px 20px;box-shadow:0 18px 44px rgba(9,25,41,.20);
  opacity:0;visibility:hidden;transition:opacity .18s ease,transform .18s ease,visibility .18s;
  z-index:30;text-align:left}
.face:hover .vcard,.face:focus-visible .vcard,.vcard:hover{opacity:1;visibility:visible;
  transform:translateX(-50%) translateY(0)}
.vcard:before{content:"";position:absolute;left:50%;top:100%;margin-left:-8px;
  border:8px solid transparent;border-top-color:var(--white)}
.vcard b{display:block;font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:1.2}
.vcard .vr{font-size:12px;font-weight:600;color:var(--coral);margin:2px 0 13px;display:block}
.vcard a,.vcard span.tel{display:flex;align-items:center;gap:9px;font-size:13px;
  color:var(--navy-deep);padding:6px 0;line-height:1.35;word-break:break-all}
.vcard a:hover{color:var(--coral)}
.vcard svg{width:14px;height:14px;flex:0 0 auto;stroke:var(--coral);fill:none;stroke-width:1.8}
.duo h3{margin-bottom:4px}
.duo .sub{font-size:14px;color:var(--grey);margin:0}
.duo-act{display:flex;gap:11px;flex-wrap:wrap}
.btn-g{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;font-weight:600;
  padding:13px 22px;border-radius:100px;background:var(--white);color:var(--navy-deep);
  border:1.5px solid var(--line);cursor:pointer;font-family:inherit;transition:.18s ease}
.btn-g:hover{border-color:var(--navy-deep)}
.btn-g img{width:20px;height:20px;object-fit:contain}
.panel{display:none;margin-top:28px;padding-top:28px;border-top:1px solid var(--line)}
.panel.open{display:block}
.cards2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pc{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:22px;
  display:flex;gap:16px;align-items:flex-start}
.pc img{width:54px;height:54px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.pc h4{margin-bottom:2px}
.pc .r{font-size:12.5px;color:var(--coral);font-weight:600;margin-bottom:10px}
.pc dl{display:grid;gap:5px;font-size:13.5px}
.pc dt{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--grey)}
.pc dd{margin:0 0 6px}
.pc a{color:var(--navy-deep);border-bottom:1px solid var(--coral)}
.cal{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--white)}
.cal iframe{display:block;width:100%;height:640px;border:0}
.faq{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;align-items:start}
.faq > div{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;
  padding:16px 0;cursor:pointer;list-style:none;font-size:16.5px;font-weight:600;
  letter-spacing:-.01em;line-height:1.4}
.faq summary::-webkit-details-marker{display:none}
.faq summary::marker{content:""}
.faq summary:hover{color:var(--coral)}
.faq .pm{flex:0 0 20px;height:20px;position:relative;margin-top:3px}
.faq .pm:before,.faq .pm:after{content:"";position:absolute;background:var(--coral);
  transition:transform .2s ease}
.faq .pm:before{top:9px;left:2px;width:16px;height:1.8px}
.faq .pm:after{top:2px;left:9px;width:1.8px;height:16px}
.faq details[open] .pm:after{transform:scaleY(0)}
.faq .ans{padding:0 0 20px}
.faq .ans p{font-size:15px;color:var(--grey);margin:0 0 12px}
.faq .ans p:last-child{margin-bottom:0}
.faq .ans strong{color:var(--navy-deep)}
.fi{width:34px;height:34px;border-radius:10px;background:rgba(214,96,79,.11);
  display:grid;place-items:center;flex:0 0 auto}
.fi svg{width:17px;height:17px;stroke:var(--coral);fill:none;stroke-width:1.7}
.on-navy .fi{background:rgba(249,246,241,.10)}
.fc{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:20px}
.fc h3{font-size:15.5px;margin:16px 0 6px}
.fc p{font-size:13px;line-height:1.5;color:var(--grey);margin:0;max-width:none}
.fcards{gap:14px;margin-top:32px}
.hero-m{padding:clamp(44px,5vw,74px) 0 clamp(48px,5.5vw,80px)}
.hero-m h1{margin-bottom:0}
.hero-band{position:relative;margin:0 0 22px;border-radius:20px;overflow:hidden}
.hero-band img{width:100%;height:auto;aspect-ratio:1440/620;object-fit:cover;display:block}
.hero-band figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;flex-wrap:wrap;
  gap:8px 44px;padding:60px 30px 26px;color:var(--cream);
  background:linear-gradient(to top,rgba(9,25,41,.86) 0%,rgba(9,25,41,.44) 58%,rgba(9,25,41,0) 100%)}
.hero-band figcaption span{display:flex;flex-direction:column;gap:3px;font-size:12.5px;
  color:rgba(249,246,241,.82);max-width:220px;line-height:1.4}
.hero-band figcaption b{font-size:clamp(19px,2.2vw,27px);font-weight:800;letter-spacing:-.03em;
  color:var(--cream)}
.tri{display:grid;grid-template-columns:1fr 1.08fr 1fr;gap:16px;align-items:stretch}
.tri-a,.tri-c{position:relative;margin:0;border-radius:18px;overflow:hidden;
  background:var(--navy);min-height:330px}
.tri-a img,.tri-c img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.tri-a figcaption,.tri-c figcaption{position:absolute;inset:auto 0 0 0;z-index:1;
  padding:64px 22px 22px;color:var(--cream);
  background:linear-gradient(to top,rgba(9,25,41,.93) 0%,rgba(9,25,41,.55) 52%,rgba(9,25,41,0) 100%)}
.tri-a figcaption b{display:block;font-size:clamp(24px,2.7vw,32px);font-weight:800;
  letter-spacing:-.035em;margin-bottom:7px}
.tri-a figcaption p{font-size:13px;line-height:1.5;color:rgba(249,246,241,.84);margin:0;max-width:none}
.tri-c figcaption b{display:block;font-size:17px;font-weight:700;letter-spacing:-.02em;
  margin-bottom:6px}
.tri-c figcaption p{font-size:13px;line-height:1.5;color:rgba(249,246,241,.84);margin:0;
  max-width:none}
.tri-b{display:grid;grid-template-rows:1fr 1fr;gap:16px}
.tri-b .fc{background:var(--cream);border-color:var(--line);
  display:flex;flex-direction:column;justify-content:center}
.pl-sec{padding-bottom:0}
.pl-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}
.pl-txt{padding:0 clamp(24px,4vw,56px) clamp(40px,5vw,64px) max(24px,calc((100vw - var(--max))/2))}
.pl-img{margin:0;position:relative;min-height:420px}
.pl-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.enc{display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  border-top:1px solid var(--line);margin-top:clamp(40px,5vw,64px)}
.enc > div{padding:22px 24px 26px;border-right:1px solid var(--line)}
.enc > div:last-child{border-right:none}
.enc b{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;
  color:var(--coral);display:block;margin-bottom:14px;font-weight:500}
.enc h4{font-size:15px;margin-bottom:5px}
.enc p{font-size:12.5px;color:var(--grey);margin:0;max-width:none}
.prof{gap:16px}
.pf{background:var(--navy-card);border:1px solid var(--line-navy);border-radius:18px;padding:22px}
.pf-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}
.pf-lvl{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--coral);border:1px solid rgba(214,96,79,.42);
  border-radius:100px;padding:5px 10px;white-space:nowrap}
.pf h3{font-size:17px;color:var(--cream);margin-bottom:8px}
.pf p{font-size:13px;line-height:1.55;color:rgba(249,246,241,.72);margin:0 0 16px;max-width:none;
  min-height:4.3em}
.pf-tags{display:flex;flex-wrap:wrap;gap:6px}
.pf-tags span{font-size:11.5px;color:rgba(249,246,241,.8);background:rgba(249,246,241,.08);
  border-radius:7px;padding:5px 10px}
.cadres{gap:14px;margin-top:30px}
.cd{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:20px}
.cd b{display:block;font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--coral);
  margin-bottom:8px}
.cd p{font-size:13px;line-height:1.5;color:var(--grey);margin:0;max-width:none}
.ctrl{list-style:none;margin:0;padding:0;max-width:none}
.ctrl li{display:flex;gap:16px;padding:17px 0;border-top:1px solid var(--line);margin:0}
.ctrl li:first-child{border-top:none;padding-top:0}
.ctrl h4{font-size:15px;margin-bottom:4px}
.ctrl p{font-size:13px;line-height:1.5;color:var(--grey);margin:0;max-width:none}
.hero-k{position:relative;overflow:hidden;padding:clamp(52px,6vw,86px) 0 0;background:var(--navy)}
.hero-k .kbg{position:absolute;inset:0;z-index:0}
.hero-k .kbg img{width:100%;height:100%;object-fit:cover;opacity:.24}
.hero-k .kbg:after{content:"";position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(16,33,52,.72) 0%,rgba(16,33,52,.9) 62%,var(--cream) 100%)}
.hero-k .wrap{position:relative;z-index:1}
.hero-k .head{max-width:640px;margin-bottom:44px}
.hero-k h1{color:var(--cream)}
.hero-k .lede{color:rgba(249,246,241,.8)}
.kgrid{display:grid;grid-template-columns:1.25fr .95fr;gap:24px;align-items:start;
  padding-bottom:clamp(40px,5vw,64px)}
.kform{background:var(--white);border-radius:22px;padding:clamp(26px,3.2vw,40px);
  box-shadow:0 20px 54px rgba(9,25,41,.16)}
.kform h2{font-size:21px;margin-bottom:22px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fld{display:block;margin-bottom:16px}
.fld > span{display:block;font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--grey);margin-bottom:7px}
.fld input,.fld select,.fld textarea{width:100%;font-family:'Figtree',sans-serif;font-size:14.5px;
  color:var(--navy-deep);background:var(--cream);border:1px solid var(--line);border-radius:10px;
  padding:12px 14px;transition:border-color .18s ease}
.fld textarea{min-height:110px;resize:vertical;line-height:1.55}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--coral)}
.fld input::placeholder,.fld textarea::placeholder{color:#98A0AB}
.lines{display:flex;flex-wrap:wrap;gap:8px}
.lines label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  font-size:13.5px;color:var(--navy-deep);background:var(--cream);
  border:1px solid var(--line);border-radius:100px;padding:9px 15px;
  transition:border-color .16s ease,background .16s ease}
.lines label:hover{border-color:var(--navy-deep)}
.lines input{position:absolute;opacity:0;width:1px;height:1px}
.lines input:checked + span{color:var(--cream)}
.lines label:has(input:checked){background:var(--navy);border-color:var(--navy);color:var(--cream)}
.lines label:has(input:focus-visible){outline:2px solid var(--coral);outline-offset:2px}
.fnote{font-size:12px;line-height:1.5;color:var(--grey);margin:14px 0 0;text-align:center}
.fnote a{color:var(--navy-deep);border-bottom:1px solid var(--coral)}
.kside{display:grid;gap:16px}
.kcard{background:var(--white);border:1px solid var(--line);border-radius:18px;
  padding:clamp(22px,2.6vw,28px)}
.kcard h3{font-size:17px;margin-bottom:6px}
.kcard > p{font-size:13.5px;line-height:1.55;color:var(--grey);margin:0 0 18px;max-width:none}
.kcal{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--cream)}
.kcal iframe{display:block;width:100%;height:520px;border:0}
.kmeet{display:inline-flex;align-items:center;gap:9px;font-family:'JetBrains Mono',monospace;
  font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);margin-bottom:14px}
.kmeet img{width:17px;height:17px}
.kco{list-style:none;margin:0;padding:0;max-width:none;display:grid;gap:2px}
.kco li{display:flex;gap:14px;align-items:flex-start;padding:14px 0;
  border-top:1px solid var(--line);margin:0}
.kco li:first-child{border-top:none;padding-top:0}
.kco b{display:block;font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--coral);margin-bottom:4px}
.kco span{font-size:14px;line-height:1.5;color:var(--navy-deep)}
.kco a{color:var(--navy-deep)}
.kco a:hover{color:var(--coral)}
.hero-b{padding:clamp(44px,5vw,74px) 0 clamp(40px,4.5vw,64px)}
.bhero{display:grid;grid-template-columns:1fr 1.15fr;gap:40px;align-items:center}
.bhero h1{margin-bottom:18px}
.bhero-img{margin:0;position:relative;border-radius:20px;overflow:hidden}
.bhero-img img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block}
.cats{display:flex;flex-wrap:wrap;gap:8px;padding:22px 0 0;border-top:1px solid var(--line);
  margin-top:36px}
.cats button{font-family:'Figtree',sans-serif;font-size:13.5px;font-weight:500;cursor:pointer;
  color:var(--grey);background:transparent;border:1px solid var(--line);border-radius:100px;
  padding:9px 16px;transition:background .18s ease,color .18s ease,border-color .18s ease}
.cats button:hover{color:var(--navy-deep);border-color:var(--navy-deep)}
.cats button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);
  color:var(--cream);font-weight:600}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:32px}
.pc2{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);
  border-radius:18px;overflow:hidden;color:var(--navy-deep);
  transition:transform .2s ease,box-shadow .2s ease}
.pc2:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(9,25,41,.10);text-decoration:none}
.pc2[hidden]{display:none}
.pc2-top{background:var(--navy);padding:22px 22px 20px;position:relative}
.pc2-top .tag{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--coral);display:block;margin-bottom:16px}
.pc2-top .fig{display:flex;align-items:flex-end;gap:10px;height:74px;
  border-bottom:1px solid rgba(249,246,241,.16);padding-bottom:0}
.pc2-top .fig i{width:34px;flex:0 0 34px;background:rgba(249,246,241,.20);
  border-radius:2px 2px 0 0;display:block}
.pc2-top .fig i.on{background:var(--coral)}
.pc2-top .fig em{font-style:normal;font-family:'JetBrains Mono',monospace;font-size:11px;
  letter-spacing:.04em;color:var(--cream);margin-left:auto;padding-bottom:2px;white-space:nowrap}
.pc2-body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.pc2-meta{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--grey);margin-bottom:12px}
.pc2 h3{font-size:17.5px;line-height:1.28;letter-spacing:-.02em;margin-bottom:9px}
.pc2 p{font-size:13px;line-height:1.55;color:var(--grey);margin:0 0 18px;max-width:none;flex:1}
.pc2 .lnk{font-size:13px}
.bcount{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--grey)}
.sec-lbl{display:block;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--coral);margin:0 0 18px}
.viv{position:relative;overflow:hidden;background:var(--cream)}
.viv-map{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(1400px,124%);height:auto;pointer-events:none;z-index:0}
.viv-map .vm-ring{transform:scaleY(.82);transform-origin:500px 300px}
.viv-map .vm-ring circle{fill:none;stroke:rgba(16,33,52,.07);stroke-width:1}
.viv-map .vm-spoke line{stroke:rgba(16,33,52,.05);stroke-width:1}
.viv-map .vm-core{fill:var(--coral);opacity:.35}
.viv > .wrap{position:relative;z-index:1}
.viv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}
.viv-grid > :nth-child(2){margin-top:26px}
.viv-grid > :nth-child(3){margin-top:52px}
.viv-grid > :nth-child(5){margin-top:26px}
.viv-grid > :nth-child(6){margin-top:52px}
.vp{position:relative;background:var(--white);border:1px solid var(--line);border-radius:18px;
  padding:24px 22px 22px;box-shadow:0 14px 34px rgba(9,25,41,.09);margin:0}
.vp-pin{position:absolute;top:-9px;left:24px;width:18px;height:18px;border-radius:50%;
  background:var(--cream);border:2px solid var(--coral);display:block}
.vp-pin:after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--coral)}
.vp-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.vp-lvl{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--coral);background:rgba(214,96,79,.10);
  border-radius:100px;padding:5px 10px;white-space:nowrap}
.vp h3{font-size:17px;margin-bottom:8px}
.vp p{font-size:13px;line-height:1.55;color:var(--grey);margin:0 0 16px;max-width:none;
  min-height:4.3em}
.vp-tags{display:flex;flex-wrap:wrap;gap:6px}
.vp-tags span{font-size:11.5px;color:var(--navy-deep);background:var(--cream);
  border-radius:7px;padding:5px 10px}
.g4.fcards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:32px}
.fcards .fc h3{min-height:2.6em;display:flex;align-items:flex-start}
.kf-sub{font-size:13.5px;color:var(--grey);margin:-14px 0 22px}
.fgrp{background:var(--cream);border-radius:14px;padding:6px 4px;margin-bottom:14px}
.fcell{display:block;padding:12px 16px 13px}
.frw.two{display:grid;grid-template-columns:1fr 1fr}
.frw.two .fcell + .fcell{box-shadow:inset 1px 0 0 var(--line)}
.fgrp > .fcell + .fcell,.fgrp > .frw + .fcell,.fgrp > .fcell + .frw,.fgrp > .frw + .frw{
  box-shadow:inset 0 1px 0 var(--line)}
.fcell > span{display:block;font-size:11.5px;color:var(--grey);margin-bottom:3px}
.fcell input,.fcell select,.fcell textarea{width:100%;font-family:'Figtree',sans-serif;
  font-size:15px;color:var(--navy-deep);background:transparent;border:none;padding:0;
  appearance:none;-webkit-appearance:none}
.fcell input:focus,.fcell select:focus,.fcell textarea:focus{outline:none}
.fcell:focus-within{background:var(--white);border-radius:10px}
.fcell textarea{min-height:96px;resize:vertical;line-height:1.55}
.fcell input::placeholder,.fcell textarea::placeholder{color:#98A0AB}
.fcell select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235A6472' stroke-width='1.6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 2px center;padding-right:20px;cursor:pointer}
.kf-go{width:100%;justify-content:center;margin-top:8px}
.kcal-w{border-radius:20px;overflow:hidden;border:1px solid var(--line);background:var(--white);
  box-shadow:0 16px 44px rgba(9,25,41,.08)}
.kcal-w iframe{display:block;width:100%;height:660px;border:0}
.head-c .kmeet{justify-content:center;margin:0 auto 16px}
.bfeat{display:grid;grid-template-columns:1.5fr .92fr;gap:0;align-items:stretch;
  background:var(--white);border:1px solid var(--line);border-radius:22px;overflow:hidden;
  box-shadow:0 18px 48px rgba(9,25,41,.08)}
.bcats{padding:28px 26px;border-right:1px solid var(--line);
  display:flex;flex-direction:column;justify-content:center}
.bcats .cats{flex-direction:column;align-items:stretch;gap:2px;padding:0;border:none;margin:0}
.bcats .cats button{display:flex;align-items:center;gap:11px;text-align:left;border:none;
  border-radius:9px;padding:9px 10px;background:transparent;color:var(--grey);font-size:13.5px}
.bcats .cats button i{width:14px;height:1.5px;background:currentColor;opacity:.42;flex:0 0 14px;
  transition:width .18s ease,opacity .18s ease}
.bcats .cats button:hover{background:var(--cream);color:var(--navy-deep);border:none}
.bcats .cats button[aria-pressed="true"]{background:transparent;color:var(--navy-deep);
  font-weight:700}
.bcats .cats button[aria-pressed="true"] i{width:22px;opacity:1;background:var(--coral);height:2px}
.bpanel{padding:34px 32px;color:var(--cream);display:flex;flex-direction:column;
  justify-content:center;gap:16px;
  background:linear-gradient(150deg,#1B3A5C 0%,var(--navy) 52%,var(--navy-deep) 100%)}
.bpanel .bp-ico{width:38px;height:38px;border-radius:11px;background:rgba(249,246,241,.12);
  display:grid;place-items:center;margin-bottom:6px}
.bpanel .bp-ico svg{width:19px;height:19px;stroke:var(--coral);fill:none;stroke-width:1.7}
.bpanel h2{font-size:clamp(24px,2.5vw,31px);color:var(--cream);margin:0}
.bpanel p{font-size:13.5px;line-height:1.55;color:rgba(249,246,241,.76);margin:0;max-width:none}
.btn-l-w{display:inline-flex;align-items:center;gap:9px;align-self:flex-start;margin-top:6px;
  font-size:14px;font-weight:600;color:var(--navy-deep);background:var(--cream);
  border-radius:100px;padding:12px 22px;transition:background .18s ease}
.btn-l-w:hover{background:var(--white);text-decoration:none}
.pc3{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);
  border-radius:18px;overflow:hidden;color:var(--navy-deep);
  transition:transform .2s ease,box-shadow .2s ease}
.pc3:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(9,25,41,.11);text-decoration:none}
.pc3[hidden]{display:none}
.pc3 figure{margin:0;overflow:hidden}
.pc3 figure img{width:100%;height:auto;aspect-ratio:11/7;object-fit:cover;display:block;
  transition:transform .4s ease}
.pc3:hover figure img{transform:scale(1.03)}
.pc3-body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.pc3-tag{align-self:flex-start;font-family:'JetBrains Mono',monospace;font-size:9px;
  letter-spacing:.12em;text-transform:uppercase;border-radius:100px;padding:5px 11px;
  margin-bottom:14px}
.t-c1{background:rgba(214,96,79,.13);color:var(--coral-dark)}
.t-c2{background:rgba(133,178,95,.18);color:#4A6B33}
.t-c3{background:rgba(39,114,185,.13);color:#1E568C}
.t-c4{background:rgba(151,84,208,.14);color:#6B36A0}
.pc3-meta{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--grey);margin-bottom:10px}
.pc3 h3{font-size:17.5px;line-height:1.28;letter-spacing:-.02em;margin-bottom:9px}
.pc3-exc{font-size:13px;line-height:1.55;color:var(--grey);margin:0 0 18px;max-width:none;flex:1}
.pc3 .lnk{font-size:13px}
.pc3-feat{flex-direction:row;border:none;border-radius:0;border-right:1px solid var(--line)}
.pc3-feat:hover{transform:none;box-shadow:none}
.pc3-feat figure{flex:0 0 46%}
.pc3-feat figure img{height:100%;aspect-ratio:auto;min-height:280px}
.pc3-feat .pc3-body{padding:28px 30px}
.pc3-feat h3{font-size:clamp(19px,2vw,23px)}
.kways{display:flex;flex-wrap:wrap;gap:11px;margin-top:26px}
.kways .kw-a{background:var(--cream);color:var(--navy-deep);border-color:var(--cream)}
.kways .kw-a:hover{background:var(--white);border-color:var(--white)}
.kways .kw-b{background:transparent;color:var(--cream);border-color:rgba(249,246,241,.4)}
.kways .kw-b:hover{background:var(--cream);color:var(--navy-deep);border-color:var(--cream)}
.kbook .kbook-go{margin-top:16px;color:var(--navy-deep);border-color:var(--line)}
.kbook .kbook-go:hover{background:var(--navy);color:var(--cream);border-color:var(--navy)}
.lhead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;
  flex-wrap:wrap;margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.lhead .cats{padding:0;margin:0;border:none}
.lhead .bcount{margin:0;white-space:nowrap}
body > footer{background:var(--navy-deep);color:rgba(249,246,241,.6);padding:80px 0 40px;font-size:14.5px}
.fg{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:44px}
.social{display:flex;gap:10px;margin-top:18px}
.social a{display:inline-flex;align-items:center;gap:8px;padding:9px 15px 9px 12px;
  border:1px solid var(--line-navy);border-radius:100px;color:rgba(249,246,241,.6);
  font-size:13px;font-weight:500;transition:border-color .18s ease,color .18s ease}
.social a:hover{border-color:var(--cream);color:var(--cream)}
.social img{width:17px;height:17px;opacity:.72;transition:opacity .18s ease}
.social a:hover img{opacity:1}
body > footer h4{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--cream);font-weight:500;margin-bottom:18px}
body > footer ul{list-style:none}
body > footer li{margin-bottom:11px}
body > footer a:hover{color:var(--cream)}
body > footer .ab{color:rgba(249,246,241,.72);max-width:32ch;margin:18px 0 20px}
.fb{margin-top:60px;padding-top:26px;border-top:1px solid var(--line-navy);
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px}
.rv-on .rv{opacity:0;transform:translateY(18px);
  transition:opacity .62s cubic-bezier(.22,.61,.36,1),transform .62s cubic-bezier(.22,.61,.36,1)}
.rv-on .rv.in{opacity:1;transform:none}
.rv-on .rv-d1{transition-delay:.07s}
.rv-on .rv-d2{transition-delay:.14s}
.rv-on .rv-d3{transition-delay:.21s}
.rv-on .rv-d4{transition-delay:.28s}
.tri-a{border-radius:18px;padding:24px;display:flex;flex-direction:column;
  justify-content:space-between;gap:60px;color:var(--cream);
  background:linear-gradient(160deg,var(--navy) 0%,var(--navy-deep) 100%)}
.tri-a .fi{background:rgba(249,246,241,.10)}
.tri-a b{display:block;font-size:clamp(26px,3vw,36px);font-weight:800;letter-spacing:-.035em;
  margin-bottom:8px}
.tri-a p{font-size:13px;line-height:1.5;color:rgba(249,246,241,.74);margin:0;max-width:none}
.tri-c{position:relative;margin:0;border-radius:18px;overflow:hidden}
.tri-c img{width:100%;height:100%;object-fit:cover;display:block;min-height:230px}
.tri-c figcaption{position:absolute;inset:auto 0 0 0;padding:56px 20px 20px;color:var(--cream);
  background:linear-gradient(to top,rgba(9,25,41,.9),rgba(9,25,41,0));
  display:flex;flex-wrap:wrap;gap:6px}
.tri-c figcaption span{font-size:10.5px;font-family:'JetBrains Mono',monospace;letter-spacing:.04em;
  background:rgba(249,246,241,.13);border-radius:6px;padding:5px 9px}
.viv-map .vm-ring path{fill:none;stroke:rgba(16,33,52,.09);stroke-width:1.1}
.viv-map .vm-road path{fill:none;stroke:rgba(214,96,79,.16);stroke-width:1.4}
.viv-map .vm-dot circle{fill:var(--coral);opacity:.5}
.bfeat > .pc3-feat{border-right:1px solid var(--line)}
.hero-s{position:relative;overflow:hidden;padding:clamp(48px,5.5vw,80px) 0 clamp(52px,6vw,88px);
  background:radial-gradient(60% 52% at 50% 46%, var(--glow-3) 0%, var(--glow-2) 42%, var(--navy) 78%)}
.head-c{max-width:780px;margin:0 auto 44px;text-align:center;position:relative;z-index:2}
.head-c h1,.head-c h2{margin-bottom:20px}
.head-c .lede{margin:0 auto;max-width:58ch}
.wheel{position:relative;width:min(660px,88vw);margin:0 auto;aspect-ratio:1}
.wheel svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.wheel ul{position:absolute;inset:0;list-style:none;margin:0;padding:0}
.wheel li{position:absolute;margin:0;transform:translate(-50%,-50%)}
.wheel a{display:inline-block;white-space:nowrap;font-size:clamp(11.5px,1.05vw,14px);
  font-weight:500;color:var(--cream);background:var(--navy);
  border:1px solid rgba(249,246,241,.22);border-radius:100px;padding:8px 15px;
  transition:border-color .18s ease,color .18s ease,transform .18s ease}
.wheel a:hover,.wheel a:focus-visible{border-color:var(--coral);color:var(--coral);
  transform:scale(1.05);text-decoration:none}
.wheel-hint{display:block;text-align:center;margin-top:clamp(18px,2.4vw,34px);
  font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;
  text-transform:uppercase;color:rgba(249,246,241,.42)}
.hero-cta{display:flex;justify-content:center;margin-top:26px}
.btn-c-out{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;font-weight:600;
  color:#fff;background:var(--coral);border:1.5px solid var(--coral);border-radius:100px;
  padding:15px 28px;transition:background .18s ease,border-color .18s ease}
.btn-c-out:hover{background:var(--coral-dark);border-color:var(--coral-dark);
  color:#fff;text-decoration:none}
.sec-w{background:var(--white)}
.verts{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.vc{position:relative;overflow:hidden;border-radius:18px;padding:26px 24px 28px;
  background:var(--cream);color:var(--navy-deep);margin:0;
  display:flex;flex-direction:column}
.vc:before{content:"";position:absolute;inset:0;background:var(--tint);opacity:.045}
.vc > *{position:relative}
.vc .ti{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;
  margin-bottom:28px;background:var(--tint);flex:0 0 auto}
.vc .ti svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:1.75}
.vc h3{font-size:16px;font-weight:700;letter-spacing:-.015em;line-height:1.3;
  margin:0 0 12px;padding-bottom:12px;min-height:3.9em;
  border-bottom:1px solid var(--tint);border-bottom-color:color-mix(in srgb,var(--tint) 34%,transparent)}
.vc p{font-size:12.5px;line-height:1.55;color:var(--grey);margin:0;max-width:none}
.vfoot{margin-top:34px;padding-top:22px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}
.vfoot .note{margin:0}
.sec-c{background:var(--cream)}
.sel{display:grid;grid-template-columns:300px minmax(0,1fr);gap:30px;align-items:start}
.sel-list{display:flex;flex-direction:column;gap:2px}
.sel-list button{display:flex;align-items:center;gap:15px;width:100%;text-align:left;
  font-family:'Figtree',sans-serif;font-size:14.5px;font-weight:500;color:var(--grey);
  background:transparent;border:none;border-radius:100px;padding:14px 18px;cursor:pointer;
  transition:background .2s ease,color .2s ease;white-space:nowrap}
.sel-list button:hover{color:var(--navy-deep)}
.sel-list button .si{width:34px;height:34px;flex:0 0 34px;border-radius:50%;
  display:grid;place-items:center;transition:background .2s ease}
.sel-list button .si svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.6}
.sel-list button[aria-selected="true"]{background:var(--navy);color:var(--cream);font-weight:600;
  box-shadow:0 8px 22px rgba(9,25,41,.16)}
.sel-list button[aria-selected="true"] .si{background:var(--coral);color:#fff}
.pan{background:var(--white);border-radius:22px;padding:clamp(28px,3.4vw,46px);position:relative;
  box-shadow:0 18px 48px rgba(9,25,41,.09)}
.pan[hidden]{display:none}
.pan-tag{position:absolute;top:clamp(28px,3.4vw,46px);right:clamp(28px,3.4vw,46px);
  background:var(--navy);color:var(--cream);border-radius:100px;padding:7px 15px;
  font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.16em;
  text-transform:uppercase;font-weight:500}
.pan h3{font-size:clamp(28px,3.1vw,40px);color:var(--coral);margin-bottom:12px;letter-spacing:-.03em}
.pan-sub{font-size:16.5px;line-height:1.55;color:var(--navy-deep);max-width:52ch;margin-bottom:0}
.roles{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
  margin:32px 0 0;padding-top:32px;border-top:1px solid var(--line)}
.roles b{display:inline-grid;place-items:center;min-width:32px;height:26px;
  font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.08em;
  color:var(--coral);background:rgba(214,96,79,.11);border-radius:8px;
  margin-bottom:20px;font-weight:500}
.roles h4{font-family:'Figtree',sans-serif;font-weight:700;font-size:17.5px;
  line-height:1.26;letter-spacing:-.02em;margin-bottom:11px;min-height:2.52em;
  display:flex;align-items:flex-start;color:var(--navy-deep)}
.roles p{font-size:14px;line-height:1.55;color:var(--grey);margin:0;max-width:none}
.tools-lbl{display:block;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--coral);margin:36px 0 16px}
.tools{display:flex;align-items:center;gap:10px}
.tools button{flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:var(--white);
  border:1px solid var(--line);display:grid;place-items:center;cursor:pointer;
  box-shadow:0 3px 10px rgba(9,25,41,.06);transition:border-color .18s ease}
.tools button:hover{border-color:var(--navy-deep)}
.tools button svg{width:16px;height:16px;stroke:var(--navy-deep);fill:none;stroke-width:1.8}
.t-win{flex:1;min-width:0;overflow:hidden;padding:4px 0;
  mask-image:linear-gradient(to right,rgba(0,0,0,0) 0,rgba(0,0,0,1) 4%,rgba(0,0,0,1) 96%,rgba(0,0,0,0) 100%);
  -webkit-mask-image:linear-gradient(to right,rgba(0,0,0,0) 0,rgba(0,0,0,1) 4%,rgba(0,0,0,1) 96%,rgba(0,0,0,0) 100%)}
.t-track{display:flex;gap:14px;width:max-content;animation:tslide 34s linear infinite}
.t-win:hover .t-track,.t-win:focus-within .t-track{animation-play-state:paused}
.t-track span{flex:0 0 auto;background:var(--white);border:1px solid var(--line);border-radius:14px;
  height:66px;display:grid;place-items:center;padding:0 26px;
  box-shadow:0 4px 14px rgba(9,25,41,.06)}
.t-track img{height:27px;width:auto;display:block}
.t-win.manual{overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none}
.t-win.manual::-webkit-scrollbar{display:none}
.t-win.manual .t-track{animation:none}
.btn-l{display:inline-flex;align-items:center;gap:10px;margin-top:32px;
  font-size:14.5px;font-weight:600;color:var(--coral);
  border:1.5px solid var(--coral);border-radius:100px;padding:14px 26px;
  transition:background .18s ease,color .18s ease}
.btn-l:hover{background:var(--coral);color:#fff;text-decoration:none}
.hero-t{padding:clamp(48px,5.5vw,80px) 0 clamp(56px,6vw,88px)}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:start}
.tcard{margin:0;position:relative;border-radius:20px;overflow:hidden;background:var(--navy)}
.tcard img{width:100%;height:auto;display:block;object-fit:cover}
.tcard-a img,.tcard-c img{aspect-ratio:9/9.2}
.tcard-b img{aspect-ratio:9/11}
.tcard-a,.tcard-c{margin-top:34px}
.tcard figcaption{position:relative;background:var(--navy);padding:36px 24px 26px;color:var(--cream)}
.tcard .tico{position:absolute;top:-24px;left:24px;width:44px;height:44px;border-radius:50%;
  background:var(--coral);display:grid;place-items:center}
.tcard .tico svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:1.7}
.tcard h3{font-size:19px;color:var(--cream);margin:0 0 9px}
.tcard p{font-size:13.5px;line-height:1.55;color:rgba(249,246,241,.78);margin:0;max-width:none;
  min-height:4.6em}
.method{display:grid;grid-template-columns:1.02fr .98fr;border-radius:24px;overflow:hidden}
.method-img{position:relative;background:var(--navy);min-height:360px}
.method-img img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.method-eyebrow{position:absolute;top:22px;left:22px;z-index:2;
  font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--navy-deep);background:rgba(249,246,241,.92);padding:8px 13px;border-radius:6px}
.method-pil{position:absolute;left:22px;right:22px;bottom:22px;z-index:2;
  background:rgba(9,25,41,.78);border-radius:10px;padding:14px 17px;color:var(--cream)}
.method-pil b{font-family:'Newsreader',serif;font-style:italic;font-size:17px;font-weight:500;
  display:block;margin-bottom:4px}
.method-pil span{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(249,246,241,.76);line-height:1.6}
.method-txt{padding:clamp(34px,4vw,54px)}
.method-txt h2{margin-bottom:30px}
.pil{list-style:none;margin:0;padding:0;max-width:none}
.pil li{display:flex;gap:18px;padding:15px 0;border-top:1px solid var(--line-navy);margin:0}
.pil li:first-child{border-top:none;padding-top:0}
.pil b{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;color:var(--coral);
  flex:0 0 24px;padding-top:3px;font-weight:500}
.pil h4{color:var(--cream);margin-bottom:5px}
.pil p{font-size:13.5px;line-height:1.55;color:rgba(249,246,241,.74);margin:0;max-width:none}
.pil-l li{border-top-color:var(--line)}
.pil-l h4{color:var(--navy-deep)}
.pil-l p{color:var(--grey)}
.pico{width:40px;height:40px;border-radius:50%;background:rgba(16,33,52,.07);
  display:grid;place-items:center;margin-bottom:22px}
.pico svg{width:19px;height:19px;stroke:var(--navy-deep);fill:none;stroke-width:1.6}
.pl-hi .pico{background:rgba(249,246,241,.12)}
.pl-hi .pico svg{stroke:var(--cream)}
.ft .ck.on:before{content:"";width:7px;height:4px;border-left:1.7px solid #fff;
  border-bottom:1.7px solid #fff;transform:rotate(-45deg);margin-top:-2px}
.ft li.off .ck:before{content:none}
.ft li i{font-style:normal;color:var(--coral);white-space:nowrap}
.pl-hi .ft li i{color:var(--coral)}
.star{text-align:center;font-size:12.5px;color:var(--grey);margin:22px 0 0}
.star sup{color:var(--coral)}
.quote-s{text-align:center}
.quote-s blockquote{max-width:780px;margin:0 auto}
.quote-s p{font-family:'Newsreader',serif;font-style:italic;font-size:clamp(21px,2.4vw,30px);
  line-height:1.42;color:var(--cream);margin:0 auto 26px;max-width:none}
.quote-s footer{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(249,246,241,.6);display:flex;align-items:center;
  justify-content:center;gap:14px}
.qrule{width:44px;height:1px;background:var(--coral);display:block}
.env-img img{width:100%;height:auto;border-radius:20px;aspect-ratio:120/142;
  object-fit:cover;display:block;max-height:560px}

/* ---------- Jetons repris par les modules d'article ---------- */
:root{
  --radius-md:14px;
  --radius-lg:22px;
  --shadow-sm:0 1px 3px rgba(16,33,52,.06);
  --shadow-md:0 6px 18px rgba(16,33,52,.08);
  --shadow-lg:0 14px 34px rgba(16,33,52,.10);
}


/* ---------- Bouton du menu mobile ----------
   Trois traits construits en CSS : le trait central est l'élément, les
   deux autres ses pseudo-éléments. À l'ouverture, ils se croisent en X.
   Aucune image, aucune police d'icônes. */
.burger{display:none;position:relative;width:44px;height:44px;padding:0;
  background:none;border:1px solid var(--line);border-radius:50%;cursor:pointer;
  flex:0 0 44px}
.burger .bl,.burger .bl:before,.burger .bl:after{position:absolute;left:50%;
  width:18px;height:1.8px;margin-left:-9px;background:var(--navy-deep);border-radius:2px;
  transition:transform .24s ease,opacity .18s ease}
.burger .bl{top:50%;margin-top:-.9px}
.burger .bl:before,.burger .bl:after{content:"";left:0;margin-left:0}
.burger .bl:before{top:-6px}
.burger .bl:after{top:6px}
.burger[aria-expanded="true"] .bl{background:transparent}
.burger[aria-expanded="true"] .bl:before{transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] .bl:after{transform:translateY(-6px) rotate(-45deg)}
.burger:hover{border-color:var(--navy-deep)}

/* L'appel à l'action existe deux fois : dans la barre sur écran large,
   dans le menu déroulant sur mobile. Un seul est affiché à la fois. */
.nav-cta-m{display:none}

/* ---------- Lien d'évitement et conteneur principal ---------- */
.skip{position:absolute;left:-9999px;top:0;z-index:99;background:var(--navy);color:var(--cream);
  padding:12px 20px;border-radius:0 0 10px 0;font-size:14px;font-weight:600}
.skip:focus{left:0;text-decoration:none}
main{display:block}

/* ---------- Pages légales ---------- */
.hero-l{padding:clamp(44px,5vw,72px) 0 clamp(34px,4vw,52px);background:var(--cream)}
.legal{display:grid;grid-template-columns:260px minmax(0,1fr);gap:44px;align-items:start}
.legal-toc{position:sticky;top:96px}
.legal-toc ol{list-style:none;margin:0;padding:0;counter-reset:l}
.legal-toc li{margin:0;counter-increment:l}
.legal-toc a{display:flex;gap:11px;padding:8px 0;font-size:13.5px;color:var(--grey);
  border-top:1px solid var(--line);transition:color .16s ease}
.legal-toc li:first-child a{border-top:none}
.legal-toc a:before{content:counter(l,decimal-leading-zero);
  font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--coral);padding-top:3px;
  flex:0 0 18px}
.legal-toc a:hover{color:var(--navy-deep);text-decoration:none}
.legal-body{background:var(--white);border:1px solid var(--line);border-radius:20px;
  padding:clamp(28px,3.4vw,48px)}
.legal-body h2{font-size:clamp(21px,2.2vw,27px);margin:44px 0 16px;scroll-margin-top:100px}
.legal-body h2:first-child{margin-top:0}
.legal-body p{font-size:15.5px;line-height:1.68;margin-bottom:14px;max-width:72ch}
.legal-body a{color:var(--navy-deep);border-bottom:1px solid var(--coral)}
.legal-body a:hover{color:var(--coral);text-decoration:none}
.ltable{display:grid;gap:0;margin:20px 0 22px;border-top:1px solid var(--line)}
.ltable > div{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px;
  padding:14px 0;border-bottom:1px solid var(--line)}
.ltable b{font-size:13.5px;font-weight:700;color:var(--navy-deep)}
.ltable span{font-size:14px;line-height:1.6;color:var(--grey)}
.ltable span a{color:var(--navy-deep)}

/* ---------- Surlignage corail ---------- */
.hl{background:linear-gradient(transparent 62%, rgba(214,96,79,.22) 62%);
  font-weight:inherit;padding:0 1px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.on-navy .hl,.pf .hl{background:linear-gradient(transparent 62%, rgba(214,96,79,.34) 62%)}
.roles h4 .hl,.vp h3 .hl,.pf h3 .hl,.pl .ft .hl{
  background:linear-gradient(transparent 48%, rgba(214,96,79,.26) 48%, rgba(214,96,79,.26) 94%, transparent 94%);
  padding:0 3px;margin:0 -3px;border-radius:2px;white-space:nowrap}

/* ---------- Coordonnées des cofondateurs, variante tactile ---------- */
.fo-contact{display:none}
.fo-contact svg{width:13px;height:13px;flex:0 0 13px;stroke:var(--coral);fill:none;
  stroke-width:1.8}

/* ---------- Roue de Nos solutions ---------- */
.wheel image{pointer-events:none}
/* Les numéros ne servent qu'à la légende mobile : sur écran large les
   libellés sont posés autour de la roue et les chiffres s'alignent mal. */
.wheel .wn{display:none}
/* Les points du rebord sont agrandis sur mobile pour porter un numéro.
   Sur écran large, où les libellés sont posés autour, ils reviennent à
   un simple repère discret. */
.wheel .vm-pins circle{r:.85}
.wheel a b{display:none}




/* ---------- Page de confirmation d'envoi ---------- */
.merci{padding-bottom:clamp(48px,5vw,80px)}
.mcard{background:var(--white);border-radius:24px;padding:clamp(30px,4vw,56px);
  max-width:760px;margin:0 auto;box-shadow:0 24px 60px rgba(9,25,41,.18);text-align:center}
.mtick{width:58px;height:58px;border-radius:50%;background:var(--sage);color:#2C4A38;
  display:grid;place-items:center;margin:0 auto 22px}
.mtick svg{width:26px;height:26px}
.mcard h1{margin-bottom:16px}
.mcard .lede{margin:0 auto 30px;max-width:52ch}
.msteps{list-style:none;margin:0 0 30px;padding:26px 0 0;border-top:1px solid var(--line);
  display:grid;gap:16px;text-align:left;max-width:none}
.msteps li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;margin:0}
.msteps b{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.1em;
  color:var(--coral);padding-top:3px;font-weight:500}
.msteps span{font-size:14.5px;line-height:1.6;color:var(--grey)}
.msteps strong{color:var(--navy-deep);font-weight:700}
.mcard .btns{justify-content:center}
.mnote{font-size:13px;color:var(--grey);margin:22px 0 0}
.mnote a{color:var(--navy-deep);border-bottom:1px solid var(--coral)}
.mnext{max-width:1000px;margin:clamp(38px,4.4vw,62px) auto 0;text-align:center}
.mnext .sec-lbl{color:rgba(249,246,241,.6)}
.mnext .g3{gap:14px;text-align:left}
.mnext .sv{background:rgba(249,246,241,.07);border:1px solid rgba(249,246,241,.16)}
.mnext .sv:hover{background:rgba(249,246,241,.12)}
.mnext .sv h3{color:var(--cream);margin-bottom:8px}
.mnext .sv p{color:rgba(249,246,241,.7)}


/* La carte est blanche à l'intérieur d'un hero navy : les règles de
   couleur du hero doivent être neutralisées, sinon le titre ressort
   en crème sur blanc. */
.merci .mcard h1{color:var(--navy-deep)}
.merci .mcard .lede{color:var(--grey)}
.merci .mcard .eyebrow{color:var(--coral)}
.merci .mcard .btn-o{background:transparent;color:var(--navy-deep);border-color:var(--line)}
.merci .mcard .btn-o:hover{background:var(--navy);color:var(--cream);border-color:var(--navy)}


/* ---------- Sécurité et conformité, sur fond navy ----------
   La page était intégralement en crème : la conformité passe en navy pour
   scinder la lecture. Les cartes et la liste doivent suivre. */
.conf .cd{background:var(--navy-card);border-color:var(--line-navy)}
.conf .cd b{color:var(--coral)}
.conf .cd p{color:rgba(249,246,241,.72)}
.conf .sec-lbl{color:var(--coral)}
.conf .ctrl li{border-top-color:var(--line-navy)}
.conf .ctrl h4{color:var(--cream)}
.conf .ctrl p{color:rgba(249,246,241,.72)}
.conf .fi{background:rgba(249,246,241,.10)}

/* ==================== REQUÊTES MÉDIA ==================== */
@media(max-width:760px){.wrap{padding:0 20px}}
@media(max-width:520px){.logo img{height:26px}}
@media(max-width:1080px){
  .nav .links{position:absolute;top:76px;left:0;right:0;background:var(--white);flex-direction:column;
    gap:0;padding:6px 40px 22px;border-bottom:1px solid var(--line);display:none}
  .nav .links.open{display:flex}
  .nav .links a{padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}
  .nav > .btn{display:none}
  .burger{display:block}
  .nav .links a.nav-cta-m{display:inline-flex;justify-content:center;width:100%;
    margin-top:16px;border-bottom:none;font-size:15px;padding:15px 22px;
    /* la règle des liens du menu impose sa couleur : on rétablit celle du bouton */
    color:var(--cream);background:var(--navy)}
  .nav .links a.nav-cta-m:hover{color:var(--cream);background:var(--navy-deep)}
}
@media(max-width:960px){.hero-g{grid-template-columns:1fr;gap:44px}}
@media(max-width:600px){
  .proof{flex-direction:column;gap:18px}
  .proof > div{border-right:none;border-bottom:1px solid var(--line);padding:0 0 16px;margin:0}
  .proof > div:last-child{border-bottom:none;padding-bottom:0}
}
@media(max-width:960px){.f1{left:-14px}.f2{right:-10px}}
@media(max-width:520px){.f1,.f2{position:static;margin-top:14px;box-shadow:none}.f2{display:block}}
@media(max-width:1180px){.strip-g{grid-template-columns:repeat(5,1fr)}}
@media(max-width:760px){.strip-g{grid-template-columns:repeat(3,1fr);gap:8px}}
@media(max-width:420px){.strip-g{grid-template-columns:repeat(2,1fr)}}
@keyframes mv{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:1000px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.steps{grid-template-columns:1fr}}
@media(max-width:1000px){.steps > div .ic:after{display:none}.steps h4{min-height:0}}
@media(max-width:1000px){.g3,.g4{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.g2,.g3,.g4{grid-template-columns:1fr}}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:34px}}
@media(max-width:560px){.fo{flex-direction:column;gap:18px}}
@media(max-width:860px){.plans{grid-template-columns:1fr;grid-template-rows:auto}}
@media(max-width:860px){
  .reco{grid-column:1;grid-row:auto;border-radius:18px 18px 0 0}
  .reco-void{display:none}
  .plans > .pl:not(.pl-hi){grid-column:1;grid-row:auto}
  .plans > .pl-hi{grid-column:1;grid-row:auto}
}
@media(max-width:760px){.pnote{grid-template-columns:1fr;gap:16px}}
@media(max-width:680px){
  .duo-txt{order:-1}
  
  .duo-id{flex-direction:column;align-items:stretch;width:100%;gap:14px}
  .faces{flex-direction:column;gap:14px;width:100%}
  .face{width:100%;display:flex;gap:14px;align-items:center}
  .face+.face{margin-left:0}
  .face:after{content:none}
  .face img{width:56px;height:56px;box-shadow:none;flex:0 0 auto}
  .face:hover img,.face:focus-visible img{transform:none;border-color:var(--white)}
  .vcard{position:static;transform:none;width:auto;flex:1;box-shadow:none;border:none;
    padding:0;opacity:1;visibility:visible;background:transparent}
  .vcard:before{content:none}
  .vcard b{font-size:15px}
  .vcard .vr{margin:1px 0 6px}
  .vcard a{padding:3px 0;font-size:12.5px}
}
@media(max-width:680px){.cards2{grid-template-columns:1fr}}
@media(max-width:680px){.cal iframe{height:760px}}
@media(max-width:860px){.faq{grid-template-columns:1fr;gap:0}}
@media(max-width:640px){.hero-band figcaption{gap:14px;padding:48px 20px 20px}}
@media(max-width:940px){.tri{grid-template-columns:1fr}}
@media(max-width:940px){
  .tri-a,.tri-c{min-height:260px}
  .tri-b{grid-template-rows:auto auto}
}
@media(max-width:940px){.pl-grid{grid-template-columns:1fr}}
@media(max-width:940px){.pl-txt{padding:0 24px 40px}}
@media(max-width:940px){.pl-img{min-height:340px}}
@media(max-width:860px){.enc{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.enc{grid-template-columns:1fr}}
@media(max-width:760px){.pf p{min-height:0}}
@media(max-width:1000px){.kgrid{grid-template-columns:1fr}}
@media(max-width:560px){.frow{grid-template-columns:1fr}}
@media(max-width:560px){.kcal iframe{height:640px}}
@media(max-width:940px){.bhero{grid-template-columns:1fr;gap:28px}}
@media(max-width:1000px){.posts{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.posts{grid-template-columns:1fr}}
@media(max-width:1000px){.viv-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.viv-grid{grid-template-columns:1fr}}
@media(max-width:1000px){.viv-grid > *{margin-top:0!important}}
@media(max-width:620px){.vp p{min-height:0}}
@media(max-width:520px){.g4.fcards{grid-template-columns:1fr}}
@media(max-width:520px){.fcards .fc h3{min-height:0}}
@media(max-width:520px){
  .frw.two{grid-template-columns:1fr}
  .frw.two .fcell + .fcell{box-shadow:inset 0 1px 0 var(--line)}
}
@media(max-width:700px){.kcal-w iframe{height:760px}}
@media(max-width:1080px){.bfeat{grid-template-columns:1fr}}
@media(max-width:1080px){.bcats{border-right:none;border-bottom:1px solid var(--line)}}
@media(max-width:1080px){.bcats .cats{flex-direction:row;flex-wrap:wrap}}
@media(max-width:1080px){
  .pc3-feat{flex-direction:column;border-right:none;border-bottom:1px solid var(--line)}
  .pc3-feat figure{flex:none}
  .pc3-feat figure img{aspect-ratio:11/7;min-height:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:900px){.fg{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.fg{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){
  .rv-on .rv{opacity:1!important;transform:none!important;transition:none!important}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition:none!important}
  .gal-t{animation:none;width:auto;flex-wrap:wrap}
  html{scroll-behavior:auto}
}
@media(max-width:760px) and (min-width:641px){
  .wheel{aspect-ratio:auto;width:100%}
  .wheel svg{display:none}
  .wheel ul{position:static;display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .wheel li{position:static;transform:none}
  .wheel a{display:block;text-align:center;white-space:normal;border-radius:12px}
}
@media(max-width:1080px){.verts{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.verts{grid-template-columns:1fr 1fr}}
@media(max-width:440px){.verts{grid-template-columns:1fr}}
@media(max-width:1000px){.sel{grid-template-columns:minmax(0,1fr);gap:20px}
  .sel-list,.sel-panels{min-width:0}}
@media(max-width:1000px){
  .sel-list{flex-direction:row;overflow-x:auto;gap:8px;padding-bottom:6px;scrollbar-width:none;
    max-width:100%;
    mask-image:linear-gradient(to right,rgba(0,0,0,1) 0,rgba(0,0,0,1) 92%,rgba(0,0,0,0) 100%);
    -webkit-mask-image:linear-gradient(to right,rgba(0,0,0,1) 0,rgba(0,0,0,1) 92%,rgba(0,0,0,0) 100%)}
  .sel-list::-webkit-scrollbar{display:none}
  .sel-list button{width:auto;flex:0 0 auto;background:var(--white);padding:11px 18px;gap:10px}
  .sel-list button .si{width:26px;height:26px;flex:0 0 26px}
  .sel-list button[aria-selected="true"]{background:var(--navy)}
}
@media(max-width:760px){.roles{grid-template-columns:1fr;gap:24px}}
@media(max-width:760px){.roles h4{min-height:0}}
@keyframes tslide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){
  .t-track{animation:none;width:auto;flex-wrap:wrap}
}
@media(max-width:960px){.trio{grid-template-columns:1fr;gap:22px}}
@media(max-width:960px){.tcard-a,.tcard-c{margin-top:0}.tcard img{aspect-ratio:9/6!important}}
@media(max-width:960px){.tcard p{min-height:0}}
@media(max-width:960px){.method{grid-template-columns:1fr}}
@media(max-width:900px){.legal{grid-template-columns:1fr;gap:28px}.legal-toc{position:static}}
@media(max-width:640px){.ltable > div{grid-template-columns:1fr;gap:4px}}
@media(max-width:400px){.roles h4 .hl{white-space:normal}}
@media(max-width:640px){
  .mcard{padding:26px 18px 28px;border-radius:18px}
  .mtick{width:48px;height:48px;margin-bottom:16px}
  .mtick svg{width:22px;height:22px}
  .msteps{gap:14px;padding-top:20px;margin-bottom:24px}
  .msteps span{font-size:13.5px}
  .mnext .g3{grid-template-columns:minmax(0,1fr)}
  /* La règle générale fait occuper deux colonnes à une carte seule sur la
     dernière rangée. En colonne unique, ce span crée une seconde colonne
     implicite et les cartes se superposent. */
  .mnext .g3 > :last-child:nth-child(odd){grid-column:auto}
}

/* =========================================================================
   RENDU MOBILE
   Objectif : une interface pensée pour le pouce, pas une page de bureau
   rétrécie. Trois principes appliqués partout.
   1. Occuper la largeur : deux colonnes dès que le contenu d'une carte
      tient en peu de mots, au lieu d'une colonne qui allonge la page.
   2. Resserrer le rythme vertical : marges de section réduites, titres
      ramenés à une échelle mobile.
   3. Rien qui dépende du survol : sur un écran tactile il n'existe pas.
      Les informations révélées au survol sur ordinateur sont affichées.
   ========================================================================= */
@media(max-width:640px){

  /* ---------- Rythme vertical ---------- */
  :root{--sec:46px}
  section{padding-top:var(--sec);padding-bottom:var(--sec)}
  h1{font-size:clamp(27px,8.4vw,34px);line-height:1.1;letter-spacing:-.03em}
  h2{font-size:clamp(23px,6.6vw,28px);line-height:1.14}
  h3{font-size:17px}
  .lede{font-size:15.5px;line-height:1.55}
  .head,.head-c,.head-t{margin-bottom:26px}
  p{margin-bottom:12px}

  /* ---------- Deux colonnes pour les cartes courtes ----------
     Uniquement là où le contenu d'une carte tient en peu de mots. Les
     fiches longues, comme les cofondateurs, restent sur une colonne :
     deux colonnes de 170 px produiraient trois mots par ligne. */
  .g3{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  /* Les enfants de grille doivent aussi accepter de rétrécir. */
  .g3 > *,.g2 > *,.verts > *,.viv-grid > *,.prof > *,.g4.fcards > *,.steps > *,
  .roles > *,.posts > *,.plans > *{min-width:0}
  .vp-tags,.pf-tags{min-width:0}
  .vp-tags span,.pf-tags span{max-width:100%;overflow-wrap:anywhere}
  .g2{grid-template-columns:1fr;gap:12px}
  /* Une carte seule sur la dernière rangée occupe toute la largeur */
  .g3 > :last-child:nth-child(odd),
  .verts > :last-child:nth-child(odd),
  .viv-grid > :last-child:nth-child(odd),
  .prof > :last-child:nth-child(odd),
  .g4.fcards > :last-child:nth-child(odd){grid-column:span 2}

  /* Les neuf lignes de service : deux colonnes compactes */
  .sv{padding:16px 14px 18px;border-radius:14px}
  .sv h3{font-size:14.5px;line-height:1.25;margin-bottom:6px;min-height:0}
  .sv p{font-size:12px;line-height:1.45;margin:0}
  .sv .si,.sv .fi{width:30px;height:30px;margin-bottom:14px}
  .sv .si svg,.sv .fi svg{width:15px;height:15px}
  .sv .lnk{display:none}

  /* Engagements, équipes, cartes de secteur, profils, équipement */
  .eng{padding:20px 16px 22px}
  .eng h3{font-size:16px}
  .eng p{font-size:12.5px;line-height:1.5}
  .verts,.viv-grid,.g4.fcards,.prof{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .vc{padding:16px 14px 18px;border-radius:14px}
  .vc h3{font-size:13.5px;min-height:0;padding-bottom:9px;margin-bottom:8px}
  .vc p{font-size:11.5px;line-height:1.45}
  .vc .ti{width:34px;height:34px;margin-bottom:16px}
  .vc .ti svg{width:16px;height:16px}
  .vp,.pf{padding:16px 14px 18px;border-radius:14px}
  .vp h3,.pf h3{font-size:14px;line-height:1.25;overflow-wrap:anywhere}
  .vp h3 .hl,.pf h3 .hl{white-space:normal}
  .vp p,.pf p{font-size:11.5px;line-height:1.45;min-height:0;margin-bottom:12px}
  .vp-lvl,.pf-lvl{font-size:8px;padding:4px 7px}
  .vp-tags span,.pf-tags span{font-size:10px;padding:3px 7px}
  .fc{padding:15px 13px 16px}
  .fc h3{font-size:13.5px;min-height:0;margin:12px 0 5px}
  .fc p{font-size:11.5px;line-height:1.45}
  .fi{width:30px;height:30px}
  .fi svg{width:15px;height:15px}

  /* Le processus : deux colonnes, filets de liaison retirés */
  .steps{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 12px}
  .steps > div:after{display:none}
  .steps h4{font-size:14px;min-height:0;margin-bottom:8px}
  .steps p{font-size:12px;line-height:1.45}

  /* ---------- Madagascar : bandeau photo et tuiles ----------
     Le bandeau était calé sur un ratio de bureau : 390 x 168 px ne laissent
     pas la place aux trois repères, qui se chevauchaient. Le format passe en
     portrait et les repères en rangée de trois. Sur les tuiles photo, le
     voile est renforcé : du texte crème sur une photo claire ne se lit pas. */
  .hero-band{margin-bottom:14px;border-radius:16px}
  .hero-band img{aspect-ratio:5/4}
  .hero-band figcaption{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;padding:52px 16px 16px;
    background:linear-gradient(to top,rgba(9,25,41,.96) 0%,rgba(9,25,41,.72) 46%,rgba(9,25,41,0) 100%)}
  .hero-band figcaption span{max-width:none;font-size:10.5px;line-height:1.35;gap:2px}
  .hero-band figcaption b{font-size:17px;letter-spacing:-.02em}

  .tri{gap:12px}
  .tri-a,.tri-c{min-height:0}
  .tri-a img,.tri-c img{position:static;width:100%;height:auto;aspect-ratio:16/11}
  .tri-a figcaption,.tri-c figcaption{position:static;padding:16px 16px 18px;
    background:var(--navy-deep)}
  .tri-a figcaption b{font-size:24px;margin-bottom:5px}
  .tri-a figcaption p,.tri-c figcaption p{font-size:12.5px;line-height:1.5}
  .tri-c figcaption b{font-size:16px}
  .tri-b .fc{justify-content:flex-start}

  /* ---------- Cofondateurs : plus de survol, tout est affiché ---------- */
  /* Fiche de cofondateur en grille : portrait compact à gauche, tout le
     texte à droite. En colonne simple, le conteneur du portrait réservait
     sa base flex de 176 px en hauteur et laissait un grand vide. */
  .fo{display:grid;grid-template-columns:62px minmax(0,1fr);gap:14px;
    align-items:start;padding:0}
  .fo .ph{flex:none;width:62px;grid-column:1;grid-row:1}
  .fo > div:not(.ph){grid-column:2;grid-row:1}
  .fo img{width:62px;height:76px;border-radius:11px}
  .fo .tag{display:inline-block;font-size:8.5px;padding:4px 9px;margin-bottom:9px}
  .fo .small{font-size:12.5px;line-height:1.5}
  .fo h3{font-size:16px}
  .fo .role{font-size:11.5px}
  .fo p{font-size:12.5px;line-height:1.5}
  .quote{margin-top:16px;padding-left:14px}
  .quote p{font-size:13.5px;line-height:1.5}
  /* Le bloc de bulles survolables n'a pas de sens au doigt : on l'écarte
     et on affiche les coordonnées directement dans chaque fiche. */
  /* Le bloc de bulles et son bouton de coordonnées disparaissent : les
     adresses et les numéros sont désormais dans chaque fiche. Seule la
     prise de rendez-vous reste, elle mène ailleurs. */
  .duo-id,.faces,.duo-txt,[data-panel="p-coord"],#p-coord{display:none}
  .duo-act button[aria-controls="p-coord"]{display:none}
  .duo{padding-top:0}
  .duo-act{width:100%}
  .duo-act > *{width:100%;justify-content:center}
  .fo-contact{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
  .fo-contact{gap:8px}
  .fo-contact a{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;
    white-space:nowrap;
    color:var(--navy-deep);background:var(--cream);border:1px solid var(--line);
    border-radius:100px;padding:8px 13px}
  .fo-contact a svg{width:13px;height:13px;stroke:var(--coral);fill:none;stroke-width:1.8}

  /* ---------- Offres : la liste détaillée se déplie ----------
     En colonne simple, l'ordre du DOM place le bandeau Recommandé avant
     la première carte. On le réordonne pour qu'il reste collé à la carte
     Full-service, qu'il désigne. */
  .plans{gap:12px}
  .plans > .pl:not(.pl-hi){order:1}
  .plans > .reco{order:2;margin-bottom:-12px}
  .plans > .pl-hi{order:3}
  .pl{padding:20px 16px 22px}
  .pl h3{font-size:20px}
  .pl .sb{font-size:13px;min-height:0;margin-bottom:18px}
  .pr b{font-size:30px}
  .pr2{font-size:12.5px}
  .ft{margin-top:16px}
  .ft li{font-size:12.5px;padding:9px 0}
  /* La liste détaillée reste dans le HTML, donc lisible par les moteurs,
     mais elle est tronquée à l'écran : quatorze lignes par offre font
     défiler deux écrans pour rien avant le prix suivant. */
  .ft.clamped{max-height:224px;overflow:hidden;position:relative;
    mask-image:linear-gradient(to bottom,#000 0,#000 72%,transparent 100%);
    -webkit-mask-image:linear-gradient(to bottom,#000 0,#000 72%,transparent 100%)}
  .ft-more{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
    margin-top:12px;font-family:'Figtree',sans-serif;font-size:12.5px;font-weight:600;
    color:var(--navy-deep);background:transparent;border:1px solid var(--line);
    border-radius:100px;padding:11px 16px;cursor:pointer}
  .pl-hi .ft-more{color:var(--cream);border-color:rgba(249,246,241,.34)}
  .ft-more:after{content:"";width:7px;height:7px;border-right:1.6px solid currentColor;
    border-bottom:1.6px solid currentColor;transform:rotate(45deg);margin-top:-3px;
    transition:transform .2s ease}
  .ft-more[aria-expanded="true"]:after{transform:rotate(-135deg);margin-top:2px}
  .pnote{grid-template-columns:1fr;gap:16px;padding-top:20px}
  .pnote div span{font-size:12.5px}

  /* ---------- Galerie et bandeaux défilants ---------- */
  .gal-t img{width:150px;height:100px}
  .gal{gap:8px}
  .strip{padding:16px 0}
  .strip li span{font-size:10px}


  /* ---------- Hero de Nos solutions : le schéma est conservé ----------
     Une roue de nine branches avec ses libellés ne tient pas sur 390 px.
     La figure reste, à pleine largeur, avec ses repères numérotés ; les
     libellés deviennent une légende à deux colonnes qui reprend les mêmes
     numéros. On garde le schéma au lieu de le remplacer par des pastilles. */
  .wheel{width:100%;max-width:none;aspect-ratio:auto;display:block;margin-bottom:0}
  .wheel svg{position:static;width:100%;height:auto;display:block;overflow:visible}
  .wheel .wn{display:block;font-size:2.7px}
  .wheel .vm-pins circle{r:2.4}
  .wheel ul{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;margin-top:16px}
  .wheel li{position:static;transform:none}
  .wheel a{display:flex;align-items:center;gap:8px;width:100%;text-align:left;
    white-space:normal;background:var(--navy-card);border-radius:10px;padding:9px 11px;
    font-size:12px;line-height:1.25}
  .wheel a b{display:grid;place-items:center;flex:0 0 18px;width:18px;height:18px;
    border-radius:50%;background:var(--coral);color:#fff;
    font-family:'JetBrains Mono',monospace;font-size:9.5px;font-weight:500}
  .wheel-hint{margin-top:18px;font-size:9px}
  .hero-s{padding:34px 0 44px}

  /* ---------- Sélecteur de solutions ---------- */
  .sel{gap:14px}
  .pan{padding:20px 16px 22px;border-radius:16px}
  .pan h3{font-size:24px}
  .pan-sub{font-size:14px}
  .pan-tag{position:static;display:inline-block;margin-bottom:12px}
  .roles{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 12px;margin-top:20px;padding-top:20px}
  .roles h4{font-size:13.5px;min-height:0;margin-bottom:7px}
  .roles p{font-size:11.5px;line-height:1.45}
  .roles b{margin-bottom:12px;min-width:28px;height:22px;font-size:9.5px}
  .t-track span{height:52px;padding:0 16px}
  .t-track img{height:20px}
  .tools button{flex:0 0 32px;width:32px;height:32px}

  /* ---------- Contact ---------- */
  .kform{padding:20px 16px 22px;border-radius:16px}
  .kform h2{font-size:19px}
  .fcell{padding:10px 13px 11px}
  .fcell input,.fcell select,.fcell textarea{font-size:14.5px}
  .kcard{padding:18px 16px}
  .kways{gap:8px}
  .kways .btn{font-size:13px;padding:11px 18px}
  .kcal-w iframe{height:620px}

  /* ---------- Articles ---------- */
  .article-hero{padding:26px 0 20px}
  .article-title{font-size:clamp(24px,7.4vw,30px)}
  .article-lede{font-size:15px;line-height:1.55}
  .article-layout-section{padding:22px 0 34px}
  .article-content{padding:18px 15px 22px;border-radius:16px}
  .article-content p,.article-content li{font-size:15px;line-height:1.62}
  .article-content h2{font-size:20px;margin:34px 0 12px}
  .article-sources{padding:20px 16px;margin-top:34px}
  .article-final-cta-inner{padding:24px 18px}
  .blog-grid{gap:10px}
  /* Le sommaire se replie : dix entrées en tête d'article repoussent
     le texte hors de l'écran. */
  .article-toc{background:var(--white);border:1px solid var(--line);border-radius:14px;
    padding:14px 16px}
  .article-toc-list{max-height:0;overflow:hidden;transition:max-height .28s ease}
  .article-toc.open .article-toc-list{max-height:640px}
  .article-toc-label{margin:0;cursor:pointer;display:flex;align-items:center;
    justify-content:space-between}
  .article-toc-label:after{content:"+";font-family:'Figtree',sans-serif;font-size:17px;
    color:var(--coral);line-height:1}
  .article-toc.open .article-toc-label{margin-bottom:12px}
  .article-toc.open .article-toc-label:after{content:"–"}

  /* ---------- Articles : plus de doublon en tête de liste ----------
     Sur ordinateur, l'article à la une est à gauche du bandeau et la liste
     commence plus bas. En colonne, il se retrouve juste au-dessus de sa
     propre carte dans la liste : même photo, même titre deux fois de suite.
     On garde le panneau d'appel et on laisse la liste faire son travail. */
  .bfeat > .pc3-feat{display:none}
  .bfeat{grid-template-columns:minmax(0,1fr)}
  .bpanel{padding:24px 18px}
  .bpanel h2{font-size:23px}
  .bpanel p{font-size:13px}

  /* ---------- Cartes d'article et FAQ ---------- */
  .posts{gap:12px}
  .pc3-body{padding:16px 16px 18px}
  .pc3 h3{font-size:15.5px}
  .pc3-exc{font-size:12.5px;margin-bottom:14px}
  .faq summary{font-size:14px;padding:14px 30px 14px 0}
  .faq .ans p{font-size:13.5px;line-height:1.6}
  .faq{gap:0}

  /* ---------- Pieds de page et blocs d'appel ---------- */
  .cta{padding:26px 18px;border-radius:18px}
  .cta h2{font-size:23px}
  .btns{gap:8px}
  .btn{font-size:13.5px;padding:12px 20px}
  body > footer{padding:40px 0 26px}
  /* Le pied de page passe en deux colonnes : quatre listes empilées
     ajoutaient un écran entier. Le bloc de marque garde la largeur. */
  .fg{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 18px}
  .fg > div:first-child{grid-column:span 2}
  .fg h4{font-size:9.5px;margin-bottom:10px}
  .fg li{margin-bottom:8px}
  body > footer a{font-size:13px}
  /* Les deux colonnes Solutions se suivent : le second intitulé, répété,
     passerait pour une erreur. */
  .fg > div:nth-child(3) > h4:first-child{visibility:hidden;height:0;margin:0}
  .fg .ab{font-size:12.5px;line-height:1.55}
  .social a{font-size:12px;padding:8px 13px 8px 10px}
  .fb{flex-direction:column;gap:6px;align-items:flex-start;font-size:11.5px}
}

/* Sous 420 px, les grilles à deux colonnes des cartes les plus denses
   repassent à une colonne : deux mots par ligne devient illisible. */
/* Sous 360 px, les grilles les plus denses repassent à une colonne :
   deux mots par ligne devient illisible. Au-dessus, on garde deux
   colonnes, y compris sur les écrans de 390 px les plus courants. */
@media(max-width:360px){
  .verts,.viv-grid,.prof,.roles,.g3,.steps,.g4.fcards{grid-template-columns:1fr}
  .g3 > :last-child:nth-child(odd),
  .verts > :last-child:nth-child(odd),
  .viv-grid > :last-child:nth-child(odd),
  .prof > :last-child:nth-child(odd),
  .g4.fcards > :last-child:nth-child(odd){grid-column:auto}
}
