@font-face{font-family:'Lora';src:url('lora.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}@font-face{font-family:'DM Sans';src:url('dm-sans.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
:root{--primary:#8D1644;--primary-hover:#681033;--secondary:#F4A6C1;--tool:#A8D8ED;--ink:#291927;--paper:#FFFFFF;--space:8px;--radius-surface:0;--radius-control:8px;--radius-pill:999px;--s0:18px;--s1:22.5px;--s2:28.125px;--s3:35.156px;--s4:43.945px;--s5:54.932px;--s6:68.665px;--s7:85.831px;--s8:107.288px;--serif:'Lora',serif;--sans:'DM Sans',sans-serif}
*{box-sizing:border-box}html{scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--s0)/1.6 var(--sans)}[hidden]{display:none!important}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:6px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:5px}::selection{background:var(--ink);color:var(--paper)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.12;text-wrap:balance}h1{font-size:clamp(var(--s4),6.8vw,var(--s8));letter-spacing:-.045em}h2{font-size:clamp(var(--s3),4vw,var(--s5));letter-spacing:-.035em}h3{font-size:var(--s3);letter-spacing:-.025em}p+p{margin-top:24px}.wrap{max-width:1312px;margin:auto;padding:0 40px}.section{padding:80px 0}.section-title{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:40px}.kicker{font:600 14px/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;margin-bottom:24px}.lead{font-size:var(--s1);line-height:1.5;max-width:48ch}.meta{font-size:14px;line-height:1.6}.white{background:var(--paper);color:var(--ink)}.rose{background:var(--secondary);color:var(--ink)}.wine{background:var(--primary);color:var(--paper)}.blue{background:var(--tool);color:var(--ink)}.flow>*+*{margin-top:24px}.site-head{background:var(--paper);color:var(--ink);position:relative;z-index:5}.head-top{display:flex;justify-content:space-between;align-items:center;padding-top:24px;padding-bottom:24px;gap:24px}.brand{font:500 32px/1 var(--serif);letter-spacing:-.04em;text-decoration:none;min-height:44px;display:flex;align-items:center;gap:8px}.brand span{color:var(--primary);font-size:40px}.head-note{font-size:14px}.menu-button{min-height:48px;padding:8px 24px;background:var(--paper);color:var(--ink);border:1px solid var(--ink);border-radius:var(--radius-pill);cursor:pointer}.nav{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.nav-inner{display:flex;justify-content:space-between;gap:24px}.nav a{font-size:14px;line-height:1.4;max-width:215px;text-decoration:none;padding:16px 0;display:flex;align-items:center;min-height:56px}.nav a:hover,.nav a[aria-current=page]{text-decoration:underline}.menu-button{display:none}.skip{position:absolute;top:-100px;left:16px;z-index:10;background:var(--paper);padding:16px}.skip:focus{top:16px}.hero{display:grid;grid-template-columns:1.22fr 1fr;min-height:600px}.hero-copy{padding:64px max(40px,calc((100vw - 1232px)/2));padding-right:40px;display:flex;flex-direction:column;align-items:start;justify-content:center;gap:24px}.hero-copy .kicker{margin:0}.hero-copy h1{max-width:9ch}.hero-copy .lead{max-width:30ch}.hero-art{display:grid;place-content:center;position:relative;min-width:0;padding:40px;isolation:isolate}.vow{display:grid;grid-template-columns:auto auto;align-items:center;justify-content:center;gap:0 16px;font-family:var(--serif);color:var(--primary)}.vow-word{font-size:clamp(64px,7.5vw,112px);line-height:1.15;letter-spacing:-.06em}.vow-amp{font-size:clamp(140px,15vw,224px);grid-row:1/3;grid-column:2;line-height:1}.vow-word:last-child{grid-column:1}.art-caption{margin-top:32px;text-align:center;font-size:14px;letter-spacing:.08em;text-transform:uppercase}.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:16px;border:1px solid var(--primary);border-radius:var(--radius-pill);padding:12px 24px;background:var(--primary);color:var(--paper);font:600 16px/1.5 var(--sans);cursor:pointer;text-decoration:none}.btn:hover,.btn.demo-hover{background:var(--primary-hover);border-color:var(--primary-hover);color:var(--paper)}.btn:active,.btn.demo-active{background:var(--ink);border-color:var(--ink);color:var(--paper);transform:translateY(2px)}.btn--secondary{background:var(--paper);color:var(--primary)}.btn--ghost{background:transparent;color:inherit;border-color:currentColor}.btn--ghost:hover{background:var(--paper);color:var(--primary);border-color:var(--paper)}.btn:disabled{background:var(--paper);color:var(--ink);border-style:dashed;cursor:not-allowed}.btn.demo-focus{outline:3px solid var(--ink);outline-offset:5px}.actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.text-link{display:inline-flex;align-items:center;gap:24px;min-height:44px;font-size:16px;font-weight:600}.text-link span{display:inline-block}.intro-strip{padding:24px 0}.intro-strip .wrap{display:flex;justify-content:space-between;gap:24px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.article-card{display:block;text-decoration:none;min-width:0}.card-visual{padding:32px;min-height:176px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.card-word{font:500 var(--s5)/1.1 var(--serif);letter-spacing:-.04em}.card-mark{font:400 var(--s6)/1 var(--serif)}.article-card h3{margin:8px 0 16px}.article-card:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}.article-card .meta{display:block}.category-list{display:grid;grid-template-columns:1fr 1fr;gap:0 64px;margin-top:32px}.category-card{display:flex;justify-content:space-between;gap:24px;padding:24px 0;border-bottom:1px solid currentColor;text-decoration:none;align-items:center;min-height:100px}.category-card strong{font:500 var(--s2)/1.2 var(--serif)}.category-card .arrow{font-size:28px}.category-card:hover strong{text-decoration:underline;text-underline-offset:6px}.atelier{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px}.atelier-copy h2{margin-bottom:24px}.atelier-copy .vow{justify-content:start;margin:32px 0}.atelier-copy .vow-word{font-size:54px}.atelier-copy .vow-amp{font-size:120px}.form-grid{display:grid;gap:24px}label{display:block;font-weight:600;margin-bottom:8px}input,textarea,select{width:100%;min-height:48px;background:var(--paper);color:var(--ink);border:1px solid var(--ink);border-radius:var(--radius-control);padding:12px 16px}textarea{min-height:104px;resize:vertical}.help{font-size:14px;margin-top:8px}.result{background:var(--paper);color:var(--ink);padding:32px;margin-top:32px;border-radius:var(--radius-control)}.result h3{margin-bottom:24px}.result p{white-space:pre-wrap;overflow-wrap:anywhere}.result .actions{margin-top:24px}.status{min-height:28px;margin-top:16px;font-size:16px;font-weight:600}.empty{padding:40px;background:var(--paper);color:var(--ink);border:1px dashed var(--ink)}.empty h3{margin-bottom:16px}.breadcrumb{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:14px;align-items:center;margin-bottom:32px}.breadcrumb a{display:inline-flex;align-items:center;min-height:44px}.headline{padding:64px 0}.headline h1{max-width:18ch}.headline .lead{margin-top:24px}.reading-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:64px}.reading{max-width:624px}.reading h2{font-size:var(--s4);margin:56px 0 24px}.reading h3{margin:32px 0 16px;font-size:var(--s2)}.reading p,.reading li{font-size:18px;line-height:1.6}.reading .lead{font-size:var(--s1)}.toc a{display:flex;align-items:center;min-height:48px;font-size:16px;padding:8px 0}.notice{border:1px solid currentColor;padding:16px 24px;margin-bottom:24px;font-size:14px}.byline{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:14px;margin-top:32px}.quote{font:500 var(--s3)/1.4 var(--serif);margin:32px 0;padding:32px;background:var(--secondary);color:var(--ink)}details{border-bottom:1px solid currentColor;padding:8px 0}summary{min-height:56px;padding:16px 40px 16px 0;cursor:pointer;font-weight:600}details p{padding:8px 0 24px}.pagination{display:flex;gap:8px;flex-wrap:wrap;margin-top:40px}.pagination a,.pagination span{min-width:48px;min-height:48px;padding:10px 16px;text-align:center;border:1px solid var(--ink);border-radius:var(--radius-control)}.pagination [aria-current]{background:var(--ink);color:var(--paper)}.site-footer{padding:48px 0}.footer-grid{display:flex;justify-content:space-between;gap:40px;align-items:start}.site-footer .brand span{color:var(--paper)}.site-footer p{font-size:14px;max-width:50ch;margin-top:24px}.footer-links{display:flex;flex-wrap:wrap;gap:16px 24px}.footer-links a{min-height:44px;display:inline-flex;align-items:center;font-size:14px}.swatch{padding:32px;min-height:144px;border:1px solid var(--ink);display:flex;flex-direction:column;justify-content:space-between}.token-table{width:100%;border-collapse:collapse;font-size:16px}.token-table td,.token-table th{padding:16px;text-align:left;border-bottom:1px solid var(--ink)}.table-scroll{overflow-x:auto}.type-specimen{padding:24px 0;border-bottom:1px solid var(--ink);overflow-wrap:anywhere}.type-specimen p{font-family:var(--serif);line-height:1.2}.ds-section{padding:56px 0}.ds-section>h2{margin-bottom:32px}.spec-label{font-size:14px;margin-bottom:16px}.states{display:flex;flex-wrap:wrap;gap:24px}.states>div{padding:8px}.utility{padding:24px;border:1px solid var(--ink)}.radius-control{border-radius:var(--radius-control)}.radius-pill{border-radius:var(--radius-pill)}.error-hero{min-height:55vh;display:flex;align-items:center}.error-hero .wrap{width:100%}.error-hero h1{max-width:14ch;margin-bottom:24px}.error-hero .actions{margin-top:32px}.review-video{width:100%;height:auto;background:var(--ink)}
.section-heading{margin-bottom:32px}input::placeholder,textarea::placeholder{color:var(--ink);opacity:1}
.empty .text-link{margin-right:24px}.nav-link[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px}.reading section+section{margin-top:40px}
@media(prefers-reduced-motion:no-preference){
 .section.in-view>.wrap,.ds-section.in-view{animation:section-rise .85s cubic-bezier(.2,.7,.2,1) both}
 .category-card.in-view,.article-card.in-view{animation:card-arrival .7s cubic-bezier(.2,.7,.2,1) both}
 .category-card:nth-child(2n).in-view{animation-delay:.08s}
 .category-card{transition:background-color .25s,padding .3s}
 .category-card:hover,.category-card:focus-visible{background:var(--secondary);padding-left:16px;padding-right:16px}
 .vow{transition:translate .45s}.vow:hover{translate:0 -8px}
 .vow-amp{rotate:var(--turn,0deg);transition:scale .45s,rotate .3s}
 .vow:hover .vow-amp{scale:1.1;rotate:8deg}
 .vow-word{transition:translate .45s}.vow:hover .vow-word:first-child{translate:-8px 0}.vow:hover .vow-word:last-child{translate:8px 0}
 .headline.archive h1{animation:rubric-arrival .7s cubic-bezier(.2,.7,.2,1) both}
 @keyframes section-rise{from{transform:translateY(36px)}to{transform:translateY(0)}}
 @keyframes card-arrival{from{transform:translateY(28px)}to{transform:translateY(0)}}
 @keyframes rubric-arrival{from{transform:translateY(24px)}to{transform:translateY(0)}}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.vow,.vow-word,.vow-amp{transform:none!important;translate:none!important;rotate:none!important;scale:none!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}

@media(prefers-reduced-motion:no-preference){a,button,summary{transition:background-color .2s,color .2s,transform .2s,text-decoration-color .2s}.text-link:hover span,.category-card:hover .arrow{transform:translateX(6px)}.text-link span,.arrow{transition:transform .25s}.article-card .card-visual{transition:transform .3s}.article-card:hover .card-visual{transform:translateY(-4px)}.hero .vow-word:first-child{animation:join-left 1.2s ease-out both}.hero .vow-word:last-child{animation:join-right 1.2s ease-out both}.hero .vow-amp{animation:join-amp 1.2s ease-out both}.vow{transform:translateY(var(--shift,0px))}.in-view h2{animation:section-arrival .6s ease-out}@keyframes join-left{from{transform:translateX(-24px)}to{transform:translateX(0)}}@keyframes join-right{from{transform:translateX(24px)}to{transform:translateX(0)}}@keyframes join-amp{from{transform:rotate(-12deg) scale(.9)}to{transform:rotate(0) scale(1)}}@keyframes section-arrival{from{transform:translateY(16px)}to{transform:translateY(0)}}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.18s}}
@media(max-width:900px){.head-note{display:none}.wrap{padding-left:24px;padding-right:24px}.hero-copy{padding:48px 24px}.hero{min-height:500px}.hero h1{font-size:var(--s6)}.vow-word{font-size:64px}.vow-amp{font-size:144px}.hero-art{padding:24px}.grid{gap:24px}.atelier{gap:32px}.reading-layout{grid-template-columns:180px minmax(0,1fr);gap:32px}}
@media(max-width:680px){.wrap{padding-left:24px;padding-right:24px}.head-top{padding-top:16px;padding-bottom:16px}.brand{font-size:28px}.brand span{font-size:32px}.menu-button{display:inline-flex;align-items:center}.nav-inner{display:block;padding-top:8px;padding-bottom:8px}.nav a{max-width:none;padding:12px 0;font-size:16px;min-height:48px}.js .nav[data-mobile-closed]{display:none}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:40px 24px;gap:24px}.hero h1{font-size:var(--s5);max-width:11ch}.hero .lead{font-size:18px}.hero-art{padding:24px;min-height:280px}.vow{gap:0 24px}.vow-word{font-size:72px}.vow-amp{font-size:160px}.art-caption{margin-top:16px}.section{padding:48px 0}.section-title{display:block;margin-bottom:32px}.section-title .text-link{margin-top:16px}.intro-strip .wrap{display:block}.intro-strip p+p{margin-top:8px}.grid,.grid--two,.category-list,.atelier,.reading-layout{grid-template-columns:1fr}.grid{gap:40px}.card-visual{min-height:144px;padding:24px}.category-list{gap:0}.category-card{min-height:96px}.atelier{gap:32px}.atelier-copy .vow{display:none}.headline{padding:40px 0}.headline h1{font-size:var(--s4)}.headline .lead{font-size:18px}.reading h2{font-size:var(--s3)}.reading-layout{gap:40px}.toc{border-bottom:1px solid var(--ink);padding-bottom:24px}.quote{padding:24px;font-size:var(--s2)}.footer-grid{display:block}.footer-links{margin-top:24px}.ds-section{padding:40px 0}.type-specimen p{font-size:min(var(--sample),52px)!important}.empty,.result{padding:24px}.token-table td,.token-table th{padding:8px;font-size:14px}.btn{max-width:100%;white-space:normal}.actions{gap:16px}.section-title h2{max-width:14ch}.error-hero{padding:56px 0}.error-hero h1{font-size:var(--s5)}}
/* 29/09/2026 : contenu WordPress reel. Sous 680 px, `1fr` ne descend pas sous la largeur min. du contenu (tableaux) : debordement de 63 a 101 px mesure sur 5 articles. */
@media(max-width:680px){.reading-layout{grid-template-columns:minmax(0,1fr)}}.reading{min-width:0;overflow-wrap:break-word}.reading figure,.reading .wp-block-table{max-width:100%;overflow-x:auto}.reading table{display:block;max-width:100%;overflow-x:auto}
/* 29/09/2026 : image a la une des articles (1280x720 de Garuda), 16:9, pleine largeur de la grille de lecture. */
.article-hero{margin:0 0 56px}.article-hero img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:var(--secondary)}@media(max-width:680px){.article-hero{margin-bottom:40px}}
/* 29/09/2026 : cartes d'article avec l'image a la une (le « & » reste le repli sans image). */
.card-visual--image{padding:0;display:block;aspect-ratio:16/9;min-height:0;overflow:hidden}.card-visual--image img{display:block;width:100%;height:100%;object-fit:cover}
/* 29/09/2026 : pages legales (texte WordPress) et formulaire Contact (Turnstile). */
.legal img{max-width:100%;height:auto}.contact-form{display:grid;gap:24px;margin:40px 0 16px}.contact-form label{display:grid;gap:8px;font-weight:600;font-size:16px}.contact-form input,.contact-form textarea{font-weight:400}.contact-form textarea{min-height:192px;resize:vertical}.contact-form .btn{justify-self:start}.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-status{margin:32px 0;padding:16px 24px;border-left:4px solid var(--primary);font-weight:600}
