/*
Theme Name: CDSA Alpes
Author: CDSA
Description: Identité rouge, anthracite et blanc, logo CDSA sans signature inclus. Toutes les fonctions de CDSA Site Pro 1.12.4 et ses réglages partagés.
Version: 1.2.4
Requires at least: 6.5
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: cdsa
*/
:root{--ink:#242e35;--paper:#ffffff;--accent:#dc0017;--line:#dde1e4}*{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 #242e3520}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:#ffffff;text-decoration:none;font-weight:650;border:1px solid #242e3526;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:#57616a;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:#dc0017;border-radius:50%}.hero-visual{min-height:510px;position:relative;background:#29343d;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:#242e35eb;color:white;font-size:10px;letter-spacing:.04em}.blueprint{height:100%;position:absolute;inset:0;background:linear-gradient(130deg,#242e3500,#242e35aa),repeating-linear-gradient(0deg,transparent 0 39px,#c7cfd619 40px),repeating-linear-gradient(90deg,transparent 0 39px,#c7cfd619 40px)}.building{position:absolute;border:1px solid #f1f3f5a8;background:repeating-linear-gradient(0deg,transparent 0 33px,#c7cfd666 34px),repeating-linear-gradient(90deg,#aebac412 0 38px,#c7cfd666 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:#384650}.plan-label{position:absolute;top:25px;left:25px;color:#f1f3f5;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:#57616a;font-size:15px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:15px}.service{background:#f2f4f6;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 #242e3538;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:#57616a}.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:#d8dde1}.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:#f2f4f6}.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:#57616a}.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:#f2f4f6;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:#f2f4f6;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:#f2f4f6}.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:#f2f4f6;border-top:1px solid var(--line)}.environment-section h2{max-width:780px}.environment-intro{max-width:750px;color:#57616a;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:#344b5c}.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 #818b93;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:#57616a}.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 #344b5c}@media(max-width:650px){.cdsa-form-grid{grid-template-columns:1fr;gap:0}.cdsa-form-section{padding:22px}}

.home-contact-form{max-width:1100px}.home-contact-form .cdsa-form-section{margin:0}

.cdsa-iprp-document{margin-top:40px;padding:28px;border:1px solid var(--line);border-radius:6px;background:#f2f4f6}.cdsa-iprp-document h2{font-size:30px}.cdsa-pdf-viewer p{font-size:13px}.cdsa-pdf-viewer iframe{width:100%;height:720px;border:1px solid var(--line);background:#fff}.cdsa-pdf-viewer iframe[hidden]{display:none}@media(max-width:700px){.cdsa-iprp-document{padding:20px}.cdsa-pdf-viewer iframe{height:480px}}

/* CDSA Alpes: identity and responsive refinements. */
:root{--accent-text:#fff;--surface:#f2f4f6}
.site-header{background:#fff;padding-block:18px;gap:24px}
.brand{flex-shrink:0}.brand img{display:block;width:265px;max-width:265px;max-height:none}
.button{color:var(--accent-text);border-color:transparent;border-radius:6px;min-height:46px;transition:filter .18s ease,transform .18s ease}
.button:hover{filter:brightness(.9);transform:translateY(-1px)}
.hero{padding-top:58px;padding-bottom:65px}.hero-copy h1{font-weight:650;letter-spacing:-.05em}
.hero-copy>.eyebrow{display:flex;align-items:center;gap:12px}.hero-copy>.eyebrow:before{content:"";width:28px;height:3px;background:var(--accent);flex-shrink:0}
.hero-visual{border-radius:12px;background:#29343d;box-shadow:0 18px 45px #242e3514}
.blueprint{background:linear-gradient(130deg,#242e3500,#242e35aa),repeating-linear-gradient(0deg,transparent 0 39px,#c7cfd619 40px),repeating-linear-gradient(90deg,transparent 0 39px,#c7cfd619 40px)}
.b3{border-left:4px solid var(--accent)}.visual-caption{border-top:2px solid var(--accent);background:#242e35f2}
.status-dot{background:var(--accent)}.trust-strip{background:var(--surface)}.trust-strip strong{font-weight:650}
.service{border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:10px}.service.dark{border-color:var(--ink);border-top-color:var(--accent)}
.dark .service-number,.contact .eyebrow{color:#fff}.service-number{font-weight:700}.service:not(.dark) .service-number{color:#b60014}
.reference-card,.linkedin-card,.environment-card,.office-card{border-radius:10px}.environment-icon{color:#344b5c}
.contact{border-top:4px solid var(--accent)}.site-footer{background:#fff}.site-footer .brand img{width:240px;max-width:100%}
nav a:hover,.hero-secondary a:hover{ text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px}
:focus-visible{outline-color:#a60014}
@media(max-width:1150px){.site-header nav{gap:14px}.site-header nav ul{gap:14px}.site-header nav>.button{display:none}.brand img{width:230px;max-width:230px}}
@media(max-width:700px){.brand img{width:205px;max-width:100%}.site-header{gap:12px}.hero{padding-top:36px;padding-bottom:42px}.hero-visual{min-height:350px}.site-header nav>.button{display:inline-flex}.site-footer .brand img{width:220px}}
@media(max-width:360px){.brand img{width:175px}.menu-toggle{padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.button{transition:none}.button:hover{transform:none}}

/* Automatic references directory and editorial pages. */
.references-page h1{max-width:1000px}.references-intro{max-width:760px;font-size:18px;color:#57616a;margin-bottom:42px}
.references-all{margin:30px 0 0}.references-empty{padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:8px}
.reference-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reference-card{min-width:0;overflow-wrap:anywhere}
.references-pagination{display:block;margin:36px 0}.references-pagination ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0}
.references-pagination .page-numbers a,.references-pagination .page-numbers span{display:block;padding:9px 15px;border:1px solid var(--line);border-radius:4px}
.references-pagination .current{background:var(--ink);color:white}
.footer-pages{display:flex;flex-wrap:wrap;gap:14px 28px;margin-bottom:28px}.footer-pages a{font-size:14px;text-decoration:underline}
.content-page .wp-block-button__link{display:inline-flex;padding:14px 22px;background:var(--accent);color:var(--accent-text);border-radius:6px;text-decoration:none;font-weight:650}
@media(max-width:900px){.references-page .reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.reference-grid,.references-page .reference-grid{grid-template-columns:1fr}.footer-pages{display:flex;align-items:flex-start;flex-direction:column}.references-pagination{display:block}.references-pagination ul{display:flex}}

.office-map [data-load-map][hidden]{display:none}

.environment-recharge{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.environment-recharge .recharge-logo{display:inline-flex;margin-top:20px;padding:12px 16px;background:#fff;border-radius:6px;max-width:100%}.recharge-logo img{display:block;width:144px;height:auto;object-fit:contain}

.hero-copy h1{font-size:clamp(38px,4.3vw,64px)}.service h3{font-size:clamp(30px,3.2vw,44px)}
