/* Chantier services, 2 novembre 2026.
   Cause : finitions.css pose deux colonnes sur .wrap.lf--flip sans les retirer sous 900 px.
   Le texte tombait dans une colonne de 129 px sur téléphone. */
@media(max-width:900px){.wrap.lf--flip{grid-template-columns:minmax(0,1fr)}}

/* Grilles sans carte seule en bas, 2 novembre 2026 (demande de PL).
   Cause : .cards et .related sont fixées à 3 colonnes, quel que soit le nombre de cartes.
   8 liens passent en 2 fois 4, puis 4 fois 2 sur tablette. */
@media(min-width:1081px){.related:has(>:nth-child(8):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:861px) and (max-width:1080px){.related:has(>:nth-child(8):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
/* 3 cartes sur tablette : la grille passe à 2 colonnes, la première carte prend toute la largeur. */
@media(min-width:601px) and (max-width:1080px){.cards.content-cards:has(>:nth-child(3):last-child)>:first-child{grid-column:1/-1}}

/* Carte ouverte à toute demande, Close protection, reprise de la page Clients (demande de PL) :
   3 cartes en haut, 2 en bas, la dernière remplit la rangée. */
@media(min-width:601px){.content-cards .card--tous{grid-column:span 2}}
.content-cards .card--tous{border-color:#ac018f66;background:linear-gradient(120deg,#ac018f1a,#0e0d10 62%)}
.content-cards .card--tous:hover{border-color:#c028a5;background:linear-gradient(120deg,#ac018f2b,#141016 62%)}
.content-cards .card--tous .link-arrow{color:#e8a9da}
.content-cards .card--tous p{max-width:62ch}
/* Fenêtre : reçoit le formulaire de la page, sans le dupliquer. */
.cl-dlg{width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:clamp(26px,4vw,44px);overflow:auto;color:var(--ink);background:#0e0d10;border:1px solid #ac018f66;border-radius:3px}
.cl-dlg::backdrop{background:#000000b8;backdrop-filter:blur(3px)}
.cl-dlg__x{position:sticky;top:0;z-index:2;margin:0 0 -42px auto;width:42px;height:42px;display:flex;align-items:center;justify-content:center;color:var(--ink2);background:#0e0d10;border:1px solid var(--line2);border-radius:2px;font-size:18px;line-height:1;cursor:pointer}
.cl-dlg__x:hover{color:var(--ink);border-color:#ffffff55}
.cl-dlg .h3{margin:18px 48px 12px 0}
.cl-dlg .lead{margin:0 0 26px;font-size:15px}
.cl-dlg .form[data-reveal]{opacity:1;transform:none}
.cl-dlg .rq__body{grid-template-columns:minmax(0,1fr)}
html.cl-dlg-ouvert{overflow:hidden}

/* Page Services, « What we do » : tout le carré est cliquable (demande de PL).
   Le lien du titre s'étend à tout le carré, le HTML et les traductions ne changent pas. */
.wrap.lf--grid .prose>.pt:has(>h3>a){position:relative;padding-right:56px;transition:background .5s var(--ease),border-color .5s var(--ease)}
.wrap.lf--grid .prose>.pt:has(>h3>a):hover{border-color:#c028a5;z-index:1}
.wrap.lf--grid .prose>.pt>h3>a{color:var(--ink);border-bottom:0;background:none;text-decoration:none}
.wrap.lf--grid .prose>.pt>h3>a::after{content:"";position:absolute;inset:0}
.wrap.lf--grid .prose>.pt>h3>a::before{content:"↗";position:absolute;top:26px;inset-inline-end:26px;color:#e8a9da;font-size:18px;line-height:1;transition:transform .4s var(--ease)}
.wrap.lf--grid .prose>.pt:has(>h3>a):hover>h3>a::before{transform:translate(2px,-2px)}
.wrap.lf--grid .prose>.pt>h3>a:focus-visible{outline:0}
.wrap.lf--grid .prose>.pt:has(>h3>a:focus-visible){outline:2px solid #e8a9da;outline-offset:-2px}

/* Russe sur téléphone : le mot « конфиденциальными. » dépassait de l'écran (TSCM, 448 px pour 390).
   Taille du grand titre réduite sur toutes les pages services en russe, pour qu'elles restent identiques. */
@media(max-width:600px){html[lang="ru"] .inner-opening .display--md{font-size:9vw}}

/* Carte « partout où vous êtes », accueil et Destinations (demande de PL) : même fenêtre et même formulaire que Close protection.
   La carte prend toute la dernière rangée, pour ne jamais laisser de cases vides sous les 6 villes. */
.hub-cards .card--monde{grid-column:1/-1;min-height:0;border-color:#ac018f66;background:linear-gradient(120deg,#ac018f1a,#0e0d10 62%)}
.hub-cards .card--monde:hover{border-color:#c028a5;background:linear-gradient(120deg,#ac018f2b,#141016 62%)}
.hub-cards .card--monde .link-arrow{color:#e8a9da}
.hub-cards .card--monde p{max-width:72ch}

/* TSCM, page recherche de micros (demande de PL) : la phrase sur le matériel sort des cartes et résume la section. */
.tscm-resume{margin:36px 0 0;padding-inline-start:22px;border-inline-start:2px solid #ac018f;color:var(--ink);font-size:clamp(18px,1.6vw,22px);line-height:1.5;max-width:64ch}

/* TSCM, section 04 : déroulé en deux colonnes, puis lignes sans cadres au lieu de trois gros blocs. */
.tj{display:flex;flex-direction:column;gap:clamp(36px,4vw,56px)}
.tj .lf__side{position:static;max-width:none}
.tj .lf__side .h2{max-width:22ch}
.tj__seq.prose{max-width:none;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,96px);align-items:start}
.tj__seq>div>:first-child,.tj__seq>ul{margin-top:0}
.tj__lignes.prose{max-width:none;border-top:1px solid var(--line2)}
.tj__ligne{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,3.2fr);gap:clamp(24px,4vw,64px);padding:clamp(26px,3vw,38px) 0;border-bottom:1px solid var(--line)}
.tj__ligne>h3{margin:0;font-size:clamp(21px,1.9vw,26px);line-height:1.2}
.tj__txt{max-width:64ch}
.tj__txt--2{max-width:none;columns:2;column-gap:clamp(32px,4vw,56px)}
.tj__txt>p{margin:0 0 14px;break-inside:avoid}
.tj__txt>p:last-child{margin-bottom:0}
@media(max-width:900px){.tj__seq.prose,.tj__ligne{grid-template-columns:minmax(0,1fr)}.tj__ligne{gap:14px}.tj__txt--2{columns:1}}
