.ct-section {
width:100%;
background-size:cover;
background-repeat:repeat;
}
.ct-section>.ct-section-inner-wrap {
display:flex;
flex-direction:column;
align-items:flex-start;
}
.ct-div-block {
display:flex;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.ct-new-columns {
display:flex;
width:100%;
flex-direction:row;
align-items:stretch;
justify-content:center;
flex-wrap:wrap;
}
.ct-link-text {
display:inline-block;
}
.ct-link {
display:flex;
flex-wrap:wrap;
text-align:center;
text-decoration:none;
flex-direction:column;
align-items:center;
justify-content:center;
}
.ct-link-button {
display:inline-block;
text-align:center;
text-decoration:none;
}
.ct-link-button {
background-color: #1e73be;
border: 1px solid #1e73be;
color: #ffffff;
padding: 10px 16px;
}
.ct-image {
max-width:100%;
}
.ct-fancy-icon>svg {
width:55px;height:55px;}
.ct-inner-content {
width:100%;
}
.ct-slide {
display:flex;
flex-wrap:wrap;
text-align:center;
flex-direction:column;
align-items:center;
justify-content:center;
}
.ct-nestable-shortcode {
display:flex;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-comments {
width:100%;
text-align:left;
}
.oxy-comment-form {
width:100%;
}
.oxy-login-form {
width:100%;
}
.oxy-search-form {
width:100%;
}
.oxy-tabs-contents {
display:flex;
width:100%;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-tab {
display:flex;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-tab-content {
display:flex;
width:100%;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-testimonial {
width:100%;
}
.oxy-icon-box {
width:100%;
}
.oxy-pricing-box {
width:100%;
}
.oxy-posts-grid {
width:100%;
}
.oxy-gallery {
width:100%;
}
.ct-slider {
width:100%;
}
.oxy-tabs {
display:flex;
flex-wrap:nowrap;
flex-direction:row;
align-items:stretch;
}
.ct-modal {
flex-direction:column;
align-items:flex-start;
}
.ct-span {
display:inline-block;
text-decoration:inherit;
}
.ct-widget {
width:100%;
}
.oxy-dynamic-list {
width:100%;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
			.ct-div-block,
			.oxy-post-content,
			.ct-text-block,
			.ct-headline,
			.oxy-rich-text,
			.ct-link-text { max-width: 100%; }
			img { flex-shrink: 0; }
			body * { min-height: 1px; }
		}            .oxy-testimonial {
                flex-direction: row;
                align-items: center;
            }
                        .oxy-testimonial .oxy-testimonial-photo-wrap {
                order: 1;
            }
            
                        .oxy-testimonial .oxy-testimonial-photo {
                width: 125px;                height: 125px;                margin-right: 20px;
            }
            
                        .oxy-testimonial .oxy-testimonial-photo-wrap, 
            .oxy-testimonial .oxy-testimonial-author-wrap, 
            .oxy-testimonial .oxy-testimonial-content-wrap {
                align-items: flex-start;                text-align: left;            }
            
                                                            .oxy-testimonial .oxy-testimonial-text {
                margin-bottom:8px;font-size: 21px;
line-height: 1.4;
-webkit-font-smoothing: subpixel-antialiased;
            }
            
                                    .oxy-testimonial .oxy-testimonial-author {
                font-size: 18px;
-webkit-font-smoothing: subpixel-antialiased;
            }
                            

                                                .oxy-testimonial .oxy-testimonial-author-info {
                font-size: 12px;
-webkit-font-smoothing: subpixel-antialiased;
            }
            
             
            
                        .oxy-icon-box {
                text-align: left;                flex-direction: column;            }
            
                        .oxy-icon-box .oxy-icon-box-icon {
                margin-bottom: 12px;
                align-self: flex-start;            }
            
                                                                        .oxy-icon-box .oxy-icon-box-heading {
                font-size: 21px;
margin-bottom: 12px;            }
            
                                                                                    .oxy-icon-box .oxy-icon-box-text {
                font-size: 16px;
margin-bottom: 12px;align-self: flex-start;            }
            
                        .oxy-icon-box .oxy-icon-box-link {
                margin-top: 20px;                            }
            
            
            /* GLOBALS */

                                                            .oxy-pricing-box .oxy-pricing-box-section {
                padding-top: 20px;
padding-left: 20px;
padding-right: 20px;
padding-bottom: 20px;
text-align: center;            }
                        
                        .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-price {
                justify-content: center;            }
            
            /* IMAGE */
                                                                                    .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-graphic {
                justify-content: center;            }
            
            /* TITLE */
                                                            
                                    .oxy-pricing-box .oxy-pricing-box-title-title {
                font-size: 48px;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-title-subtitle {
                font-size: 24px;
            }
            

            /* PRICE */
                                                .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-price {
                                                flex-direction: row;                                            }
            
                                    .oxy-pricing-box .oxy-pricing-box-currency {
                font-size: 28px;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-amount-main {
                font-size: 80px;
line-height: 0.7;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-amount-decimal {
                font-size: 13px;
            }
                        
                                    .oxy-pricing-box .oxy-pricing-box-term {
                font-size: 16px;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-sale-price {
                font-size: 12px;
color: rgba(0,0,0,0.5);
                margin-bottom: 20px;            }
            
            /* CONTENT */

                                                                        .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-content {
                font-size: 16px;
color: rgba(0,0,0,0.5);
            }
            
            /* CTA */

                                                                        .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-cta {
                justify-content: center;            }
            
        
                                .oxy-progress-bar .oxy-progress-bar-background {
            background-color: #000000;            background-image: linear-gradient(-45deg,rgba(255,255,255,.12) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.12) 75%,transparent 75%,transparent);            animation: none 0s paused;        }
                
                .oxy-progress-bar .oxy-progress-bar-progress-wrap {
            width: 85%;        }
        
                                                        .oxy-progress-bar .oxy-progress-bar-progress {
            background-color: #66aaff;padding: 40px;animation: none 0s paused, none 0s paused;            background-image: linear-gradient(-45deg,rgba(255,255,255,.12) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.12) 75%,transparent 75%,transparent);        
        }
                
                        .oxy-progress-bar .oxy-progress-bar-overlay-text {
            font-size: 30px;
font-weight: 900;
-webkit-font-smoothing: subpixel-antialiased;
        }
        
                        .oxy-progress-bar .oxy-progress-bar-overlay-percent {
            font-size: 12px;
        }
        
        .ct-slider .unslider-nav ol li {border-color: #ffffff; }.ct-slider .unslider-nav ol li.unslider-active {background-color: #ffffff; }.ct-slider .ct-slide {
				padding: 0px;			}
		
                        .oxy-superbox .oxy-superbox-secondary, 
            .oxy-superbox .oxy-superbox-primary {
                transition-duration: 0.5s;            }
            
            
            
            
            
        
        
        
        
            .oxy-shape-divider {
                width: 0px;
                height: 0px;
                
            }
            
            .oxy_shape_divider svg {
                width: 100%;
            }
            .oxy-pro-menu .oxy-pro-menu-container:not(.oxy-pro-menu-open-container):not(.oxy-pro-menu-off-canvas-container) .sub-menu{
box-shadow:px px px px ;}

.oxy-pro-menu .oxy-pro-menu-show-dropdown .oxy-pro-menu-list .menu-item-has-children > a svg{
transition-duration:0.4s;
}

.oxy-pro-menu .oxy-pro-menu-show-dropdown .oxy-pro-menu-list .menu-item-has-children > a div{
margin-left:0px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon svg{
width:30px;
height:30px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon{
padding-top:15px;
padding-right:15px;
padding-bottom:15px;
padding-left:15px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon, .oxy-pro-menu .oxy-pro-menu-mobile-open-icon svg{
transition-duration:0.4s;
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon{
top:20px;
left:20px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon svg{
width:24px;
height:24px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon, .oxy-pro-menu .oxy-pro-menu-mobile-close-icon svg{
transition-duration:0.4s;
}

.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container{
background-color:#ffffff;
}

.oxy-pro-menu .oxy-pro-menu-off-canvas-container, .oxy-pro-menu .oxy-pro-menu-open-container{
background-image:url();
}

.oxy-pro-menu .oxy-pro-menu-off-canvas-container .oxy-pro-menu-list .menu-item-has-children > a svg, .oxy-pro-menu .oxy-pro-menu-open-container .oxy-pro-menu-list .menu-item-has-children > a svg{
font-size:24px;
}

.oxy-pro-menu .oxy-pro-menu-dropdown-links-toggle.oxy-pro-menu-open-container .menu-item-has-children ul, .oxy-pro-menu .oxy-pro-menu-dropdown-links-toggle.oxy-pro-menu-off-canvas-container .menu-item-has-children ul{
background-color:rgba(0,0,0,0.2);
border-top-style:solid;
}

.oxy-pro-menu .oxy-pro-menu-container:not(.oxy-pro-menu-open-container):not(.oxy-pro-menu-off-canvas-container) .oxy-pro-menu-list{
                    flex-direction: row;
               }
.oxy-pro-menu .oxy-pro-menu-container .menu-item a{
                    text-align: left;
                    justify-content: flex-start;
                }
.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container .menu-item, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container .menu-item{
                    align-items: flex-start;
                }

            .oxy-pro-menu .oxy-pro-menu-off-canvas-container{
                    top: 0;
                    bottom: 0;
                    right: auto;
                    left: 0;
               }
.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container .oxy-pro-menu-list .menu-item a, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container .oxy-pro-menu-list .menu-item a{
                    text-align: left;
                    justify-content: flex-start;
                }

            .oxy-site-navigation {
--oxynav-brand-color:#4831B0;
--oxynav-neutral-color:#FFFFFF;
--oxynav-activehover-color:#EFEDF4;
--oxynav-background-color:#4831B0;
--oxynav-border-radius:0px;
--oxynav-other-spacing:8px;
--oxynav-transition-duration:0.3s;
--oxynav-transition-timing-function:cubic-bezier(.84,.05,.31,.93);
}

.oxy-site-navigation .oxy-site-navigation__mobile-close-wrapper{
text-align:left;
}

.oxy-site-navigation > ul{ left: 0; }
.oxy-site-navigation {
                        --oxynav-animation-name: none; 
                    }

                .oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(1){ 
                    background-color: var(--oxynav-brand-color);
                    transition: var(--oxynav-transition-duration);
                    margin-left: var(--oxynav-other-spacing);
                    border: none;
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2){ 
                    background: transparent;
                    border: 1px solid currentColor;
                    transition: var(--oxynav-transition-duration);
                    margin-left: var(--oxynav-other-spacing);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2):not(:hover) > img{
                    filter: invert(0) !important;
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:hover{
                    background-color: var(--oxynav-activehover-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(1) > a{
                    color: var(--oxynav-neutral-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2) > a{
                    color: var(--oxynav-brand-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:hover > a{
                    color: var(--oxynav-brand-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(1) > a::after{
                    color: var(--oxynav-neutral-color);   
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2) > a::after{
                    color: var(--oxynav-brand-color);   
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:hover > a::after{
                    color: var(--oxynav-brand-color);   
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true'] > ul{
                    display: none;
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true'] > button, .oxy-site-navigation > ul:not(.open) > li[data-cta='true'] > ul{
                    display: none;
                }

                .ct-section-inner-wrap, .oxy-header-container{
  max-width: 1120px;
}
body {font-family: 'Open Sans';}body {line-height: 1.6;font-size: 16px;font-weight: 400;color: #404040;}.oxy-nav-menu-hamburger-line {background-color: #404040;}h1, h2, h3, h4, h5, h6 {font-family: 'Source Sans 3';font-size: 36px;font-weight: 700;}h2, h3, h4, h5, h6{font-size: 30px;}h3, h4, h5, h6{font-size: 24px;}h4, h5, h6{font-size: 20px;}h5, h6{font-size: 18px;}h6{font-size: 16px;}a {color: #0074db;text-decoration: none;}a:hover {text-decoration: none;}.ct-link-text {text-decoration: ;}.ct-link {text-decoration: ;}.ct-link-button {border-radius: 3px;}.ct-section-inner-wrap {
padding-top: 75px;
padding-right: 20px;
padding-bottom: 75px;
padding-left: 20px;
}.ct-new-columns > .ct-div-block {
padding-top: 20px;
padding-right: 20px;
padding-bottom: 20px;
padding-left: 20px;
}.oxy-header-container {
padding-right: 20px;
padding-left: 20px;
}@media (max-width: 992px) {
				.ct-columns-inner-wrap {
					display: block !important;
				}
				.ct-columns-inner-wrap:after {
					display: table;
					clear: both;
					content: "";
				}
				.ct-column {
					width: 100% !important;
					margin: 0 !important;
				}
				.ct-columns-inner-wrap {
					margin: 0 !important;
				}
			}
/* =============================================================================
   kinkdom.fr — feuille de styles
   Oxygen > Manage > Stylesheets > Add Stylesheet (« kinkdom »).
   Tout le CSS du site est ici, sauf celui du moteur du recueil (embarqué dans son snippet).
   Palette validée : crème #F4F0EA, blanc, encre #17120F, gris #6E645B, or texte #7A5E2C,
   or trait #8C6D35, or clair #C6A56B (sur sombre), bordeaux #7A1F2E, plaque sombre #251A16→#130E0D.
   Polices : Gilda Display (titres) et Jost (texte), chargées par le header.
   ============================================================================= */

:root{
  --kd-bg:#F4F0EA; --kd-sur:#FFFFFF; --kd-sur2:#EDE7DE; --kd-ink:#17120F; --kd-mute:#6E645B;
  --kd-line:rgba(23,18,15,.14); --kd-or:#7A5E2C; --kd-or2:#8C6D35; --kd-orc:#C6A56B; --kd-vin:#7A1F2E;
  --kd-sombre:#130E0D; --kd-sombre2:#251A16; --kd-clair:#EFE7DC;
  --kd-serif:'Gilda Display','Didot','Bodoni MT',serif; --kd-sans:'Jost','Futura','Century Gothic',sans-serif;
  --kd-marge:64px;
}
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{ margin:0; background:var(--kd-bg); color:var(--kd-ink); font-family:var(--kd-sans); font-weight:300; font-size:16px; line-height:1.55; }
body *{ box-sizing:border-box; }
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
a:hover{ color:var(--kd-or); }
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{ margin:0; }
button,input,select,textarea{ font-family:inherit; font-size:inherit; color:inherit; }
::selection{ background:var(--kd-orc); color:var(--kd-sombre); }

.kd-sr{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.kd-skip{ position:absolute; left:-999px; top:8px; background:var(--kd-ink); color:var(--kd-bg); padding:10px 16px; z-index:100; }
.kd-skip:focus{ left:8px; }

/* ---- socle typographique ---- */
.kd-wrap{ max-width:1440px; margin:0 auto; padding:0 var(--kd-marge); }
.kd-etroit{ max-width:860px; }
.kd-sur{ display:flex; align-items:center; gap:14px; font-size:12px; letter-spacing:.26em; text-transform:uppercase; font-weight:400; color:var(--kd-or); }
.kd-sur::before{ content:""; display:block; width:36px; height:1px; background:var(--kd-or2); flex:0 0 auto; }
.kd-sur--nu::before{ display:none; }
.kd-h1{ font-family:var(--kd-serif); font-weight:400; font-size:clamp(38px,5vw,66px); line-height:1.02; letter-spacing:-.01em; text-wrap:balance; }
.kd-h2{ font-family:var(--kd-serif); font-weight:400; font-size:clamp(30px,3.4vw,46px); line-height:1.08; text-wrap:balance; }
.kd-h3{ font-family:var(--kd-serif); font-weight:400; font-size:clamp(21px,2vw,26px); line-height:1.15; }
.kd-h4{ font-family:var(--kd-serif); font-weight:400; font-size:21px; line-height:1.2; }
.kd-chapo{ font-size:19px; line-height:1.55; color:var(--kd-mute); max-width:62ch; }
.kd-lien{ font-size:12px; letter-spacing:.2em; text-transform:uppercase; font-weight:400; color:var(--kd-or); white-space:nowrap; }
.kd-lien:hover{ color:var(--kd-ink); }
.kd-btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:0 26px; background:var(--kd-ink); color:var(--kd-bg); font-size:12px; letter-spacing:.2em; text-transform:uppercase; font-weight:400; border:1px solid var(--kd-ink); cursor:pointer; text-align:center; }
.kd-btn:hover{ background:#2C2320; color:var(--kd-bg); }
.kd-btn--or{ background:var(--kd-or2); border-color:var(--kd-or2); color:var(--kd-bg); }
.kd-btn--or:hover{ background:var(--kd-or); border-color:var(--kd-or); color:var(--kd-bg); }
.kd-btn--vide{ background:none; color:var(--kd-ink); }
.kd-btn--vide:hover{ background:var(--kd-ink); color:var(--kd-bg); }
.kd-btn svg{ width:16px; height:16px; }
.kd-liens{ display:flex; flex-wrap:wrap; gap:14px 28px; }
.kd-sec{ padding-top:120px; }
.kd-sec--serre{ padding-top:80px; }
.kd-sec--blanc{ margin-top:120px; padding:100px 0; background:var(--kd-sur); border-top:1px solid var(--kd-line); border-bottom:1px solid var(--kd-line); }
/* La plaque sombre de l’appel aux hôtes : même dégradé que les vignettes du recueil.
   Sur ce fond, l’or texte (#7A5E2C) ne passe plus : on repasse sur l’or clair, et le
   paragraphe quitte le gris du corps pour le crème atténué. */
.kd-sec--plaque{ margin-top:120px; padding:96px 0; background:linear-gradient(160deg,var(--kd-sombre2) 0%,var(--kd-sombre) 100%); color:var(--kd-clair); }
.kd-sec--plaque .kd-sur{ color:var(--kd-orc); }
.kd-sec--plaque .kd-sur::before{ background:var(--kd-orc); }
.kd-sec--plaque .kd-appel__tx p{ color:rgba(239,231,220,.72); }
.kd-sec--plaque .kd-btn--or{ color:var(--kd-sombre); }
.kd-sec--plaque .kd-btn--or:hover{ background:var(--kd-orc); border-color:var(--kd-orc); color:var(--kd-sombre); }
.kd-tete-sec{ display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:40px; }
.kd-tete-sec__tx{ display:flex; flex-direction:column; gap:12px; }
.kd-tete-sec__tx .kd-sur::before{ display:none; }
.kd-fil{ display:flex; flex-wrap:wrap; gap:6px 12px; padding:22px 0 0; font-size:12px; letter-spacing:.12em; text-transform:uppercase; font-weight:400; color:var(--kd-mute); }
.kd-fil i{ font-style:normal; color:var(--kd-or2); }
.kd-fil [aria-current]{ color:var(--kd-ink); }
.kd-note{ font-size:13.5px; line-height:1.55; color:var(--kd-mute); }
.kd-tableau{ overflow-x:auto; }
.kd-tableau table{ width:100%; border-collapse:collapse; font-size:15px; }
.kd-tableau th,.kd-tableau td{ text-align:left; vertical-align:top; padding:14px 16px 14px 0; border-bottom:1px solid var(--kd-line); }
.kd-tableau th{ font-weight:400; font-family:var(--kd-serif); font-size:18px; }
.kd-tableau thead th{ font-family:var(--kd-sans); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--kd-or); }

.kd-art,.kd-f{ display:block; }
.kd-art__corps{ min-width:0; }

/* ---- prose (pages, article) ---- */
.kd-prose{ font-size:17px; line-height:1.7; color:var(--kd-ink); }
.kd-prose > *{ margin:0 0 22px; }
.kd-prose > *:last-child{ margin-bottom:0; }
.kd-prose h2{ font-family:var(--kd-serif); font-weight:400; font-size:32px; line-height:1.12; margin-top:44px; }
.kd-prose h3{ font-family:var(--kd-serif); font-weight:400; font-size:25px; line-height:1.15; margin-top:34px; }
.kd-prose h4{ font-family:var(--kd-serif); font-weight:400; font-size:21px; line-height:1.2; margin-top:26px; margin-bottom:10px; }
.kd-prose p a,.kd-prose li a{ color:var(--kd-or); border-bottom:1px solid rgba(140,109,53,.5); }
.kd-prose p a:hover,.kd-prose li a:hover{ color:var(--kd-ink); border-bottom-color:var(--kd-ink); }
.kd-prose ul,.kd-prose ol{ padding-left:22px; }
.kd-prose li{ margin:0 0 10px; }
.kd-prose li b,.kd-prose li strong{ font-weight:500; color:var(--kd-ink); }
.kd-prose blockquote{ font-family:var(--kd-serif); font-size:28px; line-height:1.25; border-left:3px solid var(--kd-or2); padding:6px 0 6px 28px; margin:34px 0; }
.kd-prose img{ width:100%; }
.kd-prose figcaption{ font-size:13px; color:var(--kd-mute); margin-top:10px; }
.kd-prose table{ width:100%; border-collapse:collapse; font-size:15px; }
.kd-prose th,.kd-prose td{ text-align:left; padding:12px 12px 12px 0; border-bottom:1px solid var(--kd-line); }
.kd-prose .kd-tip{ display:flex; gap:16px; padding:22px 26px; background:var(--kd-sur); border:1px solid rgba(140,109,53,.5); font-size:15.5px; line-height:1.6; color:var(--kd-mute); }
.kd-prose .kd-tip b{ font-weight:400; color:var(--kd-ink); }
/* Guides : encadrés d'alerte (zones interdites) et de feu vert, feux tricolores des safewords */
.kd-prose .kd-alerte{ padding:22px 26px; background:var(--kd-sur); border:1px solid var(--kd-line); border-left:3px solid var(--kd-vin); font-size:15.5px; line-height:1.6; }
.kd-prose .kd-alerte--ok{ border-left-color:var(--kd-or2); }
.kd-prose .kd-alerte__t{ font-size:11px; letter-spacing:.22em; text-transform:uppercase; font-weight:400; color:var(--kd-vin); margin-bottom:10px; }
.kd-prose .kd-alerte--ok .kd-alerte__t{ color:var(--kd-or); }
.kd-prose .kd-alerte ul{ margin:0 0 10px; }
.kd-prose .kd-alerte > p:last-child{ margin:0; color:var(--kd-mute); }
.kd-prose .kd-feux{ list-style:none; padding-left:0; }
.kd-prose .kd-feux li{ position:relative; padding-left:30px; }
.kd-prose .kd-feux li::before{ content:""; position:absolute; left:0; top:.45em; width:14px; height:14px; border-radius:50%; }
.kd-prose .kd-feux__vert::before{ background:#3F7A4E; }
.kd-prose .kd-feux__orange::before{ background:#C98A2E; }
.kd-prose .kd-feux__rouge::before{ background:var(--kd-vin); }

/* =============================================================================
   HEADER
   ============================================================================= */
.kd-tete{ position:relative; z-index:20; background:var(--kd-sur); border-bottom:1px solid var(--kd-line); }
.kd-tete__in{ max-width:1440px; margin:0 auto; padding:24px var(--kd-marge); display:flex; align-items:center; justify-content:space-between; gap:32px; }
.kd-marque{ font-family:var(--kd-serif); font-size:24px; letter-spacing:.22em; text-transform:uppercase; color:var(--kd-ink); white-space:nowrap; }
.kd-nav{ display:flex; gap:40px; font-size:13px; letter-spacing:.16em; text-transform:uppercase; font-weight:400; color:var(--kd-mute); }
.kd-nav a:hover,.kd-nav a.is-ici{ color:var(--kd-ink); }
.kd-tete__fin{ display:flex; align-items:center; gap:22px; }
.kd-txtbtn{ background:none; border:0; padding:0; font-size:12px; letter-spacing:.18em; text-transform:uppercase; font-weight:400; color:var(--kd-mute); cursor:pointer; }
.kd-txtbtn:hover{ color:var(--kd-ink); }
.kd-txtbtn--menu{ display:none; }
.kd-tete__cta{ font-size:12px; letter-spacing:.18em; text-transform:uppercase; font-weight:400; color:var(--kd-ink); border:1px solid var(--kd-ink); padding:13px 22px; white-space:nowrap; }
.kd-tete__cta:hover{ background:var(--kd-ink); color:var(--kd-bg); }
.kd-cherche{ border-top:1px solid var(--kd-line); background:var(--kd-sur); }
.kd-cherche[hidden]{ display:none; }
.kd-cherche__in{ max-width:1440px; margin:0 auto; padding:22px var(--kd-marge); display:flex; flex-direction:column; gap:10px; }
.kd-cherche__form{ display:flex; gap:10px; }
.kd-cherche__form input[type=search]{ flex:1; min-width:0; height:52px; padding:0 18px; border:1px solid var(--kd-line); background:var(--kd-bg); font-weight:300; }
.kd-cherche__form input[type=search]:focus{ outline:2px solid var(--kd-or2); outline-offset:1px; }
.kd-cherche__aide{ font-size:13px; color:var(--kd-mute); }
/* Sur l'accueil, la barre se pose sur la photo du hero, en clair. */
.kd-tete--hero{ position:absolute; top:0; left:0; right:0; background:transparent; border-bottom:0; }
.kd-tete--hero .kd-marque,.kd-tete--hero .kd-tete__cta{ color:var(--kd-clair); }
.kd-tete--hero .kd-tete__cta{ border-color:rgba(239,231,220,.45); }
.kd-tete--hero .kd-tete__cta:hover{ background:var(--kd-clair); color:var(--kd-sombre); }
.kd-tete--hero .kd-nav,.kd-tete--hero .kd-txtbtn{ color:rgba(239,231,220,.86); }
.kd-tete--hero .kd-nav a:hover,.kd-tete--hero .kd-txtbtn:hover{ color:#FFFFFF; }
.kd-tete--hero .kd-cherche{ background:rgba(19,14,13,.92); border-top-color:rgba(239,231,220,.2); color:var(--kd-clair); }
.kd-tete--hero .kd-cherche__form input[type=search]{ background:rgba(239,231,220,.08); border-color:rgba(239,231,220,.35); color:var(--kd-clair); }
.kd-tete--hero .kd-cherche__aide{ color:rgba(239,231,220,.7); }

/* =============================================================================
   FOOTER
   ============================================================================= */
.kd-pied{ margin-top:120px; border-top:1px solid var(--kd-line); }
.kd-pied__in{ max-width:1440px; margin:0 auto; padding:48px var(--kd-marge) 56px; display:flex; flex-direction:column; gap:40px; }
.kd-pied__haut{ display:flex; justify-content:space-between; align-items:flex-start; gap:40px; }
.kd-pied__marque{ display:flex; flex-direction:column; gap:12px; }
.kd-pied__ligne{ font-size:14px; color:var(--kd-mute); max-width:340px; }
.kd-pied__cols{ display:flex; gap:72px; font-size:13px; letter-spacing:.14em; text-transform:uppercase; font-weight:400; }
.kd-pied__col{ display:flex; flex-direction:column; gap:14px; color:var(--kd-mute); }
.kd-pied__col ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:14px; }
.kd-pied__col a:hover{ color:var(--kd-ink); }
.kd-pied__lead{ color:var(--kd-or); font-size:11px; letter-spacing:.24em; }
.kd-pied__col--regions ul{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 28px; }
.kd-pied__bas{ display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; font-size:12px; letter-spacing:.1em; color:var(--kd-mute); border-top:1px solid var(--kd-line); padding-top:24px; }
.kd-pied__bas nav{ display:flex; gap:18px; }
.kd-pied__bas a:hover{ color:var(--kd-ink); }

/* =============================================================================
   ACCUEIL
   ============================================================================= */
/* Le bandeau d'ouverture. Le contenu n'est PAS posé en absolu : il est aligné en bas d'une
   boîte flexible, avec un padding haut supérieur à la barre de navigation. Un titre long — ou
   une fenêtre courte — fait alors grandir le bandeau au lieu de passer sous le menu. */
.kd-hero{ position:relative; display:flex; align-items:flex-end; min-height:clamp(620px,86vh,820px); overflow:hidden; background:var(--kd-sombre); }
.kd-hero picture,.kd-hero img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:15% 50%; }
.kd-hero__voile{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(15,12,12,.45) 0%, rgba(15,12,12,0) 32%, rgba(15,12,12,.15) 60%, rgba(15,12,12,.96) 100%); }
.kd-hero__in{ position:relative; z-index:1; display:flex; flex-direction:column; gap:22px; width:100%; max-width:calc(820px + var(--kd-marge)); padding:130px var(--kd-marge) 150px; }
.kd-hero__kicker{ display:flex; align-items:center; gap:14px; font-size:12px; letter-spacing:.26em; text-transform:uppercase; font-weight:400; color:var(--kd-orc); }
.kd-hero__kicker::before{ content:""; display:block; width:36px; height:1px; background:var(--kd-orc); }
.kd-hero__h1{ font-family:var(--kd-serif); font-weight:400; font-size:clamp(40px,5.6vw,76px); line-height:1.02; letter-spacing:-.01em; color:var(--kd-clair); text-wrap:balance; }
.kd-hero__p{ font-size:19px; line-height:1.5; color:rgba(239,231,220,.82); max-width:560px; }
.kd-quete{ position:relative; z-index:4; margin:-72px var(--kd-marge) 0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) 220px; background:var(--kd-sur); border:1px solid var(--kd-line); box-shadow:0 30px 60px -30px rgba(23,18,15,.35); }
.kd-quete__champ{ display:flex; flex-direction:column; gap:6px; padding:22px 30px; border-right:1px solid var(--kd-line); }
.kd-quete__champ label{ font-size:11px; letter-spacing:.24em; text-transform:uppercase; font-weight:400; color:var(--kd-or); }
.kd-quete__champ select{ border:0; background:transparent; padding:0; font-size:17px; font-weight:300; color:var(--kd-ink); width:100%; cursor:pointer; }
.kd-quete__champ select:focus{ outline:2px solid var(--kd-or2); outline-offset:4px; }
.kd-quete__btn{ display:flex; align-items:center; justify-content:center; background:var(--kd-ink); color:var(--kd-bg); border:0; font-size:13px; letter-spacing:.22em; text-transform:uppercase; font-weight:400; cursor:pointer; }
.kd-quete__btn:hover{ background:#2C2320; color:var(--kd-bg); }
.kd-preuves{ display:flex; justify-content:center; flex-wrap:wrap; gap:14px 40px; padding:22px var(--kd-marge) 0; font-size:12px; letter-spacing:.16em; text-transform:uppercase; font-weight:400; color:var(--kd-mute); }
.kd-preuves span{ display:flex; align-items:center; gap:10px; }
.kd-intro{ font-size:17px; line-height:1.65; color:var(--kd-mute); max-width:70ch; margin-bottom:36px; }
.kd-intro p + p{ margin-top:14px; }
/* Les plaques de mobilier : des tuiles carrées photographiques. Le voile va du presque
   transparent en haut au noir en bas, pour que le nom et le compteur tiennent quelle que
   soit la vignette. Sans vignette, la tuile garde le fond sombre et son halo d'or : les deux
   états cohabitent dans la même grille. */
.kd-plaques{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.kd-plaque{ position:relative; display:flex; flex-direction:column; justify-content:space-between; aspect-ratio:1/1; padding:24px; overflow:hidden; color:var(--kd-clair); background:linear-gradient(160deg,var(--kd-sombre2) 0%,var(--kd-sombre) 100%); }
.kd-plaque:hover{ color:var(--kd-clair); }
.kd-plaque__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.2,.7,.2,1); }
.kd-plaque:hover .kd-plaque__img{ transform:scale(1.05); }
.kd-plaque__voile{ position:absolute; inset:0; background:radial-gradient(circle at 116% -16%, rgba(198,165,107,.24) 0%, rgba(198,165,107,0) 62%); transition:opacity .6s; }
.kd-plaque--photo .kd-plaque__voile{ background:linear-gradient(180deg, rgba(19,14,13,.22) 0%, rgba(19,14,13,.5) 46%, rgba(19,14,13,.93) 100%); }
.kd-plaque__icone{ position:relative; display:block; line-height:0; }
.kd-plaque__icone svg{ width:44px; height:44px; }
.kd-plaque__tx{ display:flex; flex-direction:column; gap:6px; position:relative; }
.kd-plaque__nom{ font-family:var(--kd-serif); font-size:23px; line-height:1.12; color:var(--kd-clair); text-wrap:balance; }
.kd-plaque__n{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--kd-orc); }

.kd-regions{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.kd-region{ display:flex; flex-direction:column; gap:14px; padding:26px 24px 24px; border:1px solid var(--kd-line); background:var(--kd-sur); }
.kd-region--vide{ background:transparent; }
.kd-region__tete{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.kd-region__nom{ font-family:var(--kd-serif); font-size:22px; line-height:1.15; color:var(--kd-ink); }
.kd-region__n{ font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--kd-or); white-space:nowrap; }
.kd-region__filet{ display:block; width:32px; height:1px; background:var(--kd-or2); }
.kd-region__villes{ display:flex; flex-wrap:wrap; gap:6px 14px; font-size:14px; line-height:1.5; color:var(--kd-mute); }
.kd-region__villes a:hover{ color:var(--kd-ink); }

.kd-mode{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:80px; align-items:start; }
.kd-mode__intro{ display:flex; flex-direction:column; gap:22px; position:sticky; top:24px; }
.kd-mode__img{ margin:6px 0 0; aspect-ratio:1/1; max-width:360px; overflow:hidden; background:var(--kd-sur2); }
.kd-mode__img img{ width:100%; height:100%; object-fit:cover; }
.kd-mode__intro p{ font-size:16px; line-height:1.65; color:var(--kd-mute); max-width:46ch; }
.kd-mode__corps{ display:flex; flex-direction:column; gap:0; }
.kd-mode__corps > h3{ margin-top:44px; }
.kd-mode__corps > h3:first-child{ margin-top:0; }
/* Pages d’équipement : les parties 2 à 4 sont des H2 (structure SEO), dessinées comme les H3 d’origine */
.kd-mode__corps > h2{ font-family:var(--kd-serif); font-weight:400; font-size:25px; line-height:1.15; margin-top:44px; }
.kd-mode__corps > h2:first-child{ margin-top:0; }
.kd-mode__corps > h4{ margin-top:26px; margin-bottom:10px; }
.kd-mode__corps > p{ margin-top:14px; font-size:16.5px; line-height:1.7; }
.kd-mode__corps > ul{ margin-top:16px; }
.kd-mode__corps > .kd-tip{ margin-top:22px; }

.kd-faq{ display:flex; flex-direction:column; border-top:1px solid var(--kd-or2); }
.kd-faq__q{ display:flex; flex-direction:column; gap:10px; padding:24px 0; border-bottom:1px solid var(--kd-line); }
.kd-faq__q h3{ font-family:var(--kd-serif); font-weight:400; font-size:22px; line-height:1.2; }
.kd-faq__q p{ font-size:15.5px; line-height:1.65; color:var(--kd-mute); }

.kd-journal{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.kd-journal__item{ display:flex; flex-direction:column; gap:16px; }
.kd-journal__img{ position:relative; aspect-ratio:3/2; overflow:hidden; background:var(--kd-sur2); }
.kd-journal__img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.2,.7,.2,1); }
.kd-journal__item:hover .kd-journal__img img{ transform:scale(1.035); }
.kd-journal__tx{ display:flex; flex-direction:column; gap:8px; }
.kd-journal__rub{ font-size:11px; letter-spacing:.24em; text-transform:uppercase; font-weight:400; color:var(--kd-or); }
.kd-journal__t{ font-family:var(--kd-serif); font-size:24px; line-height:1.15; color:var(--kd-ink); }
.kd-journal__m{ font-size:13px; letter-spacing:.06em; color:var(--kd-mute); }

.kd-appel{ display:flex; align-items:center; justify-content:space-between; gap:60px; }
.kd-appel__tx{ display:flex; flex-direction:column; gap:14px; max-width:640px; }
.kd-appel__tx h2{ font-family:var(--kd-serif); font-weight:400; font-size:clamp(28px,3vw,38px); line-height:1.12; }
.kd-appel__tx p{ font-size:15px; color:var(--kd-mute); }
.kd-chute{ font-family:var(--kd-serif); font-size:clamp(22px,2.4vw,30px); line-height:1.3; max-width:30ch; margin:0 auto; text-align:center; text-wrap:balance; }

/* =============================================================================
   PAGES INTÉRIEURES (à propos, journal, recherche, 404, rubrique)
   ============================================================================= */
.kd-entete{ padding-top:34px; }
.kd-entete__in{ display:flex; flex-direction:column; gap:22px; }
.kd-cherche__form--page{ max-width:640px; margin-top:10px; }
.kd-cherche__form--page input[type=search]{ background:var(--kd-sur); }
.kd-textes{ list-style:none; padding:0; margin:0; border-top:1px solid var(--kd-line); }
.kd-textes li{ display:flex; flex-direction:column; gap:6px; padding:18px 0; border-bottom:1px solid var(--kd-line); }
.kd-textes li a{ font-family:var(--kd-serif); font-size:22px; line-height:1.15; }
.kd-textes li span{ font-size:14px; color:var(--kd-mute); }
.kd-pagination{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-top:48px; }
.kd-pagination .page-numbers{ display:inline-flex; align-items:center; justify-content:center; min-width:44px; height:44px; padding:0 14px; border:1px solid var(--kd-line); background:var(--kd-sur); font-size:12px; letter-spacing:.14em; text-transform:uppercase; }
.kd-pagination .page-numbers.current{ background:var(--kd-ink); color:var(--kd-bg); border-color:var(--kd-ink); }
.kd-propos{ display:flex; flex-direction:column; gap:0; }
.kd-propos__sec{ padding-top:64px; }
.kd-propos__sec .kd-h2{ margin-bottom:22px; }
.kd-propos__sec .kd-prose > p{ font-size:17px; }
.kd-propos__sec > .kd-sur,.kd-duo__tx > .kd-sur{ margin-bottom:14px; }
/* À propos : bandeau photo, chapitres texte + image, plaque « Aujourd’hui » */
.kd-hero--propos{ min-height:clamp(560px,78vh,760px); }
.kd-hero--propos img{ object-position:72% 25%; }
.kd-fil--clair{ padding:0; color:rgba(239,231,220,.72); }
.kd-fil--clair a:hover{ color:var(--kd-orc); }
.kd-fil--clair [aria-current]{ color:var(--kd-clair); }
.kd-duo{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:72px; align-items:center; padding-top:96px; }
.kd-duo--inverse .kd-duo__img{ order:2; }
.kd-duo--seul{ grid-template-columns:minmax(0,860px); }
.kd-duo__img{ margin:0; aspect-ratio:4/3; overflow:hidden; background:var(--kd-sur2); }
.kd-duo__img img{ width:100%; height:100%; object-fit:cover; }
a.kd-duo__img{ display:block; }
.kd-duo__tx .kd-h2 a:hover{ color:var(--kd-or); }
/* Page contact : l'aide à gauche, le formulaire Contact Form 7 à droite */
.kd-contact{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:72px; align-items:start; }
.kd-contact__aide h2:first-child{ margin-top:0; }
.kd-contact__form{ position:sticky; top:110px; display:flex; flex-direction:column; gap:16px; padding:40px; background:var(--kd-sur); border:1px solid var(--kd-line); }
.kd-contact__form .kd-note a{ color:var(--kd-or); border-bottom:1px solid rgba(140,109,53,.5); }
.kd-contact .wpcf7 p{ margin:0 0 18px; }
.kd-contact .wpcf7 label{ display:block; font-size:12px; letter-spacing:.16em; text-transform:uppercase; font-weight:400; color:var(--kd-mute); }
.kd-contact .wpcf7 input[type="text"],.kd-contact .wpcf7 input[type="email"],.kd-contact .wpcf7 input[type="tel"],.kd-contact .wpcf7 select,.kd-contact .wpcf7 textarea{ display:block; width:100%; margin-top:8px; padding:14px 16px; background:var(--kd-bg); border:1px solid var(--kd-line); border-radius:0; font-size:16px; letter-spacing:0; text-transform:none; color:var(--kd-ink); }
.kd-contact .wpcf7 textarea{ min-height:180px; resize:vertical; }
.kd-contact .wpcf7 input:focus,.kd-contact .wpcf7 select:focus,.kd-contact .wpcf7 textarea:focus{ outline:none; border-color:var(--kd-or2); box-shadow:0 0 0 3px rgba(140,109,53,.18); }
.kd-contact .wpcf7-acceptance label,.kd-contact .wpcf7-list-item-label{ font-size:14px; letter-spacing:0; text-transform:none; color:var(--kd-mute); }
.kd-contact .wpcf7-list-item{ margin:0; }
.kd-contact .wpcf7 input[type="checkbox"]{ accent-color:var(--kd-or2); margin-right:8px; }
.kd-contact .wpcf7-submit{ min-height:52px; padding:0 30px; background:var(--kd-ink); color:var(--kd-bg); border:1px solid var(--kd-ink); font-size:12px; letter-spacing:.2em; text-transform:uppercase; font-weight:400; cursor:pointer; }
.kd-contact .wpcf7-submit:hover{ background:var(--kd-or2); border-color:var(--kd-or2); }
.kd-contact .wpcf7-spinner{ vertical-align:middle; }
.kd-contact .wpcf7-not-valid-tip{ display:block; margin-top:6px; font-size:13px; color:var(--kd-vin); letter-spacing:0; text-transform:none; }
.kd-contact .wpcf7 form .wpcf7-response-output{ margin:18px 0 0; padding:14px 16px; border:1px solid var(--kd-line); font-size:14.5px; }
.kd-contact .wpcf7 form.sent .wpcf7-response-output{ border-color:var(--kd-or2); }
.kd-contact .wpcf7 form.invalid .wpcf7-response-output,.kd-contact .wpcf7 form.failed .wpcf7-response-output{ border-color:var(--kd-vin); }
.kd-manifeste{ text-align:left; }
.kd-manifeste .kd-sur{ margin-bottom:22px; }
.kd-manifeste__cit{ font-family:var(--kd-serif); font-size:clamp(32px,4.2vw,56px); line-height:1.1; color:var(--kd-clair); text-wrap:balance; }
.kd-manifeste__p{ margin-top:26px; font-size:18px; line-height:1.65; color:rgba(239,231,220,.78); max-width:62ch; }
.kd-manifeste .kd-liens{ margin-top:30px; }
.kd-manifeste .kd-lien{ color:var(--kd-orc); }
.kd-manifeste .kd-lien:hover{ color:var(--kd-clair); }
.kd-chiffres{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:8px; }
.kd-chiffre{ display:flex; flex-direction:column; gap:8px; padding:26px 24px; background:var(--kd-sur); border:1px solid var(--kd-line); }
.kd-chiffre b{ font-family:var(--kd-serif); font-weight:400; font-size:38px; line-height:1; color:var(--kd-ink); }
.kd-chiffre span{ font-size:14px; color:var(--kd-mute); }

/* =============================================================================
   ARTICLE ET JOURNAL
   ============================================================================= */
.kd-art__tete{ display:flex; flex-direction:column; gap:22px; padding-top:40px; max-width:980px; }
.kd-art__meta{ display:flex; align-items:center; flex-wrap:wrap; gap:18px; font-size:12px; letter-spacing:.24em; text-transform:uppercase; font-weight:400; color:var(--kd-or); }
.kd-art__meta i{ display:block; width:24px; height:1px; background:var(--kd-or2); }
.kd-art__meta span{ color:var(--kd-mute); }
.kd-art__chapo{ font-size:21px; line-height:1.5; color:var(--kd-mute); max-width:62ch; }
.kd-art__une{ padding-top:40px; }
.kd-art__une figure{ position:relative; aspect-ratio:21/9; overflow:hidden; background:var(--kd-sur2); }
.kd-art__une img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.kd-art__legende{ font-size:13px; color:var(--kd-mute); padding-top:12px; }
.kd-art__grille{ display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:80px; padding-top:56px; align-items:start; }
.kd-art__col{ display:flex; flex-direction:column; gap:20px; position:sticky; top:24px; }
.kd-art__sommaire{ display:flex; flex-direction:column; gap:4px; padding:26px 28px; background:var(--kd-sur); border:1px solid var(--kd-line); }
.kd-art__sommaire p{ font-size:11px; letter-spacing:.24em; text-transform:uppercase; font-weight:400; color:var(--kd-or); margin-bottom:10px; }
.kd-art__sommaire ol{ list-style:none; padding:0; margin:0; counter-reset:kd; }
.kd-art__sommaire li{ counter-increment:kd; }
.kd-art__sommaire li a{ display:flex; align-items:baseline; gap:14px; padding:10px 0; border-top:1px solid var(--kd-line); font-size:15px; color:var(--kd-ink); }
.kd-art__sommaire li a::before{ content:counter(kd,decimal-leading-zero); font-family:var(--kd-serif); font-size:14px; color:var(--kd-or); }
.kd-art__recueil{ display:flex; flex-direction:column; background:var(--kd-sur); border:1px solid var(--kd-line); }
.kd-art__recueil-img{ position:relative; height:200px; overflow:hidden; background:var(--kd-sur2); }
.kd-art__recueil-img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.kd-art__recueil-tx{ display:flex; flex-direction:column; gap:8px; padding:20px 22px 22px; }
.kd-art__recueil-tx .kd-sur::before{ display:none; }
.kd-art__recueil-t{ font-family:var(--kd-serif); font-size:22px; line-height:1.15; color:var(--kd-ink); }
.kd-art__recueil-m{ font-size:14px; color:var(--kd-mute); }
.kd-art__recueil-l{ margin-top:10px; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--kd-ink); border-top:1px solid var(--kd-line); padding-top:12px; }
.kd-art__signature{ display:flex; align-items:center; gap:18px; padding-top:24px; border-top:1px solid var(--kd-line); margin-top:44px; }
.kd-art__signature i{ flex:0 0 auto; width:52px; height:52px; border-radius:50%; background:linear-gradient(160deg,var(--kd-sombre2) 0%,var(--kd-sombre) 100%); display:flex; align-items:center; justify-content:center; font-family:var(--kd-serif); font-style:normal; font-size:20px; color:var(--kd-orc); }
.kd-art__signature b{ display:block; font-family:var(--kd-serif); font-weight:400; font-size:18px; }
.kd-art__signature span{ font-size:13px; color:var(--kd-mute); }
.kd-art__pied{ display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:22px; font-size:13px; color:var(--kd-mute); }
.kd-art__pied a{ color:var(--kd-or); }
.kd-art__pied a:hover{ color:var(--kd-ink); }

/* =============================================================================
   FICHE — préfixe kd-f-, réservé à template-annonce-kinkdom.php
   ============================================================================= */
.kd-f-tete{ display:flex; flex-direction:column; gap:12px; padding:30px 0 28px; }
.kd-f-titre{ display:flex; align-items:baseline; flex-wrap:wrap; gap:14px 22px; }
.kd-f-h1{ font-family:var(--kd-serif); font-weight:400; font-size:clamp(36px,4.6vw,64px); line-height:1.02; letter-spacing:-.01em; }
.kd-f-prem{ font-size:11px; letter-spacing:.22em; text-transform:uppercase; font-weight:400; color:var(--kd-or); border:1px solid rgba(140,109,53,.5); padding:6px 10px; white-space:nowrap; }
.kd-f-meta{ display:flex; flex-wrap:wrap; gap:8px 22px; font-size:15px; color:var(--kd-mute); }
.kd-f-meta i{ font-style:normal; color:var(--kd-or2); }
.kd-f-galerie{ position:relative; display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); grid-template-rows:repeat(2,minmax(200px,290px)); gap:12px; }
.kd-f-galerie__c{ position:relative; overflow:hidden; background:var(--kd-sur2); cursor:zoom-in; border:0; padding:0; }
.kd-f-galerie__c:first-child{ grid-row:span 2; }
.kd-f-galerie__c img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.kd-f-galerie__c:nth-child(n+4){ display:none; }
.kd-f-galerie__tout{ position:absolute; right:18px; bottom:18px; z-index:2; font-size:11px; letter-spacing:.18em; text-transform:uppercase; font-weight:400; color:var(--kd-ink); background:rgba(255,255,255,.94); border:0; padding:10px 14px; cursor:pointer; }
.kd-f-galerie__compte{ display:none; }
.kd-f-galerie--vide{ display:flex; align-items:center; justify-content:center; min-height:240px; border:1px dashed var(--kd-line); color:var(--kd-mute); font-size:15px; }
.kd-f-corps{ display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:80px; padding-top:56px; align-items:start; }
.kd-f-col{ display:flex; flex-direction:column; gap:56px; min-width:0; }
.kd-f-avantage{ display:flex; align-items:center; gap:18px; padding:20px 24px; background:linear-gradient(160deg,var(--kd-sombre2) 0%,var(--kd-sombre) 100%); }
.kd-f-avantage svg{ flex:0 0 auto; }
.kd-f-avantage div{ display:flex; flex-direction:column; gap:3px; }
.kd-f-avantage small{ font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--kd-orc); }
.kd-f-avantage span{ font-size:15px; color:var(--kd-clair); }
.kd-f-bloc{ display:flex; flex-direction:column; gap:18px; }
.kd-f-h2{ font-family:var(--kd-serif); font-weight:400; font-size:clamp(26px,3vw,34px); line-height:1.1; }
.kd-f-h2-ligne{ display:flex; align-items:center; gap:24px; }
.kd-f-h2-ligne .kd-f-h2{ white-space:nowrap; }
.kd-f-h2-ligne i{ display:block; flex-grow:1; height:1px; background:var(--kd-line); }
.kd-f-h2-ligne span{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--kd-mute); white-space:nowrap; }
.kd-f-famille + .kd-f-famille{ margin-top:34px; }
.kd-f-famille__t{ font-size:11px; letter-spacing:.24em; text-transform:uppercase; font-weight:400; color:var(--kd-or); margin-bottom:8px; }
.kd-f-mobilier{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; border-top:1px solid var(--kd-line); }
.kd-f-mobilier a{ display:flex; align-items:center; gap:16px; padding:16px 0; border-bottom:1px solid var(--kd-line); font-size:16px; color:var(--kd-ink); }
.kd-f-mobilier a svg{ flex:0 0 auto; }
.kd-f-mobilier a:hover{ color:var(--kd-or); }
.kd-f-prose{ font-size:17px; line-height:1.65; }
.kd-f-prose > p + p{ margin-top:14px; color:var(--kd-mute); font-size:16px; }
.kd-f-prose.is-replie{ max-height:380px; overflow:hidden; position:relative; }
.kd-f-prose.is-replie::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:110px; background:linear-gradient(180deg, rgba(244,240,234,0) 0%, var(--kd-bg) 100%); }
.kd-f-suite{ align-self:flex-start; background:none; border:0; padding:0; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--kd-or); cursor:pointer; }
.kd-f-note{ font-size:13.5px; line-height:1.55; color:var(--kd-mute); border-top:1px solid var(--kd-line); padding-top:14px; }
.kd-f-ou{ display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:28px; align-items:start; }
.kd-f-carte{ position:relative; height:340px; overflow:hidden; background:var(--kd-sur2); }
.kd-f-carte .leaflet-tile-pane{ filter:grayscale(1) brightness(1.05) contrast(.9) sepia(.12); }
.kd-f-ou__tx{ display:flex; flex-direction:column; gap:16px; }
.kd-f-ou__tx p{ font-size:15px; line-height:1.6; color:var(--kd-mute); }
.kd-f-villes{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; border-top:1px solid var(--kd-line); }
.kd-f-villes li{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:12px 0; border-bottom:1px solid var(--kd-line); font-size:15px; }
.kd-f-villes li span{ font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--kd-or); white-space:nowrap; }
.kd-f-question{ display:flex; flex-direction:column; gap:22px; padding:40px; background:var(--kd-sur); border:1px solid var(--kd-line); }
.kd-f-question > p{ font-size:15px; color:var(--kd-mute); }
.kd-f-form{ display:flex; flex-direction:column; gap:14px; }
.kd-f-champs{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.kd-f-form label{ display:flex; flex-direction:column; gap:6px; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--kd-or); }
.kd-f-form label small{ font-size:11px; letter-spacing:0; text-transform:none; color:var(--kd-mute); }
.kd-f-form input,.kd-f-form textarea{ height:48px; padding:0 14px; border:1px solid var(--kd-line); background:var(--kd-bg); font-weight:300; font-size:15px; letter-spacing:0; text-transform:none; color:var(--kd-ink); }
.kd-f-form textarea{ height:auto; min-height:120px; padding:12px 14px; resize:vertical; }
.kd-f-form input:focus,.kd-f-form textarea:focus{ outline:2px solid var(--kd-or2); outline-offset:1px; }
.kd-f-piege{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
.kd-f-accord{ flex-direction:row !important; align-items:flex-start; gap:12px !important; font-size:12.5px !important; letter-spacing:0 !important; text-transform:none !important; color:var(--kd-mute) !important; }
.kd-f-accord input{ height:auto; width:16px; margin-top:3px; accent-color:#8C6D35; }
.kd-f-form-pied{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.kd-f-form-pied span{ font-size:12.5px; color:var(--kd-mute); }
.kd-f-retour{ padding:14px 18px; font-size:15px; border:1px solid var(--kd-or2); background:var(--kd-bg); }
.kd-f-retour--erreur{ border-color:var(--kd-vin); color:var(--kd-vin); }
.kd-f-encart{ display:flex; flex-direction:column; gap:20px; position:sticky; top:24px; }
.kd-f-encart__in{ display:flex; flex-direction:column; gap:22px; padding:30px 30px 28px; background:var(--kd-sur); border:1px solid var(--kd-line); box-shadow:0 30px 60px -36px rgba(23,18,15,.35); }
.kd-f-prix{ display:flex; align-items:baseline; gap:10px; }
.kd-f-prix b{ font-family:var(--kd-serif); font-weight:400; font-size:40px; line-height:1; }
.kd-f-prix small{ font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--kd-mute); }
.kd-f-dates{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:1px solid var(--kd-ink); }
.kd-f-dates button{ display:flex; flex-direction:column; align-items:flex-start; gap:3px; padding:12px 16px; background:none; border:0; text-align:left; cursor:pointer; }
.kd-f-dates button:first-child{ border-right:1px solid var(--kd-line); }
.kd-f-dates button.is-actif{ background:var(--kd-bg); }
.kd-f-dates small{ font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--kd-or); }
.kd-f-dates span{ font-size:15px; color:var(--kd-ink); }
.kd-f-cal{ display:flex; flex-direction:column; gap:6px; }
.kd-f-cal[hidden]{ display:none; }
.kd-f-cal__tete{ display:flex; justify-content:space-between; align-items:center; padding:0 4px; }
.kd-f-cal__tete b{ font-family:var(--kd-serif); font-weight:400; font-size:16px; }
.kd-f-cal__tete button{ display:flex; align-items:center; justify-content:center; width:44px; height:44px; background:none; border:0; color:var(--kd-mute); cursor:pointer; }
.kd-f-cal__tete button:hover{ color:var(--kd-ink); }
.kd-f-cal__grille{ display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:2px; }
.kd-f-cal__grille > span{ display:flex; align-items:center; justify-content:center; height:36px; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--kd-mute); }
.kd-f-cal__j{ display:flex; align-items:center; justify-content:center; height:40px; font-size:14px; background:none; border:0; color:var(--kd-ink); cursor:pointer; }
.kd-f-cal__j:hover{ background:var(--kd-sur2); }
.kd-f-cal__j.is-passe{ color:rgba(110,100,91,.4); cursor:default; }
.kd-f-cal__j.is-passe:hover{ background:none; }
.kd-f-cal__j.is-entre{ background:rgba(140,109,53,.18); }
.kd-f-cal__j.is-deb,.kd-f-cal__j.is-fin{ background:var(--kd-ink); color:var(--kd-bg); }
.kd-f-total{ display:flex; justify-content:space-between; align-items:baseline; font-size:14px; border-top:1px solid var(--kd-line); padding-top:14px; color:var(--kd-mute); }
.kd-f-total b{ font-family:var(--kd-serif); font-weight:400; font-size:20px; color:var(--kd-ink); }
.kd-f-total[hidden]{ display:none; }
.kd-f-dl{ display:flex; flex-direction:column; border-top:1px solid var(--kd-line); }
.kd-f-dl div{ display:flex; justify-content:space-between; gap:16px; padding:13px 0; border-bottom:1px solid var(--kd-line); font-size:14px; }
.kd-f-dl dt{ color:var(--kd-mute); }
.kd-f-dl dd{ color:var(--kd-ink); text-align:right; }
.kd-f-dl dd a{ border-bottom:1px solid var(--kd-line); }
.kd-f-resa{ min-height:58px; font-size:13px; letter-spacing:.22em; }
.kd-f-dest{ font-size:12.5px; line-height:1.5; color:var(--kd-mute); text-align:center; margin-top:-10px; }
.kd-f-tel{ font-size:14px; color:var(--kd-mute); text-align:center; }
.kd-f-tel a{ color:var(--kd-ink); }
.kd-f-barre{ display:none; }
.kd-sortie{ cursor:pointer; }
/* la visionneuse */
.kd-f-vue{ position:fixed; inset:0; z-index:200; background:rgba(15,12,12,.96); display:flex; align-items:center; justify-content:center; }
.kd-f-vue[hidden]{ display:none; }
.kd-f-vue img{ max-width:min(92vw,1400px); max-height:86vh; object-fit:contain; touch-action:pan-y pinch-zoom; }
.kd-f-vue button{ position:absolute; background:none; border:1px solid rgba(239,231,220,.35); color:var(--kd-clair); width:48px; height:48px; cursor:pointer; font-size:20px; display:flex; align-items:center; justify-content:center; }
.kd-f-vue button:hover{ background:rgba(239,231,220,.12); }
.kd-f-vue__x{ top:20px; right:20px; }
.kd-f-vue__p{ left:20px; top:50%; transform:translateY(-50%); }
.kd-f-vue__s{ right:20px; top:50%; transform:translateY(-50%); }
.kd-f-vue__n{ position:absolute; bottom:22px; left:0; right:0; text-align:center; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:rgba(239,231,220,.7); }

/* =============================================================================
   RUPTURES
   ============================================================================= */
@media (max-width:1280px){
  :root{ --kd-marge:40px; }
  .kd-plaques,.kd-regions{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:1100px){
  .kd-mode,.kd-art__grille,.kd-f-corps{ grid-template-columns:1fr; gap:48px; }
  .kd-mode__intro,.kd-art__col,.kd-f-encart{ position:static; }
  .kd-journal{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kd-pied__cols{ gap:40px; }
}
@media (max-width:960px){
  :root{ --kd-marge:24px; }
  .kd-nav{ display:none; position:absolute; left:0; right:0; top:100%; flex-direction:column; gap:0; background:var(--kd-sur); border-bottom:1px solid var(--kd-line); padding:8px 0; color:var(--kd-ink); }
  .kd-nav.is-open{ display:flex; }
  .kd-nav a{ padding:16px var(--kd-marge); border-top:1px solid var(--kd-line); }
  .kd-tete--hero .kd-nav{ background:rgba(19,14,13,.96); color:var(--kd-clair); }
  .kd-tete--hero .kd-nav a{ border-top-color:rgba(239,231,220,.15); }
  .kd-txtbtn--menu{ display:inline-block; }
  .kd-tete__cta{ display:none; }
  .kd-hero{ min-height:640px; }
  .kd-hero__in{ padding:110px var(--kd-marge) 120px; }
  /* La version verticale place le sujet au centre, là où le titre et le chapô passent :
     le voile descend plus tôt. C'est l'écran de 83 % des visiteurs. */
  .kd-hero__voile{ background:linear-gradient(180deg, rgba(15,12,12,.5) 0%, rgba(15,12,12,.14) 24%, rgba(15,12,12,.58) 60%, rgba(15,12,12,.97) 100%); }
  .kd-quete{ grid-template-columns:1fr; margin:-60px var(--kd-marge) 0; }
  .kd-quete__champ{ border-right:0; border-bottom:1px solid var(--kd-line); padding:18px 22px; }
  .kd-quete__btn{ min-height:56px; }
  .kd-plaques,.kd-regions{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .kd-plaque{ padding:18px; }
  .kd-plaque__icone svg{ width:34px; height:34px; }
  .kd-plaque__nom{ font-size:19px; }
  .kd-tete-sec{ flex-direction:column; align-items:flex-start; gap:18px; }
  .kd-appel{ flex-direction:column; align-items:flex-start; gap:28px; }
  .kd-pied__haut{ flex-direction:column; }
  .kd-pied__cols{ flex-wrap:wrap; }
  .kd-sec{ padding-top:88px; }
  .kd-sec--blanc{ margin-top:88px; padding:72px 0; }
  .kd-sec--plaque{ margin-top:88px; padding:72px 0; }
  .kd-pied{ margin-top:88px; }
  .kd-chiffres{ grid-template-columns:1fr; }
  .kd-duo{ grid-template-columns:1fr; gap:32px; padding-top:72px; }
  .kd-contact{ grid-template-columns:1fr; gap:48px; }
  .kd-contact__form{ position:static; padding:28px 22px; }
  .kd-duo--inverse .kd-duo__img{ order:0; }
  /* fiche : galerie balayable, encart sous le texte, barre fixe en bas */
  .kd-f-galerie{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:0; -webkit-overflow-scrolling:touch; scrollbar-width:none; aspect-ratio:4/3; }
  .kd-f-galerie::-webkit-scrollbar{ display:none; }
  .kd-f-galerie__c{ flex:0 0 100%; scroll-snap-align:start; }
  .kd-f-galerie__c:first-child{ grid-row:auto; }
  .kd-f-galerie__c:nth-child(n+4){ display:block; }
  .kd-f-galerie__tout{ display:none; }
  .kd-f-galerie-cadre{ position:relative; }
  .kd-f-galerie__compte{ display:block; position:absolute; right:14px; bottom:14px; font-size:11px; letter-spacing:.16em; color:var(--kd-clair); background:rgba(15,12,12,.7); padding:6px 10px; }
  .kd-f-col{ gap:44px; }
  .kd-f-mobilier{ grid-template-columns:1fr; }
  .kd-f-ou{ grid-template-columns:1fr; }
  .kd-f-question{ padding:24px; }
  .kd-f-champs{ grid-template-columns:1fr; }
  .kd-f-barre{ display:flex; align-items:center; justify-content:space-between; gap:16px; position:fixed; left:0; right:0; bottom:0; z-index:90; padding:12px var(--kd-marge); background:var(--kd-sur); border-top:1px solid var(--kd-line); transform:translateY(110%); transition:transform .25s; }
  .kd-f-barre.is-visible{ transform:none; }
  .kd-f-barre__prix{ display:flex; flex-direction:column; gap:2px; }
  .kd-f-barre__prix b{ font-family:var(--kd-serif); font-weight:400; font-size:22px; line-height:1; }
  .kd-f-barre__prix small{ font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--kd-mute); }
  .kd-f-barre .kd-btn,.kd-f-barre__lien{ min-height:48px; padding:0 20px; }
  body.kd-f-body{ padding-bottom:80px; }
}
@media (max-width:640px){
  .kd-plaques,.kd-regions,.kd-journal{ grid-template-columns:1fr; }
  .kd-hero__in{ padding:96px var(--kd-marge) 104px; gap:16px; }
  .kd-hero__p{ font-size:16px; }
  .kd-preuves{ flex-direction:column; align-items:flex-start; gap:10px; }
  .kd-pied__col--regions ul{ grid-template-columns:1fr; }
  .kd-f-h2-ligne span{ display:none; }
  .kd-f-meta{ flex-direction:column; gap:6px; }
  .kd-f-meta i{ display:none; }
  .kd-f-encart__in{ padding:22px 20px; }
  .kd-tableau th,.kd-tableau td{ font-size:14px; }
}
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .kd-plaque__img,.kd-plaque__voile,.kd-journal__img img,.kd-f-barre{ transition:none; }
  .kd-plaque:hover .kd-plaque__img{ transform:none; }
}
