/* ============================================
   CONTACT — LAYOUT CF-SPLIT
============================================ */
.cf-section{background:var(--off-white);padding:80px 40px 100px;}
.cf-section-header{text-align:center;margin-bottom:64px;max-width:760px;margin-left:auto;margin-right:auto;}
.cf-section-tag{display:block;font-size:var(--text-xs);letter-spacing:0.4em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:12px;}
.cf-section-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:300;color:var(--black);letter-spacing:-0.01em;line-height:1.15;margin-bottom:18px;}
.cf-gold-line-anim{display:block;width:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:18px auto 0;transition:width 1.1s cubic-bezier(0.16,1,0.3,1) 0.3s;}
.reveal-scroll.visible .cf-gold-line-anim{width:60px;}

.cf-split{display:grid;grid-template-columns:1fr 1fr;gap:72px;max-width:1200px;margin:0 auto;align-items:start;}
.cf-content{position:relative;}
.cf-content-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:28px;}
.cf-content-eyebrow-line{height:1px;width:36px;background:linear-gradient(90deg,var(--gold),transparent);flex-shrink:0;}
.cf-content-eyebrow span{font-size:var(--text-xs);font-weight:500;letter-spacing:0.32em;text-transform:uppercase;color:var(--gold-dark);}
.cf-content h1{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:300;color:var(--black);line-height:1.2;letter-spacing:-0.01em;margin-bottom:0;}
.cf-content-sep{width:48px;height:1px;background:linear-gradient(90deg,var(--gold),transparent);margin:28px 0;}
.cf-content-body{font-family:var(--font-body);font-size:var(--text-md);font-weight:300;line-height:2;color:#444;}
.cf-content-body p{margin-bottom:1.2em;}
.cf-content-body strong{color:var(--black);font-weight:500;}
.cf-content-body em{font-style:italic;color:var(--gold-dark);}
.cf-content-body a{color:var(--gold-dark);text-decoration:none;border-bottom:1px solid rgba(154,122,46,0.3);transition:border-color 0.2s,color 0.2s;}
.cf-content-body a:hover{color:var(--black);border-color:var(--black);}

.cf-info-cards{margin-top:48px;display:flex;flex-direction:column;gap:20px;}
.cf-info-card{display:flex;align-items:flex-start;gap:18px;padding:20px 24px;background:var(--white);border-left:2px solid rgba(201,168,76,0.35);transition:border-color 0.3s,box-shadow 0.3s;}
.cf-info-card:hover{border-left-color:var(--gold);box-shadow:0 6px 24px rgba(0,0,0,0.06);}
.cf-info-icon{width:20px;height:20px;flex-shrink:0;margin-top:2px;color:var(--gold-dark);}
.cf-info-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;}
.cf-info-card-text{display:flex;flex-direction:column;gap:3px;}
.cf-info-label{font-size:var(--text-xs);letter-spacing:0.2em;text-transform:uppercase;color:var(--mid-gray);font-weight:500;}
.cf-info-value{font-size:var(--text-md);color:var(--black);font-weight:300;line-height:1.5;}
.cf-info-value a{color:var(--black);text-decoration:none;transition:color 0.2s;}
.cf-info-value a:hover{color:var(--gold-dark);}

.cf-form-col{position:sticky;top:100px;}
.cf-wrap{background:var(--white);border:1px solid rgba(201,168,76,0.22);padding:2.5rem 2rem;box-shadow:0 12px 48px rgba(0,0,0,0.07);}
.cf-subtitle{text-align:center;margin-bottom:1.5rem;font-family:var(--font-display);font-size:1.1rem;color:var(--mid-gray);}
.cf-subtitle strong{color:var(--black);font-weight:500;}
.cf-row{display:flex;gap:1rem;margin-bottom:1rem;}
.cf-wrap .cf-row input,.cf-wrap input[type="text"],.cf-wrap input[type="email"]{width:100%;padding:0.6rem 0.2rem;border:none;border-bottom:1px solid rgba(201,168,76,0.5);background:transparent;font-family:var(--font-body);font-size:0.88rem;color:var(--black);outline:none;transition:border-color .2s;box-sizing:border-box;border-radius:0;}
.cf-wrap input[type="text"]:focus,.cf-wrap input[type="email"]:focus{border-bottom-color:var(--gold-dark);}
.cf-wrap input[type="text"]::placeholder,.cf-wrap input[type="email"]::placeholder{color:var(--mid-gray);font-size:0.84rem;}
.cf-wrap textarea{width:100%;padding:0.75rem 1rem;border:1px solid rgba(201,168,76,0.5);background:rgba(201,168,76,0.03);font-family:var(--font-body);font-size:0.88rem;color:var(--black);outline:none;resize:vertical;min-height:160px;margin-bottom:1rem;box-sizing:border-box;border-radius:0;transition:border-color .2s,background .2s;}
.cf-wrap textarea:focus{border-color:var(--gold-dark);background:rgba(201,168,76,0.06);}
.cf-wrap textarea::placeholder{color:var(--mid-gray);font-size:0.84rem;}
.cf-accord-row{display:flex;align-items:flex-start;gap:0.75rem;margin-bottom:1.2rem;font-size:0.78rem;color:var(--charcoal);line-height:1.5;}
.cf-accord-row input[type="checkbox"]{width:18px;height:18px;flex-shrink:0;margin-top:2px;accent-color:var(--gold-dark);cursor:pointer;}
.cf-accord-row label{cursor:pointer;}
.cf-accord-row a{color:var(--gold-dark);text-decoration:none;}
.cf-accord-row a:hover{text-decoration:underline;}
.cf-recaptcha-wrap{display:flex;justify-content:center;margin:1.2rem 0;}
.cf-btn-submit{display:block;width:100%;padding:0.9rem;background:var(--gold-dark);color:var(--white);font-family:var(--font-body);font-size:0.9rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;border:none;cursor:pointer;transition:background .25s,color .25s,transform .2s;}
.cf-btn-submit:hover{background:var(--black);color:var(--white);transform:translateY(-1px);}
.cf-mention-rgpd{font-size:0.72rem;color:var(--mid-gray);text-align:center;margin-top:1.2rem;line-height:1.6;}
.cf-mention-rgpd a{color:var(--gold-dark);text-decoration:none;}
.cf-mention-rgpd a:hover{text-decoration:underline;}

@media(max-width:900px){.cf-split{grid-template-columns:1fr;gap:56px;}.cf-form-col{position:static;}.cf-section{padding:60px 24px 80px;}}
@media(max-width:600px){.cf-section{padding:48px 16px 64px;}.cf-row{flex-direction:column;gap:0;}.cf-wrap{padding:1.75rem 1.25rem;}.cf-info-cards{gap:14px;}}

/* ============================================
   DEVIS — LAYOUT CF-LAYOUT (2 colonnes)
============================================ */
.cf-layout{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:1200px;margin:0 auto;align-items:start;}
.cf-text-col{padding:3rem 4rem 3rem 2rem;position:relative;}
.cf-text-col::after{content:'';position:absolute;right:0;top:2rem;bottom:2rem;width:1px;background:linear-gradient(to bottom,transparent,rgba(201,168,76,0.4) 20%,rgba(201,168,76,0.4) 80%,transparent);}
.cf-text-label{display:inline-block;font-size:var(--text-xs);letter-spacing:0.4em;text-transform:uppercase;color:var(--gold-dark);font-weight:500;margin-bottom:1.6rem;position:relative;padding-left:2rem;}
.cf-text-label::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:1.2rem;height:1px;background:var(--gold-dark);}
.cf-text-col h1{font-family:var(--font-display);font-size:clamp(1.6rem,3.5vw,2.5rem);font-weight:300;line-height:1.15;letter-spacing:-0.01em;color:var(--black);margin-bottom:1.8rem;}
.cf-text-col h1 em{font-style:italic;color:var(--gold-dark);}
.cf-text-divider{width:40px;height:1px;background:linear-gradient(90deg,var(--gold-dark),transparent);margin-bottom:1.8rem;}
.cf-text-col .cf-desc{font-family:var(--font-body);font-size:0.92rem;font-weight:300;line-height:1.9;color:rgba(10,10,10,0.7);margin-bottom:2rem;}
.cf-text-col .cf-desc p{margin-bottom:1rem;}
.cf-text-col .cf-desc strong{color:var(--black);font-weight:500;}
.cf-text-col .cf-desc a{color:var(--gold-dark);text-decoration:none;border-bottom:1px solid rgba(154,122,46,0.3);transition:border-color .2s,color .2s;}
.cf-text-col .cf-desc a:hover{color:var(--black);border-color:var(--gold-dark);}
.cf-contact-aside{margin-top:2.5rem;padding:1.6rem 1.8rem;border:1px solid rgba(154,122,46,0.25);background:rgba(154,122,46,0.05);position:relative;}
.cf-contact-aside::before{content:'';position:absolute;top:0;left:0;width:40px;height:2px;background:var(--gold-dark);}
.cf-contact-aside-label{font-size:var(--text-xs);letter-spacing:0.3em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:0.8rem;display:block;}
.cf-contact-aside-tel{font-family:var(--font-display);font-size:1.6rem;font-weight:300;color:var(--black);letter-spacing:0.05em;}
.cf-contact-aside-note{font-size:0.75rem;color:var(--mid-gray);margin-top:0.4rem;letter-spacing:0.08em;}
.cf-wrap select{width:100%;padding:0.6rem 0.2rem;border:none;border-bottom:1px solid rgba(201,168,76,0.5);background:transparent;font-family:var(--font-body);font-size:0.88rem;color:var(--black);outline:none;transition:border-color .2s;box-sizing:border-box;border-radius:0;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23C9A84C'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0.4rem center;padding-right:1.6rem;-webkit-appearance:none;appearance:none;}
.cf-wrap select:focus{border-bottom-color:var(--gold-dark);}
.cf-wrap input[type="date"],.cf-wrap input[type="time"],.cf-wrap input[type="tel"]{width:100%;padding:0.6rem 0.2rem;border:none;border-bottom:1px solid rgba(201,168,76,0.5);background:transparent;font-family:var(--font-body);font-size:0.88rem;color:var(--black);outline:none;transition:border-color .2s;box-sizing:border-box;border-radius:0;}
.cf-wrap input[type="date"]:focus,.cf-wrap input[type="time"]:focus,.cf-wrap input[type="tel"]:focus{border-bottom-color:var(--gold-dark);}
.cf-error{display:block;color:#c0392b;font-size:0.82rem;margin-bottom:0.5rem;}

@media(max-width:900px){.cf-layout{grid-template-columns:1fr;}.cf-text-col{padding:2rem 1.5rem 2.5rem;}.cf-text-col::after{display:none;}.cf-form-col{padding:0;position:static;}}
@media(max-width:600px){.cf-row{flex-direction:column;gap:0;}}