/* -- 1. Fonts -------------------------------------------------------------- */
/* vietnamese */
/** assets/css/akata_fonts.css */

/* -- 2. Base --------------------------------------------------------------- */
html{scroll-behavior:smooth}
body{margin:0;background:#fff;-webkit-font-smoothing:antialiased}
a{color:#000A1C;text-decoration:none}
a:hover{color:#946200}
/* Headings */
h1,h2,h3,h4{margin:0;font-size:inherit;font-weight:inherit;line-height:inherit}
@keyframes agRise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes agFade{from{opacity:0}to{opacity:1}}
@keyframes agTargetRing{0%{box-shadow:0 0 0 0 rgba(255,186,19,.8)}100%{box-shadow:0 0 0 20px rgba(255,186,19,0)}}
[id^="avis-"]:target{outline:2px solid #FFBA13;outline-offset:-2px;background:#FFFBEF!important;animation:agTargetRing 1.7s cubic-bezier(.2,.7,.2,1) both}
@keyframes agProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes agPulse{0%,100%{opacity:1}50%{opacity:.2}}
@keyframes agWaRing{0%{transform:scale(1);opacity:.55}70%{transform:scale(1.55);opacity:0}100%{transform:scale(1.55);opacity:0}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

:root {
  /* the empty-slot icon, drawn once here and masked in wherever it is needed */
  --slot-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='m21 15-5-5L5 21'/%3E%3C/svg%3E");
}

x-image-slot {
  position: relative; display: block; aspect-ratio: 3/2;
  font: 13px/1.3 system-ui, -apple-system, sans-serif;
}
x-image-slot::before,
x-image-slot::after { content: ""; position: absolute; inset: 0; pointer-events: none; }
x-image-slot::before { background: rgba(127, 127, 127, .08); }
x-image-slot::after  { border: 1.5px dashed currentColor; opacity: .35; }

x-image-slot > span {
  position: absolute; inset: 0; overflow: hidden;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 6px; padding: 12px; box-sizing: border-box;
  text-align: center; font-weight: 500; letter-spacing: .01em; opacity: .75;
}

x-image-slot > span::before {
  content: ""; width: 28px; height: 28px; opacity: .6;
  background: currentColor;
  -webkit-mask: var(--slot-icon) center / contain no-repeat;
          mask: var(--slot-icon) center / contain no-repeat;
}

x-image-slot[data-shape="circle"],
x-image-slot[data-shape="circle"]::before,
x-image-slot[data-shape="circle"]::after,
x-image-slot[data-shape="circle"] > span,
x-image-slot[data-shape="circle"] > img { border-radius: 50%; }
x-image-slot[data-shape="rounded"],
x-image-slot[data-shape="rounded"]::before,
x-image-slot[data-shape="rounded"]::after,
x-image-slot[data-shape="rounded"] > span,
x-image-slot[data-shape="rounded"] > img { border-radius: 12px; }
x-image-slot[data-shape="pill"],
x-image-slot[data-shape="pill"]::before,
x-image-slot[data-shape="pill"]::after,
x-image-slot[data-shape="pill"] > span,
x-image-slot[data-shape="pill"] > img { border-radius: 9999px; }

x-image-slot > img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; display: block;
}
x-image-slot:has(img) > span,
x-image-slot:has(img)::before,
x-image-slot:has(img)::after { display: none; }

/* -- 3. Elements ----------------------------------------------------------- */


/* page */
.page-1 { font-family:Archivo,system-ui,sans-serif; background:#fff; color:#000A1C }
.page-2 { position:sticky; top:0; z-index:20; background:rgba(255,255,255,.94); backdrop-filter:blur(10px); border-bottom:1px solid #D3E2ED }
.page-3 { max-width:1440px; margin:0 auto; padding:0 64px; height:80px; display:flex; align-items:center; gap:28px }
.page-4 { display:flex; align-items:center; gap:12px; flex:none }
.page-5 { width:44px; height:44px; display:block; transition:transform .5s cubic-bezier(.2,.7,.2,1) }

/* page-6 */
.page-6-hv:hover { transform:rotate(-8deg) scale(1.06)!important }

/* page */
.page-7 { font-size:15px; font-weight:700; letter-spacing:-.01em }
.page-8 { display:flex; gap:17px; margin-left:auto; font-size:14.5px; color:#001751 }
.page-9 { padding-bottom:3px; border-bottom:1px solid transparent; transition:border-color .25s,color .25s; white-space:nowrap }

/* page-10 */
.page-10-hv:hover { border-color:#946200!important }

/* page */
.page-11 { padding-bottom:3px; border-bottom:1px solid #946200; color:#000A1C; font-weight:600; white-space:nowrap }
.page-12 { display:flex; align-items:center; gap:14px; flex:none }
.page-13 { font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.06em; color:#001751; border:1px solid #D3E2ED; padding:8px 12px; white-space:nowrap }
.page-14 { color:#000A1C }
.page-15 { background:#000A1C; color:#fff; padding:13px 20px; font-size:14px; font-weight:600; white-space:nowrap; transition:background .25s,transform .25s }

/* page-16 */
.page-16-hv:hover { background:#946200!important; color:#fff!important; transform:translateY(-1px)!important }

/* page */
.page-17 { position:absolute; left:0; right:0; bottom:-1px; height:2px; background:#FFBA13; transform-origin:0 50%; transform:scaleX(0); animation:agProgress 1s linear both; animation-timeline:scroll(root) }
.page-18 { border-bottom:1px solid #D3E2ED }
.page-19 { max-width:1440px; margin:0 auto; padding:0 64px }
.page-20 { padding:34px 0 26px; display:flex; align-items:baseline; gap:16px; animation:agFade .7s both }
.page-21 { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.14em; color:#946200 }
.page-22 { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.18em; color:#5C7897 }
.page-23 { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.14em; color:#5C7897; margin-left:auto; display:flex; align-items:center; gap:8px }
.page-24 { width:6px; height:6px; background:#FFBA13; flex:none; animation:agPulse 2s ease-in-out infinite }
.page-25 { display:grid; grid-template-columns:1.35fr 1fr; gap:64px; padding-bottom:52px; align-items:end }
.page-26 { margin:0; font-size:68px; line-height:.98; font-weight:600; letter-spacing:-.035em; text-wrap:balance; animation:agRise .8s cubic-bezier(.2,.7,.2,1) both }
.page-27 { animation:agRise .8s .08s cubic-bezier(.2,.7,.2,1) both }
.page-28 { margin:0 0 16px; font-size:17px; line-height:1.6; color:#001751; max-width:38ch; text-wrap:pretty }
.page-29 { font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.1em; color:#5C7897; line-height:1.8 }

/* synthese */
.synthese-1 { background:#F1F6FA; border-bottom:1px solid #D3E2ED }
.synthese-2 { max-width:1440px; margin:0 auto; padding:56px 64px 60px }
.synthese-3 { display:flex; align-items:baseline; gap:24px; flex-wrap:wrap; padding-bottom:22px; border-bottom:2px solid #000A1C; animation:agRise .8s cubic-bezier(.2,.7,.2,1) both; animation-timeline:view(); animation-range:entry 0% cover 18% }
.synthese-4 { margin:0; font-size:38px; line-height:1.05; font-weight:600; letter-spacing:-.03em }
.synthese-5 { font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.14em; color:#946200; margin-left:auto; text-align:right; line-height:1.8 }
.synthese-6 { color:#5C7897 }
.synthese-7 { display:flex; gap:1px; background:#D3E2ED; border:1px solid #D3E2ED; border-bottom:none; animation:agRise .8s .05s cubic-bezier(.2,.7,.2,1) both; animation-timeline:view(); animation-range:entry 0% cover 20% }
.synthese-8 { background:#fff; padding:16px 22px 17px; flex:1 1 0; min-width:0 }
.synthese-9 { display:flex; align-items:baseline; gap:5px; margin-bottom:5px }
.synthese-10 { font-size:32px; font-weight:600; letter-spacing:-.035em; line-height:1 }
.synthese-11 { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.08em; color:#946200 }
.synthese-12 { font-size:12.5px; line-height:1.4; color:#001751; text-wrap:pretty }
.synthese-13 { display:flex; flex-direction:column; gap:1px; background:#D3E2ED; border:1px solid #D3E2ED; border-top:none; animation:agRise .8s .08s cubic-bezier(.2,.7,.2,1) both; animation-timeline:view(); animation-range:entry 0% cover 22% }
.synthese-14 { background:#fff; padding:17px 24px; display:grid; grid-template-columns:30px 210px 1fr 280px; gap:24px; align-items:baseline; transition:background .3s }

/* synthese-15 */
.synthese-15-hv:hover { background:#FFFDF6!important }

/* synthese */
.synthese-16 { font-family:'IBM Plex Mono',monospace; font-size:12px; font-weight:600; color:#946200 }
.synthese-17 { font-size:17.5px; font-weight:600; letter-spacing:-.018em; text-wrap:balance }
.synthese-18 { font-size:14.5px; line-height:1.45; color:#001751; text-wrap:pretty }
.synthese-19 { display:flex; flex-wrap:wrap; gap:5px 8px; justify-content:flex-end }
.synthese-20 { font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.08em; color:#5C7897; line-height:1.6; border-bottom:1px solid #D3E2ED; transition:color .2s,border-color .2s }

/* synthese-21 */
.synthese-21-hv:hover { color:#946200!important; border-color:#946200!important }

/* page */
.page-30 { padding:26px 0; display:flex; align-items:center; gap:10px }
.page-31 { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.16em; color:#5C7897; margin-right:12px }
.page-32 { margin-left:auto; font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.1em; color:#5C7897 }
.page-33 { max-width:1440px; margin:0 auto; padding:52px 64px; display:grid; grid-template-columns:132px 1fr 300px; gap:52px; align-items:start }
.page-34 { display:flex; flex-direction:column; gap:14px }
.page-35 { font-family:'IBM Plex Mono',monospace; font-size:44px; line-height:1; font-weight:500; color:#D3E2ED }
.page-36 { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.12em; color:#946200; line-height:1.6 }
.page-37 { margin:0 0 32px; font-size:27px; line-height:1.36; font-weight:500; letter-spacing:-.018em; color:#000A1C; max-width:44ch; text-wrap:pretty }
.page-38 { color:#946200 }
.page-39 { display:flex; align-items:center; gap:16px; padding-top:22px; border-top:1px solid #D3E2ED }
.page-40 { width:64px; height:64px; flex:none; display:block; background:#F1F6FA; border:1px solid #D3E2ED }
.page-41 { font-size:16px; font-weight:600; letter-spacing:-.01em }
.page-42 { font-size:14px; color:#001751; margin-top:3px }
.page-43 { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.1em; color:#5C7897; margin-top:7px }
.page-44 { border-left:1px solid #D3E2ED; padding-left:32px; display:flex; flex-direction:column; gap:26px }
.page-45 { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.12em; color:#5C7897; margin-bottom:10px }
.page-46 { font-size:26px; font-weight:600; letter-spacing:-.025em; line-height:1.1; text-wrap:balance }
.page-47 { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.08em; color:#000A1C; border:1px solid #D3E2ED; padding:8px 11px; display:inline-block }
.page-48 { font-size:14.5px; font-weight:600; color:#946200; display:flex; gap:8px; transition:gap .25s }

/* page-49 */
.page-49-hv:hover { gap:14px!important }

/* tous */
.tous-1 { max-width:1440px; margin:0 auto; padding:82px 64px }
.tous-2 { display:flex; align-items:baseline; gap:20px; border-bottom:2px solid #000A1C; padding-bottom:18px; margin-bottom:44px }
.tous-3 { margin:0; font-size:38px; line-height:1.05; font-weight:600; letter-spacing:-.028em }
.tous-4 { font-family:'IBM Plex Mono',monospace; font-size:11px; color:#5C7897; margin-left:auto; text-align:right; line-height:1.8 }
.tous-5 { margin-bottom:52px }
.tous-6 { display:flex; align-items:baseline; gap:16px; padding-bottom:14px; margin-bottom:26px; border-bottom:1px solid #D3E2ED }
.tous-7 { font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:.14em; font-weight:600; color:#000A1C }
.tous-8 { font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.1em; color:#946200 }
.tous-9 { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.1em; color:#5C7897; margin-left:auto }
.tous-10 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-items:start }
.tous-11 { border:1px solid #D3E2ED; padding:22px 24px 20px; background:#fff; scroll-margin-top:112px; transition:border-color .3s,box-shadow .3s,transform .3s }

/* tous-12 */
.tous-12-hv:hover { border-color:#946200!important; box-shadow:0 14px 30px rgba(0,10,28,.09)!important; transform:translateY(-2px)!important }

/* tous */
.tous-13 { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.1em; color:#946200; line-height:1.6; margin-bottom:14px }
.tous-14 { font-size:15.5px; line-height:1.55; color:#000A1C; text-wrap:pretty }
.tous-15 { margin-top:18px; padding-top:14px; border-top:1px solid #D3E2ED; display:flex; align-items:baseline; gap:12px }
.tous-16 { font-size:14.5px; font-weight:600; letter-spacing:-.01em }
.tous-17 { font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.1em; color:#5C7897; margin-left:auto; text-align:right }
.tous-18 { margin:0; font-family:'IBM Plex Mono',monospace; font-size:10.5px; line-height:1.8; letter-spacing:.05em; color:#5C7A99; max-width:96ch }

/* page */
.page-50 { background:#000A1C; color:#fff }
.page-51 { max-width:1440px; margin:0 auto; padding:78px 64px; display:grid; grid-template-columns:1.15fr auto; gap:64px; align-items:center }
.page-52 { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.16em; color:#FFBA13; margin-bottom:20px }
.page-53 { margin:0 0 16px; font-size:40px; line-height:1.06; font-weight:600; letter-spacing:-.03em; max-width:26ch; text-wrap:balance }
.page-54 { margin:0; font-size:16px; line-height:1.6; color:#8DA9C4; max-width:56ch; text-wrap:pretty }
.page-55 { display:flex; flex-direction:column; gap:12px; min-width:280px }
.page-56 { background:#FFBA13; color:#000A1C; padding:16px 26px; font-size:15px; font-weight:600; text-align:center; transition:background .25s,transform .25s }

/* page-57 */
.page-57-hv:hover { background:#fff!important; color:#000A1C!important; transform:translateY(-2px)!important }

/* page */
.page-58 { border:1px solid rgba(141,169,196,.45); color:#fff; padding:15px 26px; font-size:15px; font-weight:600; text-align:center; transition:background .25s }

/* page-59 */
.page-59-hv:hover { background:rgba(255,255,255,.08)!important; color:#fff!important }

/* page */
.page-60 { font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.1em; color:#8DA9C4; text-align:center; padding-top:6px; transition:color .2s }

/* page-61 */
.page-61-hv:hover { color:#FFBA13!important }

/* page */
.page-62 { background:#000A1C; color:#8DA9C4; border-top:1px solid rgba(141,169,196,.22) }
.page-63 { max-width:1440px; margin:0 auto; padding:24px 64px 40px; display:flex; gap:24px; font-family:'IBM Plex Mono',monospace; font-size:11.5px }
.page-64 { color:#FFBA13; letter-spacing:.06em }
.page-65 { color:#8DA9C4; letter-spacing:.06em }
.page-66 { margin-left:auto }
.page-67 { position:fixed; right:26px; bottom:26px; z-index:49; width:62px; height:62px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#25D366; box-shadow:0 12px 30px rgba(18,140,126,.42),0 2px 6px rgba(0,10,28,.2); transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s }

/* page-68 */
.page-68-hv:hover { transform:scale(1.07)!important; box-shadow:0 18px 42px rgba(18,140,126,.5)!important }

/* page-69 */
.page-69-bf::before { content:''; position:absolute; inset:0; border-radius:50%; border:2px solid #25D366; animation:agWaRing 2.4s cubic-bezier(.2,.7,.2,1) infinite; pointer-events:none }

/* page */
.page-70 { flex:none; display:block }

.tm-filter { font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.1em; padding:9px 14px; cursor:pointer; white-space:nowrap; border:1px solid #D3E2ED; background:transparent; color:#001751; transition:background .2s,border-color .2s,color .2s }
.tm-filter.is-on { border-color:#000A1C; background:#000A1C; color:#fff }
.tm-quote { scroll-margin-top:92px; border-bottom:1px solid #D3E2ED; background:#fff; animation:agRise .7s cubic-bezier(.2,.7,.2,1) both }
.tm-quote.is-alt { background:#F1F6FA }
.tm-quote[hidden] { display:none }
.tm-quotes > .tm-quote:nth-child(2) { animation-delay:.04s }
.tm-quotes > .tm-quote:nth-child(3) { animation-delay:.08s }
.tm-quotes > .tm-quote:nth-child(4) { animation-delay:.12s }
.tm-quotes > .tm-quote:nth-child(5) { animation-delay:.16s }
.tm-quotes > .tm-quote:nth-child(6) { animation-delay:.20s }

.tm-lang { display:flex; align-items:center; justify-content:center; width:44px; height:35px; flex:none; cursor:pointer; user-select:none; border:1px solid #D3E2ED; background:#fff; color:#001751; font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.08em; font-weight:600; transition:background .25s,color .25s,border-color .25s }

/* -- Petits écrans ----------------------------------------------------------
   Mêmes paliers que la page d'accueil : 1180 px resserre les gouttières,
   1100 px replie la navigation, 900 px passe en colonne unique, 560 px règle
   la typographie du téléphone.
   -------------------------------------------------------------------------- */

.page-1 { --head-h:81px }   /* hauteur de la barre, bordure comprise */

/* Le conteneur de navigation s'efface au-dessus du point de rupture. */
.tm-nav { display:contents }
.tm-burger { display:none; flex:none; width:42px; height:42px; padding:0; flex-direction:column; align-items:center; justify-content:center; gap:5px; background:transparent; border:1px solid #D3E2ED; cursor:pointer; transition:border-color .25s }
.tm-burger-b { display:block; width:17px; height:1.5px; background:#000A1C; transition:transform .3s cubic-bezier(.2,.7,.2,1) }
.page-2.is-menu-open .tm-burger { border-color:#946200 }
.page-2.is-menu-open .tm-burger-b:first-child { transform:translateY(3.25px) rotate(45deg) }
.page-2.is-menu-open .tm-burger-b:last-child { transform:translateY(-3.25px) rotate(-45deg) }

@media (max-width:1180px) {
  .page-3, .page-19, .synthese-2, .page-33, .tous-1, .page-51,
  .page-63 { padding-left:40px; padding-right:40px }
  .page-26 { font-size:52px }
  .page-33 { grid-template-columns:110px 1fr; gap:36px }
  .page-44 { grid-column:1 / -1; border-left:none; border-top:1px solid #D3E2ED; padding:24px 0 0 }
  .tous-10 { grid-template-columns:repeat(2,1fr) }
  .synthese-14 { grid-template-columns:30px 190px 1fr; gap:18px }
  .synthese-19 { grid-column:2 / -1; justify-content:flex-start }
}

/* Six liens, la bascule de langue, le sceau et l'appel à l'action ne tiennent
   plus sur une seule barre : on les replie derrière un bouton. */
@media (max-width:1100px) {
  /* `backdrop-filter` ferait de l'en-tête le bloc conteneur du panneau fixe. */
  .page-2 { background:#fff; backdrop-filter:none; -webkit-backdrop-filter:none }
  .page-2.is-menu-open { z-index:110 }
  .tm-burger { display:flex; margin-left:auto }

  .tm-nav { position:fixed; top:var(--head-h); left:0; right:0; bottom:0; z-index:2; display:flex; flex-direction:column; padding:6px 40px 30px; background:#fff; overflow-y:auto; overscroll-behavior:contain; opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .3s cubic-bezier(.2,.7,.2,1),transform .3s cubic-bezier(.2,.7,.2,1),visibility .3s }
  .page-2.is-menu-open .tm-nav { opacity:1; visibility:visible; transform:none }
  .page-8 { flex:none; flex-direction:column; gap:0; margin:0; font-size:16.5px }
  .page-9, .page-11 { display:flex; align-items:center; min-height:53px; padding:0; border-bottom:1px solid #EAF1F7; white-space:normal; font-weight:500 }
  .page-12 { flex-direction:column; align-items:stretch; gap:10px; margin-top:auto; padding-top:24px }
  .tm-lang { width:100%; height:46px }
  .page-13 { text-align:center; order:2 }
  .page-15 { order:-1; padding:16px; font-size:15px; text-align:center }
  /* Sur une tablette, les boutons pleine largeur seraient démesurés. */
  .page-12 { max-width:440px }
}

@media (max-width:900px) {
  .page-1 { --head-h:58px }
  .page-3 { height:57px; padding:0 20px; gap:12px }
  .tm-nav { padding:6px 20px 26px }
  .page-12 { max-width:none }
  .page-5 { width:34px; height:34px }
  .page-7 { font-size:13.5px }

  .page-19, .synthese-2, .page-33, .tous-1, .page-51,
  .page-63 { padding-left:20px; padding-right:20px }
  .page-20 { padding:20px 0 16px; flex-wrap:wrap; gap:6px 14px }
  .page-23 { margin-left:0 }
  .page-25 { grid-template-columns:1fr; gap:22px; padding-bottom:38px }
  .page-26 { font-size:34px }
  .page-28 { max-width:none }

  .synthese-2 { padding-top:44px; padding-bottom:46px }
  .synthese-3 { gap:12px 18px; padding-bottom:16px }
  .synthese-4 { font-size:26px }
  .synthese-5 { margin-left:0; text-align:left }
  .synthese-7 { flex-direction:column; gap:1px }
  .synthese-14 { grid-template-columns:30px 1fr; gap:8px 14px; padding:16px 18px }
  .synthese-18, .synthese-19 { grid-column:2 / -1 }
  .synthese-17 { font-size:16.5px }

  .page-30 { padding:20px 0; flex-wrap:wrap; gap:8px }
  .page-31, .page-32 { margin:0; width:100% }
  .page-33 { grid-template-columns:1fr; gap:20px; padding-top:38px; padding-bottom:40px }
  .page-34 { flex-direction:row; align-items:baseline; gap:14px }
  .page-35 { font-size:34px }
  .page-37 { font-size:21px; margin-bottom:24px; max-width:none }
  .page-44 { padding-top:20px; gap:20px }
  .page-46 { font-size:22px }

  .tous-1 { padding-top:52px; padding-bottom:56px }
  .tous-2 { flex-direction:column; align-items:flex-start; gap:10px; margin-bottom:30px }
  .tous-3 { font-size:26px }
  .tous-4 { margin-left:0; text-align:left }
  .tous-6 { flex-wrap:wrap; gap:6px 14px }
  .tous-9 { margin-left:0 }
  .tous-10 { grid-template-columns:1fr; gap:16px }
  .tous-11 { padding:20px 18px 18px; scroll-margin-top:76px }
  .tm-quote { scroll-margin-top:70px }

  .page-51 { grid-template-columns:1fr; gap:28px; padding-top:52px; padding-bottom:54px }
  .page-53 { font-size:28px; max-width:none }
  .page-54 { max-width:none }
  .page-55 { min-width:0 }
  .page-63 { flex-wrap:wrap; gap:8px 18px; padding-top:20px; padding-bottom:32px }
  .page-66 { margin-left:0 }
  .page-67 { right:16px; bottom:16px; width:54px; height:54px }
}

@media (max-width:560px) {
  .page-26 { font-size:29px }
  .synthese-4, .tous-3 { font-size:23px }
  .page-37 { font-size:19px }
  .page-53 { font-size:24px }
  .page-40 { width:54px; height:54px }
}
