/* =========================================================================
   Modèle « Trajet » — taxis, VTC, chauffeurs privés
   Platine clair + encre bleu-nuit, accent « feu de toit » ambre.
   Titres Michroma (large, technique), texte Golos Text.
   Signatures : billet de trajet perforé, tableau des départs à volets, lignes de route.
   ========================================================================= */

:root{--wrap:1280px;--radius-btn:999px;--radius-input:10px;--field-bg:#fff;--mobilebar-bg:rgba(13,20,23,.96);--hdr:74px;--ease:cubic-bezier(.2,.7,.2,1)}
html{background:var(--bg);scroll-padding-top:calc(var(--hdr) + 24px)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.62 var(--font-body);-webkit-font-smoothing:antialiased}
a{color:inherit}
::selection{background:var(--accent);color:var(--accent-ink)}
:focus-visible{outline:3px solid var(--accent-text);outline-offset:3px;border-radius:4px}
h1,h2,h3{margin:0;font-family:var(--font-display);font-weight:400;line-height:1.12;letter-spacing:-.02em}
.skip-link{background:var(--ink);color:#fff}

/* Mots mis en avant (_mot_) : couleur d'accent + trait de route */
em{font-style:normal;color:var(--accent-text);background:linear-gradient(90deg,var(--accent) 0 60%,transparent 60% 100%) 0 100%/14px 3px repeat-x;padding-bottom:.08em}

.ico{width:1.2em;height:1.2em;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* Sur-titre avec « feu de toit » */
.tj-eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;font:600 .78rem/1.2 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
.tj-eyebrow__dot{position:relative;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent)}
.tj-eyebrow--dark{color:var(--on-dark-2)}

/* Boutons */
.btn{font-family:var(--font-body);font-weight:650;letter-spacing:.005em}
.btn .ico{width:1.1em;height:1.1em;transition:transform .3s var(--ease)}
.btn:hover .ico:last-child{transform:translateX(4px)}
.btn--primary:hover{background:color-mix(in srgb,var(--accent) 84%,#fff)}
.btn--line{background:transparent;border:1.5px solid var(--ink);color:var(--ink)}
.btn--line:hover{background:var(--ink);color:#fff}
.btn--onDark{background:transparent;border:1.5px solid rgba(255,255,255,.35);color:#fff}
.btn--onDark:hover{background:#fff;color:var(--dark)}
.btn--xl{min-height:58px;padding:.95em 1.7em;font-size:1.02rem}

/* Sections, titres */
.sec{position:relative;padding:clamp(76px,10vw,140px) 0}
.tj-sh{max-width:760px;margin-bottom:clamp(36px,5vw,64px)}
.tj-sh--split{display:grid;gap:18px 64px;max-width:none;align-items:end}
@media (min-width:900px){.tj-sh--split{grid-template-columns:1.25fr 1fr}}
.tj-sh__title{font-size:clamp(1.7rem,3.5vw,2.9rem)}
.tj-sh__text{margin-top:18px;max-width:540px;color:var(--muted);font-size:1.08rem}
.tj-sh--split .tj-sh__text{margin-top:0}
.tj-fine{margin-top:22px;font-size:.88rem;color:var(--muted)}
.tj-fine--dark{color:var(--on-dark-2)}
.tj-demo-note{margin-top:22px;padding:10px 14px;border-left:3px solid var(--accent);background:var(--surface);font-size:.88rem;color:var(--muted)}
.tag-example{display:inline-block;margin-top:14px;padding:3px 8px;border:1px solid var(--line);border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}

/* =========================================================================
   En-tête
   ========================================================================= */
.tj-top{background:var(--dark);color:var(--on-dark-2);font-size:.82rem}
.tj-top__in{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:36px}
.tj-top__msg{display:flex;align-items:center;gap:10px;color:var(--on-dark);font-weight:500}
.tj-top__lamp{width:18px;height:7px;border-radius:3px 3px 1px 1px;background:var(--accent-on-dark);box-shadow:0 0 12px color-mix(in srgb,var(--accent-on-dark) 70%,transparent)}
.tj-top__state span{opacity:.8}
@media (max-width:760px){.tj-top__state{display:none}.tj-top__in{justify-content:center;text-align:center}.tj-top__msg{font-size:.76rem}}

.tjh{position:sticky;top:0;z-index:600;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s,background-color .3s}
.has-demobar .tjh{top:48px}
.tjh.is-scrolled{border-bottom-color:var(--line);box-shadow:0 10px 30px rgba(13,20,23,.06)}
.nav-open .tjh{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg)}
.tjh__in{display:flex;align-items:center;gap:28px;min-height:var(--hdr)}
.tjh__logo{display:flex;align-items:center;gap:12px;margin-right:auto;text-decoration:none}
.tjh__mark{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--dark);color:#fff}
.tjh__roof{position:absolute;top:-5px;left:50%;width:20px;height:8px;margin-left:-10px;border-radius:4px 4px 1px 1px;background:var(--accent);transition:box-shadow .3s}
.tjh__logo:hover .tjh__roof{box-shadow:0 0 14px var(--accent)}
.tjh__car .ico{width:24px;height:24px;stroke-width:1.6}
.tjh__word{display:flex;flex-direction:column;font-family:var(--font-display);font-size:1.12rem;line-height:1;letter-spacing:.02em;text-transform:uppercase}
.tjh__sub{margin-top:6px;font:500 .72rem/1 var(--font-body);letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.tjh__logo-img{height:44px;width:auto}
.tjh__nav ul{display:flex;gap:2px}
.tjh__nav a{position:relative;display:block;padding:10px 13px;font-weight:550;font-size:.95rem;text-decoration:none;border-radius:999px;transition:background-color .25s}
.tjh__nav a:hover{background:var(--bg-2)}
.tjh__nav a[aria-current]{background:var(--dark);color:#fff}
.tjh__actions{display:flex;align-items:center;gap:12px}
.tjh__phone{display:flex;align-items:center;gap:10px;font-weight:650;text-decoration:none;white-space:nowrap}
.tjh__phone-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);transition:background-color .25s,border-color .25s}
.tjh__phone-ico .ico{width:18px;height:18px}
.tjh__phone:hover .tjh__phone-ico{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.tjh__burger{display:none;align-items:center;gap:10px;min-height:46px;padding:0 16px;border:1.5px solid var(--ink);border-radius:999px;background:transparent;font:650 .9rem var(--font-body);cursor:pointer}
.tjh__burger-lines{position:relative;width:18px;height:2px;background:currentColor;transition:background-color .2s}
.tjh__burger-lines::before,.tjh__burger-lines::after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor;transition:transform .3s var(--ease)}
.tjh__burger-lines::before{top:-6px}.tjh__burger-lines::after{top:6px}
[aria-expanded=true] .tjh__burger-lines{background:transparent}
[aria-expanded=true] .tjh__burger-lines::before{transform:translateY(6px) rotate(45deg)}
[aria-expanded=true] .tjh__burger-lines::after{transform:translateY(-6px) rotate(-45deg)}
.tjm{display:none}
@media (max-width:1240px){.tjh__phone-t{display:none}}
@media (max-width:1080px){
  .tjh__nav{display:none}
  .tjh__burger{display:inline-flex}
  .tjm{display:block;position:fixed;inset:0;z-index:-1;padding-top:calc(var(--hdr) + 12px);background:var(--bg);visibility:hidden;opacity:0;transform:translateY(-10px);transition:opacity .3s,transform .3s var(--ease),visibility 0s .3s;overflow:auto}
  .tjm.is-open{visibility:visible;opacity:1;transform:none;transition:opacity .3s,transform .3s var(--ease)}
  .has-demobar .tjm{padding-top:calc(var(--hdr) + 60px)}
  .tjm__in{padding-bottom:48px}
  .tjm__label{margin:10px 0 8px;font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
  .tjm__list{position:relative;margin:0;padding:0 0 0 4px}
  .tjm__list::before{content:"";position:absolute;left:14px;top:26px;bottom:26px;width:2px;background:repeating-linear-gradient(var(--ink) 0 8px,transparent 8px 14px)}
  .tjm__list a{display:flex;align-items:center;gap:20px;min-height:58px;padding:8px 0;font-family:var(--font-display);font-size:clamp(1.15rem,5.4vw,1.6rem);line-height:1.1;text-decoration:none}
  .tjm__stop{position:relative;z-index:1;width:22px;height:22px;flex:none;border-radius:50%;background:var(--bg);border:3px solid var(--ink)}
  .tjm__list a[aria-current] .tjm__stop{background:var(--accent);border-color:var(--ink)}
  .tjm__list a[aria-current]{color:var(--accent-text)}
  .tjm__foot{display:grid;gap:12px;margin-top:30px}
  .tjm__foot .btn{width:100%}
  body.nav-open{overflow:hidden}
  .nav-open .tj-top{display:none}
}
@media (max-width:600px){.tjh__cta{display:none}.tjh__in{gap:10px}.tjh__word{font-size:.98rem}.tjh__sub{display:none}.tjh__mark{width:42px;height:42px}}
@media (max-width:380px){.tjh__burger-t{display:none}.tjh__phone{display:none}}

.open-state{display:inline-flex;align-items:center;gap:8px;font-weight:650;font-size:.92rem}
.open-state>span:last-child{font-weight:450;color:var(--muted)}
.open-state__dot{width:9px;height:9px;border-radius:50%;background:#C2410C}
.open-state.is-open .open-state__dot{background:#16A34A;box-shadow:0 0 0 4px rgba(22,163,74,.18)}

/* =========================================================================
   Hero — titre large + billet de trajet
   ========================================================================= */
.tjhero{padding:clamp(40px,6vw,84px) 0 clamp(72px,9vw,128px);overflow:hidden}
.tjhero__road{position:absolute;inset:auto 0 0 0;width:100%;height:78%;pointer-events:none}
.tjhero__road-edge{fill:none;stroke:var(--bg-2);stroke-width:64;stroke-linecap:round}
.tjhero__road-dash{fill:none;stroke:var(--surface);stroke-width:3;stroke-dasharray:26 22;animation:tjroad 2.4s linear infinite}
@keyframes tjroad{to{stroke-dashoffset:-48}}
.tjhero__in{position:relative;display:grid;gap:56px;align-items:center}
@media (min-width:1024px){.tjhero__in{grid-template-columns:1.12fr .88fr;gap:64px}}
.tjhero__title{font-size:clamp(2.1rem,4.9vw,4.15rem);line-height:1.06}
.tjhero__title em{display:inline-block}
.tjhero__lead{max-width:560px;margin-top:26px;font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--ink-2)}
.tjhero__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.tjhero__facts{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:0;margin-top:46px;border-top:1px solid var(--line)}
.tjhero__facts div{padding:18px 28px 0 0;margin-right:28px;border-right:1px solid var(--line)}
.tjhero__facts div:last-child{border-right:0;margin-right:0}
.tjhero__facts div{display:flex;flex-direction:column}
.tjhero__facts dd{order:1;font-family:var(--font-display);font-size:clamp(1rem,1.6vw,1.3rem);line-height:1.1}
.tjhero__facts dt{order:2;margin-top:6px;font-size:.84rem;color:var(--muted)}
.tjhero__visual{position:relative;padding:0 0 120px}
.tjhero__photo{position:relative;margin:0 0 0 auto;width:min(100%,520px);aspect-ratio:4/5;border-radius:28px 28px 28px 120px;overflow:hidden;background:var(--dark)}
.tjhero__img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);animation:tjzoom 14s var(--ease) both}
@keyframes tjzoom{from{transform:scale(1.12)}to{transform:scale(1.02)}}
.tjhero__cap{position:absolute;right:16px;top:16px;padding:7px 12px;border-radius:999px;background:rgba(13,20,23,.72);color:#fff;font-size:.8rem;font-weight:500;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.tjt-wrap{position:absolute;left:0;bottom:0;width:min(400px,92%);filter:drop-shadow(0 24px 40px rgba(13,20,23,.22)) drop-shadow(0 2px 6px rgba(13,20,23,.12))}
.tjt{--cut:50px;background:var(--surface);border-radius:20px;overflow:hidden;
  -webkit-mask:radial-gradient(circle 11px at 0 var(--cut),#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% var(--cut),#0000 97%,#000) right/51% 100% no-repeat;
  mask:radial-gradient(circle 11px at 0 var(--cut),#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% var(--cut),#0000 97%,#000) right/51% 100% no-repeat}
.tjt__head{display:flex;justify-content:space-between;align-items:center;height:var(--cut);padding:0 22px;background:var(--dark);color:var(--on-dark);font:500 .7rem/1 var(--font-display);letter-spacing:.12em;text-transform:uppercase}
.tjt__head span:last-child{color:var(--accent-on-dark)}
.tjt__route{display:grid;grid-template-columns:1fr 70px 1fr;align-items:start;gap:10px;padding:20px 22px 16px;border-top:2px dashed var(--line)}
.tjt__pt{display:flex;flex-direction:column;min-width:0}
.tjt__pt--to{text-align:right}
.tjt__k{font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.tjt__time{margin-top:4px;font-family:var(--font-display);font-size:1.5rem;line-height:1.1}
.tjt__place{margin-top:4px;font-size:.88rem;font-weight:550;line-height:1.3}
.tjt__track{position:relative;height:56px}
.tjt__line{position:absolute;left:0;right:0;top:28px;height:2px;background:repeating-linear-gradient(90deg,var(--ink) 0 5px,transparent 5px 10px)}
.tjt__line::before,.tjt__line::after{content:"";position:absolute;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--ink)}
.tjt__line::before{left:-2px}.tjt__line::after{right:-2px;background:var(--accent);box-shadow:0 0 0 2px var(--ink)}
.tjt__car{position:absolute;top:13px;left:0;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--accent-ink);animation:tjdrive 4.5s var(--ease) infinite}
.tjt__car .ico{width:17px;height:17px}
@keyframes tjdrive{0%{left:0}55%,100%{left:calc(100% - 30px)}}
.tjt__meta{display:grid;grid-template-columns:repeat(3,1fr);margin:0 22px;border-top:1px solid var(--line)}
.tjt__meta div{padding:12px 0}
.tjt__meta div+div{padding-left:12px;border-left:1px solid var(--line)}
.tjt__meta dt{font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.tjt__meta dd{margin-top:2px;font-weight:650}
.tjt__note{padding:0 22px 4px;font-size:.76rem;color:var(--muted)}
.tjt__stub{margin-top:10px;padding:14px 22px 20px;background:var(--bg-2)}
.tjt__stub-t{margin-bottom:10px;font-size:.8rem;font-weight:600}
.tjt__chips{display:flex;flex-wrap:wrap;gap:6px}
.tjt__chips a{display:inline-flex;align-items:center;min-height:40px;padding:0 13px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:.86rem;font-weight:550;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s}
.tjt__chips a:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
@media (max-width:1023px){.tjhero__visual{max-width:560px;margin-inline:auto;width:100%}.tjhero__photo{margin-right:0}}
@media (max-width:600px){
  .tjhero__facts{grid-template-columns:1fr 1fr 1fr}
  .tjhero__facts div{padding:14px 10px 0 0;margin-right:10px}
  .tjhero__facts dt{font-size:.76rem;line-height:1.35}
  .tjhero__btns .btn{width:100%}
  .tjhero__visual{padding:0}
  .tjhero__photo{width:88%;border-radius:22px 22px 22px 80px}
  .tjt-wrap{position:relative;width:100%;margin-top:-120px}
  .tjt__route{grid-template-columns:1fr 46px 1fr;padding-inline:16px}
  .tjt__time{font-size:1.2rem}
  .tjt__meta{margin:0 16px}.tjt__head,.tjt__note,.tjt__stub{padding-inline:16px}
}

/* =========================================================================
   Engagements (bande)
   ========================================================================= */
.tjtr{padding:0 0 clamp(64px,8vw,104px)}
.tjtr__list{display:grid;gap:0;border:1px solid var(--line);border-radius:22px;background:var(--surface);overflow:hidden}
@media (min-width:700px){.tjtr__list{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.tjtr__list{grid-template-columns:repeat(4,1fr)}}
.tjtr__item{position:relative;padding:30px 26px 28px;border-bottom:1px solid var(--line)}
@media (min-width:700px){.tjtr__item{border-right:1px solid var(--line)}}
.tjtr__km{position:absolute;right:20px;top:22px;padding:4px 7px 3px;border-radius:4px;border-top:3px solid var(--accent);background:var(--bg);color:var(--ink);font:400 .62rem/1 var(--font-display);letter-spacing:.06em}
.tjtr__ico{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--bg);color:var(--ink)}
.tjtr__ico .ico{width:22px;height:22px}
.tjtr__t{margin-top:18px;font-weight:700;font-size:1.06rem}
.tjtr__p{margin-top:6px;color:var(--muted);font-size:.95rem}
.tjtr--large{padding:clamp(76px,10vw,140px) 0;background:var(--bg-2)}
.tjtr--large .tjtr__list{background:transparent;border:0;gap:16px;overflow:visible}
.tjtr--large .tjtr__item{border:0;border-radius:20px;background:var(--surface);padding:34px 28px}

/* =========================================================================
   Services (accueil)
   ========================================================================= */
.tjsv{padding-top:clamp(40px,6vw,80px)}
.tjsv__grid{display:grid;gap:40px;align-items:start}
@media (min-width:1024px){.tjsv__grid{grid-template-columns:1.35fr .65fr;gap:56px}}
.tjsv__list{border-top:1px solid var(--ink)}
.tjsv__row{border-bottom:1px solid var(--line)}
.tjsv__link{position:relative;display:grid;grid-template-columns:44px 52px 1fr auto 40px;align-items:center;gap:18px;padding:26px 12px 26px 0;text-decoration:none;transition:padding-left .35s var(--ease),background-color .3s}
.tjsv__link::before{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:4px;background:var(--accent);transform:scaleY(0);transition:transform .35s var(--ease)}
.tjsv__link:hover{padding-left:18px;background:var(--surface)}
.tjsv__link:hover::before{transform:none}
.tjsv__n{font-family:var(--font-display);font-size:.85rem;color:var(--muted)}
.tjsv__ico{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--dark);color:var(--accent-on-dark)}
.tjsv__ico .ico{width:24px;height:24px}
.tjsv__body{display:flex;flex-direction:column;gap:4px;min-width:0}
.tjsv__t{font-family:var(--font-display);font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.2}
.tjsv__p{color:var(--muted);font-size:.96rem}
.tjsv__price{display:flex;flex-direction:column;align-items:flex-end;font-weight:700;font-size:1.05rem;white-space:nowrap}
.tjsv__price small{font-size:.72rem;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
.tjsv__go{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line);transition:background-color .3s,border-color .3s,transform .3s var(--ease)}
.tjsv__link:hover .tjsv__go{background:var(--ink);border-color:var(--ink);color:#fff;transform:rotate(-30deg)}
.tjsv__fig{position:sticky;top:calc(var(--hdr) + 70px);margin:0;border-radius:24px;overflow:hidden;aspect-ratio:4/5;background:var(--dark)}
.tjsv__img{width:100%;height:100%;object-fit:cover}
.tjsv__fig figcaption{position:absolute;left:16px;bottom:16px;padding:8px 13px;border-radius:999px;background:var(--surface);font:400 .72rem/1.2 var(--font-display)}
@media (max-width:1023px){.tjsv__fig{position:relative;top:0;aspect-ratio:16/10}}
@media (max-width:700px){
  .tjsv__link{grid-template-columns:44px 1fr 32px;gap:14px;padding:20px 0}
  .tjsv__link:hover{padding-left:10px}
  .tjsv__n{display:none}
  .tjsv__ico{width:44px;height:44px;border-radius:12px}
  .tjsv__price{grid-column:2;grid-row:2;flex-direction:row;gap:6px;align-items:baseline;justify-self:start}
  .tjsv__go{grid-column:3;grid-row:1;width:32px;height:32px}
}

/* =========================================================================
   Tableau des départs (volets)
   ========================================================================= */
.tjb{background:var(--dark);color:var(--on-dark)}
.tjb .tj-sh__text{color:var(--on-dark-2)}
.tjb em,.tjv em,.tjf em{color:var(--accent-on-dark)}
.tjb__board{border:1px solid var(--dark-3);border-radius:22px;background:#070B0D;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.tjb__bar{display:flex;align-items:center;gap:18px;padding:16px 24px;border-bottom:1px solid var(--dark-3);font-family:var(--font-display);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
.tjb__bar-t{color:var(--accent-on-dark)}
.tjb__bar-c{color:var(--on-dark-2)}
.tjb__bar-l{display:flex;gap:6px;margin-left:auto}
.tjb__bar-l i{width:8px;height:8px;border-radius:50%;background:var(--dark-3)}
.tjb__bar-l i:first-child{background:#16A34A;animation:tjblink 2s infinite}
@keyframes tjblink{50%{opacity:.25}}
.tjb__table{width:100%;border-collapse:collapse;font-size:.95rem}
.tjb__table thead th{padding:12px 16px;font:600 .7rem/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-2);text-align:left;border-bottom:1px solid var(--dark-3)}
.tjb__table thead th:first-child{padding-left:24px}
.tjb__table tbody tr{border-bottom:1px solid #141D21;transition:background-color .25s}
.tjb__table tbody tr:last-child{border-bottom:0}
.tjb__table tbody tr:hover{background:#0E161A}
.tjb__table td,.tjb__table tbody th{padding:16px;text-align:left;vertical-align:middle;font-weight:400}
.tjb__code{padding-left:24px!important;font-family:var(--font-display);font-size:.78rem;color:var(--on-dark-2)}
.tjb__flaps{display:flex;flex-wrap:wrap;gap:4px 12px}
.tjb__w{display:inline-flex;gap:2px;white-space:nowrap}
.tjb__f{position:relative;display:inline-grid;place-items:center;width:1.32em;height:1.72em;border-radius:3px;background:linear-gradient(#1C262B 0 50%,#151E22 50% 100%);color:var(--accent-on-dark);font:400 .82rem/1 var(--font-display);box-shadow:inset 0 -1px 0 rgba(0,0,0,.5)}
.tjb__f::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#070B0D}
.tjb__lab{display:none}
.tjb__from{color:var(--on-dark-2)}
.tjb__dur{font-weight:550;white-space:nowrap}
.tjb__price{font-weight:700;font-size:1.12rem;white-space:nowrap;color:#fff;font-variant-numeric:tabular-nums}
.tjb__price small{font-family:var(--font-body);font-size:.8rem;color:var(--on-dark-2)}
.tjb__go{text-align:right!important;padding-right:24px!important}
.tjb__go a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid var(--dark-3);border-radius:999px;font-size:.86rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:background-color .25s,color .25s,border-color .25s}
.tjb__go a:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.tjb__foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:20px}
.tjb__foot .tj-fine{margin:0;max-width:640px}
.tjb__more{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:650;color:var(--accent-on-dark);text-decoration:none}
.tjb__more:hover .ico{transform:translateX(4px)}
.tjb__more .ico{transition:transform .3s var(--ease)}
.js .tjb__board.is-in .tjb__f{animation:tjflap .7s var(--ease) both}
@keyframes tjflap{0%{transform:perspective(200px) rotateX(-90deg);opacity:.2}60%{transform:perspective(200px) rotateX(12deg);opacity:1}100%{transform:none}}
.tjb__f:nth-child(1){animation-delay:35ms}.tjb__f:nth-child(2){animation-delay:70ms}.tjb__f:nth-child(3){animation-delay:105ms}.tjb__f:nth-child(4){animation-delay:140ms}.tjb__f:nth-child(5){animation-delay:175ms}.tjb__f:nth-child(6){animation-delay:210ms}.tjb__f:nth-child(7){animation-delay:245ms}.tjb__f:nth-child(8){animation-delay:280ms}.tjb__f:nth-child(9){animation-delay:315ms}.tjb__f:nth-child(10){animation-delay:350ms}.tjb__f:nth-child(11){animation-delay:385ms}.tjb__f:nth-child(12){animation-delay:420ms}.tjb__f:nth-child(13){animation-delay:455ms}.tjb__f:nth-child(14){animation-delay:490ms}.tjb__f:nth-child(15){animation-delay:525ms}.tjb__f:nth-child(16){animation-delay:560ms}.tjb__f:nth-child(17){animation-delay:595ms}.tjb__f:nth-child(18){animation-delay:630ms}.tjb__f:nth-child(19){animation-delay:665ms}.tjb__f:nth-child(20){animation-delay:700ms}
@media (max-width:860px){
  .tjb__table thead{display:none}
  .tjb__table,.tjb__table tbody{display:block}
  .tjb__table tbody tr{display:grid;grid-template-columns:auto 1fr auto;gap:6px 14px;padding:18px 16px;align-items:center}
  .tjb__table td,.tjb__table tbody th{padding:0!important}
  .tjb__dest{grid-column:1/4;grid-row:1;margin-bottom:6px}
  .tjb__code{display:none}
  .tjb__from{grid-column:1/3;grid-row:2;font-size:.88rem}
  .tjb__dur{grid-column:1/3;grid-row:3;font-size:.88rem}
  .tjb__price{grid-column:3;grid-row:2/4;text-align:right}
  .tjb__go{grid-column:1/4;grid-row:4;text-align:left!important;margin-top:8px}
  .tjb__go a{width:100%;justify-content:center}
  .tjb__lab{display:inline;margin-right:8px;font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-2)}
  .tjb__price .tjb__lab{display:none}
  .tjb__f{font-size:.72rem}
  .tjb__bar{padding:14px 16px}
}

/* =========================================================================
   Calcul du prix (fiches)
   ========================================================================= */
.tjru__grid{display:grid;gap:16px}
@media (min-width:900px){.tjru__grid{grid-template-columns:repeat(3,1fr)}}
.tjru__card{padding:30px 28px;border-radius:22px;background:var(--surface);border:1px solid var(--line)}
.tjru__card--hl{background:var(--dark);border-color:var(--dark);color:var(--on-dark)}
.tjru__t{display:flex;align-items:center;gap:12px;margin-bottom:18px;font-family:var(--font-display);font-size:1.02rem}
.tjru__t .ico{width:34px;height:34px;padding:7px;border-radius:50%;background:var(--accent);color:var(--accent-ink)}
.tjru__list li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px dashed var(--line)}
.tjru__card--hl .tjru__list li{border-top-color:var(--dark-3)}
.tjru__list strong{white-space:nowrap}

/* =========================================================================
   Étapes — ligne de route
   ========================================================================= */
.tjst{background:var(--surface)}
.tjst__line{position:relative;display:grid;gap:34px}
@media (min-width:900px){
  .tjst__line{grid-template-columns:repeat(4,1fr);gap:28px}
  .tjst__line::before{content:"";position:absolute;left:24px;right:0;top:23px;height:3px;background:repeating-linear-gradient(90deg,var(--ink) 0 14px,transparent 14px 24px)}
}
.tjst__stop{position:relative}
.tjst__dot{position:relative;z-index:1;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font:400 1rem/1 var(--font-display);box-shadow:0 0 0 6px var(--surface)}
.tjst__stop:last-child .tjst__dot{background:var(--dark);color:#fff}
.tjst__time{display:inline-block;margin-top:22px;padding:4px 9px;border-radius:6px;background:var(--bg);font:400 .7rem/1.2 var(--font-display);letter-spacing:.06em}
.tjst__t{margin-top:12px;font-weight:700;font-size:1.12rem}
.tjst__p{margin-top:6px;color:var(--muted);font-size:.97rem}
@media (max-width:899px){
  .tjst__line{padding-left:70px}
  .tjst__line::before{content:"";position:absolute;left:23px;top:10px;bottom:10px;width:3px;background:repeating-linear-gradient(var(--ink) 0 12px,transparent 12px 20px)}
  .tjst__dot{position:absolute;left:-70px;top:0}
  .tjst__time{margin-top:12px}
}

/* =========================================================================
   Véhicules (onglets)
   ========================================================================= */
.tjv{background:var(--dark-2);color:var(--on-dark)}
.tjv .tj-sh__text{color:var(--on-dark-2)}
.tjv__tablist{position:relative;display:inline-flex;gap:6px;padding:6px;margin-bottom:28px;border-radius:999px;background:var(--dark);border:1px solid var(--dark-3);max-width:100%;overflow-x:auto}
.tjv__tab{display:flex;flex-direction:column;align-items:flex-start;min-height:52px;padding:8px 22px;border:0;border-radius:999px;background:transparent;color:var(--on-dark-2);cursor:pointer;text-align:left;white-space:nowrap;transition:background-color .25s,color .25s}
.tjv__tab span{font-weight:650;font-size:.98rem}
.tjv__tab small{font-size:.76rem}
.tjv__tab:hover{color:#fff}
.tjv__tab[aria-selected=true]{background:var(--accent);color:var(--accent-ink)}
.tjv__panel{display:grid;gap:20px;animation:tjfade .5s var(--ease)}
@keyframes tjfade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (min-width:1000px){.tjv__panel{grid-template-columns:1.5fr 1fr;align-items:stretch}}
.tjv__fig{position:relative;margin:0;border-radius:24px;overflow:hidden;aspect-ratio:16/10;background:#000}
.tjv__img{width:100%;height:100%;object-fit:cover}
.tjv__tag{position:absolute;left:16px;top:16px;padding:7px 12px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:.8rem;font-weight:650}
.tjv__sheet{display:flex;flex-direction:column;padding:32px 30px;border-radius:24px;background:var(--dark-3);border:1px solid rgba(255,255,255,.06)}
.tjv__name{font-family:var(--font-display);font-size:1.45rem;line-height:1.15}
.tjv__text{margin-top:12px;color:var(--on-dark-2)}
.tjv__specs{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:26px;border-radius:14px;overflow:hidden;background:rgba(255,255,255,.08)}
.tjv__specs div{display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:var(--dark-2)}
.tjv__specs dt{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--on-dark-2)}
.tjv__specs dt .ico{color:var(--accent-on-dark);width:18px;height:18px}
.tjv__specs dd{font-family:var(--font-display);font-size:1.1rem}
.tjv__comfort{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:22px}
.tjv__comfort li{padding:6px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18);font-size:.84rem}
@media (prefers-reduced-motion:reduce){.tjv__panel{animation:none}}

/* =========================================================================
   Avis — talons de billets
   ========================================================================= */
.tjav{background:var(--bg-2);overflow:hidden}
.tjav__side{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px}
@media (min-width:900px){.tjav__side{justify-content:flex-end;gap:32px}}
.tjav__score{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.tjav__score strong{font-family:var(--font-display);font-size:1.6rem;font-weight:400}
.tjav__score>span:last-child{flex-basis:100%;font-size:.85rem;color:var(--muted)}
.tjav__stars{display:flex;color:#B07A00}
.tjav__stars .ico,.tjav__rating .ico{width:17px;height:17px;fill:currentColor;stroke:none}
.tjav__arrows{display:flex;gap:8px}
.tjav__arrow{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;border:1.5px solid var(--ink);background:transparent;cursor:pointer;transition:background-color .25s,color .25s}
.tjav__arrow:hover{background:var(--ink);color:#fff}
.tjav__arrow:first-child .ico{transform:rotate(180deg)}
.tjav__viewport{position:relative}
.tjav__list{position:relative;display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px max(20px,calc((100vw - var(--wrap)) / 2)) 24px;scroll-padding-inline:max(20px,calc((100vw - var(--wrap)) / 2));scrollbar-width:none}
.tjav__list::-webkit-scrollbar{display:none}
@media (min-width:768px){.tjav__list{padding-inline:max(32px,calc((100vw - var(--wrap)) / 2));scroll-padding-inline:max(32px,calc((100vw - var(--wrap)) / 2))}}
.tjav__item{position:relative;flex:0 0 min(400px,84vw);display:flex;flex-direction:column;padding:0 28px 26px;border-radius:22px;background:var(--surface);scroll-snap-align:start}
.tjav__trip{display:flex;align-items:center;gap:8px;margin:0 -28px 22px;padding:16px 28px;border-bottom:2px dashed var(--line);font:400 .74rem/1.3 var(--font-display);letter-spacing:.04em}
.tjav__trip .ico{color:var(--accent-text);width:16px;height:16px}
.tjav__rating{color:#B07A00}
.tjav__rating>span[aria-hidden]{display:flex;gap:2px}
.tjav__q{margin:12px 0 0;font-size:1.04rem;line-height:1.6}
.tjav__who{margin-top:auto;padding-top:20px;display:flex;flex-direction:column}
.tjav__who span{font-size:.88rem;color:var(--muted)}
.tjav__item .tag-example{align-self:flex-start}

/* =========================================================================
   FAQ
   ========================================================================= */
.tjfq__in{display:grid;gap:36px}
@media (min-width:1000px){.tjfq__in{grid-template-columns:.8fr 1.2fr;gap:72px}.tjfq__head{position:sticky;top:calc(var(--hdr) + 70px);align-self:start}}
.tjfq__call{margin-top:24px;font-weight:550}
.tjfq__call a{font-weight:700;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:4px}
.tjfq__list{border-top:1px solid var(--ink)}
.tjfq__item{border-bottom:1px solid var(--line)}
.tjfq__item summary{display:grid;grid-template-columns:40px 1fr 32px;align-items:center;gap:14px;min-height:72px;padding:16px 0;cursor:pointer;list-style:none}
.tjfq__item summary::-webkit-details-marker{display:none}
.tjfq__n{font:400 .78rem/1 var(--font-display);color:var(--muted)}
.tjfq__q{font-weight:650;font-size:1.08rem;line-height:1.35}
.tjfq__plus{position:relative;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--line);transition:background-color .25s,border-color .25s,transform .3s var(--ease)}
.tjfq__plus::before,.tjfq__plus::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;background:currentColor}
.tjfq__plus::after{transform:rotate(90deg);transition:transform .3s var(--ease)}
.tjfq__item[open] .tjfq__plus{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.tjfq__item[open] .tjfq__plus::after{transform:none}
.tjfq__item summary:hover .tjfq__q{color:var(--accent-text)}
.tjfq__a{padding:0 46px 24px 54px;color:var(--ink-2)}
.tjfq__a p+p{margin-top:10px}
@media (max-width:600px){.tjfq__item summary{grid-template-columns:28px 1fr 32px;gap:10px}.tjfq__a{padding:0 0 22px 38px}}

/* =========================================================================
   Appel final — panneau « Arrivées »
   ========================================================================= */
.tjcta{padding:clamp(24px,4vw,48px) 0}
.tjcta__in{position:relative;overflow:hidden;padding:clamp(48px,7vw,96px) clamp(24px,6vw,88px);border-radius:32px;background:var(--accent);color:var(--accent-ink)}
.tjcta__in::after{content:"";position:absolute;right:-60px;bottom:-60px;width:340px;height:340px;border-radius:50%;border:44px solid color-mix(in srgb,var(--accent-ink) 9%,transparent);pointer-events:none}
.tjcta__sign{display:inline-flex;align-items:center;gap:14px;margin-bottom:28px;padding:10px 16px 10px 18px;border-radius:10px;background:var(--dark);color:#fff;font:400 .8rem/1 var(--font-display);letter-spacing:.14em;text-transform:uppercase}
.tjcta__sign-arrow{display:grid;place-items:center;width:28px;height:28px;border-radius:6px;background:var(--accent);color:var(--accent-ink)}
.tjcta__sign-arrow .ico{width:16px;height:16px;transform:rotate(-45deg)}
.tjcta__title{position:relative;z-index:1;max-width:900px;font-size:clamp(1.9rem,4.6vw,3.9rem);line-height:1.06}
.tjcta__title em{color:inherit;background:linear-gradient(90deg,currentColor 0 60%,transparent 60% 100%) 0 100%/16px 4px repeat-x}
.tjcta__text{position:relative;z-index:1;max-width:560px;margin-top:20px;font-size:1.1rem}
.tjcta__btns{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.tjcta .btn--primary{background:var(--dark);color:#fff}
.tjcta .btn--primary:hover{background:#000}
.tjcta .btn--onDark{border-color:color-mix(in srgb,var(--accent-ink) 45%,transparent);color:var(--accent-ink)}
.tjcta .btn--onDark:hover{background:var(--accent-ink);color:var(--accent)}
@media (max-width:600px){.tjcta__btns .btn{width:100%}.tjcta__in{border-radius:24px}}

/* =========================================================================
   En-tête de page
   ========================================================================= */
.tjph{padding:clamp(48px,7vw,96px) 0 clamp(40px,6vw,72px);border-bottom:1px solid var(--line);overflow:hidden}
.tjph::after{content:"";position:absolute;right:-6%;top:0;bottom:0;width:46%;background:repeating-linear-gradient(90deg,var(--bg-2) 0 52px,transparent 52px 60px) center/100% 6px no-repeat,linear-gradient(var(--bg-2),var(--bg-2)) center/100% 74px no-repeat;opacity:.9;transform:skewX(-24deg);pointer-events:none}
.tjph__in{position:relative;z-index:1}
.tjph__crumb{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:28px;font-size:.86rem;color:var(--muted)}
.tjph__crumb a{text-decoration:none;font-weight:550;color:var(--ink)}
.tjph__crumb a:hover{text-decoration:underline}
.tjph__dash{width:28px;height:2px;background:repeating-linear-gradient(90deg,currentColor 0 4px,transparent 4px 7px)}
.tjph__title{max-width:900px;font-size:clamp(2rem,5vw,4rem);line-height:1.06}
.tjph__text{max-width:620px;margin-top:22px;font-size:1.12rem;color:var(--ink-2)}
.tjph__facts{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.tjph__facts div{display:flex;flex-direction:column-reverse;padding:14px 20px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}
.tjph__facts dd{font-family:var(--font-display);font-size:1.1rem}
.tjph__facts dt{font-size:.82rem;color:var(--muted)}
@media (max-width:700px){.tjph::after{display:none}.tjph__facts div{flex:1 1 40%}}

/* Services : page détaillée */
.tjsd .wrap{display:grid;gap:clamp(64px,9vw,120px)}
.tjsd__item{display:grid;gap:30px;align-items:center;scroll-margin-top:calc(var(--hdr) + 60px)}
@media (min-width:960px){.tjsd__item{grid-template-columns:1fr 1fr;gap:72px}.tjsd__item:nth-child(even) .tjsd__fig{order:2}}
.tjsd__fig{position:relative;margin:0;border-radius:26px;overflow:hidden;aspect-ratio:4/3;background:var(--dark)}
.tjsd__img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.tjsd__item:hover .tjsd__img{transform:scale(1.04)}
.tjsd__code{position:absolute;left:18px;bottom:18px;display:grid;place-items:center;width:64px;height:64px;border-radius:16px;background:var(--accent);color:var(--accent-ink);font:400 1.6rem/1 var(--font-display)}
.tjsd__t{font-size:clamp(1.6rem,3vw,2.4rem)}
.tjsd__text{margin-top:18px;color:var(--ink-2)}
.tjsd__text p+p{margin-top:12px}
.tjsd__inc{display:grid;gap:10px;margin-top:24px}
@media (min-width:600px){.tjsd__inc{grid-template-columns:1fr 1fr}}
.tjsd__inc li{display:flex;align-items:center;gap:10px;font-weight:550;font-size:.96rem}
.tjsd__inc .ico{width:22px;height:22px;padding:4px;border-radius:50%;background:var(--dark);color:var(--accent-on-dark);stroke-width:2.4}
.tjsd__foot{display:flex;flex-wrap:wrap;align-items:center;gap:20px 28px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.tjsd__price{display:flex;flex-direction:column}
.tjsd__price small{font-size:.76rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.tjsd__price strong{font-size:1.6rem;line-height:1.2;font-weight:750}
.tjsd__price span{font-size:.8rem;color:var(--muted)}

/* À propos — chauffeur */
.tjab__in{display:grid;gap:56px;align-items:center}
@media (min-width:1000px){.tjab__in{grid-template-columns:.9fr 1.1fr;gap:80px}}
.tjab__visual{position:relative;padding-bottom:60px}
.tjab__fig{margin:0;width:86%;border-radius:26px 26px 110px 26px;overflow:hidden;aspect-ratio:4/5;background:var(--dark)}
.tjab__img{width:100%;height:100%;object-fit:cover}
.tjab__card{position:absolute;right:0;bottom:0;width:min(300px,78%);padding:22px 22px 18px;border-radius:18px;background:var(--dark);color:var(--on-dark);box-shadow:0 24px 50px rgba(13,20,23,.25);border-top:6px solid var(--accent)}
.tjab__card-k{font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-2)}
.tjab__card-n{margin-top:6px;font:400 1.08rem/1.2 var(--font-display)}
.tjab__card dl{margin-top:14px;display:grid;gap:6px}
.tjab__card dl div{display:flex;justify-content:space-between;gap:12px;padding-top:6px;border-top:1px solid var(--dark-3);font-size:.86rem}
.tjab__card dt{color:var(--on-dark-2)}
.tjab__card-demo{margin-top:12px;font-size:.74rem;color:var(--on-dark-2)}
.tjab__paras{margin-top:22px;color:var(--ink-2)}
.tjab__paras p+p{margin-top:14px}
.tjab__quote{margin:28px 0 0;padding:4px 0 4px 22px;border-left:4px solid var(--accent);font-size:1.15rem;font-weight:550;line-height:1.5}
.tjab__facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:34px;border-top:1px solid var(--line)}
.tjab__facts div{display:flex;flex-direction:column-reverse;padding:16px 12px 0 0}
.tjab__facts div{flex-direction:column}
.tjab__facts dd{font:400 clamp(1rem,1.8vw,1.35rem)/1.2 var(--font-display)}
.tjab__facts dt{margin-top:4px;font-size:.84rem;color:var(--muted)}

/* Réservation et contact */
.tjbk{padding:clamp(40px,6vw,88px) 0 clamp(72px,9vw,120px)}
.tjbk__in,.tjct__in{display:grid;gap:44px;align-items:start}
@media (min-width:1000px){.tjbk__in,.tjct__in{grid-template-columns:.85fr 1.15fr;gap:72px}}
.tjbk__title{font-size:clamp(2rem,4.4vw,3.5rem);line-height:1.06}
.tjbk__lead{max-width:520px;margin-top:20px;font-size:1.08rem;color:var(--ink-2)}
.tjbk__next{margin-top:34px;padding:24px;border-radius:20px;background:var(--surface);border:1px solid var(--line)}
.tjbk__next-t{margin-bottom:14px;font:400 .86rem/1 var(--font-display);text-transform:uppercase;letter-spacing:.08em}
.tjbk__next ol{position:relative;display:grid;gap:16px}
.tjbk__next ol::before{content:"";position:absolute;left:13px;top:14px;bottom:14px;width:2px;background:repeating-linear-gradient(var(--line) 0 5px,transparent 5px 9px)}
.tjbk__next li{position:relative;display:flex;align-items:flex-start;gap:14px;font-size:.98rem}
.tjbk__next li span{position:relative;display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:var(--dark);color:#fff;font:400 .74rem/1 var(--font-display)}
.tjbk__call{display:flex;align-items:center;gap:14px;margin-top:20px;padding:16px 20px;border-radius:18px;background:var(--dark);color:#fff;text-decoration:none;transition:background-color .25s}
.tjbk__call:hover{background:#000}
.tjbk__call>.ico{width:44px;height:44px;padding:11px;border-radius:50%;background:var(--accent);color:var(--accent-ink)}
.tjbk__call span{display:flex;flex-direction:column;font:400 1.08rem/1.3 var(--font-display)}
.tjbk__call small{font:500 .82rem/1.3 var(--font-body);color:var(--on-dark-2)}
.tjbk__form,.tjct__form{border-radius:26px;background:var(--surface);border:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(13,20,23,.25);overflow:hidden}
.tjbk__form .sform,.tjct__form .sform{padding:clamp(22px,4vw,40px)}
.tjbk__form-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px clamp(22px,4vw,40px);background:var(--dark);color:var(--on-dark);font:400 .74rem/1 var(--font-display);letter-spacing:.14em;text-transform:uppercase}
.tjbk__holes{width:120px;height:10px;background:radial-gradient(circle 4px,var(--accent-on-dark) 96%,transparent) 0 50%/16px 10px repeat-x;opacity:.8}
.tjct__form-t{padding:clamp(22px,4vw,40px) clamp(22px,4vw,40px) 0;font:400 1.2rem/1.2 var(--font-display)}
.tjct__form-p{padding:10px clamp(22px,4vw,40px) 0;color:var(--muted);font-size:.95rem}
.tjct__form-p a{font-weight:650;color:var(--accent-text)}
.tjct__list{display:grid;gap:4px;margin-top:34px}
.tjct__list>li{display:flex;gap:16px;padding:18px 0;border-top:1px solid var(--line)}
.tjct__list small{display:block;margin-bottom:2px;font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.tjct__list a{font-weight:600}
.tjct__ico{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:50%;background:var(--dark);color:var(--accent-on-dark)}
.tjct__big{display:inline-block;font:400 1.35rem/1.3 var(--font-display)!important;text-decoration:none}
.tjct__hours{margin-top:10px}
.tjct__em{display:block;margin-top:8px;color:var(--muted)}

/* Formulaires */
.sform__field label,.sform__label{font-weight:600;font-size:.9rem}
.sform__field input,.sform__field textarea,.sform__field select{background-color:#fff;border-color:#BCC3C2}
.sform__field input:focus,.sform__field textarea:focus,.sform__field select:focus{border-color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 45%,transparent)}
.sform__err{color:#B42318}
.sform__req{color:#B42318}
.sform__grid{grid-template-columns:1fr}
@media (min-width:640px){.sform--appointment .sform__grid{grid-template-columns:1fr 1fr}.sform__field--textarea,.sform__field--name,.sform__field--chips{grid-column:1/-1}.sform--contact .sform__grid{grid-template-columns:1fr 1fr}}
.chip span{border-radius:999px;border-color:#BCC3C2;background:#fff;font-weight:550}
.chip input:checked+span{background:var(--dark);border-color:var(--dark);color:#fff}
.chip input:checked+span::before{content:"";width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--accent-on-dark)}
.sform__progress li{border-top-width:4px;font-weight:550}
.sform__progress li.is-current,.sform__progress li.is-done{border-top-color:var(--ink)}
.sform__progress li.is-current .sform__progress-n{color:var(--accent-text)}
.sform__legal{color:var(--muted)}
.sform__status{padding:14px 16px;border-radius:12px;background:var(--bg)}
.sform__submit{min-height:54px}

/* =========================================================================
   Pied de page
   ========================================================================= */
.tjf{padding:clamp(64px,8vw,104px) 0 32px;background:var(--dark);color:var(--on-dark)}
.tjf__top{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:28px;padding-bottom:42px}
.tjf__big{max-width:640px;font:400 clamp(1.7rem,4vw,3.2rem)/1.08 var(--font-display);letter-spacing:-.02em}
.tjf__act{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.tjf__phone{display:inline-flex;align-items:center;gap:10px;min-height:44px;font:400 1.15rem/1 var(--font-display);text-decoration:none}
.tjf__phone .ico{color:var(--accent-on-dark)}
.tjf__line{position:relative;padding:28px 0;border-top:1px solid var(--dark-3);border-bottom:1px solid var(--dark-3)}
.tjf__line ol{position:relative;display:flex;flex-wrap:wrap;gap:12px 0}
.tjf__line li{position:relative;display:flex;align-items:center}
.tjf__line li+li::before{content:"";width:clamp(18px,4vw,56px);height:2px;margin:0 10px;background:repeating-linear-gradient(90deg,var(--on-dark-2) 0 4px,transparent 4px 8px)}
.tjf__line a{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:550;text-decoration:none}
.tjf__line a::before{content:"";width:12px;height:12px;border-radius:50%;border:2px solid var(--accent-on-dark)}
.tjf__line a:hover{color:var(--accent-on-dark)}
.tjf__grid{display:grid;gap:36px;padding:44px 0}
@media (min-width:760px){.tjf__grid{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.tjf__grid{grid-template-columns:1.4fr .9fr 1fr 1fr}}
.tjf__word{font:400 1.05rem/1.2 var(--font-display);text-transform:uppercase;letter-spacing:.04em}
.tjf__desc{margin-top:14px;max-width:380px;color:var(--on-dark-2)}
.tjf__certs{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.tjf__certs li{padding:5px 11px;border:1px solid var(--dark-3);border-radius:999px;font-size:.8rem;color:var(--on-dark)}
.tjf__demo{margin-top:10px;font-size:.78rem;color:var(--on-dark-2)}
.tjf__title{margin-bottom:14px;font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-on-dark)}
.tjf__list li+li{margin-top:2px}
.tjf__list a,.tjf__link{display:inline-block;padding:5px 0;color:var(--on-dark-2);text-decoration:none}
.tjf__list a:hover,.tjf__link:hover{color:#fff;text-decoration:underline}
.tjf__grid p{color:var(--on-dark-2)}
.tjf__grid p+p{margin-top:6px}
.tjf__hours li,.tjct__hours li{display:flex;justify-content:space-between;gap:16px;max-width:290px;padding:3px 0;font-size:.92rem}
.tjf__hours li{color:var(--on-dark-2)}
.tjf__hours li.is-today,.tjct__hours li.is-today{font-weight:700;color:inherit}
.tjf__hours li.is-today{color:#fff}
.tjf__hours li.is-closed span:last-child{opacity:.7}
.tjf__note{margin-top:10px;font-size:.84rem}
.tjf__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;border-top:1px solid var(--dark-3);font-size:.86rem;color:var(--on-dark-2)}
.tjf__legal a{display:inline-flex;align-items:center;min-height:44px;color:var(--on-dark-2)}
.tjf__legal a:hover{color:#fff}

/* Barre d'action mobile */
.mobile-bar__item--primary{font-weight:700}

/* Mentions légales, 404 */
.legal{padding:clamp(56px,8vw,104px) 0}
.legal__in{max-width:780px}
.legal .page-hero__title{font-family:var(--font-display);font-weight:400;font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.08;margin-bottom:10px}
.legal h2{margin:38px 0 10px;font-size:1.15rem}
.legal p{color:var(--ink-2)}
.legal__demo{margin-top:18px;padding:12px 16px;border-left:4px solid var(--accent);border-radius:0 12px 12px 0;background:var(--surface);font-size:.92rem}
.notfound{position:relative;overflow:hidden}
.notfound::before{content:"404";position:absolute;right:-2%;bottom:-6%;font:400 clamp(8rem,26vw,22rem)/1 var(--font-display);color:var(--bg-2);pointer-events:none}
.notfound__in{position:relative;max-width:720px}
.notfound .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text)}
.notfound .eyebrow::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--accent)}
.notfound__title{font-weight:400;font-size:clamp(2rem,5vw,3.6rem);line-height:1.08}
.notfound__text{font-size:1.1rem}

@media (prefers-reduced-motion:reduce){
  .tjhero__road-dash,.tjt__car,.tjhero__img,.tjb__bar-l i:first-child{animation:none!important}
  .js .tjb__board.is-in .tjb__f{animation:none!important}
  .tjt__car{left:calc(50% - 15px)}
  .tjsv__link,.tjsd__img{transition:none}
}

/* Corrections : horaires sur fond clair (contact), chiffres avec « € » en Golos */
.tjct__hours li{color:var(--ink-2)}
.tjct__hours li.is-today{color:var(--ink)}
.tjph__facts dd{font-family:var(--font-body);font-weight:750;font-size:1.15rem}
