@font-face{font-family:Dosis;src:url('dosis.woff2') format('woff2');font-weight:400 800;font-display:swap}@font-face{font-family:Literata;src:url('literata.woff2') format('woff2');font-weight:400 600;font-display:swap}
:root{--primary:#193cc5;--secondary:#192331;--accent:#ffe169;--paper:#fff;--quiet:#535963;--line:#c4c8d1;--soft:#ececec;--surface:24px;--control:8px;--pill:999px;--unit:8px;--step0:18px;--step1:22.5px;--step2:28.125px;--step3:35.156px;--step4:43.945px;--step5:54.932px;--step6:68.665px;--step7:85.831px;--step8:107.288px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--secondary);font:400 var(--step0)/1.65 Literata,serif}h1,h2,h3,h4,button,label,nav,.kicker,.brand,.meta,.button,.tag,summary,.numeral{font-family:Dosis,sans-serif}h1,h2,h3,h4{font-weight:800;line-height:1.04;margin:0 0 24px;text-wrap:balance}h1{font-size:clamp(var(--step5),7.45vw,var(--step8));letter-spacing:-.025em}h2{font-size:clamp(var(--step4),4.5vw,var(--step6));letter-spacing:-.02em}h3{font-size:var(--step3)}p{margin:0 0 24px}a{color:inherit;text-underline-offset:5px}a:hover{text-decoration-thickness:3px}button,input{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--secondary);outline-offset:5px}.blue a:focus-visible,.blue button:focus-visible{outline-color:var(--accent)}[hidden]{display:none!important}img{max-width:100%;height:auto;display:block}.wrap{max-width:1328px;margin:auto;padding:0 48px}.section{padding-block:80px}.skip{position:absolute;left:16px;top:-120px;background:white;padding:16px;z-index:20}.skip:focus{top:16px}.site-header{background:white;border-bottom:1px solid var(--line)}.header-inner{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{text-decoration:none;display:flex;gap:12px;align-items:center;font-weight:800;font-size:28px;line-height:.95}.brand b{font-size:62px;letter-spacing:-5px;color:var(--primary)}.brand span{max-width:110px}.header-note{font:600 18px/1.35 Dosis,sans-serif;color:var(--quiet);margin:0;max-width:160px}.nav-toggle{background:white;border:1px solid var(--secondary);border-radius:var(--pill);padding:12px 24px;font:700 20px Dosis;min-height:48px}.nav-toggle:hover{background:var(--secondary);color:white}.nav-panel{border-top:1px solid var(--line);padding:24px 0}.nav-panel .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 24px}.nav-panel a{padding:12px 0;font-size:22px;font-weight:600}.hero{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding-block:64px 72px}.hero h1{color:var(--primary)}.hero-copy p{max-width:33ch}.kicker{font-size:18px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;display:block;margin:0 0 24px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:52px;padding:12px 24px;border:2px solid transparent;border-radius:var(--pill);text-decoration:none;font-size:20px;font-weight:700;background:var(--primary);color:white}.button:hover,.button.is-hover{background:var(--secondary)}.button:active,.button.is-active{transform:translateY(2px);background:var(--secondary)}.button.is-focus{outline:3px solid var(--secondary);outline-offset:4px}.button:disabled{background:var(--soft);color:var(--quiet);border-color:var(--line)}.button.light{background:white;color:var(--primary)}.button.light:hover{background:var(--accent);color:var(--secondary)}.button.secondary{border-color:var(--primary);background:white;color:var(--primary)}.button.secondary:hover{background:var(--soft)}.hero-visual{position:relative;min-width:0}.hero-visual img{aspect-ratio:1/1.1;object-fit:cover;border-radius:50% 50% var(--surface) var(--surface)}.plate-caption{background:var(--primary);color:white;padding:24px;border-radius:var(--surface);margin:-56px 24px 0;position:relative}.plate-caption a{font:700 28px/1.15 Dosis;display:block;margin-bottom:8px;text-decoration:none}.plate-caption .meta{color:white}.three-b{display:flex;gap:0;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.three-b span{flex:1;padding:24px 16px;font:700 26px/1.2 Dosis;display:flex;align-items:center;justify-content:center;gap:16px}.three-b b{font-size:48px;color:var(--primary)}.three-b span+span{border-left:1px solid var(--line)}.section-title{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:32px}.section-title h2{margin:0}.section-title a{font:700 20px Dosis;min-height:44px;display:flex;align-items:center}.editorial{display:grid;grid-template-columns:1.05fr 1fr;gap:64px}.feature-photo{border-radius:var(--surface);overflow:hidden}.feature-photo img{aspect-ratio:1.5;object-fit:cover}.feature-photo a{display:block}.feature-title{font-size:var(--step4);margin:24px 0 16px}.feature-title a{text-decoration:none}.story-list{display:flex;flex-direction:column}.story{padding:24px 0;border-bottom:1px solid var(--line)}.story:first-child{padding-top:0}.story h3{font-size:var(--step3);margin:8px 0 12px}.story h3 a{text-decoration:none}.story a:hover,.feature-title a:hover{text-decoration:underline}.meta{font-size:18px;font-weight:600;color:var(--quiet);line-height:1.4}.demo-note{font:600 16px/1.4 Dosis;color:var(--quiet)}.blue{background:var(--primary);color:white}.tool-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px}.tool-intro p{max-width:31ch}.tool{background:white;color:var(--secondary);padding:32px;border-radius:var(--surface)}.tool h3{font-size:var(--step3)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}label{display:block;font-weight:700;font-size:20px}input{min-height:48px;min-width:0;width:100%;border:1px solid var(--quiet);border-radius:var(--control);background:white;color:var(--secondary);padding:8px 12px;font:600 20px Dosis}.stepper{display:flex;align-items:center;gap:8px}.stepper input{text-align:center}.stepper button{width:48px;min-width:48px;height:48px;border-radius:var(--pill);border:0;background:var(--primary);color:white;font:600 26px Dosis}.stepper button:hover{background:var(--secondary)}.ingredient{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:8px;align-items:center;padding:16px 0;border-top:1px solid var(--line)}.ingredient input[type=checkbox]{width:44px;height:44px;min-height:44px;accent-color:var(--primary)}.ingredient label{overflow-wrap:anywhere;cursor:pointer;min-height:44px;display:flex;align-items:center}.ingredient:has(:checked) label{text-decoration:line-through;color:var(--quiet)}.ingredient output{text-align:right;font:700 26px Dosis;white-space:nowrap}.tool-status{font:600 18px/1.4 Dosis;color:var(--primary);margin:16px 0}.tool small{display:block;font:400 16px/1.5 Literata}.serving-visual{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px;max-width:320px}.serving-visual i{width:40px;height:40px;border:6px double white;border-radius:50%;display:block}.categories{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}.category-link{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);min-height:100px;font:700 30px/1.15 Dosis;text-decoration:none;padding:24px 0;gap:24px}.category-link:hover{color:var(--primary)}.category-link span{font-size:32px}.about{background:var(--soft);border-radius:var(--surface);padding:40px;display:grid;grid-template-columns:1fr 1fr;gap:48px}.about h2{font-size:var(--step5)}.about p{margin:0}.footer{padding:48px 0;background:var(--secondary);color:white}.footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:32px}.footer .brand b{color:var(--accent)}.footer p{font:400 18px Dosis;margin:0;max-width:320px}.crumb{font:600 18px/1.5 Dosis;padding:24px 0}.crumb a{display:inline-flex;align-items:center;min-height:44px}.headline{max-width:1000px;padding:32px 0 48px}.headline h1{font-size:clamp(var(--step5),6vw,var(--step7));color:var(--primary)}.headline p{max-width:56ch}.article-head{max-width:1080px}.article-head h1{max-width:18ch}.article-photo{width:100%;max-height:640px;object-fit:cover;border-radius:var(--surface)}.article-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:64px;margin-top:56px}.article-grid aside{font:600 20px/1.5 Dosis}.article-grid aside a{display:block;padding:12px 0}.prose{max-width:70ch;font-size:18px;line-height:1.65}.prose h2{font-size:var(--step4);margin-top:48px}.prose h3{font-size:var(--step3);margin-top:32px}.prose .fictitious{border:2px solid var(--primary);border-radius:var(--control);padding:24px;font-family:Dosis;font-size:22px;font-weight:600}.prose li{margin-bottom:16px}details{border-bottom:1px solid var(--line);padding:16px 0}summary{cursor:pointer;font-size:22px;font-weight:700;min-height:44px;padding:8px 0}details p{margin:16px 0}.empty{padding:48px;background:var(--soft);border-radius:var(--surface)}.empty h3{font-size:var(--step3)}.error-layout{padding:80px 0;display:grid;grid-template-columns:.6fr 1fr;gap:64px;align-items:center}.error-code{font:800 clamp(120px,20vw,250px)/1 Dosis;color:var(--primary);letter-spacing:-.04em}.error-layout h1{font-size:var(--step6)}.swatches{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.swatch{padding:24px;border-radius:var(--control);border:1px solid var(--line);min-height:180px}.swatch strong{font:700 24px Dosis;display:block}.swatch p{margin:8px 0 0;font:600 18px/1.4 Dosis}.ds-section{padding:56px 0;border-top:1px solid var(--line)}.ds-section h2{font-size:var(--step5)}.states{display:flex;flex-wrap:wrap;gap:24px;align-items:center}.ds-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.token-table{border-collapse:collapse;width:100%;font:600 18px/1.5 Dosis}.token-table td,.token-table th{text-align:left;padding:12px;border-bottom:1px solid var(--line)}.type-sample{overflow-wrap:anywhere;font-family:Dosis;line-height:1.1;margin:24px 0}.page-nav{display:flex;gap:8px;margin:32px 0;flex-wrap:wrap}.page-nav button{width:48px;height:48px;background:white;color:var(--primary);border:1px solid var(--primary);border-radius:var(--control);font:700 20px Dosis}.page-nav button[aria-current]{background:var(--primary);color:white}.page-nav button:disabled{border-color:var(--line);color:var(--quiet)}.review-links{display:flex;gap:12px;flex-wrap:wrap}.review-links a{padding:12px 16px;min-height:48px;border:1px solid var(--line);border-radius:var(--control);font:700 20px Dosis}.notice{background:var(--soft);padding:12px 24px;font:600 16px/1.4 Dosis}.reveal{opacity:1}
@media(prefers-reduced-motion:no-preference){a,button,.category-link{transition:background .2s,color .2s,transform .2s}.hero-visual{animation:arrive .8s both}.hero-copy h1{animation:words .65s both}.hero-copy .button:hover{transform:translateX(4px)}.three-b span:hover b{transform:rotate(-9deg)}.three-b b{transition:transform .2s}.serving-visual i{animation:plate .3s both}.tool.changed output{animation:quantity .45s}.feature-photo img{transition:transform .5s}.feature-photo:hover img{transform:scale(1.035)}.reveal.seen{animation:arrive .55s both}@keyframes arrive{from{transform:translateY(24px)}to{transform:translateY(0)}}@keyframes words{from{transform:translateX(-16px)}to{transform:translateX(0)}}@keyframes plate{from{transform:scale(.6)}to{transform:scale(1)}}@keyframes quantity{50%{transform:translateY(-5px);color:var(--primary)}}}
@media(max-width:850px){.wrap{padding-inline:24px}.header-inner{min-height:96px;gap:16px}.header-note{display:none}.brand{font-size:24px}.brand b{font-size:52px}.nav-panel .wrap{grid-template-columns:1fr}.hero{grid-template-columns:1fr;gap:32px;padding-block:40px}.hero h1{font-size:var(--step5);max-width:none}.hero-copy p{font-size:18px;max-width:33ch}.hero-visual{max-width:540px;width:100%;margin:auto}.hero-visual img{aspect-ratio:1.15}.plate-caption{padding:24px;margin:-40px 16px 0}.three-b{align-items:stretch}.three-b span{padding:20px 8px;flex-direction:column;gap:8px;font-size:20px;text-align:center}.three-b b{font-size:38px}.section{padding-block:56px}.section-title{align-items:start;flex-direction:column;gap:16px}.editorial,.tool-layout,.about,.ds-grid{grid-template-columns:1fr;gap:32px}.tool{padding:24px}.fields{gap:16px}.stepper{gap:4px}.stepper button{width:44px;min-width:44px;height:44px}.stepper input{padding:8px 0}.categories{grid-template-columns:1fr}.category-link{font-size:28px;min-height:88px}.about{padding:32px}.footer .wrap{align-items:start;flex-direction:column}.article-grid{grid-template-columns:1fr;gap:24px}.article-grid aside{border-bottom:1px solid var(--line);padding-bottom:16px}.headline{padding-top:16px}.headline h1{font-size:var(--step5)}.article-head h1{max-width:none}.error-layout{grid-template-columns:1fr;gap:24px;padding:48px 0}.error-code{font-size:150px}.error-layout h1{font-size:var(--step5)}.swatches{grid-template-columns:1fr 1fr;gap:16px}.swatch{padding:16px}.swatch strong{font-size:22px}.type-sample{max-width:100%}.empty{padding:24px}.ds-section{padding:40px 0}}
@media(max-width:370px){.wrap{padding-inline:16px}.hero h1{font-size:var(--step5)}.fields{grid-template-columns:1fr}.swatches{grid-template-columns:1fr}}

/* Phase B additions: content/contact states only. Phase A geometry and tokens unchanged. */
.hero-empty .categories{grid-template-columns:1fr}.hero-empty .category-link{font-size:var(--step2);min-height:72px}.hero-empty{border-radius:var(--surface);padding:24px;background:var(--soft)}
.story .feature-photo{margin-bottom:16px;max-height:240px;overflow:hidden}.story .feature-photo img{width:100%;aspect-ratio:16/9;object-fit:cover}.footer nav{display:flex;flex-wrap:wrap;gap:8px 24px}.footer nav a{display:inline-flex;align-items:center;min-height:44px}.footer .wrap{flex-wrap:wrap}.prose{overflow-wrap:anywhere}.prose figure{margin-inline:0}.prose table{display:block;overflow-x:auto}.legal{max-width:70ch}.contact-form{display:grid;gap:24px;margin-block:32px}.contact-form label{display:grid;gap:8px;font-weight:700}.contact-form input,.contact-form textarea{width:100%;min-height:48px;padding:12px;border:1px solid var(--quiet);border-radius:var(--control);font:inherit;background:var(--paper);color:var(--secondary)}.contact-form textarea:focus-visible{outline:3px solid var(--primary);outline-offset:4px}.contact-form .button{justify-self:start}.contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.contact-status{padding:24px;background:var(--soft);border-left:4px solid var(--primary)}.pagination{display:flex;flex-wrap:wrap;gap:24px;margin-block:32px}.headline h1,.story h3{overflow-wrap:anywhere}.prose strong{font-weight:600}.tool .custom input{min-width:0}.cf-turnstile{max-width:100%}
.about{margin-bottom:64px}
/* Relecture sur vrais articles (30/09/2026). Liste : l'article en tete sur toute la largeur, les suivants en grille.
   Avant, une colonne d'articles a droite laissait la moitie gauche vide sur des milliers de pixels. */
.editorial{display:block}.feature{display:grid;grid-template-columns:1.05fr 1fr;gap:32px 64px;align-items:center}.feature:not(:has(.feature-photo)){grid-template-columns:1fr}.feature:not(:last-child){margin-bottom:56px;padding-bottom:56px;border-bottom:1px solid var(--line)}.feature-body .feature-title{margin-top:12px}.feature-body p{margin:16px 0 0}
.story-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px}.story-list .story,.story-list .story:first-child{padding:0 0 24px}.story-list .story h3{font-size:var(--step2);line-height:1.12}
@media(max-width:1100px){.story-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.feature{grid-template-columns:1fr;gap:16px}.feature:not(:last-child){margin-bottom:40px;padding-bottom:40px}.story-list{grid-template-columns:1fr;gap:32px}}
/* Encarts et tableaux des articles : le HTML de WordPress arrive sans style (attribut style retire par l'assainissement). */
.prose .tldr,.prose .key-takeaway{margin:0 0 32px;padding:24px;border-radius:var(--control);background:var(--soft);border-left:4px solid var(--primary)}.prose .key-takeaway{background:#fff8dc;border-left-color:var(--accent)}.prose .tldr>:last-child,.prose .key-takeaway>:last-child{margin-bottom:0}
.prose blockquote{margin:0 0 32px;padding:8px 0 8px 24px;border-left:4px solid var(--line)}.prose blockquote>:last-child{margin-bottom:0}
.prose table{margin:0 0 32px;border-collapse:collapse;max-width:100%;overflow-wrap:normal;font:500 18px/1.4 Dosis,sans-serif}.prose th,.prose td{min-width:9em;padding:12px 16px 12px 0;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.prose thead th{font-weight:700;border-bottom:2px solid var(--secondary)}
/* Sans minmax(0,…), la colonne mobile s'elargit au tableau et la page deborde (mesure : 120 a 282 px a 390). */
.related{margin-top:64px;border-top:1px solid var(--line)}.related h2{font-size:var(--step4)}
.article-head+img{width:100%;max-height:640px;object-fit:cover;border-radius:var(--surface)}
.prose{min-width:0}@media(max-width:850px){.article-grid{grid-template-columns:minmax(0,1fr)}}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
