
body.puzzl-page{margin:0;background:#f7f5f1;overflow-x:hidden}
body.puzzl-page #wrapwrap{background:transparent;overflow:visible}
body.puzzl-page #wrapwrap>main{display:block}
.puzzl-site .container{max-width:none;padding-left:0;padding-right:0}
.puzzl-site #wrap{background:transparent;min-height:0}
.puzzl-site .s_website_form_field{margin-bottom:19px}
.puzzl-site .s_website_form_label{margin-bottom:0;width:auto!important}
.puzzl-site .s_website_form_input{margin-top:8px}
.puzzl-site .s_website_form_end_message{padding:28px 0}
.puzzl-site .s_website_form_end_message.d-none{display:none!important}
.puzzl-site .form-control{box-shadow:none}
.puzzl-site .s_website_form_send{width:100%}
.puzzl-site .s_website_form_submit #s_website_form_result{display:block;font-size:14px;margin-top:12px}
.puzzl-site [data-oe-model][contenteditable=true]{min-height:1em}
.puzzl-editor-block{padding:64px 0}
body.editor_enable .puzzl-site .site-header{position:relative}

.puzzl-site .puzzl-library-more{margin-top:35px}
.puzzl-site .puzzl-library-search{max-width:700px;margin-top:32px}
.puzzl-site .puzzl-library-search>label{display:block;color:#c9c7d1;font-size:14px;margin-bottom:12px}
.puzzl-site .puzzl-library-search>div{display:flex;gap:12px;align-items:center}
.puzzl-site .puzzl-library-search input{margin:0;flex:1;min-width:0}
.puzzl-site .puzzl-library-search .button{background:#bd2641;color:white;border:0}
.puzzl-site .pagination{display:flex;gap:8px;margin-top:40px}
.puzzl-site .page-link{background:transparent;color:inherit;border-color:#45404f}
.puzzl-site .page-item.active .page-link{background:#bd2641;border-color:#bd2641;color:white}
@media(max-width:600px){.puzzl-site .puzzl-library-search>div{flex-direction:column;align-items:stretch}}

/* Puzzl : une typographie commune, conçue pour les contenus comptables longs. */
@font-face{font-family:'Puzzl Plex';font-style:normal;font-weight:100 700;font-display:swap;src:url('/puzzl_site_preview/static/public/fonts/puzzl-plex-sans-normal.woff2') format('woff2')}
@font-face{font-family:'Puzzl Plex';font-style:italic;font-weight:100 700;font-display:swap;src:url('/puzzl_site_preview/static/public/fonts/puzzl-plex-sans-italic.woff2') format('woff2')}
:is(body.dark-page,.puzzl-site){--font:'Puzzl Plex',sans-serif;--display:'Puzzl Plex',sans-serif;--serif:'Puzzl Plex',sans-serif;font-family:var(--font);font-weight:400;letter-spacing:0;font-kerning:normal}
:is(body.dark-page,.puzzl-site) :is(h1,h2,h3,h4,.button,.main-nav,.footer-invite){font-family:var(--display)}
:is(body.dark-page,.puzzl-site) :is(h1,h2,h3){font-weight:600;letter-spacing:-.025em;text-wrap:balance}
:is(body.dark-page,.puzzl-site) p{letter-spacing:0}
:is(body.dark-page,.puzzl-site) :is(input,select,textarea,button){font-family:var(--font)}
:is(body.dark-page,.puzzl-site) .main-nav>a:not(.button){font-size:15px;font-weight:500}
:is(body.dark-page,.puzzl-site) .button{font-size:15px;font-weight:600;letter-spacing:0}
:is(body.dark-page,.puzzl-site) :is(.page-hero h1,.page-hero .wide-title,.service-hero h1,.article-header h1){font-size:clamp(38px,4.5vw,64px);line-height:1.12;letter-spacing:-.03em}
:is(body.dark-page,.puzzl-site) :is(.page-intro,.article-header .page-intro){font-size:21px;line-height:1.65;font-weight:400;max-width:65ch;color:#ced2df}
:is(body.dark-page,.puzzl-site) .article-header{padding-bottom:56px}
:is(body.dark-page,.puzzl-site) .article-header h1{max-width:24ch;margin-bottom:24px}
:is(body.dark-page,.puzzl-site) :is(.article-byline,.resource-meta){font-size:14px;line-height:1.6;color:#b9c1d3}
:is(body.dark-page,.puzzl-site) .article-layout{display:grid;grid-template-columns:220px minmax(0,760px);gap:72px;justify-content:center;padding-bottom:96px}
:is(body.dark-page,.puzzl-site) .article-content{min-width:0;grid-column:2;grid-row:1}
:is(body.dark-page,.puzzl-site) .article-toc{grid-column:1;grid-row:1}
:is(body.dark-page,.puzzl-site) .article-content :is(p,li){font-size:19px;line-height:1.8;font-weight:400;max-width:68ch;color:#d4d8e3;letter-spacing:0}
:is(body.dark-page,.puzzl-site) .article-content p{margin:0 0 1.3em}
:is(body.dark-page,.puzzl-site) .article-content li{margin-bottom:.65em;padding-left:.2em}
:is(body.dark-page,.puzzl-site) .article-content :is(ul,ol){padding-left:1.3em;margin:1.25em 0 1.75em}
:is(body.dark-page,.puzzl-site) .article-content h2{font-size:32px;line-height:1.25;font-weight:600;letter-spacing:-.02em;margin:0 0 24px;text-wrap:balance}
:is(body.dark-page,.puzzl-site) .article-content section{margin-bottom:56px;scroll-margin-top:110px}
:is(body.dark-page,.puzzl-site) .article-content h3{font-size:24px;line-height:1.35;margin:32px 0 16px}
:is(body.dark-page,.puzzl-site) .article-content strong{font-weight:600;color:#f3f5fb}
:is(body.dark-page,.puzzl-site) .article-toc>span{font-size:15px;font-weight:600;letter-spacing:0;color:#f3f5fb}
:is(body.dark-page,.puzzl-site) .article-toc nav a{font-size:14px;line-height:1.5;color:#bfc8d9;padding-block:7px}
:is(body.dark-page,.puzzl-site) .resource-guide h3{font-size:29px;line-height:1.25;font-weight:600;letter-spacing:-.02em;max-width:32ch}
:is(body.dark-page,.puzzl-site) .resource-guide>p{font-size:17px;line-height:1.75;color:#c7cede;max-width:57ch}
:is(body.dark-page,.puzzl-site) .resource-read{font-size:15px;font-weight:500}
:is(body.dark-page,.puzzl-site) :is(.section-label,.eyebrow){font-size:14px;font-weight:500;letter-spacing:0}
:is(body.dark-page,.puzzl-site) :is(.service-context p,.service-work-rows p,.service-start p,.faq-list p,.offer-detail-panel p){font-size:17px;line-height:1.75}
:is(body.dark-page,.puzzl-site) .footer-grid a{font-size:14px;line-height:1.6}
@media(max-width:1000px){:is(body.dark-page,.puzzl-site) .article-layout{grid-template-columns:minmax(0,760px);gap:32px}:is(body.dark-page,.puzzl-site) .article-toc{position:static;max-width:none;grid-column:1;grid-row:1}:is(body.dark-page,.puzzl-site) .article-content{grid-column:1;grid-row:2}:is(body.dark-page,.puzzl-site) .article-toc nav{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}}
@media(max-width:600px){:is(body.dark-page,.puzzl-site) :is(.page-hero h1,.page-hero .wide-title,.service-hero h1,.article-header h1){font-size:37px;line-height:1.14}:is(body.dark-page,.puzzl-site) :is(.page-intro,.article-header .page-intro){font-size:19px;line-height:1.65}:is(body.dark-page,.puzzl-site) .article-header{padding-bottom:36px}:is(body.dark-page,.puzzl-site) .article-content :is(p,li){font-size:18px;line-height:1.75}:is(body.dark-page,.puzzl-site) .article-content h2{font-size:28px}:is(body.dark-page,.puzzl-site) .article-content section{margin-bottom:40px}:is(body.dark-page,.puzzl-site) .article-toc nav{grid-template-columns:1fr}:is(body.dark-page,.puzzl-site) .resource-guide h3{font-size:26px}:is(body.dark-page,.puzzl-site) .resource-guide>p{font-size:17px}}

/* Réorganisation : tailles lisibles et deux modes comptables distincts du pilotage. */
:is(body.dark-page,.puzzl-site) .site-header .main-nav>a:not(.button){font-size:15px;font-weight:500;letter-spacing:0}
:is(body.dark-page,.puzzl-site) .site-header .main-nav{gap:24px}
:is(body.dark-page,.puzzl-site) .offer-grid.offer-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
:is(body.dark-page,.puzzl-site) .offer-card{padding:34px;display:flex;flex-direction:column;min-width:0}
:is(body.dark-page,.puzzl-site) .offer-card h3{font-size:32px;line-height:1.15;font-weight:600;letter-spacing:-.03em;margin:20px 0}
:is(body.dark-page,.puzzl-site) .offer-card li,:is(body.dark-page,.puzzl-site) .offer-promise,:is(body.dark-page,.puzzl-site) .offer-result p{font-size:17px;line-height:1.65}
:is(body.dark-page,.puzzl-site) .offer-kind{font-size:14px;line-height:1.5;min-height:0;letter-spacing:0;text-transform:none;margin:0;color:#c8c6d5}
:is(body.dark-page,.puzzl-site) .offer-result span{font-size:14px;letter-spacing:0;text-transform:none}
:is(body.dark-page,.puzzl-site) .offer-card .offer-direct{display:flex;justify-content:space-between;gap:18px;font-size:17px;font-weight:600;margin-top:auto;padding-top:24px;border-top:1px solid #ffffff24}
:is(body.dark-page,.puzzl-site) .offer-credential{font-size:15px;line-height:1.65;margin-top:24px}
:is(body.dark-page,.puzzl-site) .pilotage-band{display:grid;grid-template-columns:1fr 1.3fr;gap:48px;padding:34px;margin-top:28px;border:1px solid #e7bb6b55;border-radius:18px;background:#e7bb6b08}
:is(body.dark-page,.puzzl-site) .pilotage-band h3{font-size:30px;line-height:1.2;letter-spacing:-.03em;margin:12px 0 0}
:is(body.dark-page,.puzzl-site) .pilotage-band p:not(.offer-kind){font-size:18px;line-height:1.7;margin:0 0 16px;color:#c8c6d5}
:is(body.dark-page,.puzzl-site) .flagship-section-heading h2{font-size:clamp(32px,3.5vw,48px)}
:is(body.dark-page,.puzzl-site) :is(.home-human,.home-missions,.team-mission,.mission-budget){display:grid;grid-template-columns:1fr 1.2fr;gap:72px;padding-top:76px;padding-bottom:76px;border-top:1px solid #ffffff24}
:is(body.dark-page,.puzzl-site) :is(.home-human,.home-missions,.team-mission,.mission-budget) h2{font-size:clamp(32px,3.5vw,48px);letter-spacing:-.035em;line-height:1.12;margin:12px 0 22px}
:is(body.dark-page,.puzzl-site) :is(.home-human,.home-missions,.team-mission,.mission-budget) p{font-size:18px;line-height:1.75;color:#c8c6d5;max-width:62ch}
:is(body.dark-page,.puzzl-site) .home-human .human-role{font-size:16px;margin:0}
:is(body.dark-page,.puzzl-site) .home-missions .text-link{display:flex;width:max-content;max-width:100%;margin-top:20px}
:is(body.dark-page,.puzzl-site) .mission-jump{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}
:is(body.dark-page,.puzzl-site) .mission-jump a{padding:12px 18px;border:1px solid #ffffff40;border-radius:30px;font-size:16px}
:is(body.dark-page,.puzzl-site) .mission-jump a:hover{background:#ffffff12;border-color:#ffffff80}
:is(body.dark-page,.puzzl-site) .mission-section{padding-top:70px;padding-bottom:80px;border-top:1px solid #ffffff24;scroll-margin-top:0}
:is(body.dark-page,.puzzl-site) .mission-list{margin:40px 0 28px}
:is(body.dark-page,.puzzl-site) .mission-list>a{display:grid;grid-template-columns:1fr 1.3fr 24px;gap:30px;align-items:center;padding:30px 0;border-bottom:1px solid #ffffff24}
:is(body.dark-page,.puzzl-site) .mission-list h3{font-size:26px;line-height:1.3;margin:0;letter-spacing:-.02em}
:is(body.dark-page,.puzzl-site) .mission-list p{font-size:18px;line-height:1.7;color:#c8c6d5;margin:0;max-width:58ch}
:is(body.dark-page,.puzzl-site) .mission-list a:hover h3{color:#e2bbd3}
:is(body.dark-page,.puzzl-site) .mission-budget dl{margin:0}
:is(body.dark-page,.puzzl-site) .mission-budget dl>div{padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid #ffffff24}
:is(body.dark-page,.puzzl-site) .mission-budget dt{font-size:20px;font-weight:600;margin-bottom:8px}
:is(body.dark-page,.puzzl-site) .mission-budget dd{margin:0;font-size:18px;line-height:1.7;color:#c8c6d5}
:is(body.dark-page,.puzzl-site) .service-guide{padding:36px;border:1px solid #ffffff24;border-radius:18px;margin-top:36px;margin-bottom:70px}
:is(body.dark-page,.puzzl-site) .service-guide h2{font-size:28px;margin:0 0 14px}
:is(body.dark-page,.puzzl-site) .service-guide a{font-size:18px;line-height:1.7;text-decoration:underline;text-underline-offset:5px}
:is(body.dark-page,.puzzl-site) .team-mission{scroll-margin-top:0}
@media(max-width:767px){
:is(body.dark-page,.puzzl-site) .flagship-lead{font-size:17px;line-height:1.7}
:is(body.dark-page,.puzzl-site) .offer-grid.offer-grid-two{grid-template-columns:1fr}
:is(body.dark-page,.puzzl-site) .offer-card{padding:26px}
:is(body.dark-page,.puzzl-site) .offer-card h3{font-size:30px}
:is(body.dark-page,.puzzl-site) .pilotage-band{grid-template-columns:1fr;gap:24px;padding:26px}
:is(body.dark-page,.puzzl-site) :is(.home-human,.home-missions,.team-mission,.mission-budget){grid-template-columns:1fr;gap:24px;padding-top:48px;padding-bottom:48px}
:is(body.dark-page,.puzzl-site) .mission-list>a{grid-template-columns:1fr 24px;gap:14px}
:is(body.dark-page,.puzzl-site) .mission-list p{grid-row:2;grid-column:1/-1;font-size:17px}
:is(body.dark-page,.puzzl-site) .mission-list svg{grid-row:1;grid-column:2}
:is(body.dark-page,.puzzl-site) .mission-jump{gap:10px}
:is(body.dark-page,.puzzl-site) .mission-jump a{font-size:15px}
:is(body.dark-page,.puzzl-site) .service-guide{padding:24px}
}

:is(body.dark-page,.puzzl-site) .offer-grid-two .offer-card h3{min-height:0;margin:20px 0}
:is(body.dark-page,.puzzl-site) .offer-grid-two .offer-promise{min-height:0;margin-bottom:24px}
:is(body.dark-page,.puzzl-site) .offer-grid-two .offer-result p{min-height:0;margin:10px 0 24px}
:is(body.dark-page,.puzzl-site) .offer-grid-two .offer-result{padding-top:24px}
:is(body.dark-page,.puzzl-site) .offer-grid-two .offer-card ul{flex:1}

/* Références officielles : mouvement discret, commandes accessibles, aucun ajout de bibliothèque. */
:is(body.dark-page,.puzzl-site) .client-references{padding:64px 0 58px;margin:0 0 32px;border-block:1px solid #ffffff18;background:#101321;overflow:hidden}
:is(body.dark-page,.puzzl-site) .references-heading{display:flex;align-items:end;justify-content:space-between;gap:32px}
:is(body.dark-page,.puzzl-site) .references-eyebrow{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#aaa9be;margin:0 0 14px}
:is(body.dark-page,.puzzl-site) .references-heading h2{font-size:clamp(30px,3.5vw,44px);line-height:1.15;letter-spacing:-.035em;margin:0;color:#f4f3f8}
:is(body.dark-page,.puzzl-site) .references-heading>p{font-size:16px;line-height:1.6;color:#b9b8ca;margin:0}
:is(body.dark-page,.puzzl-site) .references-motion{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}
:is(body.dark-page,.puzzl-site) .references-window{width:100%;order:-1;overflow:hidden;margin:36px 0 20px;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)}
:is(body.dark-page,.puzzl-site) .references-track{display:flex;width:max-content;animation:puzzl-references 36s linear infinite;will-change:transform}
:is(body.dark-page,.puzzl-site) .references-group{display:flex;align-items:center;flex:0 0 auto;gap:32px;padding-right:32px}
:is(body.dark-page,.puzzl-site) .reference-brand{width:252px;height:100px;display:flex;justify-content:center;align-items:center;border-radius:12px;border:1px solid transparent;transition:border-color .2s,background .2s}
:is(body.dark-page,.puzzl-site) .reference-brand:hover{border-color:#ffffff30;background:#ffffff06}
:is(body.dark-page,.puzzl-site) .reference-brand img{display:block;width:180px;height:58px;object-fit:contain;filter:none;opacity:1}
:is(body.dark-page,.puzzl-site) .reference-oxeva img{width:170px}
:is(body.dark-page,.puzzl-site) .reference-otoqi img{width:156px}
:is(body.dark-page,.puzzl-site) .reference-batisseur img{width:184px;height:64px;padding:17px 16px;box-sizing:border-box;background:#f6f3eb;border-radius:7px}
:is(body.dark-page,.puzzl-site) .references-window:is(:hover,:focus-within) .references-track{animation-play-state:paused}
:is(body.dark-page,.puzzl-site) .reference-brand:focus-visible{outline:2px solid #f4f3f8;outline-offset:-4px}
@keyframes puzzl-references{to{transform:translateX(-50%)}}
@media(max-width:767px){
:is(body.dark-page,.puzzl-site) .client-references{padding:42px 0 28px;margin-bottom:0}
:is(body.dark-page,.puzzl-site) .references-heading{align-items:start;flex-direction:column;gap:16px}
:is(body.dark-page,.puzzl-site) .references-heading>p{font-size:15px}
:is(body.dark-page,.puzzl-site) .references-window{margin:22px 0 10px}
:is(body.dark-page,.puzzl-site) .reference-brand{width:200px;height:88px}
:is(body.dark-page,.puzzl-site) .references-group{gap:16px;padding-right:16px}
}
/* L’éditeur Odoo ne doit présenter que les quatre logos modifiables. */
body.editor_enable .references-track,body.o_is_editable .references-track{animation:none!important;width:100%!important}
body.editor_enable .references-copy,body.o_is_editable .references-copy{display:none!important}
@media(prefers-reduced-motion:reduce){
:is(body.dark-page,.puzzl-site) .references-track{animation:none;width:100%;will-change:auto}
:is(body.dark-page,.puzzl-site) .references-group{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:0;width:100%}
:is(body.dark-page,.puzzl-site) .reference-brand{width:100%}
:is(body.dark-page,.puzzl-site) .reference-brand img{max-width:88%}
:is(body.dark-page,.puzzl-site) .references-copy{display:none}
:is(body.dark-page,.puzzl-site) .references-window{mask-image:none}
}
@media(prefers-reduced-motion:reduce) and (max-width:767px){
:is(body.dark-page,.puzzl-site) .references-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
}

:is(body.dark-page,.puzzl-site) .cabinet-signature{display:grid;grid-template-columns:0.75fr 1.4fr;gap:76px;padding-top:64px;padding-bottom:72px;border-top:1px solid #ffffff24}
/* Les pseudo-éléments de mise en page Odoo ne doivent pas occuper une cellule. */
:is(body.dark-page,.puzzl-site) .cabinet-signature::before,:is(body.dark-page,.puzzl-site) .cabinet-signature::after,#wrap .cabinet-signature.container::before,#wrap .cabinet-signature.container::after{display:none;content:none}
:is(body.dark-page,.puzzl-site) #cabinet-signature-title{scroll-margin-top:140px}
:is(body.dark-page,.puzzl-site) .cabinet-logo-plate{display:inline-flex;align-items:center;justify-content:center;background:#f5f3ee;border-radius:4px;padding:20px 24px;max-width:100%;width:280px;box-sizing:border-box}
:is(body.dark-page,.puzzl-site) .cabinet-official-logo{width:232px;height:auto;max-width:100%}
:is(body.dark-page,.puzzl-site) .cabinet-signature-identity .eyebrow{font-size:13px;line-height:1.6;margin-top:22px;max-width:26ch;color:#b9b8c3}
:is(body.dark-page,.puzzl-site) .cabinet-signature h2{font-size:clamp(30px,3.2vw,44px);line-height:1.13;letter-spacing:-.03em;margin:0 0 24px}
:is(body.dark-page,.puzzl-site) .cabinet-signature-copy p{font-size:18px;line-height:1.7;color:#c8c6d5;margin:0 0 16px;max-width:60ch}
:is(body.dark-page,.puzzl-site) .cabinet-signature-copy strong{font-weight:500;color:#f3f2f7}
:is(body.dark-page,.puzzl-site) .cabinet-page-logo{margin:20px 0 30px}
@media(max-width:700px){
 :is(body.dark-page,.puzzl-site) .cabinet-signature{grid-template-columns:1fr;gap:28px;padding-top:42px;padding-bottom:48px}
 :is(body.dark-page,.puzzl-site) .cabinet-signature-identity .eyebrow{max-width:none;margin-top:14px}
 :is(body.dark-page,.puzzl-site) .cabinet-signature-copy p{font-size:17px}
 :is(body.dark-page,.puzzl-site) .cabinet-logo-plate{width:248px;padding:18px 22px}
}

/* Design 2026-10-25 — signature de marque, sans cartouche ni faux partenariat. */
:is(body.dark-page,.puzzl-site) .brand{display:inline-flex;flex-direction:row;align-items:center;gap:16px;color:#f4f3f8;min-width:0}
:is(body.dark-page,.puzzl-site) .brand .puzzl-wordmark{width:88px;height:auto;flex:0 0 88px;display:block}
:is(body.dark-page,.puzzl-site) .brand-affiliation{display:flex;align-items:center;gap:9px;border-left:1px solid #ffffff30;padding-left:16px;min-width:0}
:is(body.dark-page,.puzzl-site) .brand .brand-emblem{display:block;width:29px;height:26px;object-fit:contain;flex:0 0 29px;filter:none}
:is(body.dark-page,.puzzl-site) .brand-affiliation-copy{display:flex;flex-direction:column;gap:3px;white-space:nowrap}
:is(body.dark-page,.puzzl-site) .brand-affiliation-label{display:block;font-size:10px;line-height:1.2;font-weight:400;letter-spacing:.015em;color:#aeadbc}
:is(body.dark-page,.puzzl-site) .brand-affiliation-name{display:block;font-size:12px;line-height:1.2;font-weight:500;letter-spacing:0;color:#e9e7ef}
:is(body.dark-page,.puzzl-site) .site-header .header-inner{width:min(1380px,calc(100% - 80px));height:88px;gap:28px}
:is(body.dark-page,.puzzl-site) .site-header .main-nav{gap:24px}
:is(body.dark-page,.puzzl-site) .site-header .header-cta{margin-left:0;white-space:nowrap}
:is(body.dark-page,.puzzl-site) .site-footer .brand .puzzl-wordmark{width:98px;flex-basis:98px}
@media(min-width:1200px) and (max-width:1330px){
:is(body.dark-page,.puzzl-site) .site-header .header-inner{width:calc(100% - 64px);gap:20px}
:is(body.dark-page,.puzzl-site) .site-header .main-nav{gap:19px}
:is(body.dark-page,.puzzl-site) .site-header .main-nav>a:not(.button){font-size:14px}
:is(body.dark-page,.puzzl-site) .site-header .header-cta{font-size:14px;padding-inline:19px}
}
@media(max-width:1199px){
:is(body.dark-page,.puzzl-site) .site-header .main-nav{top:88px;max-height:calc(100dvh - 88px);gap:0}
:is(body.dark-page,.puzzl-site) .site-header .main-nav>a:not(.button){font-size:21px}
}
@media(max-width:600px){
:is(body.dark-page,.puzzl-site) .site-header .header-inner{width:calc(100% - 40px);height:78px;gap:12px}
:is(body.dark-page,.puzzl-site) .brand{gap:12px}
:is(body.dark-page,.puzzl-site) .brand .puzzl-wordmark{width:73px;flex-basis:73px}
:is(body.dark-page,.puzzl-site) .brand-affiliation{padding-left:12px;gap:7px}
:is(body.dark-page,.puzzl-site) .brand .brand-emblem{width:24px;height:23px;flex-basis:24px}
:is(body.dark-page,.puzzl-site) .brand-affiliation-label{font-size:9px}
:is(body.dark-page,.puzzl-site) .brand-affiliation-name{font-size:11px}
:is(body.dark-page,.puzzl-site) .site-header .main-nav{top:78px;max-height:calc(100dvh - 78px)}
:is(body.dark-page,.puzzl-site) .site-footer .brand .puzzl-wordmark{width:80px;flex-basis:80px}
}
@media(max-width:360px){
:is(body.dark-page,.puzzl-site) .site-header .header-inner{width:calc(100% - 32px);gap:8px}
:is(body.dark-page,.puzzl-site) .site-header .brand .puzzl-wordmark{width:65px;flex-basis:65px}
:is(body.dark-page,.puzzl-site) .site-header .brand{gap:9px}
:is(body.dark-page,.puzzl-site) .site-header .brand-affiliation{padding-left:9px}
:is(body.dark-page,.puzzl-site) .site-header .brand .brand-emblem{display:none}
}

/* Design 2026-10-25 — accueil : une progression lisible, des actions selon le besoin. */
:is(body.dark-page,.puzzl-site) .flagship-hero{padding-top:68px;padding-bottom:66px}
:is(body.dark-page,.puzzl-site) .flagship-hero h1{font-size:clamp(48px,5.8vw,80px);line-height:1.07;letter-spacing:-.035em;margin-bottom:30px}
:is(body.dark-page,.puzzl-site) .flagship-hero .flagship-intro{font-size:14px;color:#bdbac9;margin-bottom:30px}
:is(body.dark-page,.puzzl-site) .flagship-hero .flagship-lead{font-size:20px;line-height:1.65;max-width:650px;color:#c4c1cf;margin-inline:auto}
:is(body.dark-page,.puzzl-site) .flagship-actions{margin-top:34px}
:is(body.dark-page,.puzzl-site) .odoo-app-strip{margin-top:36px}
:is(body.dark-page,.puzzl-site) .home-flows{scroll-margin-top:116px}
:is(body.dark-page,.puzzl-site) .home-flows .flagship-section-heading{align-items:start;gap:56px;margin-bottom:36px}
:is(body.dark-page,.puzzl-site) .home-flows .flagship-section-heading h2{font-size:clamp(32px,3.5vw,46px);line-height:1.14;max-width:19ch}
:is(body.dark-page,.puzzl-site) .home-flows .flagship-section-heading>p{font-size:18px;line-height:1.7;max-width:50ch}
:is(body.dark-page,.puzzl-site) .flow-next-step{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:30px 0;border-bottom:1px solid #ffffff20}
:is(body.dark-page,.puzzl-site) .flow-next-step p{font-size:19px;line-height:1.6;margin:0;color:#bcb9c9}
:is(body.dark-page,.puzzl-site) .flow-next-step strong{font-weight:500;color:#f4f3f8}
:is(body.dark-page,.puzzl-site) .flow-next-step .button{flex-shrink:0}
:is(body.dark-page,.puzzl-site) .flagship-flow-note{font-size:13px;line-height:1.65;color:#a9a7b7;margin-top:18px}
:is(body.dark-page,.puzzl-site) .home-team{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:center;padding-top:80px;padding-bottom:80px;border-top:1px solid #ffffff20}
#wrap .home-team.container::before,#wrap .home-team.container::after{display:none;content:none}
:is(body.dark-page,.puzzl-site) .home-team h2{font-size:clamp(32px,3.5vw,44px);line-height:1.15;letter-spacing:-.03em;margin:26px 0 22px}
:is(body.dark-page,.puzzl-site) .home-team p{font-size:18px;line-height:1.75;color:#c4c1cf;max-width:55ch}
:is(body.dark-page,.puzzl-site) .home-team-brand{display:flex;align-items:center;gap:14px}
:is(body.dark-page,.puzzl-site) .home-team-brand>img{width:44px;height:32px;object-fit:contain}
:is(body.dark-page,.puzzl-site) .home-team-brand>span{font-size:17px;font-weight:500;color:#eceaf2;line-height:1.5}
:is(body.dark-page,.puzzl-site) .home-team-brand>span>span{display:block;font-size:12px;font-weight:400;color:#aaa7b8;margin-top:3px}
:is(body.dark-page,.puzzl-site) .home-team .text-link{font-size:15px;line-height:1.6;margin-top:8px}
:is(body.dark-page,.puzzl-site) .home-interlocuteur{padding:34px 36px 32px;border:1px solid #ffffff24;border-radius:20px;background:#ffffff04}
:is(body.dark-page,.puzzl-site) .home-interlocuteur .eyebrow{font-size:13px;line-height:1.5;color:#b9afc8;margin:0 0 18px}
:is(body.dark-page,.puzzl-site) .home-interlocuteur h3{font-size:34px;line-height:1.15;font-weight:500;letter-spacing:-.025em;margin:0 0 8px;color:#f4f3f8}
:is(body.dark-page,.puzzl-site) .home-interlocuteur .human-role{font-size:14px;line-height:1.6;color:#aaa7b8;margin:0 0 24px}
:is(body.dark-page,.puzzl-site) .home-interlocuteur>p:not([class]){font-size:17px;line-height:1.75;margin:0 0 26px}
:is(body.dark-page,.puzzl-site) .home-interlocuteur .button{font-size:14px;padding-inline:21px;gap:16px;max-width:100%;min-height:50px}
:is(body.dark-page,.puzzl-site) .home-meeting-note{display:block;font-size:12px;line-height:1.5;color:#aaa7b8;margin-top:13px}
:is(body.dark-page,.puzzl-site) :is(a,button,summary):focus-visible{outline:2px solid #f4c6d0;outline-offset:5px;box-shadow:none}
:is(body.dark-page,.puzzl-site) .site-header .main-nav>a:not(.button){border-bottom-color:#ffffff20}
@media(max-width:899px){
:is(body.dark-page,.puzzl-site) .home-team{grid-template-columns:1fr;gap:34px;padding-block:60px}
:is(body.dark-page,.puzzl-site) .home-team-cabinet{max-width:650px}
:is(body.dark-page,.puzzl-site) .home-interlocuteur{max-width:650px}
}
@media(max-width:600px){
:is(body.dark-page,.puzzl-site) .flagship-hero{padding-top:46px;padding-bottom:50px}
:is(body.dark-page,.puzzl-site) .flagship-hero h1{font-size:43px;line-height:1.08;letter-spacing:-.03em;margin-bottom:25px}
:is(body.dark-page,.puzzl-site) .flagship-hero .flagship-intro{font-size:12px;line-height:1.5;margin-bottom:24px}
:is(body.dark-page,.puzzl-site) .flagship-hero .flagship-lead{font-size:18px;line-height:1.7}
:is(body.dark-page,.puzzl-site) .flagship-actions{margin-top:28px;gap:18px}
:is(body.dark-page,.puzzl-site) .odoo-app-strip{margin-top:30px}
:is(body.dark-page,.puzzl-site) .home-flows .flagship-section-heading{gap:20px;margin-bottom:28px}
:is(body.dark-page,.puzzl-site) .home-flows .flagship-section-heading h2{font-size:33px;line-height:1.15;max-width:19ch}
:is(body.dark-page,.puzzl-site) .home-flows .flagship-section-heading>p{font-size:17px;line-height:1.7}
:is(body.dark-page,.puzzl-site) .flow-next-step{flex-direction:column;align-items:flex-start;gap:20px;padding:24px 0}
:is(body.dark-page,.puzzl-site) .flow-next-step p{font-size:17px}
:is(body.dark-page,.puzzl-site) .flow-next-step .button{font-size:14px;padding-inline:21px}
:is(body.dark-page,.puzzl-site) .flagship-flow-note{font-size:12px}
:is(body.dark-page,.puzzl-site) .home-team{padding-block:48px;gap:28px}
:is(body.dark-page,.puzzl-site) .home-team h2{font-size:32px;margin-top:24px}
:is(body.dark-page,.puzzl-site) .home-team p{font-size:17px}
:is(body.dark-page,.puzzl-site) .home-interlocuteur{padding:27px 24px;border-radius:16px}
:is(body.dark-page,.puzzl-site) .home-interlocuteur h3{font-size:31px}
:is(body.dark-page,.puzzl-site) .home-interlocuteur .button{font-size:13px;padding:14px 17px;gap:12px}
}
@media(max-width:360px){:is(body.dark-page,.puzzl-site) .flagship-hero h1{font-size:37px}:is(body.dark-page,.puzzl-site) .home-interlocuteur .button{font-size:12px;padding-inline:14px}}

/* Design 2026-10-25 — repères de navigation et choix d’accompagnement. */
:is(body.dark-page,.puzzl-site) .site-header .main-nav>a[aria-current]:not(.button){font-weight:600;color:#f6d5dc}
:is(body.dark-page,.puzzl-site) .main-nav>a[aria-current]::after{right:0}
:is(body.dark-page,.puzzl-site) .offer-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px 22px;padding-top:25px;margin-top:auto;border-top:1px solid #ffffff24}
:is(body.dark-page,.puzzl-site) .offer-actions .offer-contact{font-size:14px;line-height:1.35;min-height:50px;padding:14px 21px;gap:16px;white-space:nowrap}
:is(body.dark-page,.puzzl-site) .offer-detail-link{display:inline-flex;align-items:center;gap:10px;color:#d7d2e1;font-size:14px;line-height:1.5;min-height:44px;text-decoration:underline;text-decoration-color:#ffffff35;text-underline-offset:5px}
:is(body.dark-page,.puzzl-site) .offer-detail-link:hover{text-decoration-color:currentColor;color:#fff}
:is(body.dark-page,.puzzl-site) .offer-detail-link .arrow{width:17px;height:17px}
@media(max-width:1199px){
:is(body.dark-page,.puzzl-site) .site-header .main-nav>a[aria-current]{color:#f6c6d0}
:is(body.dark-page,.puzzl-site) .site-header .static-nav{display:flex;flex-wrap:wrap;gap:14px 24px;padding:12px 32px 24px;font-size:15px;line-height:1.5;background:#101020}
:is(body.dark-page,.puzzl-site) .static-nav a{text-decoration:underline;text-underline-offset:4px}
}
@media(max-width:600px){
:is(body.dark-page,.puzzl-site) .offer-actions{align-items:flex-start;flex-direction:column;gap:8px;padding-top:23px}
:is(body.dark-page,.puzzl-site) .offer-actions .offer-contact{font-size:14px;max-width:100%;padding-inline:20px}
:is(body.dark-page,.puzzl-site) .site-header .static-nav{padding-inline:20px;font-size:14px}
}

/* Design 2026-10-25 — grilles Puzzl et styles de rendez-vous. */
/* Les clearfix d’Odoo n’ont pas de rôle dans ces grilles CSS. */
:is(body.dark-page,.puzzl-site) .container:is(.contact-meeting-grid,.contact-letter,.service-context-grid,.split-text,.team-mission,.mission-budget,.home-missions,.method-progress,.method-rhythm,.faq-section,.partner-story,.solution-perspectives,.working-editorial-grid,.editorial-heading,.article-layout)::before,:is(body.dark-page,.puzzl-site) .container:is(.contact-meeting-grid,.contact-letter,.service-context-grid,.split-text,.team-mission,.mission-budget,.home-missions,.method-progress,.method-rhythm,.faq-section,.partner-story,.solution-perspectives,.working-editorial-grid,.editorial-heading,.article-layout)::after,
.puzzl-site #wrap .container:is(.contact-meeting-grid,.contact-letter,.service-context-grid,.split-text,.team-mission,.mission-budget,.home-missions,.method-progress,.method-rhythm,.faq-section,.partner-story,.solution-perspectives,.working-editorial-grid,.editorial-heading,.article-layout)::before,.puzzl-site #wrap .container:is(.contact-meeting-grid,.contact-letter,.service-context-grid,.split-text,.team-mission,.mission-budget,.home-missions,.method-progress,.method-rhythm,.faq-section,.partner-story,.solution-perspectives,.working-editorial-grid,.editorial-heading,.article-layout)::after,
:is(body.dark-page,.puzzl-site) .partner-roles>.container::before,:is(body.dark-page,.puzzl-site) .partner-roles>.container::after,
.puzzl-site #wrap .partner-roles>.container::before,.puzzl-site #wrap .partner-roles>.container::after{content:none;display:none}
:is(body.dark-page,.puzzl-site) .breadcrumb{padding:0;background:transparent;border:0;font-size:13px;line-height:1.65;gap:10px}
:is(body.dark-page,.puzzl-site) .breadcrumb a{display:inline-flex;align-items:center;min-height:30px}
:is(body.dark-page,.puzzl-site) .service-outline>span{font-size:14px;line-height:1.5}
:is(body.dark-page,.puzzl-site) .service-outline>p{font-size:14px;line-height:1.7}
:is(body.dark-page,.puzzl-site) .contact-meeting{padding-top:64px}
:is(body.dark-page,.puzzl-site) .contact-meeting-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(48px,6vw,88px);align-items:center;padding-bottom:64px}
:is(body.dark-page,.puzzl-site) .contact-meeting-copy h1{font-size:clamp(42px,4.3vw,60px);line-height:1.1;letter-spacing:-.03em;font-weight:600}
:is(body.dark-page,.puzzl-site) .contact-meeting-copy>p:not(.section-label){max-width:52ch;font-size:19px;line-height:1.7}
:is(body.dark-page,.puzzl-site) .meeting-agenda{gap:19px}
:is(body.dark-page,.puzzl-site) .meeting-agenda li{font-size:16px;line-height:1.7;padding-left:32px}
:is(body.dark-page,.puzzl-site) .meeting-agenda li::before{font-size:12px;top:3px}
:is(body.dark-page,.puzzl-site) .meeting-card{background:#191925;color:#f4f3f8;border:1px solid #ffffff24;border-radius:22px;padding:36px;box-shadow:none;min-width:0}
:is(body.dark-page,.puzzl-site) .meeting-card-label{font-size:14px;line-height:1.5;text-transform:none;letter-spacing:0;color:#e6b8c7;margin-bottom:24px}
:is(body.dark-page,.puzzl-site) .meeting-card h2{font-size:44px;line-height:1.1;letter-spacing:-.025em;font-weight:600;margin-bottom:18px;color:#f4f3f8}
:is(body.dark-page,.puzzl-site) .meeting-card h2>span{display:none}
:is(body.dark-page,.puzzl-site) .meeting-card h2 br{display:none}
:is(body.dark-page,.puzzl-site) .meeting-card-role{font-size:16px;line-height:1.6;color:#ddd9e6;margin-bottom:6px}
:is(body.dark-page,.puzzl-site) .meeting-card-brand{font-size:14px;line-height:1.6;color:#bdb8cb;margin-bottom:28px}
:is(body.dark-page,.puzzl-site) .meeting-card-detail{font-size:15px;line-height:1.6;color:#e0dce9;border-color:#ffffff24;padding-top:23px;margin-bottom:25px}
:is(body.dark-page,.puzzl-site) .meeting-card-note{font-size:13px;line-height:1.75;color:#bdb8cb;margin-top:18px}
:is(body.dark-page,.puzzl-site) .contact-letter{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(48px,7vw,100px);padding-top:80px;padding-bottom:88px}
:is(body.dark-page,.puzzl-site) .contact-letter-intro h2{font-size:clamp(34px,3.5vw,46px);line-height:1.13;letter-spacing:-.025em;font-weight:600}
:is(body.dark-page,.puzzl-site) .contact-letter-intro>p:not(.section-label){font-size:18px;line-height:1.75;max-width:37ch}
:is(body.dark-page,.puzzl-site) .contact-letter-intro .contact-letter-note{font-size:14px!important;line-height:1.75}
:is(body.dark-page,.puzzl-site) .contact-letter .contact-form-wrap label{font-size:15px;line-height:1.5}
:is(body.dark-page,.puzzl-site) .contact-letter :is(input,select,textarea){border-radius:8px;font-size:16px;line-height:1.5;min-height:48px}
@media(max-width:899px){
 :is(body.dark-page,.puzzl-site) .contact-meeting{padding-top:48px}
 :is(body.dark-page,.puzzl-site) .contact-meeting-grid{grid-template-columns:minmax(0,1fr);gap:34px;padding-bottom:42px}
 :is(body.dark-page,.puzzl-site) .contact-meeting-copy h1{max-width:18ch}
 :is(body.dark-page,.puzzl-site) .meeting-card{max-width:600px;width:100%;padding:30px}
 :is(body.dark-page,.puzzl-site) .contact-letter{grid-template-columns:minmax(0,1fr);gap:34px;padding-top:56px;padding-bottom:64px}
 :is(body.dark-page,.puzzl-site) .contact-letter-intro>p:not(.section-label){max-width:55ch}
}
@media(max-width:600px){
 :is(body.dark-page,.puzzl-site) .breadcrumb{font-size:12px;gap:8px}
 :is(body.dark-page,.puzzl-site) .contact-meeting-copy h1{font-size:39px;line-height:1.13}
 :is(body.dark-page,.puzzl-site) .contact-meeting-copy>p:not(.section-label){font-size:18px}
 :is(body.dark-page,.puzzl-site) .meeting-agenda li{font-size:15px;padding-left:28px}
 :is(body.dark-page,.puzzl-site) .meeting-card{padding:26px;border-radius:18px}
 :is(body.dark-page,.puzzl-site) .meeting-card h2{font-size:36px}
 :is(body.dark-page,.puzzl-site) .meeting-card-role{font-size:15px}
 :is(body.dark-page,.puzzl-site) .contact-letter-intro h2{font-size:34px}
}

/* Les champs Contact historiques utilisent un sélecteur plus spécifique. */
:is(body.dark-page,.puzzl-site) .contact-letter .contact-form-wrap :is(input,select,textarea){border-radius:8px}

/* Le bouton de l’agenda garde son libellé sur une ligne à 320 px. */
@media(max-width:360px){
 :is(body.dark-page,.puzzl-site) .meeting-card .button{padding-inline:16px;gap:12px;white-space:nowrap}
}

/* Design 2026-10-25 — lecture sur tablette et contrôles du formulaire. */
/* Le texte introductif suit le titre avant que les colonnes deviennent trop étroites. */
@media(max-width:900px){
 :is(body.dark-page,.puzzl-site) .home-flows .flagship-section-heading{display:block;margin-bottom:30px}
 :is(body.dark-page,.puzzl-site) .home-flows .flagship-section-heading h2{max-width:none}
 :is(body.dark-page,.puzzl-site) .home-flows .flagship-section-heading>p{max-width:65ch;margin:20px 0 0}
}
/* Bordures à 3,25:1 sur le fond des champs ; le focus et les erreurs restent natifs. */
:is(body.dark-page,.puzzl-site) .contact-letter .contact-form-wrap :is(input,select,textarea):not(:focus):not(.is-invalid):not([aria-invalid="true"]):not(.was-validated :invalid){border-color:#666b82}
/* Les deux éléments clearfix d’Odoo créaient des espaces supplémentaires dans ce flex. */
:is(body.dark-page,.puzzl-site) .container.cta-inner::before,:is(body.dark-page,.puzzl-site) .container.cta-inner::after,
.puzzl-site #wrap .container.cta-inner::before,.puzzl-site #wrap .container.cta-inner::after{content:none;display:none}

/* Derniers conteneurs flex sous #wrap : les clearfix ne doivent pas espacer leur contenu. */
:is(body.dark-page,.puzzl-site) .container:is(.contact-coordinates,.references-heading,.references-motion)::before,
:is(body.dark-page,.puzzl-site) .container:is(.contact-coordinates,.references-heading,.references-motion)::after,
.puzzl-site #wrap .container:is(.contact-coordinates,.references-heading,.references-motion)::before,
.puzzl-site #wrap .container:is(.contact-coordinates,.references-heading,.references-motion)::after{content:none;display:none}

/* Bibliothèque native : cinq thèmes, des contenus gérés dans le Blog Odoo. */
:is(body.dark-page,.puzzl-site) .library-heading{padding-bottom:44px}
:is(body.dark-page,.puzzl-site) .library-heading .page-intro{max-width:58ch}
:is(body.dark-page,.puzzl-site) .library-heading .puzzl-library-search{margin-top:34px;max-width:760px}
:is(body.dark-page,.puzzl-site) .library-heading .puzzl-library-search>div{gap:12px}
:is(body.dark-page,.puzzl-site) .library-heading .puzzl-library-search input{background:#171b2b;color:#f4f3f8;border:1px solid #666b82;border-radius:8px;font-size:16px;line-height:1.5;min-height:54px;padding:14px 17px}
:is(body.dark-page,.puzzl-site) .library-heading .puzzl-library-search input::placeholder{color:#a9acbb;opacity:1}
:is(body.dark-page,.puzzl-site) .library-heading .puzzl-library-search input:focus{border-color:#f2a8ba;outline:2px solid #f2a8ba;outline-offset:3px}
:is(body.dark-page,.puzzl-site) .library-heading .puzzl-library-search .button{min-height:54px;padding:14px 23px;gap:20px;flex-shrink:0}
:is(body.dark-page,.puzzl-site) .library-theme-navigation{margin-top:34px}
:is(body.dark-page,.puzzl-site) .library-navigation-label{font-size:14px;line-height:1.6;color:#bdbdcb;margin-bottom:13px}
:is(body.dark-page,.puzzl-site) .library-theme-nav{display:flex;flex-wrap:wrap;gap:10px}
:is(body.dark-page,.puzzl-site) .library-theme-link{display:inline-flex;align-items:center;min-height:46px;padding:11px 15px;border:1px solid #46485c;border-radius:8px;font-size:15px;line-height:1.5;color:#dddce7;text-decoration:none}
:is(body.dark-page,.puzzl-site) .library-theme-link:hover{border-color:#a2a1b2;background:#ffffff08;color:#fff}
:is(body.dark-page,.puzzl-site) .library-theme-link[aria-current=page]{background:#f2eef4;color:#171724;border-color:#f2eef4;font-weight:600}
:is(body.dark-page,.puzzl-site) .library-overview{padding-bottom:72px}
:is(body.dark-page,.puzzl-site) .library-topic{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(0,2fr);gap:48px;border-top:1px solid #ffffff2b;padding-top:36px;padding-bottom:60px;scroll-margin-top:0}
:is(body.dark-page,.puzzl-site) .library-topic-heading{padding-top:2px;min-width:0}
:is(body.dark-page,.puzzl-site) .library-topic-number{font-size:13px;letter-spacing:.08em;color:#e2a7b6;margin:0 0 16px}
:is(body.dark-page,.puzzl-site) .library-topic h2{font-size:clamp(26px,2.5vw,34px);line-height:1.17;margin:0 0 18px;max-width:15ch;text-wrap:balance}
:is(body.dark-page,.puzzl-site) .library-topic-count{font-size:14px;line-height:1.6;color:#b9b8ca;margin:0 0 22px}
:is(body.dark-page,.puzzl-site) .library-topic-heading .text-link{font-size:14px;line-height:1.5;min-height:44px;gap:16px}
:is(body.dark-page,.puzzl-site) .library-topic .resource-guides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
:is(body.dark-page,.puzzl-site) .library-topic .resource-guide{padding:0 0 26px;border-top:0;border-bottom:1px solid #ffffff24;min-width:0;display:flex;flex-direction:column}
:is(body.dark-page,.puzzl-site) .library-topic .resource-meta{font-size:13px;line-height:1.5;margin-bottom:17px}
:is(body.dark-page,.puzzl-site) .library-topic .resource-guide h3{font-size:25px;line-height:1.25;margin:0 0 16px;max-width:none;text-wrap:balance}
:is(body.dark-page,.puzzl-site) .library-topic .resource-guide>p{font-size:16px;line-height:1.7;margin:0 0 20px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
:is(body.dark-page,.puzzl-site) .library-topic .resource-read{font-size:14px;line-height:1.6;margin-top:auto;gap:16px;min-height:32px}
:is(body.dark-page,.puzzl-site) .library-results-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:0 0 30px}
:is(body.dark-page,.puzzl-site) .library-results-heading h2{font-size:30px;line-height:1.25;margin:0 0 10px}
:is(body.dark-page,.puzzl-site) .library-results-heading p{font-size:15px;line-height:1.6;color:#b9b8ca;margin:0}
:is(body.dark-page,.puzzl-site) .library-results-heading>.text-link{font-size:14px;line-height:1.6;gap:14px;flex-shrink:0}
:is(body.dark-page,.puzzl-site) .library-empty{padding:34px 0 55px;border-top:1px solid #ffffff2b;max-width:65ch}
:is(body.dark-page,.puzzl-site) .library-empty p{font-size:18px;line-height:1.7}
@media(max-width:1000px){
 :is(body.dark-page,.puzzl-site) .library-topic{grid-template-columns:minmax(0,1fr);gap:27px;padding-bottom:48px}
 :is(body.dark-page,.puzzl-site) .library-topic-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 24px}
 :is(body.dark-page,.puzzl-site) .library-topic-number{grid-column:1/-1;margin:0}
 :is(body.dark-page,.puzzl-site) .library-topic h2{max-width:none;margin:0;grid-column:1}
 :is(body.dark-page,.puzzl-site) .library-topic-count{grid-column:1;margin:0}
 :is(body.dark-page,.puzzl-site) .library-topic-heading .text-link{grid-column:2;grid-row:2/4;align-self:center}
}
@media(max-width:600px){
 :is(body.dark-page,.puzzl-site) .library-heading{padding-bottom:32px}
 :is(body.dark-page,.puzzl-site) .library-heading .puzzl-library-search>div{flex-direction:row;align-items:stretch}
 :is(body.dark-page,.puzzl-site) .library-heading .puzzl-library-search .button{padding-inline:15px;gap:0;font-size:14px}
 :is(body.dark-page,.puzzl-site) .library-heading .puzzl-library-search .button>span{display:none}
 :is(body.dark-page,.puzzl-site) .library-heading .puzzl-library-search input{padding-inline:13px;min-width:0;width:0}
 :is(body.dark-page,.puzzl-site) .library-theme-nav{gap:8px}
 :is(body.dark-page,.puzzl-site) .library-theme-link{font-size:14px;padding:10px 12px;min-height:44px}
 :is(body.dark-page,.puzzl-site) .library-topic{padding-top:28px;padding-bottom:36px;gap:26px;scroll-margin-top:0}
 :is(body.dark-page,.puzzl-site) .library-topic-heading{display:block}
 :is(body.dark-page,.puzzl-site) .library-topic-number{margin-bottom:12px}
 :is(body.dark-page,.puzzl-site) .library-topic h2{font-size:29px;margin-bottom:12px}
 :is(body.dark-page,.puzzl-site) .library-topic-count{margin-bottom:4px}
 :is(body.dark-page,.puzzl-site) .library-topic .resource-guides{grid-template-columns:minmax(0,1fr);gap:24px}
 :is(body.dark-page,.puzzl-site) .library-topic .resource-guide h3{font-size:25px}
 :is(body.dark-page,.puzzl-site) .library-topic .resource-guide{padding-bottom:24px}
 :is(body.dark-page,.puzzl-site) .library-results-heading{align-items:start;flex-direction:column;gap:16px}
 :is(body.dark-page,.puzzl-site) .library-results-heading h2{font-size:27px}
 :is(body.dark-page,.puzzl-site) .library-overview{padding-bottom:40px}
}

/* Accès au formulaire depuis le guide, également sur téléphone. */
@media(max-width:760px){.puzzl-site .article-toc>.text-link{display:inline-flex;min-height:44px;align-items:center;font-size:14px;line-height:1.5}}
