/*
Theme Name: CDSA Site Pro
Author: CDSA
Description: Thème indépendant, léger et responsive pour CDSA. Administration CDSA intégrée.
Version: 1.9.2
Requires at least: 6.5
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: cdsa
*/
:root{--ink:#192d29;--paper:#f5f5ee;--accent:#b9ef66;--line:#d9dfd5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-underline-offset:5px}img{max-width:100%;height:auto}button,input,textarea{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(42px,5.2vw,78px);font-weight:550;margin-bottom:28px}h2{font-size:clamp(34px,4vw,54px);font-weight:550}h3{font-size:28px;font-weight:550}.site-header{max-width:1500px;margin:auto;padding:25px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:25px;font-weight:750;line-height:1.1;letter-spacing:.02em}.brand small{display:block;font-size:10px;letter-spacing:.2em;margin-top:5px}.brand img{max-width:210px;max-height:65px;object-fit:contain}.brand-mark{background:var(--ink);color:var(--paper);width:46px;height:46px;display:grid;place-content:center;position:relative}.brand-mark span{position:absolute;font-size:19px;right:1px;top:0;color:var(--accent)}nav{display:flex;align-items:center;gap:30px}nav ul{display:flex;gap:25px;list-style:none;padding:0;margin:0}nav a{text-decoration:none;font-size:14px}nav li{position:relative}nav .sub-menu{display:none;position:absolute;background:var(--paper);padding:20px;min-width:210px;z-index:5;box-shadow:0 5px 15px #192d2920}nav li:hover>.sub-menu,nav li:focus-within>.sub-menu{display:block}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:17px 24px;background:var(--accent);color:#142019;text-decoration:none;font-weight:650;border:1px solid #192d2926;border-radius:4px}.button:hover{filter:brightness(.94)}.button.small{font-size:13px;padding:12px 17px}.hero{max-width:1500px;margin:auto;display:grid;grid-template-columns:1.06fr 1fr;padding:65px 5% 55px;gap:5%}.eyebrow{text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.16em;margin-bottom:28px}.intro{font-size:18px;max-width:520px;color:#52605a;margin-bottom:32px}.hero-note{font-size:12px;margin-top:28px;display:flex;align-items:center;gap:9px}.status-dot{width:7px;height:7px;background:#608432;border-radius:50%}.hero-visual{min-height:510px;position:relative;background:#29443d;overflow:hidden;border-radius:5px}.hero-visual>img{width:100%;height:100%;position:absolute;object-fit:cover}.visual-caption{position:absolute;bottom:0;left:0;right:0;padding:23px;display:flex;justify-content:space-between;gap:20px;background:#192d29eb;color:white;font-size:10px;letter-spacing:.04em}.blueprint{height:100%;position:absolute;inset:0;background:linear-gradient(130deg,#192d2900,#192d29aa),repeating-linear-gradient(0deg,transparent 0 39px,#c7d4bb19 40px),repeating-linear-gradient(90deg,transparent 0 39px,#c7d4bb19 40px)}.building{position:absolute;border:1px solid #d5edb7a8;background:repeating-linear-gradient(0deg,transparent 0 33px,#c7d4bb66 34px),repeating-linear-gradient(90deg,#9cb89212 0 38px,#c7d4bb66 39px);transform:skewY(-15deg)}.b1{width:43%;height:55%;left:12%;top:24%}.b2{width:28%;height:75%;left:55%;top:9%;transform:skewY(21deg)}.b3{width:70%;height:17%;left:10%;bottom:11%;transform:skewY(-15deg);background:#344e40}.plan-label{position:absolute;top:25px;left:25px;color:#d5edb7;font:10px monospace;letter-spacing:.12em}.trust-strip{padding:25px 5%;border-block:1px solid var(--line);display:flex;justify-content:space-around;gap:25px;font-size:12px}.trust-strip strong{display:block;font-size:21px;font-weight:550}.section{max-width:1500px;margin:auto;padding:85px 5%}.section-heading{display:grid;grid-template-columns:1fr 2fr 1.25fr;gap:40px;align-items:start}.section-heading>p:last-child{color:#52605a;font-size:15px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:15px}.service{background:#e8ecdf;padding:40px;border-radius:5px}.service-number{display:block;font-size:11px;letter-spacing:.13em;margin-bottom:45px}.service h3{font-size:44px}.service p{max-width:420px;min-height:60px}.service a{display:flex;justify-content:space-between;text-decoration:none;border-top:1px solid #192d2938;padding-top:22px;margin-top:30px;font-size:14px}.service.dark{background:var(--ink);color:var(--paper)}.service.dark a{border-color:#ffffff30}.dark .service-number{color:var(--accent)}.approach{display:grid;grid-template-columns:1fr 1fr;gap:10%;border-top:1px solid var(--line)}.steps article{border-bottom:1px solid var(--line);padding:0 0 20px;margin-bottom:25px}.steps h3{font-size:24px;margin-bottom:12px}.steps p{color:#52605a}.reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.reference-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}.reference-grid h3{font-size:25px;margin-top:20px}.contact{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:8%;max-width:none}.contact .eyebrow{color:var(--accent)}.contact p{max-width:430px;color:#d1d8cc}.contact-details{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:15px}.phone{font-size:clamp(24px,3vw,40px);text-decoration:none}.offices{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid #ffffff30;margin-top:25px;padding-top:30px}.offices h3{font-size:20px}.offices p{font-size:13px}.site-footer{padding:45px 5% 25px}.site-footer>p{font-size:13px;margin:15px 0 30px}.footer-bottom{display:flex;gap:30px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px;font-size:12px}.content-page{max-width:1000px;min-height:60vh;overflow-wrap:anywhere}.content-page h1{font-size:clamp(36px,5vw,60px)}.content-page h2{font-size:34px;margin-top:40px}.content-page article{margin-bottom:40px}.content-page iframe{max-width:100%}.skip{position:absolute;top:-100px;left:10px;z-index:100;background:white;padding:10px}.skip:focus{top:10px}:focus-visible{outline:3px solid #3285d0;outline-offset:5px}.menu-toggle{display:none}.reveal.active{animation:rise .65s ease both}@keyframes rise{from{opacity:.4;transform:translateY(16px)}to{opacity:1;transform:none}}@media(max-width:1050px){nav{gap:15px}nav ul{gap:15px}nav .button{display:none}.hero-visual{min-height:440px}.section-heading{grid-template-columns:1fr 2fr}.section-heading>p:last-child{grid-column:2}}@media(max-width:700px){.site-header{padding:20px 6%;flex-wrap:wrap}.menu-toggle{display:block;background:transparent;border:1px solid var(--line);padding:8px 15px;border-radius:3px}nav{display:none;width:100%}nav.is-open{display:block}nav ul{display:block}nav li{padding:8px 0}nav .sub-menu{display:block;position:static;box-shadow:none;padding:5px 20px}nav .button{display:inline-flex;margin-top:10px}.hero{grid-template-columns:1fr;padding:45px 6%;gap:35px}.hero-visual{min-height:330px}.hero-copy h1{max-width:550px}.trust-strip{padding:22px 6%;justify-content:space-between;gap:10px;font-size:10px}.trust-strip strong{font-size:15px}.section{padding:55px 6%}.section-heading,.approach,.contact{grid-template-columns:1fr;gap:25px}.section-heading>p:last-child{grid-column:auto}.section-heading .eyebrow{margin-bottom:0}.cards,.reference-grid{grid-template-columns:1fr}.service{padding:30px}.service-number{margin-bottom:30px}.contact-details{margin-top:20px}.offices{width:100%;gap:18px}.site-footer{padding:35px 6%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal.active{animation:none}}

.logo-section{max-width:1500px;margin:auto;padding:42px 5%;border-bottom:1px solid var(--line)}.logo-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.logo-heading h2{font-size:20px;letter-spacing:-.02em;margin:0}.logo-controls{display:flex;gap:8px}.logo-controls[hidden]{display:none}.logo-controls button{border:1px solid var(--line);background:transparent;border-radius:4px;min-height:42px;min-width:42px;padding:6px 12px;color:var(--ink);cursor:pointer}.logo-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;list-style:none;padding:4px 4px 16px;margin:0;overscroll-behavior-x:contain}.logo-item{flex:0 0 200px;height:120px;background:white;border:1px solid var(--line);border-radius:5px;scroll-snap-align:start;display:flex;align-items:center;justify-content:center;padding:15px}.logo-item a{display:flex;width:100%;height:100%;align-items:center;justify-content:center}.logo-item img{display:block;max-width:100%;width:180px;height:90px;object-fit:contain}@media(max-width:700px){.logo-section{padding:32px 6%}.logo-heading{flex-wrap:wrap}.logo-item{flex-basis:160px;height:105px}.logo-item img{height:75px}}

.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.contact-page{max-width:1200px}.office-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;width:100%;margin:25px 0}.office-card{border:1px solid var(--line);padding:28px;border-radius:5px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}.office-card h3{font-size:24px;margin:0 0 8px}.office-card address{font-style:normal;margin-bottom:8px;white-space:normal}.office-card a{overflow-wrap:anywhere;max-width:100%}.office-directions{margin-top:12px;font-weight:650}.contact .office-cards{gap:16px}.contact .office-card{padding:18px;border-color:#ffffff30;font-size:13px}.contact .office-card h3{font-size:20px}.office-map-section{margin:55px 0}.office-map-section h2{font-size:32px}.office-map{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#e8ecdf}.map-placeholder{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px}.map-placeholder[hidden],.map-canvas[hidden]{display:none}.map-disclosure{font-size:13px;max-width:520px;color:#52605a}.map-canvas{height:440px;width:100%;isolation:isolate}.map-status{font-size:14px;padding:0 20px;margin:12px 0}.map-status:empty{display:none}.map-office-pin{background:var(--ink);color:white;border:2px solid white;border-radius:50%;display:grid;place-items:center;font-weight:700;box-shadow:0 2px 8px #0003}.map-canvas .leaflet-popup-content{line-height:1.6}.map-canvas .leaflet-popup-content strong{display:block;margin-bottom:6px}.contact-original-content{margin-top:45px}.contact-original-content h1{font-size:32px}.contact-original-content input,.contact-original-content textarea{max-width:100%}@media(max-width:700px){.office-cards{grid-template-columns:1fr}.map-canvas{height:360px}.map-placeholder{min-height:280px;padding:24px}}

.hero-subtitle{font-size:21px;line-height:1.4;font-weight:550;margin-bottom:18px}.hero-secondary{font-size:14px;margin:20px 0 0}.hero-copy h1{font-size:clamp(39px,4.6vw,68px)}.reference-card{border:1px solid var(--line);border-radius:5px;overflow:hidden;background:#fff}.reference-card-content{padding:25px}.reference-card-content .eyebrow{margin-bottom:10px}.reference-card-content h3{margin-top:0}.reference-card .reference-image{display:block}.reference-card .reference-image img{display:block;border-radius:0}.reference-mission{font-weight:600;font-size:14px}.reference-more{display:block;border-top:1px solid var(--line);padding-top:16px;margin-top:20px;font-size:14px}.reference-detail>.eyebrow{margin-top:35px}.reference-cover{width:100%;max-height:550px;object-fit:cover;border-radius:5px}.reference-facts{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:28px;background:#e8ecdf;border-radius:5px}.reference-facts dt{font-size:12px;text-transform:uppercase;letter-spacing:.06em}.reference-facts dd{margin:6px 0 0;font-weight:600}.reference-cta{margin-top:55px;padding:30px;background:#e8ecdf;border-radius:5px}@media(max-width:700px){.reference-facts{grid-template-columns:1fr}.hero-subtitle{font-size:19px}}

.linkedin-section{border-top:1px solid var(--line)}.linkedin-heading{display:flex;justify-content:space-between;align-items:center;gap:35px}.linkedin-heading>div{max-width:650px}.linkedin-heading h2{font-size:clamp(32px,3.6vw,48px)}.linkedin-heading>.button{flex-shrink:0}.linkedin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}.linkedin-card{background:white;border:1px solid var(--line);border-radius:5px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.linkedin-card>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#e8ecdf}.linkedin-card-content{padding:25px;display:flex;flex-direction:column;flex:1;overflow-wrap:anywhere}.linkedin-card-content .eyebrow{font-size:10px;margin-bottom:16px}.linkedin-card h3{font-size:25px}.linkedin-card-content>.reference-more{margin-top:auto}.linkedin-card-content>p:last-of-type{padding-bottom:18px}@media(max-width:900px){.linkedin-heading{align-items:flex-start;flex-direction:column}.linkedin-grid{grid-template-columns:1fr}}

.linkedin-carousel{margin-top:28px}.linkedin-controls{justify-content:flex-end;margin-bottom:16px}.linkedin-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:6px 4px 20px}.linkedin-track>.linkedin-card{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start}.linkedin-track .reference-more{padding-top:18px}@media(max-width:1000px){.linkedin-track>.linkedin-card{flex-basis:calc((100% - 24px)/2)}}@media(max-width:650px){.linkedin-track>.linkedin-card{flex-basis:88%}}

.environment-section{background:#e8ecdf;border-top:1px solid var(--line)}.environment-section h2{max-width:780px}.environment-intro{max-width:750px;color:#52605a;font-size:18px;margin-bottom:32px}.environment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.environment-card{padding:30px;background:var(--paper);border:1px solid var(--line);border-radius:5px;overflow-wrap:anywhere}.environment-icon{width:40px;height:40px;margin-bottom:25px;color:#315b40}.environment-card h3{font-size:26px;letter-spacing:-.025em}.environment-card p{margin-bottom:0;font-size:15px}@media(max-width:800px){.environment-grid{grid-template-columns:1fr}.environment-card{padding:25px}}

.cdsa-form-section{margin:50px 0;padding:32px;background:#fff;border:1px solid var(--line);border-radius:6px}.cdsa-form-section h2{font-size:36px}.cdsa-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.cdsa-form-field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.cdsa-form-field label{font-weight:600}.cdsa-form-field input,.cdsa-form-field select,.cdsa-form-field textarea{width:100%;padding:12px;border:1px solid #75877b;border-radius:4px;background:#fff;color:var(--ink);font:inherit}.cdsa-form-field textarea{resize:vertical}.cdsa-form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.cdsa-form-privacy{font-size:13px;color:#52605a}.cdsa-form-errors{border-left:4px solid #a32d2d;background:#fff0ed;padding:20px;margin:20px 0}.cdsa-form-errors h3{font-size:22px}.cdsa-form-success{padding:24px;background:#edf6e5;border-left:4px solid #315b40}@media(max-width:650px){.cdsa-form-grid{grid-template-columns:1fr;gap:0}.cdsa-form-section{padding:22px}}
