@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');
html,body{background:#000;margin:0}
body{font-family:'Montserrat',sans-serif}
/* en-tête (header.php) */
.gd-hdr{position:sticky;top:0;z-index:100;display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:flex-end;gap:16px;padding:2.07vw 1.3vw;background:#000;font-family:'Montserrat',sans-serif}
.gd-hdr .custom-logo-link{flex:none;display:block;width:clamp(190px,29.5vw,560px)}
.gd-hdr .custom-logo{display:block;width:100%;height:auto}
.gd-site-name{color:#fff;text-decoration:none;font-size:1.9vw}
.gd-nav{flex:none;margin-bottom:1.35vw}
.gd-menu{display:flex;flex-wrap:nowrap;gap:0 1.7vw;margin:0;padding:0;list-style:none}
.gd-menu li{margin:0;padding:0}
.gd-menu a{display:block;font-family:'Montserrat',sans-serif;font-weight:400;color:#fff;text-decoration:none;font-size:clamp(12px,1.5vw,28px);letter-spacing:.08em;line-height:1.3;white-space:nowrap;padding-bottom:.25em;border-bottom:1px solid transparent}
.gd-menu a:hover,.gd-menu .current-menu-item a,.gd-menu .current_page_item a{border-bottom-color:#fff}
@media(max-width:899px){.gd-hdr{flex-direction:column;align-items:center;justify-content:center;padding:18px 12px}
 .gd-hdr .custom-logo-link{width:62vw}.gd-nav{margin-bottom:0}.gd-menu{justify-content:center;gap:0 3vw}.gd-menu a{font-size:clamp(11px,2.9vw,18px)}}
/* pied de page (footer.php) */
.gd-footer{display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-height:217px;padding:38px 12px 40px;background:#000;color:#dcdcdc;font-family:'Montserrat',sans-serif;text-align:center}
.gd-social{display:flex;gap:22px;margin:0;padding:0;list-style:none}
.gd-social a{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid currentColor;border-radius:50%;color:inherit;box-sizing:border-box}
.gd-social svg{display:block}
.gd-copy{margin:0;font-size:11.5px;letter-spacing:.01em}
.site-main{margin:0;max-width:none;width:100%}
/* sections */
.gd-sec{--sqs-site-gutter:1vw;--sqs-mobile-site-gutter:6vw;--sqs-site-max-width:2187px;--X:0px;position:relative;font-family:'Montserrat',sans-serif;text-align:start}
.gd-sec.e-con{--gap:0px}
.gd-sec.h-large{--X:10vw}.gd-sec.h-medium{--X:6.6vw}.gd-sec.h-small{--X:3.3vw}
.gd-sec.hasbg.h-large{min-height:100vh}
.gd-sec .fluid-engine{margin-block:var(--X)}
.gd-sec.v-top .fluid-engine{margin-block:1vw calc(var(--X)*2)}
.gd-sec .fluid-engine{--u:14px;font-size:var(--u);line-height:1.2;letter-spacing:.01em}
@media(min-width:768px){.gd-sec .fluid-engine{--u:clamp(11px,1.2556vw,24px)}}
.fe-block.e-con{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--gap:0px;--min-height:0px;min-width:0;position:relative;display:flex;flex-direction:column;width:auto}
.fe-block .elementor-widget{width:100%;margin:0}
.fe-block .elementor-widget-container,.fe-block .elementor-widget-text-editor{color:inherit;font-family:inherit;font-size:inherit}
.fe-block .elementor-widget-text-editor{color:inherit}
/* typographie */
.fe-block p,.fe-block li{font-size:var(--u);line-height:1.2;margin:0 0 .81em;letter-spacing:.01em}
.fe-block p.sqsrte-large,.fe-block li.sqsrte-large{font-size:calc(var(--u)*1.0956)}
.fe-block p.sqsrte-small{font-size:calc(var(--u)*.7133)}
.fe-block h1,.fe-block h2,.fe-block h3,.fe-block h4{font-weight:700;letter-spacing:.2em;line-height:2.75;margin:0 0 1.2em;text-transform:none;color:inherit;font-family:inherit}
.fe-block h1{font-size:calc(var(--u)*1.2867)}
.fe-block h2{font-size:calc(var(--u)*1.0956)}
.fe-block h3{font-size:calc(var(--u)*.9044)}
.fe-block h4{font-size:calc(var(--u)*.6177);margin:0}
.fe-block a{color:inherit}
.fe-block ul,.fe-block ol{margin:0 0 1em;padding-left:40px;list-style-position:outside;text-align:start}
.fe-block ul:has(p[style*="center"]),.fe-block ol:has(p[style*="center"]){list-style-position:inside;padding:0}
.fe-block li p{margin:0 0 .5em}
.fe-block strong{font-weight:700}
/* images */
.k-image .elementor-widget{position:absolute;inset:0;width:100%;height:100%}
.k-image .elementor-widget-container{height:100%}
.fe-block.k-image img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--op,50% 50%)}
/* boutons */
.k-button .elementor-widget{flex:1;display:flex;height:100%}
.fe-btn .elementor-widget-container,.fe-btn .elementor-button-wrapper{display:flex;width:100%;height:100%}
.fe-btn .elementor-button{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border:1px solid currentColor;border-radius:300px;background:transparent!important;color:inherit!important;fill:currentColor;font-family:inherit;font-size:calc(var(--u)*1.2867);font-weight:400;letter-spacing:.2em;text-transform:lowercase;line-height:1.2;text-decoration:none;padding:0 1.3em;box-shadow:none}
.fe-btn .elementor-button:hover{background:rgba(255,255,255,.12)!important}
.fe-btn.fit.elementor-widget{flex:none;width:auto;height:auto;align-self:center}
.fe-btn.fit .elementor-widget-container,.fe-btn.fit .elementor-button-wrapper{width:auto;height:auto}
.fe-btn.fit .elementor-button{width:auto;height:auto;padding:.943em 1.32em;white-space:nowrap}
/* réseaux sociaux */
.k-social .elementor-grid{justify-content:center}
.k-social .elementor-social-icon{background-color:var(--gd-ic,#dcdcdc)}
/* citation, défilement, formulaire, média */
.fe-quote{font-size:calc(var(--u)*1.2867);text-align:center;margin:0;letter-spacing:.05em;border:0;padding:0;color:inherit}
.fe-cap{text-align:center;margin-top:.8em}
.fe-marq{overflow:hidden}
.fe-marq .elementor-heading-title{display:inline-block;white-space:nowrap;font-size:calc(var(--u)*2.4);letter-spacing:.1em;font-weight:400;color:inherit;font-family:inherit;animation:gdm 40s linear infinite}
@keyframes gdm{to{transform:translateX(-50%)}}
.fe-form{display:flex;flex-direction:column;gap:1.1em;text-align:left;width:100%;position:relative}
.fe-form label{display:block;font-size:var(--u);text-align:left}
.fe-form .req{font-size:.65em;opacity:.7;margin-left:.4em}
.fe-form input,.fe-form textarea{display:block;margin-top:.25em;width:100%;box-sizing:border-box;background:transparent;border:0;border-bottom:1px solid rgba(250,250,250,.22);color:inherit;padding:.3em 0;font:inherit;outline:0;border-radius:0;resize:vertical}
.fe-form textarea{min-height:6em}
.fe-form .fe-sub{align-self:center;display:flex;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:300px;background:transparent;color:inherit;cursor:pointer;font-family:inherit;font-size:calc(var(--u)*1.2867);letter-spacing:.2em;text-transform:lowercase;line-height:1.2;padding:.943em 1.32em;margin-top:.4em}
.gd-note{font-size:var(--u);margin:0}
.k-video .elementor-widget,.k-video .elementor-widget-container,.k-video .elementor-wrapper,.k-map .elementor-widget,.k-map .elementor-widget-container,.k-map .elementor-custom-embed{position:absolute;inset:0;width:100%;height:100%;padding:0!important;aspect-ratio:auto}
.k-video video{width:100%;height:100%;object-fit:contain;background:#000}
.k-map iframe{width:100%;height:100%;filter:grayscale(1) invert(1) contrast(.85)}
.fe-block .elementor-widget-container :last-child{margin-bottom:0}
.k-social .elementor-grid{display:flex!important;flex-wrap:nowrap;justify-content:center;align-items:center;gap:8px}
.k-social .elementor-grid-item{width:auto!important;margin:0!important}
.k-social .elementor-social-icon{background-color:transparent!important;border:1px solid currentColor;box-sizing:content-box}
.k-social .elementor-social-icon i,.k-social .elementor-social-icon svg{color:inherit!important;fill:currentColor!important}
.k-social .elementor-grid{gap:22px!important}
.fe-btn .elementor-button,.fe-form .fe-sub{transition:background-color .25s,color .25s,border-color .25s}
.fe-btn .elementor-button:hover,.fe-btn .elementor-button:focus,.fe-form .fe-sub:hover{background:#fff!important;color:#000!important;border-color:#fff}
.fe-btn .elementor-button:hover .elementor-button-text,.fe-btn .elementor-button:focus .elementor-button-text{color:#000!important}
.k-quote .elementor-widget{padding:3.5em;box-sizing:border-box}
.k-quote .elementor-widget-container{padding:0 3.5em 0 3.5em}
.fe-quote{font-size:calc(var(--u)*1.0956);text-align:left;letter-spacing:.01em;line-height:1.2;margin:0}
.fe-cap{text-align:right;letter-spacing:.02em;margin:1em 0 0;font-size:var(--u)}
.fe-marq .elementor-heading-title{color:inherit!important;font-family:'Montserrat',sans-serif!important;font-weight:400!important}
.fe-marq .elementor-heading-title{font-size:calc(var(--u)*1.2867)!important;letter-spacing:.01em!important;white-space:pre!important;line-height:1.4}
/* titres : widgets Titre natifs d'Elementor (taille/couleur/balise modifiables dans l'éditeur ; ces valeurs sont les défauts) */
.fe-block .elementor-widget-heading .elementor-heading-title{font-family:'Montserrat',sans-serif;font-weight:700;letter-spacing:.2em;line-height:2.75;margin:0;text-transform:none;color:inherit;white-space:pre-wrap;font-size:calc(var(--u)*1.2867)}
.fe-block .elementor-widget-heading.gd-h2 .elementor-heading-title{font-size:calc(var(--u)*1.0956)}
.fe-block .elementor-widget-heading.gd-h3 .elementor-heading-title{font-size:calc(var(--u)*.9044)}
.fe-block .elementor-widget-heading.gd-h4 .elementor-heading-title{font-size:calc(var(--u)*.6177)}
.fe-block .elementor-widget-heading{margin-bottom:calc(var(--u)*1.55)!important}
.fe-block .elementor-widget-heading.gd-h2{margin-bottom:calc(var(--u)*1.3)!important}
.fe-block .elementor-widget-heading.gd-h3{margin-bottom:calc(var(--u)*1.1)!important}
.fe-block .elementor-widget-heading.gd-h4,.fe-block .elementor-widget-heading:last-child{margin-bottom:0!important}
/* paragraphes vides (Squarespace data-rte-preserve-empty) : gardent la hauteur d'une ligne */
.fe-block p.gd-empty::before{content:"";display:inline-block}
/* légende sous une vidéo (Squarespace .video-caption) : la vidéo garde le haut du bloc, la légende le bas */
.k-video.has-cap .elementor-widget-video{inset:0 0 auto 0;height:calc(100% - 3.9em)}
.k-video.has-cap .gd-vcap.elementor-widget{position:absolute;left:0;right:0;bottom:0;top:auto;height:auto;text-align:left}
.gd-vcap p{margin:0;font-size:var(--u);line-height:1.2;text-align:left}
/* image avec lien : le lien remplit le bloc, l'image remplit le lien */
.k-image a{display:block;position:absolute;inset:0}
.k-image a img{width:100%;height:100%}
/* paragraphes vides (réservent de la place, comme sur Squarespace) : ils gardent la hauteur d'une ligne, y compris après une édition dans Elementor */
.fe-block p:empty::before{content:"";display:inline-block}
/* texte préformaté (accueil : « Coeur de chien… ») : la police monospace ne s'applique pas au contenu, qui reste en Montserrat comme sur Squarespace */
.fe-block pre{font-family:monospace,serif;font-size:var(--u);line-height:1.2;white-space:pre-wrap;margin:1em 0 0;padding:0;background:none;color:inherit;letter-spacing:.01em;border:0;overflow:visible}
.fe-block pre code{font-family:'Montserrat',sans-serif;font-size:inherit;letter-spacing:.02em;background:none;padding:0;color:inherit;white-space:pre-wrap}
/* pages « natives » (réglages Elementor) : seulement les défauts de texte que le thème Hello ne fournit pas */
.gd-native-sec .elementor-widget-text-editor p{margin:0 0 .81em}
.gd-native-sec .elementor-widget-text-editor ul,.gd-native-sec .elementor-widget-text-editor ol{margin:0 0 1em;padding-left:40px;list-style-position:outside}
.gd-native-sec .elementor-widget-text-editor li p{margin:0 0 .5em}
.gd-native-sec .elementor-widget-text-editor a{color:inherit}
.gd-native-sec .elementor-widget-text-editor strong{font-weight:700}

.gd-burger{display:none}
@media(max-width:899px){
.gd-hdr{flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;padding:22px 20px;min-height:80px}
.gd-hdr .custom-logo-link{width:min(58vw,300px)}
.gd-burger{display:flex;flex-direction:column;justify-content:center;gap:8px;width:44px;height:44px;padding:10px 8px;background:transparent;border:0;cursor:pointer;position:relative;z-index:2}
.gd-burger span{display:block;height:1px;background:#fafafa;transition:transform .3s,opacity .3s,background .3s}
.gd-hdr .gd-nav{display:none}
.gd-open{position:fixed;inset:0;height:100vh;background:#fff;z-index:1000;align-items:flex-start}
.gd-open .custom-logo-link{visibility:hidden}
.gd-open .gd-burger span{background:#000}
.gd-open .gd-burger span:nth-child(1){transform:translateY(9px) rotate(45deg)}
.gd-open .gd-burger span:nth-child(2){opacity:0}
.gd-open .gd-burger span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
.gd-open .gd-nav{display:flex;position:absolute;left:0;right:0;top:0;bottom:0;align-items:center;justify-content:center}
.gd-open .gd-menu{flex-direction:column;align-items:center;gap:0;padding:0;margin:0;list-style:none}
.gd-open .gd-menu a{display:block;padding:10px 0;font-size:8.5vw;letter-spacing:.045em;text-transform:lowercase;color:#000;font-family:'Montserrat',sans-serif}
}
