/* Home placersonargentetranger.com, 24/10/2026 (passe 3) : l'ordre de virement sur une photo nette de carte bancaire.
   Charte : uniquement les variables de da.css (couleurs, polices, rayons, boutons). Header, footer et bloc
   avant footer sont réalignés ici sur la même colonne (1180 px) et les mêmes boutons arrondis que le hero. */
html{overflow-x:clip}body{overflow-x:clip}
html:has([data-tn-home]){scroll-behavior:auto!important}
.tn-home-shell{position:relative}
.tn-home{--tn-l:1180px;--tn-air:clamp(4.5rem,8vw,7.5rem);--tn-ombre:0 30px 60px -34px color-mix(in srgb,var(--c-ombre) 45%,transparent);--tn-ombre-s:0 14px 30px -20px color-mix(in srgb,var(--c-ombre) 40%,transparent);font-family:var(--f-texte);color:var(--c-texte);background:var(--c-fond)}
.tn-home *{box-sizing:border-box}
.tn-home h1,.tn-home h2,.tn-home h3{font-family:var(--f-titre);color:var(--c-texte);margin:0}
.tn-home p{margin:0}
.tn-home svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.tn-home img{display:block;max-width:100%;max-height:none}
.tn-home a{color:inherit}
.tn-home ol,.tn-home ul{list-style:none;margin:0;padding:0}
@media(max-width:700px){[data-bandeau],.announcement-bar{display:none!important}}

/* ---------- header : même colonne que la home, menu lisible, bouton arrondi à droite ---------- */
html body .site-header .header-inner{width:min(calc(100% - 2.5rem),1180px)!important;max-width:none!important;margin:0 auto!important;padding:0!important;display:flex!important;justify-content:space-between!important;gap:2rem!important}
/* la déclinaison réduit le menu (zoom 0,72 : liens à 10 px) ; la home le remet à taille réelle */
@media(min-width:1024px){
  .site-header nav.header-inner:not(#tn-a):not(#tn-b){zoom:1!important}
  .site-header nav.header-inner:not(#tn-a):not(#tn-b) [data-usine='logo']{zoom:1!important}
}
@media(min-width:1051px) and (max-width:1240px){html body .site-header .desktop-nav{gap:1.1rem!important}html body .site-header .header-group{gap:2rem!important}}
html body .site-header .desktop-nav a{white-space:nowrap!important}
html body .site-header .header-group{display:flex!important;align-items:center!important;gap:2.6rem!important;flex:0 1 auto!important;min-width:0}
html body .site-header .desktop-nav{gap:1.7rem!important}
html body .site-header .desktop-nav a{font:600 .94rem/1.2 var(--f-texte)!important;color:var(--c-texte)!important;text-decoration:none;padding:.4rem 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
html body .site-header .desktop-nav a:hover{color:var(--c-primaire-texte)!important;border-bottom-color:var(--c-primaire)}
html body .site-header .header-actions{margin-left:auto!important;display:flex;align-items:center}
html body .site-header .archive-button{border-radius:var(--r-bouton)!important;padding:0 1.35rem!important;min-height:44px;background:var(--btn-fond)!important;color:var(--btn-texte)!important;border:var(--btn-bord)!important;box-shadow:none!important;font:700 .94rem/1 var(--f-texte)!important;transition:transform .2s,box-shadow .2s}
html body .site-header .archive-button:hover{transform:translateY(-1px);box-shadow:var(--o-survol)!important}
html body .site-header #menu-button{border-radius:var(--r-bouton)!important;border-color:var(--c-bord)!important}

/* ---------- footer : police du site, bouton arrondi identique au hero ---------- */
html body .site-footer{font-family:var(--f-texte)!important;padding-left:max(1.25rem,calc((100vw - 1180px)/2))!important;padding-right:max(1.25rem,calc((100vw - 1180px)/2))!important}
html body .site-footer h2{font-family:var(--f-titre)!important;font-weight:var(--f-graisse-titre);letter-spacing:.01em}
html body .site-footer .footer-links a{opacity:.86;transition:opacity .2s,color .2s}
html body .site-footer .footer-links a:hover{opacity:1;color:var(--c-primaire)}
html body .site-footer .footer-cta{display:inline-flex!important;align-items:center;gap:.6rem;min-height:52px;padding:0 1.6rem!important;border-radius:var(--r-bouton)!important;background:var(--btn-fond)!important;color:var(--btn-texte)!important;border:var(--btn-bord)!important;box-shadow:none!important;font:700 1rem/1 var(--f-texte)!important;white-space:nowrap;transition:transform .2s}
html body .site-footer .footer-cta::after{content:"→";font-weight:700}
html body .site-footer .footer-cta:hover{transform:translateY(-2px)}

/* ---------- grammaire commune ---------- */
.tn-col{width:min(calc(100% - 2.5rem),var(--tn-l));margin:0 auto}
.tn-sec{padding:var(--tn-air) 0;position:relative}
.tn-fond{background:var(--c-fond-2)}
.tn-pastille{display:inline-flex;align-items:center;gap:.55rem;padding:.45rem .95rem .45rem .6rem;border:1px solid var(--c-bord);border-radius:var(--r-bouton);background:var(--c-surface);font:700 .74rem/1.2 var(--f-texte);letter-spacing:.12em;text-transform:var(--f-casse-kicker);color:var(--c-primaire-texte)}
.tn-pastille span{width:.62rem;height:.62rem;border-radius:50%;background:var(--c-primaire);box-shadow:0 0 0 4px var(--c-doux)}
.tn-tete{max-width:780px;margin:0 auto clamp(2.6rem,4.5vw,3.6rem);text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.1rem}
.tn-tete h2{font-weight:var(--f-graisse-titre);font-size:clamp(2rem,3.5vw,3rem);line-height:1.07;letter-spacing:-.03em;text-wrap:balance}
.tn-home h1 em,.tn-tete h2 em{font-style:normal;color:var(--c-primaire-texte)}
.tn-tete-chapeau{font-size:clamp(1rem,1.3vw,1.12rem);line-height:1.6;color:var(--c-texte-2);max-width:640px}
.tn-lien-texte{color:var(--c-primaire-texte)!important;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.tn-carte{background:var(--c-surface);border:1px solid var(--c-bord);border-radius:var(--r-carte);box-shadow:var(--tn-ombre-s)}
.tn-mini{font:700 .74rem/1.2 var(--f-texte);letter-spacing:.12em;text-transform:uppercase;color:var(--c-primaire-texte)}
.tn-lien{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;font-size:.95rem;color:var(--c-primaire-texte)!important;text-decoration:none;line-height:1.35}
.tn-lien svg{transition:transform .25s}
.tn-lien:hover svg{transform:translateX(4px)}
.tn-pied{text-align:center;margin-top:2.4rem}
.tn-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:54px;padding:0 1.65rem;border-radius:var(--r-bouton);font:700 1.02rem/1 var(--f-texte);text-decoration:none;white-space:nowrap;transition:transform .2s,box-shadow .2s,background .2s}
.tn-btn-plein{background:var(--btn-fond);color:var(--btn-texte)!important;border:var(--btn-bord)}
.tn-btn-plein:hover{transform:translateY(-2px);box-shadow:var(--o-survol)}
.tn-btn-trait{background:var(--c-surface);color:var(--c-texte)!important;border:2px solid var(--c-primaire)}
.tn-btn-trait:hover{background:var(--c-doux)}
.tn-btn svg{transition:transform .25s}.tn-btn:hover svg{transform:translateX(4px)}
.tn-actions{display:flex;flex-wrap:wrap;gap:.9rem}
.tn-liste{display:grid;gap:.6rem}
.tn-liste li{display:flex;gap:.6rem;align-items:flex-start;line-height:1.45;font-size:.95rem}
.tn-liste svg{color:var(--c-primaire);margin-top:.2rem}
.tn-oui-non{display:flex;gap:.5rem}
.tn-oui-non button{min-height:40px;min-width:76px;padding:0 1rem;border-radius:var(--r-bouton);border:1.5px solid var(--c-bord);background:var(--c-surface);font:700 .9rem var(--f-texte);color:var(--c-texte);cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.tn-oui-non button:hover{border-color:var(--c-primaire)}
.tn-oui-non button[aria-pressed="true"]{background:var(--c-texte);border-color:var(--c-texte);color:var(--c-surface)}
.tn-coche>i{width:1.7rem;height:1.7rem;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--c-primaire);color:var(--c-surface);transition:background .3s,transform .3s}
.tn-coche>i svg{width:.95rem;height:.95rem;stroke-width:3}
html.tn-js .tn-coche:not(.tn-fait)>i{background:var(--c-doux);color:transparent;transform:scale(.85)}

/* sombre : une tranche foncée, la même que le footer */
.tn-sombre{background:var(--c-voile);color:var(--c-sur-voile)}
.tn-sombre .tn-tete h2{color:var(--c-sur-voile)}
.tn-sombre .tn-tete h2 em{color:var(--c-primaire)}
.tn-sombre .tn-tete-chapeau{color:color-mix(in srgb,var(--c-sur-voile) 72%,transparent)}
.tn-sombre .tn-pastille{background:color-mix(in srgb,var(--c-sur-voile) 8%,transparent);border-color:color-mix(in srgb,var(--c-sur-voile) 18%,transparent);color:var(--c-sur-voile)}
.tn-sombre .tn-pastille span{box-shadow:0 0 0 4px color-mix(in srgb,var(--c-primaire) 30%,transparent)}

/* ---------- HERO ---------- */
.tn-hero{position:relative;padding:clamp(3rem,6.5vw,5.6rem) 0 clamp(3.5rem,7vw,6rem);background:var(--c-fond);overflow:hidden}
.tn-hero::before{content:"";position:absolute;right:0;top:0;bottom:0;width:38%;background:var(--c-fond-2);border-bottom-left-radius:48px}
.tn-hero-grille{position:relative;width:min(calc(100% - 2.5rem),1180px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:clamp(2rem,4vw,3.6rem);align-items:center}
.tn-hero-texte{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem}
.tn-hero h1{font-family:var(--f-titre);font-weight:var(--f-graisse-titre);font-size:clamp(2.45rem,5.2vw,4.5rem);line-height:1.02;letter-spacing:-.04em;text-wrap:balance;max-width:12ch}
.tn-hero h1 em{position:relative;white-space:nowrap}
.tn-hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:-.04em;height:.11em;border-radius:99px;background:var(--c-primaire);transform-origin:left;transform:scaleX(var(--tn-trait,1))}
.tn-chapeau{font-size:clamp(1.02rem,1.35vw,1.17rem);line-height:1.62;color:var(--c-texte-2);max-width:34rem}
.tn-chiffres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:100%;max-width:34rem;margin-top:1.2rem;padding-top:1.5rem;border-top:1px solid var(--c-bord)}
.tn-chiffres li{display:flex;flex-direction:column;gap:.35rem;padding-right:1rem}
.tn-chiffres li+li{padding-left:1.2rem;border-left:1px solid var(--c-bord)}
.tn-chiffres strong{font:var(--f-graisse-titre) clamp(1.8rem,2.6vw,2.4rem)/1 var(--f-titre);color:var(--c-primaire-texte);letter-spacing:-.03em}
.tn-chiffres span{font-size:.88rem;line-height:1.4;color:var(--c-texte-2)}

/* scène : la photo à gauche, l'ordre de virement posé sur son bord droit (la carte reste entière) */
.tn-scene{position:relative;margin:0;min-width:0;padding:0 0 2.2rem}
.tn-scene-photo{position:relative;width:70%;aspect-ratio:4/5;border-radius:calc(var(--r-carte) + 6px);overflow:hidden;box-shadow:var(--tn-ombre)}
.tn-scene-photo img{width:100%;height:100%;object-fit:cover;object-position:30% 40%}
.tn-tampon{position:absolute;left:6%;top:5%;display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .95rem;border:2px solid var(--c-secondaire-texte);border-radius:var(--r-bouton);background:color-mix(in srgb,var(--c-surface) 92%,transparent);color:var(--c-secondaire-texte);font:800 .74rem/1 var(--f-texte);letter-spacing:.1em;text-transform:uppercase;transform:rotate(-6deg);box-shadow:var(--tn-ombre-s)}
.tn-bordereau{position:absolute;right:0;top:17%;width:min(345px,60%);padding:1.15rem 1.15rem 1.2rem;border-radius:var(--r-carte);background:var(--c-surface);border:1px solid var(--c-bord);box-shadow:var(--tn-ombre);display:flex;flex-direction:column;gap:.85rem;z-index:2}
.tn-bord-tete{display:flex;justify-content:space-between;align-items:center;gap:.6rem}
.tn-bord-tete span{white-space:nowrap;font:800 .72rem/1 var(--f-texte);letter-spacing:.14em;text-transform:uppercase;color:var(--c-texte)}
.tn-bord-tete b{white-space:nowrap;font:700 .74rem/1 var(--f-texte);padding:.42rem .7rem;border-radius:var(--r-bouton);background:var(--c-doux);color:var(--c-sur-doux);transition:background .3s,color .3s}
.tn-ordre.tn-pret .tn-bord-tete b{background:var(--c-primaire);color:var(--c-sur-primaire)}
.tn-bord-route{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.6rem;padding:.75rem .85rem;border-radius:12px;background:var(--c-fond-2)}
.tn-bord-route span{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.tn-bord-route small{font-size:.72rem;color:var(--c-texte-2)}
.tn-bord-route strong{font:700 .95rem/1.2 var(--f-titre);color:var(--c-texte)}
.tn-bord-vers{text-align:right}
.tn-bord-vers strong{color:var(--c-primaire-texte)}
.tn-bord-fl{color:var(--c-primaire);font-size:1.15rem}
.tn-bord-choix{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem}
.tn-bord-btn{position:relative;overflow:hidden;min-height:38px;border-radius:var(--r-bouton);border:1.5px solid var(--c-bord);background:var(--c-surface);font:800 .8rem var(--f-texte);letter-spacing:.06em;color:var(--c-texte);cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.tn-bord-btn i{position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--c-primaire)}
.tn-bord-btn[aria-selected="true"]{background:var(--c-texte);border-color:var(--c-texte);color:var(--c-surface)}
.tn-bord-fiche{margin-top:.3rem;display:none;flex-direction:column;gap:.7rem}
.tn-bord-fiche.tn-on{display:flex}
html:not(.tn-js) .tn-bord-fiche{display:flex}
html:not(.tn-js) .tn-bord-fiche+.tn-bord-fiche{display:none}
.tn-bord-placement{font:700 1.02rem/1.25 var(--f-titre);color:var(--c-texte)}
.tn-bord-fiche dl{margin:0;display:grid}
.tn-bord-fiche dl div{display:grid;grid-template-columns:5.2rem 1fr;gap:.6rem;padding:.5rem 0;border-top:1px solid var(--c-bord)}
.tn-bord-fiche dt{font:700 .78rem/1.35 var(--f-texte);color:var(--c-texte-2)}
.tn-bord-fiche dd{margin:0;font-size:.86rem;line-height:1.38;color:var(--c-texte)}
.tn-bord-chiffre{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.75rem .85rem;border-radius:12px;background:var(--c-doux);color:var(--c-sur-doux)!important;text-decoration:none;transition:background .2s}
.tn-bord-chiffre:hover{background:color-mix(in srgb,var(--c-primaire) 22%,var(--c-doux))}
.tn-bord-chiffre strong{font:var(--f-graisse-titre) 1.45rem/1 var(--f-titre);letter-spacing:-.02em;white-space:nowrap}
.tn-bord-chiffre span{font-size:.8rem;line-height:1.35}
html.tn-js .tn-bord-fiche.tn-on>*{animation:tn-monte .45s both}
html.tn-js .tn-bord-fiche.tn-on>*:nth-child(2){animation-delay:.06s}
html.tn-js .tn-bord-fiche.tn-on>*:nth-child(3){animation-delay:.12s}
@keyframes tn-monte{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ---------- TRAJET (tranche sombre) ---------- */
.tn-route{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem;padding-top:.4rem}
.tn-route-ligne{position:absolute;left:12.5%;right:12.5%;top:2.05rem;height:2px;background:color-mix(in srgb,var(--c-sur-voile) 16%,transparent);pointer-events:none}
.tn-route-ligne i{position:absolute;left:0;top:0;bottom:0;width:var(--tn-route,0%);background:var(--c-primaire);transition:width .9s cubic-bezier(.6,0,.2,1)}
html:not(.tn-js) .tn-route-ligne i{width:100%}
.tn-jeton{position:absolute;top:-2.9rem;left:var(--tn-route,0%);width:1.9rem;height:1.9rem;margin:0 0 0 -.95rem;border-radius:50%;display:grid;place-items:center;background:var(--c-primaire);color:var(--c-sur-primaire);font:800 .9rem/1 var(--f-titre);box-shadow:0 0 0 6px color-mix(in srgb,var(--c-primaire) 25%,transparent);transition:left .9s cubic-bezier(.6,0,.2,1);z-index:2}
html:not(.tn-js) .tn-jeton{display:none}
.tn-etape{position:relative;display:flex;flex-direction:column;gap:.95rem;padding:0 1.35rem 1.4rem;border-radius:var(--r-carte);background:color-mix(in srgb,var(--c-sur-voile) 5%,transparent);border:1px solid color-mix(in srgb,var(--c-sur-voile) 12%,transparent);transition:background .4s,border-color .4s,transform .4s}
.tn-etape-noeud{width:4.1rem;height:4.1rem;margin:-0.05rem auto .2rem;border-radius:50%;display:grid;place-items:center;background:var(--c-voile);border:2px solid color-mix(in srgb,var(--c-sur-voile) 22%,transparent);color:var(--c-sur-voile);font-size:1.45rem;position:relative;z-index:3;transition:background .4s,border-color .4s,color .4s}
.tn-etape-num{display:flex;align-items:center;gap:.55rem;font:800 .78rem/1 var(--f-texte);letter-spacing:.14em;text-transform:uppercase;color:var(--c-primaire)}
.tn-etape-num b{font-weight:800;color:color-mix(in srgb,var(--c-sur-voile) 55%,transparent)}
.tn-etape h3{font-size:1.24rem;line-height:1.2;font-weight:var(--f-graisse-titre);color:var(--c-sur-voile)!important;letter-spacing:-.01em}
.tn-etape-chiffre{display:flex;flex-direction:column;gap:.35rem;padding:.9rem 1rem;border-radius:12px;background:color-mix(in srgb,var(--c-sur-voile) 7%,transparent)}
.tn-etape-chiffre strong{font:var(--f-graisse-titre) 2rem/1 var(--f-titre);color:var(--c-sur-voile);letter-spacing:-.03em}
.tn-etape-chiffre p{font-size:.84rem;line-height:1.42;color:color-mix(in srgb,var(--c-sur-voile) 72%,transparent)}
.tn-etape .tn-liste li{font-size:.9rem;color:color-mix(in srgb,var(--c-sur-voile) 86%,transparent)}
.tn-etape-liens{margin-top:auto;display:grid;gap:.55rem;padding-top:.9rem;border-top:1px solid color-mix(in srgb,var(--c-sur-voile) 12%,transparent)}
.tn-etape-liens a{display:flex;justify-content:space-between;gap:.6rem;font-size:.86rem;font-weight:600;line-height:1.35;color:var(--c-sur-voile)!important;text-decoration:none;opacity:.82;transition:opacity .2s,color .2s}
.tn-etape-liens a svg{margin-top:.15rem;color:var(--c-primaire)}
.tn-etape-liens a:hover{opacity:1;color:var(--c-primaire)!important}
.tn-etape.tn-actif{background:color-mix(in srgb,var(--c-sur-voile) 9%,transparent);border-color:color-mix(in srgb,var(--c-primaire) 65%,transparent);transform:translateY(-4px)}
.tn-etape.tn-actif .tn-etape-noeud,.tn-etape.tn-passe .tn-etape-noeud{background:var(--c-primaire);border-color:var(--c-primaire);color:var(--c-sur-primaire)}
html:not(.tn-js) .tn-etape .tn-etape-noeud{background:var(--c-primaire);color:var(--c-sur-primaire)}

/* ---------- ENVELOPPES ---------- */
.tn-env{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:1.4rem;align-items:stretch}
.tn-env-q{padding:1.6rem;display:flex;flex-direction:column;gap:1.2rem}
.tn-env-q fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}
.tn-env-q legend{display:flex;gap:.6rem;font:700 1rem/1.4 var(--f-titre);color:var(--c-texte);padding:0;margin-bottom:.7rem}
.tn-env-q legend b{color:var(--c-primaire-texte);font-size:.82rem;padding-top:.15rem}
.tn-env-verdict{padding:.85rem 1rem;border-radius:12px;background:var(--c-fond-2);font-size:.92rem;line-height:1.45;color:var(--c-texte);min-height:3.6rem}
.tn-env-q .tn-lien{margin-top:auto}
.tn-env-table{display:grid;grid-template-rows:auto 1fr 1fr auto;overflow:hidden}
.tn-env-ligne{display:grid;grid-template-columns:minmax(0,.8fr) repeat(3,minmax(0,1fr))}
.tn-env-ligne>span{padding:1.15rem 1.15rem;font-size:.93rem;line-height:1.5;color:var(--c-texte);border-top:1px solid var(--c-bord);transition:background .35s,color .35s}
.tn-env-ligne>span[role="rowheader"]{font:700 .78rem/1.4 var(--f-texte);letter-spacing:.08em;text-transform:uppercase;color:var(--c-texte-2)}
.tn-env-entete>span{border-top:0;padding-top:1.3rem;padding-bottom:1.1rem}
.tn-env-nom{display:flex;flex-direction:column;gap:.4rem;font:var(--f-graisse-titre) 1.25rem/1.1 var(--f-titre)!important;color:var(--c-texte)}
.tn-env-nom em{font:700 .66rem/1 var(--f-texte);font-style:normal;letter-spacing:.1em;text-transform:uppercase;align-self:flex-start;padding:.35rem .55rem;border-radius:var(--r-bouton);background:var(--c-secondaire);color:var(--c-sur-secondaire);opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s}
.tn-env-rep>span{background:var(--c-fond-2)}
.tn-env-rep b{display:inline-block;white-space:nowrap;padding:.35rem .7rem;border-radius:var(--r-bouton);background:var(--c-surface);border:1px solid var(--c-bord);font:700 .8rem/1 var(--f-texte);color:var(--c-texte)}
.tn-env-table .tn-env-rep .tn-allume b{background:var(--c-secondaire);border-color:var(--c-secondaire);color:var(--c-sur-secondaire)}
.tn-env-table [data-tn-env-col].tn-allume{background:color-mix(in srgb,var(--c-secondaire) 9%,var(--c-surface))}
.tn-env-table .tn-allume em{opacity:1;transform:none}
.tn-env-table.tn-choisi [data-tn-env-col]:not(.tn-allume){color:var(--c-texte-2)}

/* ---------- IMPÔT ---------- */
.tn-imp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem;align-items:stretch}
.tn-imp-meth,.tn-vf-bloc{padding:1.6rem;display:flex;flex-direction:column;gap:1.2rem}
.tn-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:.3rem;padding:.3rem;border-radius:var(--r-bouton);background:var(--c-fond-2)}
.tn-seg button{min-height:42px;border:0;border-radius:var(--r-bouton);background:transparent;font:700 .9rem var(--f-texte);color:var(--c-texte-2);cursor:pointer;transition:background .25s,color .25s,box-shadow .25s}
.tn-seg button[aria-selected="true"]{background:var(--c-surface);color:var(--c-texte);box-shadow:var(--tn-ombre-s)}
.tn-imp-panneau{display:none;flex-direction:column;gap:1rem}
.tn-imp-panneau.tn-on{display:flex}
html:not(.tn-js) .tn-imp-panneau{display:flex}
.tn-flux{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.6rem}
.tn-flux>span:not(.tn-flux-fl){display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem .6rem;border-radius:14px;background:var(--c-fond-2);text-align:center}
.tn-flux>span>svg{font-size:1.5rem;color:var(--c-primaire-texte);margin-bottom:.2rem}
.tn-flux b{font:700 .95rem/1.2 var(--f-titre);color:var(--c-texte)}
.tn-flux small{font-size:.8rem;color:var(--c-texte-2)}
.tn-flux-fl{position:relative;width:3.2rem;height:2px;background:var(--c-bord);display:block}
.tn-flux-fl i{position:absolute;left:0;top:0;bottom:0;width:100%;background:var(--c-primaire);transform-origin:left}
.tn-flux-fl svg{position:absolute;right:-.45rem;top:-.5rem;color:var(--c-primaire)}
html.tn-js .tn-imp-panneau.tn-on .tn-flux-fl i{animation:tn-trait 1.1s ease-out both}
@keyframes tn-trait{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.tn-flux-fr{border:2px solid var(--c-primaire)}
.tn-flux-hors{border:2px dashed var(--c-bord)!important;opacity:.85}
.tn-imp-fr,.tn-imp-vig{display:flex;flex-direction:column;gap:.3rem;font-size:.95rem;line-height:1.55;color:var(--c-texte)}
.tn-imp-fr small,.tn-imp-vig small{font:700 .72rem/1.2 var(--f-texte);letter-spacing:.1em;text-transform:uppercase;color:var(--c-primaire-texte)}
.tn-imp-vig{padding:.85rem 1rem;border-left:3px solid var(--c-secondaire);background:color-mix(in srgb,var(--c-secondaire) 6%,var(--c-surface));border-radius:0 12px 12px 0}
.tn-imp-vig small{color:var(--c-secondaire-texte)}
.tn-imp-meth .tn-lien,.tn-vf-bloc .tn-lien{margin-top:auto}
.tn-vf-bloc .tn-mini span{color:var(--c-texte)}
.tn-vf-liste{display:grid;gap:.8rem}
.tn-vf{display:grid;grid-template-columns:auto 1fr auto;gap:.7rem .8rem;align-items:center;padding:1rem 1.1rem;border-radius:14px;background:var(--c-fond-2)}
.tn-vf-q{font-size:.95rem;line-height:1.45;color:var(--c-texte);font-weight:600}
.tn-vf-n{color:var(--c-primaire-texte);font-size:.8rem;align-self:start;padding-top:.2rem}
.tn-vf .tn-oui-non button{min-width:64px;min-height:36px;font-size:.85rem}
.tn-vf-r{grid-column:1/-1;font-size:.88rem;line-height:1.45;color:var(--c-texte-2)}
html.tn-js .tn-vf:not(.tn-repondu) .tn-vf-r{display:none}
.tn-vf.tn-juste{background:color-mix(in srgb,var(--c-primaire) 12%,var(--c-surface))}
.tn-vf.tn-rate{background:color-mix(in srgb,var(--c-secondaire) 9%,var(--c-surface))}
.tn-vf-r strong{color:var(--c-texte)}

/* ---------- DÉCLARATION ---------- */
.tn-decl{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:1.4rem;align-items:stretch}
.tn-decl-photo{position:relative;margin:0;border-radius:var(--r-carte);overflow:hidden;box-shadow:var(--tn-ombre-s);max-height:480px;height:100%}
.tn-decl-photo img{width:100%;height:100%;max-height:480px;object-fit:cover;object-position:60% 40%}
.tn-decl-photo figcaption,.tn-fin-photo figcaption{position:absolute;left:1rem;bottom:1rem;padding:.6rem 1rem;border-radius:var(--r-bouton);background:var(--c-surface);font:700 .88rem/1 var(--f-texte);color:var(--c-texte);box-shadow:var(--tn-ombre-s)}
.tn-decl-photo figcaption span,.tn-fin-photo figcaption span{color:var(--c-primaire-texte)}
.tn-fiche{padding:1.05rem 1.6rem;display:flex;flex-direction:column;gap:.6rem}
.tn-fiche-tete{display:flex;justify-content:space-between;align-items:center;gap:1rem;font:800 1.15rem/1.2 var(--f-titre);color:var(--c-texte)}
.tn-fiche-tete b{font:var(--f-graisse-titre) 1.6rem/1 var(--f-titre);color:var(--c-primaire-texte)}
.tn-jauge{display:block;height:6px;border-radius:99px;background:var(--c-fond-2);overflow:hidden}
.tn-jauge i{display:block;height:100%;width:100%;background:var(--c-primaire);border-radius:99px;transition:width .5s}
.tn-fiche-champs{display:grid}
.tn-fiche .tn-coche{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:.5rem .4rem;border-top:1px solid var(--c-bord)}
.tn-champ-txt{display:flex;flex-direction:column;gap:.15rem}
.tn-champ-nom{font:700 .98rem/1.3 var(--f-titre);color:var(--c-texte)}
.tn-champ-ou{font-size:.84rem;color:var(--c-texte-2)}
.tn-fiche .tn-coche>b{font:700 .78rem/1 var(--f-texte);color:var(--c-texte-2)}
.tn-fiche .tn-coche.tn-courant{background:linear-gradient(90deg,var(--c-doux),transparent 80%);border-radius:10px}
.tn-fiche .tn-lien{margin-top:auto}
.tn-situ{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem;margin-top:1.4rem}
.tn-situ-cas{padding:1.2rem 1.25rem;display:flex;flex-direction:column;gap:.5rem}
.tn-situ-cas b{font:800 .78rem/1 var(--f-texte);color:var(--c-primaire-texte)}
.tn-situ-cas h3{font:700 1rem/1.3 var(--f-titre)!important}
.tn-situ-cas p{font-size:.88rem;line-height:1.45;color:var(--c-texte-2)}

/* ---------- IMMOBILIER ---------- */
.tn-immo-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}
.tn-pays{overflow:hidden;display:flex;flex-direction:column}
.tn-pays figure{position:relative;margin:0;aspect-ratio:16/10;overflow:hidden}
.tn-pays figure img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.tn-pays:hover figure img{transform:scale(1.04)}
.tn-pays figcaption{position:absolute;left:1rem;top:1rem;display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .85rem .45rem .45rem;border-radius:var(--r-bouton);background:var(--c-surface);font:700 .9rem/1 var(--f-texte)}
.tn-pays figcaption b{display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--c-texte);color:var(--c-surface);font-size:.7rem;letter-spacing:.05em}
.tn-pays-corps{padding:1.5rem 1.6rem 1.6rem;display:flex;flex-direction:column;gap:1.1rem;flex:1}
.tn-pays-grand{display:flex;align-items:flex-end;gap:.9rem}
.tn-pays-grand strong{font:var(--f-graisse-titre) clamp(3rem,5vw,4rem)/.9 var(--f-titre);color:var(--c-primaire-texte);letter-spacing:-.04em}
.tn-pays-grand span{font-size:.95rem;line-height:1.4;color:var(--c-texte);padding-bottom:.2rem}
.tn-pays-reperes{display:grid;grid-template-columns:1fr;gap:.6rem}
.tn-pays-reperes>div{display:flex;flex-direction:row;align-items:baseline;gap:.3rem;padding:.85rem 1rem;border-radius:12px;background:var(--c-fond-2);font-size:.86rem;line-height:1.42;color:var(--c-texte-2)}
.tn-pays-reperes b{font:800 1.1rem/1.1 var(--f-titre);color:var(--c-texte);flex:0 0 6.2rem}
.tn-pays .tn-lien{margin-top:auto}

/* ---------- SOMMAIRE ---------- */
.tn-filtres{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1.8rem}
.tn-filtre{display:inline-flex;align-items:center;gap:.5rem;min-height:42px;padding:0 1.05rem;border-radius:var(--r-bouton);border:1.5px solid var(--c-bord);background:var(--c-surface);font:700 .9rem var(--f-texte);text-decoration:none;color:var(--c-texte)!important;transition:background .2s,border-color .2s,color .2s}
.tn-filtre b{display:grid;place-items:center;min-width:1.5rem;height:1.5rem;padding:0 .35rem;border-radius:99px;background:var(--c-fond-2);font-size:.75rem}
.tn-filtre:hover{border-color:var(--c-primaire)}
.tn-filtre.tn-on{background:var(--c-texte);border-color:var(--c-texte);color:var(--c-surface)!important}
.tn-filtre.tn-on b{background:var(--c-primaire);color:var(--c-sur-primaire)}
.tn-registre{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1.4rem}
.tn-registre li{transition:opacity .3s}
.tn-registre li.tn-cache{display:none}
.tn-registre a{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;height:100%;padding:1rem 1.15rem;border-radius:14px;border:1px solid var(--c-bord);background:var(--c-surface);text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s}
.tn-registre a:hover{border-color:var(--c-primaire);transform:translateY(-2px);box-shadow:var(--tn-ombre-s)}
.tn-reg-n{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--c-doux);font:800 .82rem/1 var(--f-texte);color:var(--c-sur-doux)}
.tn-reg-txt{display:flex;flex-direction:column;gap:.25rem;min-width:0}
.tn-reg-titre{font:700 1rem/1.3 var(--f-titre);color:var(--c-texte)}
.tn-reg-sous{font-size:.82rem;color:var(--c-texte-2)}
.tn-reg-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;font-size:.78rem;color:var(--c-texte-2);white-space:nowrap}
.tn-reg-meta b{font:800 .95rem/1 var(--f-titre);color:var(--c-primaire-texte)}

/* ---------- RÉDACTION ---------- */
.tn-barre{display:flex;height:3.4rem;border-radius:var(--r-bouton);overflow:hidden;margin:0 auto 1.8rem;max-width:880px;background:var(--c-surface);border:1px solid var(--c-bord)}
.tn-barre-seg{flex:var(--n) 1 0;display:flex;align-items:center;justify-content:center;gap:.45rem;font-size:.86rem;color:var(--c-texte);border-left:2px solid var(--c-surface);transform-origin:left}
.tn-barre-seg b{font:800 1.05rem/1 var(--f-titre)}
.tn-barre-seg em{font-style:normal;font-weight:600}
.tn-seg-0{background:var(--c-primaire);color:var(--c-sur-primaire)}
.tn-seg-1{background:var(--c-doux)}
.tn-seg-2{background:color-mix(in srgb,var(--c-secondaire) 18%,var(--c-surface))}
.tn-seg-3{background:var(--c-fond-2)}
.tn-equipe{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.1rem}
.tn-membre a{display:flex;flex-direction:column;gap:.4rem;height:100%;padding:.8rem .8rem 1.15rem;text-decoration:none}
.tn-membre-photo{display:block;aspect-ratio:4/5;border-radius:12px;overflow:hidden;margin-bottom:.6rem;background:var(--c-fond-2)}
.tn-membre-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;transition:transform .6s}
.tn-membre a:hover img{transform:scale(1.04)}
.tn-membre strong{font:800 1.05rem/1.2 var(--f-titre);color:var(--c-texte);padding:0 .25rem}
.tn-membre-role{font-size:.85rem;line-height:1.4;color:var(--c-texte-2);padding:0 .25rem}
.tn-membre-terrain{margin-top:auto;display:flex;flex-direction:column;gap:.2rem;padding:.7rem .25rem 0;border-top:1px solid var(--c-bord);font:700 .86rem/1.35 var(--f-texte);color:var(--c-primaire-texte)}
.tn-membre-terrain small{font:700 .68rem/1 var(--f-texte);letter-spacing:.1em;text-transform:uppercase;color:var(--c-texte-2)}

/* ---------- FINAL ---------- */
.tn-fin{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:1.4rem;align-items:stretch}
.tn-fin-photo{position:relative;margin:0;border-radius:var(--r-carte);overflow:hidden;box-shadow:var(--tn-ombre-s);max-height:480px;height:100%}
.tn-fin-photo img{width:100%;height:100%;max-height:480px;object-fit:cover;object-position:50% 30%}
.tn-fin-corps{padding:1.5rem 1.7rem;display:flex;flex-direction:column;gap:1.4rem;justify-content:center}
.tn-fin-liste{display:grid;gap:.6rem}
.tn-fin-liste .tn-coche{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:.85rem 1.1rem;border-radius:14px;background:var(--c-fond-2);transition:background .35s}
.tn-fin-liste .tn-coche.tn-fait{background:color-mix(in srgb,var(--c-primaire) 10%,var(--c-surface))}
.tn-fin-txt{display:flex;flex-direction:column;gap:.3rem}
.tn-fin-q{font:700 1.06rem/1.3 var(--f-titre);color:var(--c-texte)}
.tn-fin-liste a{font-size:.88rem;font-weight:600;color:var(--c-primaire-texte)!important;text-decoration:none}
.tn-fin-liste a:hover{text-decoration:underline}
.tn-fin-liste em{font:800 .78rem/1 var(--f-texte);font-style:normal;color:var(--c-texte-2)}

/* ---------- bloc avant footer : appel final dans la charte ---------- */
html body [data-avant-footer]{font-family:var(--f-texte)!important;background:var(--c-fond)!important;padding:0 0 clamp(3.5rem,6vw,5rem)!important;border:0!important;box-shadow:none!important;max-width:none!important;width:auto!important;margin:0!important;border-radius:0!important}
html body [data-avant-footer] .af-pad{width:min(calc(100% - 2.5rem),1180px)!important;max-width:none!important;margin:0 auto!important;padding:clamp(2rem,4vw,3.2rem)!important;border-radius:calc(var(--r-carte) + 8px)!important;border:0!important;background:var(--c-doux)!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;justify-items:center!important;gap:1.6rem!important;text-align:center!important;box-shadow:none!important}
html body [data-avant-footer] .af-pad>div{width:100%;max-width:720px}
html body [data-avant-footer] .af-heading{display:flex;flex-direction:column;align-items:center;gap:.8rem;text-align:center}
html body [data-avant-footer] .eyebrow{align-self:center;display:inline-flex;align-items:center;gap:.5rem;padding:.42rem .9rem;border-radius:var(--r-bouton);background:var(--c-surface);color:var(--c-primaire-texte)!important;font:700 .72rem/1.2 var(--f-texte)!important;letter-spacing:.12em;text-transform:uppercase}
html body [data-avant-footer] h2{font:var(--f-graisse-titre) clamp(1.7rem,3vw,2.4rem)/1.08 var(--f-titre)!important;letter-spacing:-.03em;color:var(--c-texte)!important;margin:0!important}
html body [data-avant-footer] .af-heading p{color:var(--c-texte-2)!important;font-size:1rem;line-height:1.55;margin:0}
html body [data-avant-footer] .search-fields{display:flex!important;gap:.5rem;padding:.4rem;border-radius:var(--r-bouton);background:var(--c-surface);border:1px solid var(--c-bord)}
html body [data-avant-footer] .af-search-input{flex:1;min-width:0;min-height:48px;border:0!important;border-radius:var(--r-bouton)!important;padding:0 1.1rem!important;background:transparent!important;font:500 1rem var(--f-texte)!important;color:var(--c-texte)!important;box-shadow:none!important}
html body [data-avant-footer] .af-button{min-height:48px;padding:0 1.4rem!important;border-radius:var(--r-bouton)!important;background:var(--btn-fond)!important;color:var(--btn-texte)!important;border:var(--btn-bord)!important;box-shadow:none!important;font:700 .98rem/1 var(--f-texte)!important;display:inline-flex;align-items:center;gap:.5rem}
html body [data-avant-footer] .tn-af-puces{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;margin-top:1rem}
html body [data-avant-footer] .tn-af-puces button{min-height:38px;padding:0 .95rem;border-radius:var(--r-bouton);border:1.5px solid var(--c-bord);background:var(--c-surface);font:700 .86rem var(--f-texte);color:var(--c-texte);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
html body [data-avant-footer] .tn-af-puces button:hover{border-color:var(--c-primaire)}
html body [data-avant-footer] .tn-af-puces button[aria-pressed="true"]{background:var(--c-texte);border-color:var(--c-texte);color:var(--c-surface)}
html body [data-avant-footer] .search-status{font-size:.86rem;color:var(--c-texte-2);margin:.8rem 0 0}
html body [data-avant-footer]:not(.tn-af-actif) .search-status,html body [data-avant-footer]:not(.tn-af-actif) .af-results{display:none!important}
html body [data-avant-footer] .af-results{display:grid;gap:.4rem;margin-top:.6rem}
html body [data-avant-footer] .search-result{text-align:left;display:flex!important;align-items:center;padding:.75rem 1rem!important;border-radius:12px!important;background:var(--c-surface)!important;border:1px solid var(--c-bord)!important;text-decoration:none;box-shadow:none!important}
html body [data-avant-footer] .search-result img{display:none!important}
html body [data-avant-footer] .search-result small{display:block;font:700 .7rem/1.2 var(--f-texte);letter-spacing:.1em;text-transform:uppercase;color:var(--c-primaire-texte)}
html body [data-avant-footer] .search-result h3{font:700 .98rem/1.3 var(--f-titre)!important;color:var(--c-texte)!important;margin:.2rem 0 0!important}

/* ---------- apparitions ---------- */
html.tn-js .tn-apparait{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
html.tn-js .tn-apparait.tn-vu{opacity:1;transform:none}

/* ---------- tablette ---------- */
@media(max-width:1080px){
  .tn-route{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2.2rem}
  .tn-route-ligne{display:none}
  .tn-equipe{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tn-situ{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tn-env{grid-template-columns:1fr}
}
@media(max-width:900px){
  .tn-hero::before{display:none}
  .tn-hero-grille{display:flex;flex-direction:column;align-items:stretch;gap:1.4rem}
  .tn-hero-texte{display:contents}
  .tn-h-pastille{order:1;align-self:flex-start}
  .tn-h-titre{order:2}
  .tn-h-chapeau{order:3}
  .tn-h-actions{order:4}
  .tn-h-scene{order:5}
  .tn-h-chiffres{order:6;max-width:none;margin-top:0}
  .tn-hero h1{max-width:none}
  .tn-scene{display:flex;flex-direction:column;gap:1rem;padding:0}
  .tn-bordereau{position:relative;top:auto;right:auto;width:100%;order:-1}
  .tn-scene-photo{width:100%;aspect-ratio:1/1}
  .tn-scene-photo img{object-position:30% 30%}
  .tn-imp,.tn-decl,.tn-fin,.tn-immo-duo{grid-template-columns:1fr}
  .tn-decl-photo img,.tn-fin-photo img{aspect-ratio:1/1;max-height:420px}
  .tn-registre{grid-template-columns:1fr}
}
/* ---------- mobile ---------- */
@media(max-width:700px){
  .tn-col,.tn-hero-grille{width:calc(100% - 2rem)}
  .tn-env-q,.tn-imp-meth,.tn-vf-bloc,.tn-fiche,.tn-fin-corps{padding:1.1rem 1rem}
  .tn-vf{padding:.9rem .85rem}
  .tn-pays-corps{padding:1.2rem 1rem 1.3rem}
  .tn-pays-reperes>div{flex-direction:column;gap:.2rem}
  .tn-pays-reperes b{flex:none}
  .tn-etape{padding:0 1.1rem 1.2rem}
  .tn-registre a{padding:.9rem .9rem;gap:.75rem}
  .tn-reg-n{width:2rem;height:2rem}
  .tn-hero{padding:1.6rem 0 3rem}
  .tn-hero h1{font-size:clamp(2.2rem,9.6vw,2.6rem)}
  .tn-chapeau{font-size:1rem;line-height:1.55}
  .tn-actions{flex-direction:column;align-items:stretch;gap:.65rem}
  .tn-btn{min-height:52px;width:100%}
  .tn-chiffres span{font-size:.8rem}
  .tn-chiffres li+li{padding-left:.8rem}
  .tn-bordereau{padding:1rem}
  .tn-route{grid-template-columns:1fr}
  .tn-etape-noeud{margin:1.2rem 0 0}
  .tn-env-table{overflow-x:auto}
  .tn-env-ligne{grid-template-columns:7rem repeat(3,minmax(9rem,1fr));min-width:36rem}
  .tn-flux{grid-template-columns:1fr}
  .tn-flux-fl{width:2px;height:1.6rem;margin:0 auto}
  .tn-flux-fl svg{display:none}
  .tn-vf{grid-template-columns:auto 1fr}
  .tn-vf .tn-oui-non{grid-column:1/-1}
  .tn-situ{grid-template-columns:1fr}
  .tn-pays-reperes{grid-template-columns:1fr}
  .tn-equipe{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tn-membre:last-child{grid-column:1/-1}
  .tn-membre:last-child a{display:grid;grid-template-columns:7rem 1fr;column-gap:1rem}
  .tn-membre:last-child .tn-membre-photo{grid-row:1/5;margin:0}
  .tn-barre-seg em{display:none}
  .tn-reg-meta span{display:none}
  .tn-fin-liste .tn-coche{grid-template-columns:auto 1fr}
  .tn-fin-liste em{display:none}
  html body [data-avant-footer] .af-pad{grid-template-columns:1fr!important}
  html body [data-avant-footer] .search-fields{flex-direction:column;border-radius:var(--r-carte)}
  html body [data-avant-footer] .af-button{justify-content:center}
  html body .site-footer .footer-cta{align-self:stretch;justify-content:center}
}

/* mouvement réduit : rendu statique complet */
@media(prefers-reduced-motion:reduce){
  .tn-home *,.tn-home *::before,.tn-home *::after{animation:none!important;transition:none!important}
  html.tn-js .tn-apparait{opacity:1;transform:none}
  html.tn-js .tn-coche:not(.tn-fait)>i{background:var(--c-primaire);color:var(--c-surface);transform:none}
  html.tn-js .tn-vf:not(.tn-repondu) .tn-vf-r{display:block}
}
