
/* ═══════════════════════════════════════════════════════════════
   ALL TOGETHER NOW — Section "Solutions By Firm Type" (Carta-style)
   Réutilise : --carta-dot, --carta-corner, --carta-orange, --font-serif
   ═══════════════════════════════════════════════════════════════ */

   .lab-atn-section { overflow: hidden; }

   .lab-atn-eyebrow { margin-bottom: 32px; }
   
   /* ── Stage : conteneur des 2 lignes de texte + tags ── */
   .lab-atn-stage { position: relative; }
   
   .lab-atn-line {
       display: flex;
       align-items: flex-end;
       flex-wrap: wrap;
       gap: 0 20px;
       line-height: 1;
   }
   
   .lab-atn-word {
       font-family: var(--font-serif);
       font-weight: 500;
       font-size: clamp(2.6rem, 6.4vw, 5.4rem);
       letter-spacing: -0.02em;
       color: var(--ink-black);
   }
   .lab-atn-word em { font-style: italic; }
   
   /* Mots avec fond pointillé + coins bracket */
   .lab-atn-word-dotted {
       position: relative;
       display: inline-flex;
       align-items: flex-end;
       padding: 6px 12px 0;
       white-space: nowrap;
   
       opacity: 0;
       transform: translateY(28px);
       transition: opacity .6s var(--ink-ease), transform .6s var(--ink-ease);
   }
   .lab-atn-stage.lab-atn-in-view .lab-atn-word-dotted[data-atn-word="1"] {
       opacity: 1; transform: translateY(0); transition-delay: .05s;
   }
   .lab-atn-stage.lab-atn-in-view .lab-atn-word-dotted[data-atn-word="2"] {
       opacity: 1; transform: translateY(0); transition-delay: .14s;
   }
   
   .lab-atn-dotbg {
       position: absolute; inset: 0;
       background-image: radial-gradient(var(--carta-dot) 1.3px, transparent 1.3px);
       background-size: 12px 12px;
       background-position: center;
       z-index: 0;
       opacity: 0;
       transition: opacity .4s ease .2s;
   }
   .lab-atn-stage.lab-atn-in-view .lab-atn-dotbg { opacity: 1; }
   
   .lab-atn-corner {
       position: absolute; width: 7px; height: 7px;
       background: var(--carta-corner);
       z-index: 1; opacity: 0;
       transition: opacity .3s ease .3s;
   }
   .lab-atn-stage.lab-atn-in-view .lab-atn-corner { opacity: 1; }
   .lab-atn-corner.tl { top: 0; left: 0; }
   .lab-atn-corner.tr { top: 0; right: 0; }
   .lab-atn-corner.bl { bottom: 0; left: 0; }
   .lab-atn-corner.br { bottom: 0; right: 0; }
   .lab-atn-word-dotted { z-index: 1; }
   
   /* ── Rangée des tags ── */
   .lab-atn-tags {
       position: relative;
       display: flex;
       align-items: center;
       gap: 12px;
       margin: 24px 0;
       flex-wrap: wrap;
   }
   
   .lab-atn-tagline {
       position: absolute; top: 50%; left: 0;
       height: 1px;
       background: repeating-linear-gradient(
           90deg,
           var(--ink-border) 0, var(--ink-border) 5px,
           transparent 5px, transparent 10px
       );
       width: 0%;
       transition: width .8s var(--ink-ease) .3s;
       z-index: 0;
   }
   .lab-atn-stage.lab-atn-in-view .lab-atn-tagline { width: 100%; }
   
   .lab-atn-tag {
       position: relative;
       z-index: 1;
       display: inline-flex;
       align-items: center;
       gap: 8px;
       font-family: var(--font-sans);
       font-size: .76rem;
       font-weight: 700;
       letter-spacing: .03em;
       text-transform: uppercase;
       color: var(--ink-black);
       background: var(--ink-surface);
       border: 1px solid var(--ink-border);
       padding: 9px 16px;
       cursor: pointer;
       box-shadow: none;
   
       opacity: 0;
       transform: translateY(14px) scale(.92);
       /* ⬇ Transitions d'entrée (fade/slide) SÉPARÉES des transitions d'état actif */
       transition: opacity .45s var(--ink-ease), transform .45s var(--ink-ease),
                   background .08s linear, border-color .08s linear, color .08s linear;
   }
   .lab-atn-tag-dot {
       width: 7px; height: 7px;
       background: var(--ink-text-muted);
       flex-shrink: 0;
       transition: background .08s linear;
   }
   
   .lab-atn-stage.lab-atn-in-view .lab-atn-tag { opacity: 1; transform: translateY(0) scale(1); }
   .lab-atn-stage.lab-atn-in-view .lab-atn-tag[data-atn-tag="0"] { transition-delay: .45s; }
   .lab-atn-stage.lab-atn-in-view .lab-atn-tag[data-atn-tag="1"] { transition-delay: .53s; }
   .lab-atn-stage.lab-atn-in-view .lab-atn-tag[data-atn-tag="2"] { transition-delay: .61s; }
   .lab-atn-stage.lab-atn-in-view .lab-atn-tag[data-atn-tag="3"] { transition-delay: .69s; }
   
   .lab-atn-tag:hover { border-color: var(--ink-black); }
   
   /* Tag actif = orange plein — bascule quasi instantanée (.08s) */
   .lab-atn-tag.lab-atn-tag-active {
       background: var(--carta-orange);
       border-color: var(--carta-orange);
       color: var(--ink-black);
   }
   .lab-atn-tag.lab-atn-tag-active .lab-atn-tag-dot { background: var(--ink-black); }
   
   /* ── Ligne 2 ── */
   .lab-atn-line-2 { margin-top: 2px; }
   .lab-atn-word-plain {
       opacity: 0;
       transform: translateY(28px);
       transition: opacity .6s var(--ink-ease) .85s, transform .6s var(--ink-ease) .85s;
   }
   .lab-atn-stage.lab-atn-in-view .lab-atn-word-plain { opacity: 1; transform: translateY(0); }
   .lab-atn-word-plain em {
       background: var(--ink-accent-grad);
       -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
   }
   
   /* ── Sous-titre ── */
   .lab-atn-sub {
       max-width: 620px;
       font-size: 1.05rem;
       color: var(--ink-text-secondary);
       line-height: 1.6;
       margin: 36px 0 56px;
       opacity: 0;
       transform: translateY(16px);
       transition: opacity .5s var(--ink-ease) 1s, transform .5s var(--ink-ease) 1s;
   }
   .lab-atn-stage.lab-atn-in-view + .lab-atn-sub { opacity: 1; transform: translateY(0); }
   
   /* ── Panels (contenu détaillé par type de firme, un seul visible) ── */
   .lab-atn-panels { position: relative; }
   
   .lab-atn-panel {
       display: none;
   }
   .lab-atn-panel.lab-atn-panel-active {
       display: block;
       animation: lab-atn-panel-in .18s ease-out;
   }
   
   @keyframes lab-atn-panel-in {
       from { opacity: 0; transform: translateY(6px); }
       to   { opacity: 1; transform: translateY(0); }
   }
   
   .lab-atn-panel-inner {
       display: grid;
       grid-template-columns: 1.4fr .8fr;
       gap: 56px;
       align-items: center;
       background: var(--ink-surface-2);
       border: 1px solid var(--ink-border);
       border-radius: var(--ink-radius-lg);
       padding: 48px;
   }
   
   .lab-atn-panel-text .lp-solution-card-tag { margin-bottom: 16px; display: inline-flex; }
   .lab-atn-panel-text h3 {
       font-family: var(--font-serif);
       font-size: 1.7rem;
       font-weight: 500;
       color: var(--ink-black);
       margin: 0 0 14px;
       letter-spacing: -0.015em;
   }
   .lab-atn-panel-text > p {
       font-size: .96rem;
       color: var(--ink-text-secondary);
       line-height: 1.6;
       margin: 0 0 28px;
       max-width: 460px;
   }
   
   .lab-atn-panel-visual {
       position: relative;
       height: 220px;
       background-image: radial-gradient(var(--carta-dot) 1.3px, transparent 1.3px);
       background-size: 14px 14px;
       background-position: center;
       display: flex;
       align-items: center;
       justify-content: center;
   }
   .lab-atn-panel-visual .corner-bl,
   .lab-atn-panel-visual .corner-br {
       position: absolute;
       width: 7px; height: 7px;
       background: var(--carta-corner);
   }
   .lab-atn-panel-visual .corner-bl { bottom: 0; left: 0; }
   .lab-atn-panel-visual .corner-br { bottom: 0; right: 0; }
   .lab-atn-panel-visual::before,
   .lab-atn-panel-visual::after {
       content: '';
       position: absolute;
       width: 7px; height: 7px;
       background: var(--carta-corner);
   }
   .lab-atn-panel-visual::before { top: 0; left: 0; }
   .lab-atn-panel-visual::after  { top: 0; right: 0; }
   .lab-atn-panel-visual .lab-iso-icon { width: 108px; height: 108px; position: relative; z-index: 1; }
   
   /* ── Responsive ── */
   @media (max-width: 1080px) {
       .lab-atn-panel-inner { grid-template-columns: 1fr; padding: 36px; gap: 32px; }
       .lab-atn-panel-visual { order: -1; height: 160px; }
       .lab-atn-panel-visual .lab-iso-icon { width: 80px; height: 80px; }
   }
   @media (max-width: 720px) {
       .lab-atn-tags { gap: 8px; }
       .lab-atn-tag { font-size: .68rem; padding: 7px 12px; }
       .lab-atn-word { font-size: clamp(2rem, 10vw, 2.8rem); }
       .lab-atn-panel-inner { padding: 26px; }
       .lab-atn-panel-text h3 { font-size: 1.4rem; }
   }
   
   /* Respecte les utilisateurs qui préfèrent moins d'animations */
   @media (prefers-reduced-motion: reduce) {
       .lab-atn-word-dotted,
       .lab-atn-dotbg,
       .lab-atn-corner,
       .lab-atn-tagline,
       .lab-atn-tag,
       .lab-atn-word-plain,
       .lab-atn-sub,
       .lab-atn-panel.lab-atn-panel-active {
           transition: none !important;
           animation: none !important;
           opacity: 1 !important;
           transform: none !important;
           width: 100% !important;
       }
   }
   