/* =====================================================================
   Cabinet Thibault Bonnin — feuille de style de la mise en page
   (accueil, pages au gabarit « Bonnin », articles, archives)
   ===================================================================== */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --parch:#EDE8DF;--parch2:#E2DDD3;--parch3:#D4CEC3;
  --night:#0E1828;--night2:#162034;--night3:#1E2D45;
  --gold:#B8922A;--gold-light:#D4C4A0;
  --text-dark:#0E1828;--text-muted:#6B6456;
  --border-p:rgba(14,24,40,0.12);--border-n:rgba(237,232,223,0.12);
}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body.bn{font-family:'Jost',sans-serif;background:var(--parch);color:var(--text-dark);overflow-x:hidden;width:100%;max-width:100%;font-size:16px;line-height:1.5}
body.bn img{max-width:100%;height:auto}
body.bn a{color:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
body.admin-bar .bn-header nav{top:32px}
@media (max-width:782px){body.admin-bar .bn-header nav{top:46px}}

/* Les conteneurs internes des blocs ne doivent pas casser les grilles */
.bn-main .wp-block-group__inner-container{display:contents}
.bn-main :where(.wp-block-group,.wp-block-buttons,.wp-block-query,.wp-block-post-template){margin-block:0}
.bn-main :where(.is-layout-flow,.is-layout-constrained) > *{margin-block-start:0;margin-block-end:0}
.bn-main :where(.is-layout-constrained) > *{max-width:none;margin-left:0 !important;margin-right:0 !important}

/* ===================== SPLASH ===================== */
#splash{position:fixed;inset:0;z-index:9999;background:var(--night);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2rem;pointer-events:none;animation:splashOut .6s 1.4s ease forwards}
@keyframes splashOut{to{opacity:0;visibility:hidden}}
@media (prefers-reduced-motion: reduce){#splash{display:none !important}}
.logo-svg-wrap{width:180px;height:180px;position:relative}
.logo-svg-wrap svg{width:100%;height:100%}
.logo-ring{position:absolute;inset:-16px;border-radius:50%;border:1px solid rgba(184,146,42,0.15);animation:spin 12s linear infinite}
.logo-ring::before{content:'';position:absolute;top:-3px;left:50%;transform:translateX(-50%);width:6px;height:6px;border-radius:50%;background:var(--gold)}
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.tb-path{stroke-dasharray:600;stroke-dashoffset:600;animation:draw 1.8s ease forwards}
.tb-path-2{stroke-dasharray:400;stroke-dashoffset:400;animation:draw 1.8s 0.3s ease forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.splash-name{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:300;letter-spacing:0.4em;text-transform:uppercase;color:rgba(237,232,223,0.7);animation:fadeUp 1s 0.9s ease both}
.splash-title{font-size:0.58rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--gold);animation:fadeUp 1s 1.1s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ===================== NAV ===================== */
.bn-header nav{position:fixed;top:0;left:0;width:100%;z-index:100;padding:1.4rem 5rem;display:flex;justify-content:space-between;align-items:center;background:rgba(237,232,223,0.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-p)}
.nav-logo{display:flex;align-items:center;gap:0.8rem;text-decoration:none}
.nav-logo-svg{width:36px;height:36px}
.nav-logo-text{font-family:'Cormorant Garamond',serif;font-size:0.95rem;font-weight:400;letter-spacing:0.18em;text-transform:uppercase;color:var(--night)}
.nav-links{display:flex;gap:2.2rem;list-style:none}
.nav-links a{font-size:0.7rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;transition:color 0.3s}
.nav-links a:hover,.nav-links .current-menu-item a{color:var(--gold)}
.nav-cta{font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--parch) !important;background:var(--night);padding:0.65rem 1.5rem;text-decoration:none;transition:background 0.3s}
.nav-cta:hover{background:var(--night3)}
.nav-mobile{display:none;position:relative}
.nav-mobile summary{list-style:none;cursor:pointer;font-size:0.62rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--night);border:1px solid var(--border-p);padding:0.55rem 0.9rem}
.nav-mobile summary::-webkit-details-marker{display:none}
.nav-mobile ul{list-style:none;position:absolute;right:0;top:calc(100% + 0.6rem);background:var(--night);padding:1.2rem 1.6rem;min-width:220px;display:flex;flex-direction:column;gap:0.9rem;z-index:120}
.nav-mobile ul a{color:var(--parch);text-decoration:none;font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase}

/* ===================== TITRES & ÉLÉMENTS COMMUNS ===================== */
.bn-main > section,.bn-main > .wp-block-group > section,.bn-main section.wp-block-group{padding:7rem 5rem}
.section-tag{font-size:0.62rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem !important;display:flex;align-items:center;gap:0.8rem}
.section-tag::before{content:'';width:24px;height:1px;background:var(--gold);flex-shrink:0}
.bn-main h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,4vw,3.4rem);font-weight:300;line-height:1.12;margin-bottom:1.2rem;color:var(--night)}
.bn-main h2 em,.bn-main h1 em{font-style:italic;color:var(--gold)}
.section-tag + h2{margin-bottom:0 !important}
.section-tag + h2::after{content:'';display:block;width:48px;height:1px;background:var(--gold);opacity:0.5;margin:1.2rem 0 3rem}
.lead{font-size:0.95rem;line-height:2;color:var(--text-muted);font-weight:300;max-width:760px}
.lead strong{color:var(--night);font-weight:500}
.fade-in{}

/* Boutons (blocs « Boutons » avec les styles du cabinet) */
.bn-main .wp-block-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem}
.bn-main .wp-block-button__link{border-radius:0 !important;font-family:'Jost',sans-serif;font-size:0.68rem;letter-spacing:0.16em;text-transform:uppercase;padding:1rem 2rem;text-decoration:none;display:inline-block;transition:opacity .3s,background .3s,color .3s,gap .3s;line-height:1.5;border:1px solid transparent}
.bn-main .wp-block-button__link,.bn-main .is-style-bn-primary .wp-block-button__link{color:var(--night);background:var(--gold);border-color:var(--gold)}
.bn-main .wp-block-button__link:hover{opacity:0.85}
.bn-main .is-style-bn-outline .wp-block-button__link{background:transparent;color:var(--night);border-color:var(--night)}
.bn-main .is-style-bn-outline .wp-block-button__link:hover{background:var(--night);color:var(--parch);opacity:1}
.bn-main .is-style-bn-ghost .wp-block-button__link{background:transparent;border:none;color:var(--parch);padding:0;opacity:0.55;display:inline-flex;align-items:center;gap:0.6rem}
.bn-main .is-style-bn-ghost .wp-block-button__link::after{content:'→'}
.bn-main .is-style-bn-ghost .wp-block-button__link:hover{gap:1rem;opacity:1}

/* Liens fléchés */
.arrow-link{margin-top:1.4rem !important}
.arrow-link a{font-size:0.64rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);text-decoration:none;display:inline-flex;gap:0.4rem;transition:gap .3s}
.arrow-link a::after{content:'→'}
.arrow-link a:hover{gap:0.8rem}

/* ===================== HERO ===================== */
#accueil{min-height:100vh;display:grid;grid-template-columns:1fr auto;position:relative;padding:80px 0 0 !important}
.hero-left{background:var(--night);padding:5rem 4rem 5rem 5rem;display:flex;flex-direction:column;justify-content:center}
.hero-right{background:var(--parch2);display:flex;flex-direction:column;position:relative;overflow:hidden}
.hero-photo{width:min(calc((100vh - 80px) * 2 / 3), 55vw);aspect-ratio:2/3;flex:1;position:relative;overflow:hidden;min-height:calc(100vh - 80px);margin:0 !important}
.hero-photo img{position:absolute;inset:0;width:100% !important;height:100% !important;object-fit:cover;object-position:center 18%;display:block}
.hero-coords{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:4rem 2.8rem 1.6rem;background:linear-gradient(to top,rgba(14,24,40,0.88),rgba(14,24,40,0))}
.hero-coords p{font-size:0.72rem;color:rgba(237,232,223,0.85);line-height:2.2;letter-spacing:0.04em}
.hero-coords a{color:inherit;text-decoration:none}
.hero-coords strong{color:var(--gold-light);font-weight:400}
.bn-main .hero-credo{font-family:'Cormorant Garamond',serif;font-size:clamp(2.4rem,4.2vw,4.2rem);font-weight:300;line-height:1.1;color:var(--parch);margin-bottom:2rem}
.hero-credo em{font-style:italic;color:var(--gold)}
.hero-desc{font-size:0.86rem;line-height:2;color:rgba(237,232,223,0.62);max-width:440px;margin-bottom:3rem !important;font-weight:300}
.hero-desc strong{color:rgba(237,232,223,0.85);font-weight:400}
.hero-left .wp-block-buttons{flex-direction:column;align-items:flex-start;gap:1.2rem}

/* ===================== CABINET ===================== */
#cabinet{background:var(--parch)}
.cabinet-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:5rem;align-items:start}
.cabinet-body p:not(.section-tag){font-size:0.88rem;line-height:2.1;color:var(--text-muted);margin-bottom:1.1rem;font-weight:300}
.cabinet-body strong{color:var(--night);font-weight:400}
.bn-main .creds{margin-top:2.5rem;display:flex;flex-direction:column;gap:0.8rem;list-style:none;padding:0}
.creds li{font-size:0.75rem;color:var(--text-muted);display:flex;align-items:center;gap:0.8rem;letter-spacing:0.03em}
.creds li::before{content:'';width:16px;height:1px;background:var(--gold);flex-shrink:0}
.bn-main .cabinet-quote{padding:3rem;background:var(--night);position:relative;margin:0;border:none}
.cabinet-quote::before{content:'\201C';font-family:'Cormorant Garamond',serif;font-size:8rem;color:var(--gold);opacity:0.15;position:absolute;top:-1rem;left:2rem;line-height:1}
.bn-main .cabinet-quote p{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:300;font-style:italic;color:var(--parch);line-height:1.7;position:relative;z-index:1}
.cabinet-quote cite{display:block;margin-top:1rem;font-family:'Jost',sans-serif;font-style:normal;font-size:0.66rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold)}

/* ===================== EXPERTISES ===================== */
#expertises{background:var(--night2);color:var(--parch)}
#expertises h2{color:var(--parch)}
#expertises .section-tag + h2::after{opacity:0.3}
.exp-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:3rem;background:rgba(237,232,223,0.08)}
.exp-card{background:var(--night2);padding:3.5rem;transition:background 0.3s}
.exp-card:hover{background:var(--night3)}
.exp-num{font-family:'Cormorant Garamond',serif;font-size:4rem;font-weight:300;color:rgba(184,146,42,0.22);line-height:1;margin-bottom:1rem !important}
.bn-main .exp-card h3{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:400;color:var(--parch);margin-bottom:1.8rem;line-height:1.2}
.bn-main .exp-list{list-style:none;display:flex;flex-direction:column;gap:0.8rem;padding:0}
.exp-list li{font-size:0.8rem;color:rgba(237,232,223,0.72);padding-left:1.1rem;position:relative;line-height:1.75;font-weight:300}
.exp-list li::before{content:'—';position:absolute;left:0;color:var(--gold);font-size:0.68rem;top:1px}
.barre-encart{margin-top:1px !important;background:rgba(237,232,223,0.08);padding:1px}
.barre-inner{background:var(--night3);padding:3.5rem 5rem;display:grid;grid-template-columns:1fr 2fr;gap:4rem;align-items:center;border-top:1px solid rgba(184,146,42,0.3);transition:background 0.3s}
.barre-inner:hover{background:#243652}
.bn-main .barre-title{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;color:var(--parch);line-height:1.2}
.barre-title em{font-style:italic;color:var(--gold)}
.barre-desc{font-size:0.82rem;color:rgba(237,232,223,0.72);line-height:1.9;font-weight:300}
.barre-badge{display:inline-block;font-size:0.6rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(184,146,42,0.4);padding:0.35rem 0.8rem;margin-bottom:1.2rem !important}
.barre-link{margin-top:1.4rem !important}
.barre-link a{display:inline-block;font-size:0.66rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(184,146,42,0.4);padding-bottom:0.2rem}
.barre-link a:hover{border-color:var(--gold)}

/* ===================== VOTRE SITUATION ===================== */
#situation{background:var(--parch2)}
.sit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border-p)}
.sit-card{background:var(--parch);padding:2.6rem;display:flex;flex-direction:column}
.sit-who{font-size:0.62rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem !important}
.bn-main .sit-card h3{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:400;line-height:1.25;color:var(--night);margin-bottom:1rem}
.sit-card p:not(.sit-who):not(.arrow-link){font-size:0.82rem;line-height:1.9;color:var(--text-muted);font-weight:300;flex:1}

/* ===================== REPRISE (accueil) ===================== */
#reprise-a-la-barre{background:var(--parch)}
#reprise-a-la-barre .wp-block-buttons{margin-top:3rem}

/* ===================== PUBLICATIONS ===================== */
#blog,.bn-blog{background:var(--parch)}
.bn-main .wp-block-post-template{display:grid !important;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border-p);margin-top:3rem;list-style:none;padding:0}
.bn-main .wp-block-post-template > li{background:var(--parch);padding:2.5rem;transition:background 0.3s;display:flex;flex-direction:column;position:relative;margin:0 !important}
.bn-main .wp-block-post-template > li:hover{background:var(--parch2)}
.wp-block-post .wp-block-post-terms,.wp-block-post .article-pill{align-self:flex-start;margin-bottom:1.5rem;position:relative;z-index:2}
.wp-block-post .wp-block-post-terms a,.article-pill{font-size:0.6rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(184,146,42,0.35);padding:0.3rem 0.7rem;display:inline-block;text-decoration:none}
.wp-block-post .wp-block-post-terms__separator{display:none}
.wp-block-post .wp-block-post-date{font-size:0.66rem;color:var(--text-muted);letter-spacing:0.08em;margin-bottom:0.7rem;text-transform:uppercase}
.bn-main .wp-block-post .wp-block-post-title{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:400;line-height:1.4;color:var(--night);margin-bottom:0.8rem}
.wp-block-post .wp-block-post-title a{text-decoration:none;color:inherit}
.wp-block-post .wp-block-post-title a::after{content:'';position:absolute;inset:0;z-index:1}
.wp-block-post .wp-block-post-excerpt{flex:1;margin:0}
.wp-block-post .wp-block-post-excerpt__excerpt{font-size:0.77rem;color:var(--text-muted);line-height:1.85;font-weight:300}
.wp-block-post .wp-block-post-excerpt__more-text{display:none}
.wp-block-post .wp-block-read-more{font-size:0.64rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);margin-top:1.5rem;display:flex;align-items:center;gap:0.4rem;transition:gap 0.3s;text-decoration:none}
.wp-block-post:hover .wp-block-read-more{gap:0.8rem}
.wp-block-post .wp-block-read-more::after{content:'→'}
#blog .wp-block-buttons{margin-top:3rem}
#actualite{background:var(--parch2)}
#actualite .wp-block-post-template > li{background:var(--parch2)}
#actualite .wp-block-post-template > li:hover{background:var(--parch)}
.bn-main .wp-block-query-no-results p{font-size:0.88rem;line-height:2;color:var(--text-muted);font-weight:300;font-style:italic}
.bn-main .wp-block-query-pagination,.bn-pagination{margin-top:3rem;display:flex;gap:1rem;font-size:0.7rem;letter-spacing:0.14em;text-transform:uppercase}
.bn-main .wp-block-query-pagination a,.bn-pagination a{color:var(--gold);text-decoration:none}
.bn-pagination .nav-links{display:flex;gap:1rem}
.bn-pagination .screen-reader-text{position:absolute;left:-9999px}

/* ===================== CONTACT ===================== */
#contact{background:var(--night);color:var(--parch)}
#contact h2{color:var(--parch)}
#contact .section-tag + h2::after{opacity:0.25}
.contact-intro{font-size:0.88rem;line-height:2;color:rgba(237,232,223,0.62);font-weight:300;max-width:620px}
.contact-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:6rem;margin-top:3rem !important}
.contact-items{display:flex;flex-direction:column;gap:2rem}
.ci-label{font-size:0.6rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:0.4rem !important}
.ci-val{font-size:0.9rem;color:rgba(237,232,223,0.8);font-weight:300;line-height:1.9}
.ci-val a{color:rgba(237,232,223,0.8);text-decoration:none;transition:color 0.3s}
.ci-val a:hover{color:var(--gold)}
.c-form{display:flex;flex-direction:column;gap:1.1rem}
.c-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.c-field{display:flex;flex-direction:column;gap:0.4rem}
.c-field label{font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(237,232,223,0.5)}
.c-form input,.c-form textarea,.c-form select{background:var(--night2);border:1px solid rgba(237,232,223,0.12);color:var(--parch);padding:0.85rem 1rem;font-family:'Jost',sans-serif;font-size:0.84rem;font-weight:300;outline:none;transition:border-color 0.3s;width:100%;border-radius:0}
.c-form select option{background:var(--night)}
.c-form input:focus,.c-form textarea:focus,.c-form select:focus{border-color:var(--gold)}
.c-form textarea{height:150px;resize:vertical}
.c-consent{display:flex;gap:0.7rem;align-items:flex-start;font-size:0.72rem;line-height:1.7;color:rgba(237,232,223,0.5);font-weight:300}
.c-consent input{width:auto;margin-top:0.3rem;accent-color:var(--gold)}
.c-submit{background:var(--gold);border:1px solid var(--gold);color:var(--night);padding:1rem 2.2rem;font-family:'Jost',sans-serif;font-size:0.68rem;letter-spacing:0.16em;text-transform:uppercase;cursor:pointer;transition:opacity 0.3s;align-self:flex-start}
.c-submit:hover{opacity:0.85}

/* ===================== PAGES INTÉRIEURES ===================== */
.bn-main .page-band{background:var(--night);color:var(--parch);padding:9rem 5rem 5rem}
.crumbs{font-size:0.62rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(237,232,223,0.5);margin-bottom:2.2rem !important}
.crumbs a{color:var(--gold);text-decoration:none}
.crumbs span{margin:0 0.6rem}
.bn-main .page-band h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,4.2vw,3.8rem);font-weight:300;line-height:1.12;color:var(--parch);max-width:980px;margin-bottom:1.6rem}
.page-band .byline{font-size:0.72rem;letter-spacing:0.04em;color:rgba(237,232,223,0.55);margin-bottom:0}
.page-band .byline strong{color:var(--parch);font-weight:400}
.page-band .lead-dark{font-size:1rem;line-height:1.95;color:rgba(237,232,223,0.75);font-weight:300;max-width:820px}
.page-band .article-pill{margin-bottom:1.5rem}
.cta-band{background:var(--night);padding:5rem;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem}
.bn-main .cta-band p{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:300;color:var(--parch);line-height:1.3}
.cta-band p em{font-style:italic;color:var(--gold)}

/* Reprise à la barre : l'essentiel */
#essentiel{background:var(--parch)}
#guide{background:var(--parch2)}
#faq{background:var(--parch)}
.rep-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:5rem;margin-top:3.5rem;align-items:start}
.section-tag + h2 + .rep-layout{margin-top:0}
.bn-main .rep-block h3{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:400;color:var(--night);margin-bottom:1.4rem;line-height:1.25}
.bn-main .rep-who{list-style:none;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--border-p)}
.rep-who li{padding:1.2rem 0;border-bottom:1px solid var(--border-p);font-size:0.8rem;line-height:1.8;color:var(--text-muted);font-weight:300}
.rep-who strong{display:block;font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:400;color:var(--night);margin-bottom:0.3rem}
.bn-main .rep-steps{list-style:none;counter-reset:step;display:flex;flex-direction:column;background:var(--night);padding:2.6rem 2.8rem}
.rep-steps li{counter-increment:step;display:grid;grid-template-columns:2.6rem 1fr;gap:0.4rem 1rem;padding:1.15rem 0;border-bottom:1px solid var(--border-n);font-size:0.78rem;line-height:1.8;color:rgba(237,232,223,0.62);font-weight:300}
.rep-steps li:last-child{border-bottom:none}
.rep-steps li::before{content:counter(step);grid-row:span 2;font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;line-height:1;color:var(--gold)}
.rep-steps strong{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:400;color:var(--parch);line-height:1.4}
.rep-cases{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border-p);margin-top:4rem !important}
.rep-case{background:var(--parch2);padding:2.4rem}
.bn-main .rep-case h3{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:400;color:var(--night);margin-bottom:0.9rem;line-height:1.25}
.rep-case p{font-size:0.8rem;line-height:1.9;color:var(--text-muted);font-weight:300}

/* Guide */
.guide{display:grid;grid-template-columns:260px 1fr;gap:4rem;align-items:start}
.guide-toc{position:sticky;top:100px;border-left:1px solid var(--gold);padding-left:1.4rem}
.guide-toc-title{font-size:0.62rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem !important}
.bn-main .guide-toc ol{list-style:none;counter-reset:toc;display:flex;flex-direction:column;gap:0.7rem;padding:0}
.guide-toc li{counter-increment:toc;font-size:0.76rem;line-height:1.5}
.guide-toc li::before{content:counter(toc,decimal-leading-zero) " ";color:var(--gold);font-size:0.66rem;margin-right:0.3rem}
.guide-toc a{color:var(--text-muted);text-decoration:none}
.guide-toc a:hover{color:var(--night)}
.guide-body{max-width:760px;font-size:0.9rem;line-height:2;color:var(--text-muted);font-weight:300}
.guide-body p{margin-bottom:1rem !important}
.guide-body .guide-intro{font-size:1rem;line-height:1.9;padding-bottom:1.6rem;border-bottom:1px solid var(--border-p);margin-bottom:0.5rem !important;color:var(--night);font-weight:300}
.bn-main .guide-body h3{font-family:'Cormorant Garamond',serif;font-size:1.65rem;font-weight:400;line-height:1.25;color:var(--night);margin:2.6rem 0 1rem !important;scroll-margin-top:100px}
.guide-body .short{color:var(--night);font-weight:300;border-left:2px solid var(--gold);padding-left:1.2rem}
.bn-main .guide-body ul,.bn-main .guide-body ol{margin:0 0 1.2rem 1.4rem !important;display:flex;flex-direction:column;gap:0.5rem;padding:0}
.guide-body strong{color:var(--night);font-weight:500}
.guide-body a{color:var(--gold)}

/* FAQ */
.faq-list{margin-top:3rem;border-top:1px solid var(--border-p);max-width:900px}
.section-tag + h2 + .faq-list{margin-top:0}
.bn-main .faq-item{border-bottom:1px solid var(--border-p);margin:0 !important}
.faq-item summary{list-style:none;cursor:pointer;padding:1.5rem 3rem 1.5rem 0;position:relative;font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:400;color:var(--night);line-height:1.35}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';position:absolute;right:0.4rem;top:1.35rem;font-family:'Jost',sans-serif;font-weight:300;font-size:1.4rem;color:var(--gold);transition:transform 0.3s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item > p,.faq-answer{padding:0 3rem 1.8rem 0;font-size:0.86rem;line-height:2;color:var(--text-muted);font-weight:300;max-width:760px}

/* ===================== ARTICLE ===================== */
.bn-main .article-section{background:var(--parch);padding:5rem 5rem 6rem}
.article-section > article,.article-nav,.article-back{max-width:780px;margin-left:auto;margin-right:auto}
.article-body{font-size:0.95rem;line-height:2.05;color:var(--text-muted);font-weight:300}
.article-body > * + *{margin-top:1rem}
.article-body h2{font-family:'Cormorant Garamond',serif;font-size:1.9rem;font-weight:400;color:var(--night);margin:2.6rem 0 1rem;line-height:1.25}
.article-body h3{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:400;color:var(--night);margin:2.2rem 0 1rem;line-height:1.3}
.article-body h4{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:400;color:var(--night);margin:1.6rem 0 0.8rem;font-style:italic}
.article-body ul,.article-body ol{margin:1rem 0 1rem 1.5rem;display:flex;flex-direction:column;gap:0.5rem}
.article-body li{font-size:0.92rem;line-height:1.85}
.article-body blockquote,.article-body .wp-block-quote{border-left:2px solid var(--gold);padding-left:1.5rem;margin:1.8rem 0;font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-style:italic;color:var(--night);line-height:1.6}
.article-body strong{color:var(--night);font-weight:500}
.article-body a{color:var(--gold)}
.article-body figure{margin:2rem 0}
.article-body figcaption{font-size:0.75rem;color:var(--text-muted);margin-top:0.5rem}
.article-thumb{margin:0 0 2.5rem}
.article-cta{margin-top:3rem !important;padding-top:1.8rem;border-top:1px solid var(--border-p);font-size:0.85rem}
.article-nav{display:flex;justify-content:space-between;gap:2rem;margin-top:3rem;font-family:'Cormorant Garamond',serif;font-size:1.05rem}
.article-nav a{color:var(--night);text-decoration:none}
.article-nav a:hover{color:var(--gold)}
.article-nav div:last-child{text-align:right}
.article-back{margin-top:2.5rem}
.article-back a{font-size:0.66rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(184,146,42,0.4);padding-bottom:0.2rem}
.bn-archive .bn-blog{padding:5rem}

/* ===================== FOOTER ===================== */
.bn-footer{background:var(--night2);padding:2.4rem 5rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;border-top:1px solid var(--border-n)}
.f-logo{font-family:'Cormorant Garamond',serif;font-size:0.85rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold)}
.f-nap{font-size:0.66rem;line-height:1.8;color:rgba(237,232,223,0.4);font-style:normal;text-align:center}
.f-nap a{color:inherit;text-decoration:none}
.f-nap a:hover{color:var(--gold)}
.f-copy{font-size:0.62rem;color:rgba(237,232,223,0.3);text-align:right;line-height:1.8}

/* ===================== ANIMATIONS ===================== */
@supports (animation-timeline: view()){
  .fade-in{animation:fadeInUp linear both;animation-timeline:view();animation-range:entry 0% entry 35%}
  @keyframes fadeInUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion: reduce){
  .fade-in{opacity:1;transform:none;animation:none}
  html{scroll-behavior:auto}
}

/* ===================== RESPONSIVE ===================== */
@media(max-width:1180px){
  .nav-links{gap:1.4rem}
  .bn-header nav{padding:1.4rem 2.5rem}
}
@media(max-width:960px){
  .bn-header nav{padding:1rem 1.5rem}
  .nav-links{display:none}
  .nav-cta{display:none}
  .nav-logo-text{font-size:0.8rem;letter-spacing:0.12em}
  .nav-mobile{display:block}
  #accueil{grid-template-columns:1fr !important;grid-template-rows:auto auto;min-height:auto;padding:64px 0 0 !important}
  .hero-right{order:0}
  .hero-photo{width:100%;height:auto;min-height:0;aspect-ratio:2/3;flex:none}
  .hero-coords{display:none}
  .hero-left{padding:3rem 1.5rem;order:1}
  .bn-main .hero-credo{font-size:clamp(2rem,7vw,2.8rem)}
  .bn-main > section,.bn-main section.wp-block-group,.bn-main .article-section,.bn-archive .bn-blog{padding:4rem 1.5rem}
  .bn-main .page-band{padding:6.5rem 1.5rem 3.5rem}
  .cta-band{padding:3.5rem 1.5rem}
  .cabinet-grid,.contact-layout,.rep-layout{grid-template-columns:1fr;gap:2.5rem}
  .exp-grid,.bn-main .wp-block-post-template,.rep-cases,.sit-grid{grid-template-columns:1fr}
  .guide{grid-template-columns:1fr;gap:2rem}
  .guide-toc{position:static}
  .exp-card{padding:2.5rem 1.6rem}
  .bn-main .rep-steps{padding:2rem 1.5rem}
  .barre-inner{grid-template-columns:1fr;padding:2.5rem 1.5rem;gap:1.5rem}
  .c-row{grid-template-columns:1fr}
  .bn-footer{flex-direction:column;gap:1rem;padding:2rem 1.5rem;text-align:center}
  .f-copy{text-align:center}
  .article-nav{flex-direction:column;gap:1rem}
  .article-nav div:last-child{text-align:left}
}
@media(max-width:420px){
  .nav-logo-text{display:none}
}


/* =====================================================================
   THÈME TERRACOTTA (octobre 2026) — pour revenir à l'ancien thème,
   supprimer ce bloc jusqu'à la fin du fichier.
   ===================================================================== */
:root{
  --terra:#A04A2A;--terra2:#8A3F24;--terra3:#73341E;--cream:#FBEFE6;
  --ink:#2B1B15;--muted-ink:#6E5A4E;--soft:#F3E4D7;--soft2:#EAD3C3;
  --night:#2B1B15;--text-dark:#2B1B15;--text-muted:#6E5A4E;
  --night2:var(--terra2);--night3:var(--terra3);
  --gold:var(--terra);--gold-light:#F6D9C8;
  --border-p:rgba(43,27,21,0.13);--border-n:rgba(251,239,230,0.18);
}
body.bn{color:var(--ink)}
/* Blocs pleins : terracotta au lieu du bleu nuit */
.hero-left,.bn-main .cabinet-quote,.bn-main .page-band,.cta-band,.bn-main .rep-steps,.nav-mobile ul,#splash{background:var(--terra) !important}
.nav-cta{background:var(--terra) !important;color:#fff !important}
.nav-cta:hover{background:var(--terra3) !important}
#expertises,.exp-card{background:var(--terra2)}
.exp-card:hover,.barre-inner{background:var(--terra3)}
.barre-inner:hover{background:#5f2a17}
/* Accents posés sur le terracotta : crème */
.bn-main .hero-credo em{color:var(--ink)}
.hero-desc,.hero-coords p{color:var(--cream)}
#expertises .section-tag,.page-band .section-tag,.crumbs a,.page-band h1 em,.cta-band p em,#expertises h2 em,.barre-title em,.barre-badge,.barre-link a,.rep-steps li::before,.rep-steps strong,.cabinet-quote::before,.hero-coords strong{color:var(--cream) !important}
#expertises .section-tag::before,.page-band .section-tag::before{background:var(--cream)}
#expertises .section-tag + h2::after{background:var(--cream);opacity:.5}
.exp-num{color:rgba(251,239,230,0.35)}
.exp-list li::before{color:var(--cream);opacity:.7}
.exp-list li,.barre-desc,.rep-steps li,.page-band .lead-dark,.crumbs{color:rgba(251,239,230,0.9)}
.barre-badge{border-color:rgba(251,239,230,0.55)}
.barre-link a{border-color:rgba(251,239,230,0.5)}
.barre-inner{border-top-color:rgba(251,239,230,0.35)}
.rep-steps li{border-bottom-color:rgba(251,239,230,0.2)}
.page-band .byline{color:rgba(251,239,230,0.8)}
.page-band .byline strong{color:var(--cream)}
.page-band .article-pill{color:var(--cream);border-color:rgba(251,239,230,0.55)}
/* Boutons */
.bn-main .wp-block-button__link,.bn-main .is-style-bn-primary .wp-block-button__link{background:var(--terra);border-color:var(--terra);color:#fff}
.hero-left .is-style-bn-primary .wp-block-button__link,.cta-band .is-style-bn-primary .wp-block-button__link{background:var(--cream);border-color:var(--cream);color:var(--terra3)}
.bn-main .is-style-bn-ghost .wp-block-button__link{color:var(--cream);opacity:.85}
.bn-main .is-style-bn-outline .wp-block-button__link{color:var(--terra);border-color:var(--terra)}
.bn-main .is-style-bn-outline .wp-block-button__link:hover{background:var(--terra);color:#fff}
/* Contact : fond doux */
#contact{background:var(--soft);color:var(--ink)}
#contact h2{color:var(--ink)}
#contact h2 em{color:var(--terra)}
#contact .section-tag + h2::after{opacity:.5}
.contact-intro{color:var(--muted-ink)}
.ci-val,.ci-val a{color:var(--ink)}
.ci-val a{border-bottom:1px solid currentColor}
.ci-val a:hover{color:var(--terra)}
#contact .wp-block-jetpack-contact-form{max-width:520px;gap:0.9rem}
#contact .wp-block-jetpack-contact-form label,#contact .grunion-field-label{color:var(--muted-ink)}
#contact .wp-block-jetpack-contact-form input[type=text],#contact .wp-block-jetpack-contact-form input[type=email],#contact .wp-block-jetpack-contact-form input[type=tel],#contact .wp-block-jetpack-contact-form textarea{background:#FFFAF5 !important;border-color:rgba(43,27,21,0.18) !important;color:var(--ink) !important}
#contact .wp-block-jetpack-contact-form textarea{min-height:96px}
#contact .wp-block-jetpack-contact-form .grunion-field-consent-wrap,#contact .wp-block-jetpack-contact-form .consent{color:var(--muted-ink)}
#contact .wp-block-jetpack-contact-form .wp-block-button__link,#contact .wp-block-jetpack-contact-form button[type=submit]{background:var(--terra) !important;border-color:var(--terra) !important;color:#fff !important}
.mail-direct a{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--terra);border-bottom:1px solid var(--terra);padding-bottom:0.2rem}
.mail-direct{margin-top:1.2rem !important}
/* Pied de page doux */
.bn-footer{background:var(--soft2);border-top:1px solid rgba(43,27,21,0.1)}
.f-logo{color:var(--ink)}
.f-nap,.f-copy{color:#5A463B}
.f-nap a:hover{color:var(--terra)}
/* Logo : texte sur deux lignes, petit tour à l'apparition */
.nav-logo-text{display:flex;flex-direction:column;line-height:1.15;color:var(--ink);font-size:1.05rem;letter-spacing:.2em}
.nav-logo-text small{font-family:'Jost',sans-serif;font-size:0.56rem;letter-spacing:.32em;color:var(--terra)}
.nav-logo-svg{width:40px;height:40px;animation:bnSpinIn 1s .9s cubic-bezier(.6,.05,.25,1) both}
@keyframes bnSpinIn{from{transform:rotate(-360deg) scale(.6);opacity:0}to{transform:none;opacity:1}}
body:not(.home) .nav-logo-svg{animation:none}
/* Écran d'ouverture : nouveau logo qui tourne, plus court */
#splash{animation:splashOut .45s 1.05s ease forwards !important}
.logo-svg-wrap{width:160px;height:160px}
.logo-ring{border-color:rgba(251,239,230,0.3)}
.logo-ring::before{background:var(--cream)}
.tb-spin{width:100%;height:100%;animation:bnSpinOnce .95s cubic-bezier(.6,.05,.25,1) both}
@keyframes bnSpinOnce{from{transform:rotate(-360deg) scale(.7);opacity:0}to{transform:none;opacity:1}}
.splash-name{color:var(--cream);animation-delay:.4s}
.splash-title{color:var(--cream);opacity:.85;animation-delay:.5s}
@media (prefers-reduced-motion: reduce){.nav-logo-svg,.tb-spin{animation:none}}
/* Cartes, étiquettes, liens */
.wp-block-post .wp-block-post-terms a,.article-pill{color:var(--terra);border-color:rgba(160,74,42,0.45)}
@media(max-width:420px){.nav-logo-text{display:none}}

/* Contact : un seul bouton qui ouvre la messagerie */
.contact-cta{display:flex;flex-direction:column;justify-content:center;gap:1.6rem;max-width:520px;padding:3rem;background:#FFFAF5;border:1px solid rgba(43,27,21,0.1)}
.contact-cta-text{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:300;line-height:1.55;color:var(--ink)}
.contact-cta .wp-block-button__link{padding:1.1rem 2.6rem !important;font-size:0.72rem !important}
.contact-cta-note{font-size:0.78rem;line-height:1.8;color:var(--muted-ink);font-weight:300}
.contact-cta-note a{color:var(--terra);border-bottom:1px solid rgba(160,74,42,0.4)}
.contact-layout{align-items:center}
@media(max-width:960px){.contact-cta{padding:2rem 1.5rem}}

/* Formulaire compact (sans gras) */
#contact .contact-form-col{max-width:440px}
#contact .contact-form{display:flex !important;flex-direction:column !important;gap:0.7rem !important}
#contact .contact-form .grunion-field-wrap{margin:0 !important;padding:0 !important}
#contact .contact-form label.grunion-field-label,#contact .contact-form .wp-block-jetpack-label{font-family:'Jost',sans-serif !important;font-size:0.6rem !important;font-weight:300 !important;letter-spacing:0.14em !important;text-transform:uppercase !important;color:var(--muted-ink) !important;margin:0 0 0.25rem !important}
#contact .contact-form .grunion-label-required{font-weight:300 !important;text-transform:none;letter-spacing:0;opacity:.6;margin-left:.3em}
#contact .contact-form input[type=text],#contact .contact-form input[type=email],#contact .contact-form textarea{padding:0.55rem 0.8rem !important;font-size:0.8rem !important;font-weight:300 !important;min-height:0 !important}
#contact .contact-form textarea.grunion-field{height:84px !important;min-height:84px !important}
#contact .contact-form label.consent,#contact .contact-form .grunion-field-consent-wrap label,#contact .contact-form .grunion-field-consent-wrap{font-size:0.68rem !important;font-weight:300 !important;text-transform:none !important;letter-spacing:0 !important;line-height:1.5 !important;color:var(--muted-ink) !important}
#contact .contact-form button[type=submit],#contact .contact-form .wp-block-button__link{padding:0.75rem 1.8rem !important;font-weight:400 !important;font-size:0.64rem !important}
#contact .contact-form strong,#contact .contact-form b{font-weight:400 !important}
#contact .mail-direct{margin-top:0.9rem !important}
#contact .mail-direct a{font-weight:400;font-size:0.62rem}
/* fin formulaire compact */
.f-nap,.f-copy,.f-nap a{font-weight:300 !important}

/* Pied de page : logo + nom ; animation seulement à la première visite */
.f-logo{display:flex;align-items:center;gap:0.8rem;letter-spacing:.2em}
.f-logo-svg{width:32px;height:32px;flex-shrink:0}
.bn-seen .nav-logo-svg{animation:none}
.exp-card{scroll-margin-top:100px}
