/* Polices auto-hébergées : mêmes fichiers latin que le site Astro (_astro/fonts), copiés dans fonts/. */
@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Manrope;font-style:normal;font-weight:500 700;font-display:swap;src:url(fonts/manrope-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--ink:#182031;--muted:#5b6678;--line:#dfe5ed;--paper:#f5f7fa;--white:#ffffff;--blue:#1268a0;--blue-dark:#07527f;--blue-soft:#dff1fb;--navy:#071426;--cyan:#19c8d1;--shadow:0 24px 70px rgba(19,35,61,.14);--kb-ink:var(--ink);--kb-muted:var(--muted);--kb-line:var(--line);--kb-paper:var(--paper);--kb-blue:var(--blue);--kb-cyan:var(--cyan);--kb-navy:var(--navy);--kb-white:var(--white);--kb-green:#008d70}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%}

/* Copie de app/globals.css — en-tête, sélecteur de langue, bouton, pied de page.
   TEMPORAIRE : le blog n'est pas rendu par Next, il reprend ces règles telles
   quelles (Inter et Manrope chargées directement, à la place de var(--font-inter)).
   À recopier à chaque changement de globals.css ; tests/blog-habillage.test.mjs
   signale la dérive. Disparaît avec la migration du blog dans Next. */
.stickyHeader { position: sticky; top: 0; z-index: 100; }
.siteHeader { height: 72px; padding: 0 5.5vw; display: flex; align-items: center; justify-content: space-between; position: relative; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.98); box-shadow: 0 10px 28px rgba(15,35,62,.06); backdrop-filter: blur(14px); }
.brand { display: inline-flex; align-items: center; }
.brand img { display: block; border-radius: 10px; }
.brandHome img { width: 150px; height: auto; border-radius: 0; }
.primaryNav, .headerActions { display: flex; align-items: center; gap: 30px; font-size: 13px; }
.primaryNav a { padding: 27px 0 24px; border-bottom: 2px solid transparent; }
.primaryNav > :nth-child(4) { margin-left: 20px; }
.primaryNav a:hover, .primaryNav a[aria-current="page"] { color: var(--blue); border-color: var(--blue); }
.navGroup { position: relative; display: flex; }
/* Le déclencheur du panneau n'est plus un lien : les tarifs n'ont plus de page commune. */
.navGroup > button { padding: 27px 0 24px; border: 0; border-bottom: 2px solid transparent; background: none; color: inherit; font: inherit; cursor: pointer; }
.navGroupPanel { width: 262px; padding: 7px; display: none; position: absolute; top: 100%; left: -13px; z-index: 121; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.99); box-shadow: var(--shadow); }
.navGroup:hover .navGroupPanel, .navGroup:focus-within .navGroupPanel { display: grid; }
.navGroup:hover > button, .navGroup:focus-within > button { color: var(--blue); border-color: var(--blue); }
.navGroupPanel a { padding: 10px 9px; border: 0; border-radius: 6px; font-weight: 700; }
.navGroupPanel a:hover { color: var(--blue-dark); background: var(--blue-soft); }
.headerActions { gap: 18px; }
.mobileMenu { display: none; }
.languageSelector { position: relative; }
.languageSelector summary { min-width: 62px; padding: 9px 9px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; list-style: none; cursor: pointer; border: 1px solid transparent; border-radius: 7px; font-size: 12px; font-weight: 800; }
.languageSelector summary::-webkit-details-marker { display: none; }
.languageSelector summary:hover, .languageSelector[open] summary { border-color: var(--line); background: var(--white); }
.languageSelector summary i { color: var(--muted); font-size: 13px; font-style: normal; }
.languageSelector > div { width: 184px; padding: 7px; display: grid; position: absolute; top: calc(100% + 12px); right: 0; z-index: 121; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.99); box-shadow: var(--shadow); }
.languageOption, .languageSelector button { width: 100%; padding: 10px 9px; display: flex; align-items: center; gap: 8px; border: 0; border-radius: 6px; background: transparent; color: var(--ink); text-align: left; font: 700 12px Inter, Arial, sans-serif; text-decoration: none; }
.languageOption small, .languageSelector button small { margin-left: auto; color: var(--muted); font-size: 10px; font-weight: 600; }
.languageSelector a.languageOption:hover { background: var(--blue-soft); color: var(--blue-dark); }
.languageOption.isCurrent { background: var(--blue-soft); color: var(--blue-dark); }
.languageSelector button:disabled { cursor: not-allowed; opacity: .48; }
.flag { width: 18px; height: 12px; display: inline-block; flex: 0 0 auto; position: relative; overflow: hidden; border: 1px solid rgba(18,32,49,.18); border-radius: 1px; box-shadow: 0 1px 2px rgba(18,32,49,.12); }
.flagFr { background: linear-gradient(90deg, #1a438f 0 33.33%, #fff 33.33% 66.66%, #ec2939 66.66%); }
.flagDach { background: linear-gradient(#161616 0 33.33%, #d51f2b 33.33% 66.66%, #f5cf35 66.66%); }
.flagUsUk { background: linear-gradient(to bottom, transparent 0 42%, #c8102e 42% 58%, transparent 58%), linear-gradient(to right, transparent 0 42%, #c8102e 42% 58%, transparent 58%), linear-gradient(to bottom, transparent 0 33%, #fff 33% 67%, transparent 67%), linear-gradient(to right, transparent 0 33%, #fff 33% 67%, transparent 67%), linear-gradient(32deg, transparent 0 46%, #c8102e 46% 54%, transparent 54%), linear-gradient(-32deg, transparent 0 46%, #c8102e 46% 54%, transparent 54%), linear-gradient(32deg, transparent 0 38%, #fff 38% 62%, transparent 62%), linear-gradient(-32deg, transparent 0 38%, #fff 38% 62%, transparent 62%), #012169; }
.flagUsUk::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(to bottom, #b22234 0 1px, #fff 1px 2px); clip-path: polygon(100% 0, 100% 100%, 0 100%); }
.flagUsUk::after { content: ""; width: 34%; height: 34%; position: absolute; top: 44%; left: 46%; background: #3c3b6e; clip-path: polygon(0 0, 100% 0, 100% 100%); }
.button { padding: 15px 22px; display: inline-flex; align-items: center; justify-content: center; gap: 18px; border-radius: 7px; background: var(--blue); color: var(--white); font-size: 13px; font-weight: 700; box-shadow: 0 12px 28px rgba(18, 104, 160, .2); transition: transform .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); background: var(--blue-dark); }
.buttonSmall { padding: 11px 16px; }
.footer { padding: 58px 7vw 78px; display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 50px; position: relative; background: #081426; color: #dfe6f3; }
.footer > div { display: flex; flex-direction: column; gap: 13px; font-size: 12px; }
.footer > div > b { margin-bottom: 7px; color: #75849b; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.footerBrand p { max-width: 270px; color: #9aa8bb; line-height: 1.65; }
.footerBrand small { color: #8d9bb1; }
.copyright { position: absolute; right: 7vw; bottom: 28px; color: #8d9bb1; }
@media (max-width: 1200px) {
  .primaryNav a:last-child { display: none; }
}
@media (max-width: 1100px) {
  .primaryNav { gap: 18px; }
}
@media (max-width: 820px) {
  .primaryNav, .login { display: none; }
  .siteHeader { height: 70px; padding: 0 22px; }
  .headerActions { gap: 10px; }
  .languageSelector summary { min-width: 53px; padding: 9px 5px; }
  .languageSelector summary > b { display: none; }
  .mobileMenu { display: block; position: relative; }
  .mobileMenu summary { width: 42px; height: 42px; padding: 0; display: grid; place-content: center; gap: 5px; list-style: none; cursor: pointer; border: 1px solid var(--line); border-radius: 7px; background: var(--white); }
  .mobileMenu summary::-webkit-details-marker { display: none; }
  .mobileMenu summary i { width: 17px; height: 2px; display: block; border-radius: 2px; background: var(--ink); transition: transform .2s ease, opacity .2s ease; }
  .mobileMenu[open] summary i:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .mobileMenu[open] summary i:nth-child(2) { opacity: 0; }
  .mobileMenu[open] summary i:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .mobileMenu nav { width: min(340px, calc(100vw - 44px)); padding: 10px; display: grid; position: absolute; top: calc(100% + 12px); right: 0; z-index: 120; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.98); box-shadow: var(--shadow); }
  .mobileMenu nav a { padding: 13px 12px; border-radius: 6px; font-size: 14px; font-weight: 700; }
  .mobileMenu nav a:hover { color: var(--blue); background: var(--blue-soft); }
  .mobileMenu nav .mobileSubLink { padding-left: 30px; color: var(--muted); font-size: 12.5px; }
  .mobileMenu nav .mobileGroupLabel { padding: 13px 12px 4px; font-size: 14px; }
  .footer { grid-template-columns: 1fr 1fr; }
  .footerBrand { grid-column: 1 / -1; }
  .brandHome img { width: 126px; }
}
@media (max-width: 560px) {
  .buttonSmall { padding: 10px 13px; font-size: 11px; }
  .footer { padding: 58px 25px 85px; gap: 42px 25px; }
}
/* Fin de la copie de app/globals.css */

.blogHero{padding:68px 6vw 54px;background:radial-gradient(circle at 85% 5%,rgba(25,200,209,.12),transparent 28%),linear-gradient(145deg,#f7fafc,#e9f2f8)}.blogHeroInner{width:min(1320px,100%);margin:auto}.blogEyebrow{color:var(--kb-blue);font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.blogHero h1{max-width:1080px;margin:15px 0 13px;font:600 clamp(35px,4vw,54px)/1.04 Manrope,Inter,sans-serif;letter-spacing:-.045em}.blogHero p{max-width:none;margin:0;color:var(--kb-muted);font-size:15px;line-height:1.65;white-space:nowrap}.blogCategoryBar{padding:17px 6vw;border-top:1px solid rgba(216,227,236,.9);border-bottom:1px solid var(--kb-line);background:#fff}.blogCategoryBar nav{width:min(1320px,100%);margin:auto;display:flex;align-items:center;gap:8px;overflow:auto}.blogCategoryBar a{padding:8px 12px;border:1px solid var(--kb-line);border-radius:999px;color:#53647b;background:#fff;font-size:10px;font-weight:800;white-space:nowrap}.blogCategoryBar a.isActive,.blogCategoryBar a:hover{color:#fff;border-color:var(--kb-blue);background:var(--kb-blue)}

.blogMain{width:min(1320px,calc(100% - 12vw));margin:48px auto 85px}.blogFeatured{margin-bottom:18px;display:grid;grid-template-columns:1.2fr .8fr;overflow:hidden;border:1px solid var(--kb-line);border-radius:20px;background:#fff;box-shadow:0 22px 60px rgba(16,37,61,.1)}.blogFeaturedImage{min-height:420px;overflow:hidden;background:#e9eff5}.blogFeaturedImage img{width:100%;height:100%;display:block;object-fit:cover}.blogFeaturedContent{padding:42px;display:flex;flex-direction:column;justify-content:center}.blogCategoryLabel{color:var(--kb-blue);font-size:8px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.blogFeatured h2,.blogCard h2{font-family:Manrope,Inter,sans-serif;letter-spacing:-.035em}.blogFeatured h2{margin:17px 0 16px;font-size:31px;line-height:1.13}.blogFeatured p{margin:0 0 24px;color:var(--kb-muted);font-size:13px;line-height:1.7}.blogMeta{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:9px}.blogReadLink{margin-top:24px;color:var(--kb-blue);font-size:11px;font-weight:900}.blogGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.blogCard{min-width:0;overflow:hidden;border:1px solid var(--kb-line);border-radius:16px;background:#fff;transition:transform .2s ease,box-shadow .2s ease}.blogCard:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(16,37,61,.11)}.blogCard figure{height:205px;margin:0;overflow:hidden;background:#e9eff5}.blogCard img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .3s ease}.blogCard:hover img{transform:scale(1.025)}.blogCardBody{padding:23px}.blogCard h2{margin:13px 0 11px;font-size:19px;line-height:1.22}.blogCard p{min-height:63px;margin:0 0 18px;color:var(--kb-muted);font-size:11px;line-height:1.6}.blogEmpty{padding:70px 30px;text-align:center;border:1px solid var(--kb-line);border-radius:16px;background:#fff}.blogEmpty h2{font:600 28px Manrope,Inter,sans-serif}.blogEmpty p{color:var(--kb-muted)}

.articleShell{background:#fff}.articleHeader{padding:58px 6vw 40px;background:radial-gradient(circle at 85% 5%,rgba(25,200,209,.11),transparent 28%),linear-gradient(150deg,#f7fafc,#eaf2f8)}.articleHeaderInner{width:min(1100px,100%);margin:auto}.articleBreadcrumb{display:flex;align-items:center;gap:9px;color:#718096;font-size:10px}.articleBreadcrumb a:hover{color:var(--kb-blue)}.articleHeader h1{max-width:980px;margin:21px 0 18px;font:600 clamp(37px,4.3vw,59px)/1.04 Manrope,Inter,sans-serif;letter-spacing:-.05em}.articleLead{max-width:840px;margin:0;color:#56677f;font-size:16px;line-height:1.65}.articleHeader .blogMeta{margin-top:22px}.articleCover{width:min(1100px,calc(100% - 12vw));margin:34px auto 0;overflow:hidden;border-radius:20px;background:#e9eff5;box-shadow:0 25px 70px rgba(16,37,61,.13)}.articleCover img{width:100%;height:auto;display:block}.articleLayout{width:min(1100px,calc(100% - 12vw));margin:54px auto 82px;display:grid;grid-template-columns:minmax(0,740px) 240px;gap:80px;align-items:start}.articleContent{font-size:16px;line-height:1.8;color:#25344a}.articleContent h2,.articleContent h3,.articleContent h4{font-family:Manrope,Inter,sans-serif;letter-spacing:-.035em;color:var(--kb-ink)}.articleContent h2{margin:48px 0 16px;font-size:31px;line-height:1.18}.articleContent h3{margin:37px 0 13px;font-size:24px}.articleContent h4{margin:30px 0 12px;font-size:19px}.articleContent p{margin:0 0 19px}.articleContent ul,.articleContent ol{margin:0 0 24px;padding-left:25px}.articleContent li{margin:8px 0}.articleContent a{color:var(--kb-blue);text-decoration:underline;text-underline-offset:3px}.articleContent blockquote{margin:30px 0;padding:18px 24px;border-left:4px solid var(--kb-cyan);background:#eef7fa;font-size:18px}.articleContent img{height:auto;margin:26px 0;border-radius:12px}.articleAside{position:sticky;top:132px;padding:23px;border:1px solid var(--kb-line);border-radius:14px;background:#f4f8fb}.articleAside b{display:block;margin-bottom:13px;font:600 17px Manrope,Inter,sans-serif}.articleAside p{margin:0 0 18px;color:var(--kb-muted);font-size:11px;line-height:1.6}.articleAside a{display:block;margin-top:9px;color:var(--kb-blue);font-size:10px;font-weight:900}.relatedSection{padding:67px 6vw 78px;background:#edf3f8}.relatedInner{width:min(1100px,100%);margin:auto}.relatedInner>h2{margin:0 0 28px;font:600 32px Manrope,Inter,sans-serif;letter-spacing:-.04em}.relatedGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.relatedGrid a{padding:21px;border:1px solid var(--kb-line);border-radius:13px;background:#fff}.relatedGrid span{color:var(--kb-blue);font-size:8px;font-weight:900;letter-spacing:.12em}.relatedGrid h3{margin:12px 0 0;font:600 17px/1.25 Manrope,Inter,sans-serif}

@media(max-width:1050px){.blogGrid{grid-template-columns:1fr 1fr}.articleLayout{grid-template-columns:1fr;gap:35px}.articleAside{position:static}.relatedGrid{grid-template-columns:1fr 1fr}}
@media(max-width:1100px){.blogHero p{max-width:760px;white-space:normal}}
@media(max-width:720px){.blogHero{padding:48px 22px 39px}.blogHero h1{font-size:37px}.blogCategoryBar{padding:13px 22px}.blogMain{width:calc(100% - 34px);margin:30px auto 58px}.blogFeatured{display:block}.blogFeaturedImage{min-height:0;height:230px}.blogFeaturedContent{padding:25px}.blogFeatured h2{font-size:24px}.blogGrid{grid-template-columns:1fr}.blogCard figure{height:215px}.articleHeader{padding:42px 22px 30px}.articleHeader h1{font-size:38px}.articleLead{font-size:14px}.articleCover{width:calc(100% - 34px);margin-top:20px;border-radius:14px}.articleLayout{width:calc(100% - 38px);margin:35px auto 57px}.articleContent{font-size:15px}.articleContent h2{font-size:27px}.relatedSection{padding:49px 20px 58px}.relatedGrid{grid-template-columns:1fr}}
