@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');



:root{--ink:#101713;--green:#205a45;--green-dark:#10251d;--green-soft:#eaf0eb;--paper:#fbfcfa;--white:#fff;--muted:#66716b;--line:#e1e7e2;--max:1160px;--radius:18px;--shadow:0 18px 55px rgba(16,37,29,.10)}

*{box-sizing:border-box}

html{scroll-behavior:smooth;scroll-padding-top:90px}

body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}

img{max-width:100%;display:block}

a{color:inherit;text-decoration:none}

button,input,select,textarea{font:inherit}

.container{width:min(var(--max),calc(100% - 44px));margin-inline:auto}

.skip-link{position:absolute;left:-9999px;top:8px;background:#fff;padding:12px;z-index:100}

.skip-link:focus{left:8px}

.site-header{position:sticky;top:0;z-index:20;background:rgba(251,252,250,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(225,231,226,.8)}

.nav-wrap{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}

.brand{display:inline-flex;align-items:center;gap:11px;flex-shrink:0;font-family:Manrope,sans-serif;font-weight:800;letter-spacing:.045em;font-size:1.02rem;line-height:1.15}

.brand img{width:46px;height:46px}

.brand small{display:block;margin-top:5px;font-family:"DM Sans",sans-serif;font-size:.65rem;font-weight:500;letter-spacing:.02em;color:var(--muted)}

.navigation{display:flex;align-items:center;gap:30px;font-size:.91rem;font-weight:600}

.navigation>a:not(.nav-cta){color:#48534c;transition:color .2s}

.navigation>a:hover,.navigation a[aria-current=page]{color:var(--green)}

.nav-cta{padding:12px 17px;background:var(--green-dark);color:#fff;border-radius:999px;transition:transform .2s,background .2s}

.nav-cta:hover{background:var(--green);transform:translateY(-1px)}

.menu-toggle{display:none;border:1px solid var(--line);background:white;border-radius:10px;padding:10px 12px;color:var(--ink)}

.hero{overflow:hidden;background:linear-gradient(125deg,#f7f9f6 0%,#edf2ed 100%);padding:82px 0 78px}

.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:60px;align-items:center}

.eyebrow{margin:0 0 14px;color:var(--green);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800}

.eyebrow>span{display:inline-block;width:22px;height:2px;background:var(--green);vertical-align:middle;margin-right:8px}

h1,h2,h3,p{margin-top:0}

h1,h2,h3{font-family:Manrope,"DM Sans",sans-serif;line-height:1.14;letter-spacing:-.04em}

h1{font-size:clamp(2.7rem,5.1vw,4.6rem);font-weight:800;margin-bottom:24px;max-width:700px}

h1 em,h2 em{font-style:normal;color:var(--green)}

.hero-lead{max-width:600px;color:#59645d;font-size:1.08rem;line-height:1.8;margin-bottom:28px}

.button-row{display:flex;flex-wrap:wrap;gap:12px}

.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:50px;padding:13px 20px;border-radius:999px;border:1px solid transparent;font-weight:700;font-size:.91rem;cursor:pointer;transition:transform .2s,background .2s}

.button:hover{transform:translateY(-2px)}

.button-primary{background:var(--green-dark);color:white}

.button-primary:hover{background:var(--green)}

.button-ghost{border-color:#cfd8d1;background:rgba(255,255,255,.6)}

.button-ghost:hover{background:white}

.button-light{background:white;color:var(--green-dark)}

.button-light:hover{background:#eaf0eb}

.hero-note{display:flex;align-items:center;gap:10px;color:#59645d;font-size:.85rem;margin-top:28px}

.note-mark{display:inline-grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#dce9df;color:var(--green);font-weight:800}

.hero-art{position:relative;min-height:420px;border-radius:28px;background:var(--green-dark);overflow:hidden;display:grid;place-items:center;isolation:isolate}

.hero-art:before,.hero-art:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%;width:410px;height:410px;z-index:-1}

.hero-art:after{width:300px;height:300px;border-color:rgba(255,255,255,.1)}

.art-orbit{position:absolute;border:1px solid rgba(160,195,171,.22);border-radius:50%;transform:rotate(-28deg)}

.orbit-one{width:390px;height:190px}.orbit-two{width:330px;height:270px;transform:rotate(48deg)}

.art-center{width:150px;height:150px;border-radius:35px;background:#fff;display:grid;place-items:center;box-shadow:0 22px 70px rgba(0,0,0,.22);transform:rotate(-7deg)}

.art-center img{width:112px;height:112px}

.art-tag{position:absolute;background:rgba(255,255,255,.96);color:var(--ink);padding:10px 14px;border-radius:999px;font-weight:700;font-size:.77rem;box-shadow:0 8px 28px #06140d35}

.tag-dot{display:inline-block;width:7px;height:7px;background:#3c8662;border-radius:50%;margin-right:7px}

.tag-one{top:20%;left:10%}.tag-two{right:8%;top:36%}.tag-three{bottom:21%;left:14%}

.art-caption{position:absolute;bottom:17px;right:22px;color:#b8c9be;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}

.trust-strip{background:white;border-bottom:1px solid var(--line)}

.trust-items{display:flex;justify-content:center;align-items:center;gap:24px;min-height:68px;color:#58635c;font-size:.84rem;font-weight:600;flex-wrap:wrap}

.trust-items i{width:5px;height:5px;background:#75a086;border-radius:50%}

.section{padding:88px 0}.section-tight{padding-top:48px;padding-bottom:92px}

.section-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:34px}

h2{font-size:clamp(2rem,3.3vw,3.1rem);font-weight:800;margin-bottom:0}

.section-heading h2{max-width:620px}

.text-link{display:inline-flex;align-items:center;gap:9px;color:var(--green);font-size:.9rem;font-weight:800}

.text-link span{transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}

.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}

.service-card{padding:27px 25px 25px;border:1px solid var(--line);background:white;border-radius:var(--radius);transition:transform .25s,box-shadow .25s}

.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}

.card-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--green-soft);color:var(--green);font-family:Manrope,sans-serif;font-weight:800;font-size:.82rem;margin-bottom:26px}

.service-card h3{font-size:1.28rem;margin-bottom:13px}

.service-card p{color:var(--muted);font-size:.94rem;min-height:94px}

.service-card>a{font-size:.85rem;font-weight:800;color:var(--green)}

.service-card>a span{margin-left:6px}

.dark-section{background:var(--green-dark);color:white;padding:68px 0}

.split-section{display:grid;grid-template-columns:1fr .85fr;gap:90px;align-items:center}

.eyebrow-light{color:#a9c8b4}

.dark-section h2,.contact-band h2{max-width:560px;font-size:clamp(2rem,3.4vw,3.2rem)}

.split-copy p{color:#d0dbd3;line-height:1.85;margin-bottom:23px}

.portfolio-preview{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:70px}

.portfolio-preview h2{margin-bottom:16px}

.portfolio-preview>div:first-child>p:not(.eyebrow){color:var(--muted);max-width:440px}

.portfolio-preview .text-link{margin-top:10px}

.preview-tiles{display:grid;grid-template-columns:1.15fr .85fr;gap:13px;min-height:290px}

.preview-tile{border-radius:19px;overflow:hidden;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;isolation:isolate}

.preview-tile:before{content:"";position:absolute;inset:0;z-index:-1}

.tile-web{background:#dce7df;color:#173b2a}

.tile-web:before{background:radial-gradient(circle at 75% 15%,#fff 0 7%,transparent 7.5%),linear-gradient(140deg,#e5eee7,#a9c4b1)}

.tile-brand{background:#1a2b22;color:white}

.tile-brand:before{background:radial-gradient(circle at 75% 22%,#32664c 0 23%,transparent 23.5%),linear-gradient(145deg,#14281d,#0a130e)}

.preview-tile>span{font-size:.7rem;letter-spacing:.18em;font-weight:800;margin-bottom:auto}

.preview-tile strong{font-family:Manrope,sans-serif;font-size:1.35rem;line-height:1.2;letter-spacing:-.04em}

.preview-tile small{margin-top:12px;opacity:.75}

.contact-band{background:var(--green);color:white;padding:56px 0}

.contact-band-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}

.contact-band h2{font-size:clamp(1.8rem,3.2vw,2.8rem)}

.site-footer{background:#0c1711;color:#f4f7f4;padding:42px 0 20px}

.footer-main{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:30px;align-items:center;padding-bottom:30px}

.brand-footer small{color:#aab8ae}

.footer-main>p{margin:0;color:#b4c0b7;font-size:.88rem;max-width:330px}

.footer-links{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px 18px;font-size:.8rem;color:#c4cec7}

.footer-links a:hover,.footer-bottom a:hover{color:white}

.footer-bottom{display:flex;justify-content:space-between;gap:16px;padding-top:18px;border-top:1px solid #2b3930;color:#9ba99f;font-size:.76rem}

.page-hero{padding:75px 0 68px;background:linear-gradient(125deg,#f0f4f0,#fafbf9);border-bottom:1px solid var(--line)}

.page-hero h1{font-size:clamp(2.6rem,5vw,4.2rem);max-width:850px;margin-bottom:18px}

.page-hero p:not(.eyebrow){max-width:700px;color:var(--muted);font-size:1.04rem}

.service-detail-list{display:grid;gap:0}

.service-detail{display:grid;grid-template-columns:90px 1fr;gap:26px;padding:38px 0;border-bottom:1px solid var(--line);scroll-margin-top:100px}

.service-detail:first-child{padding-top:0}.service-detail:last-child{border-bottom:0;padding-bottom:0}

.detail-number{width:62px;height:62px;display:grid;place-items:center;background:var(--green-soft);color:var(--green);border-radius:18px;font-family:Manrope,sans-serif;font-weight:800}

.service-detail h2{font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:13px}

.service-detail p:not(.eyebrow){color:var(--muted);max-width:800px}

.service-detail ul{padding-left:21px;color:#455148;margin:18px 0 24px}

.service-detail li{padding:4px 0}

.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}

.portfolio-card{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}

.portfolio-art{min-height:260px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}

.art-site{background:#e6eee8;padding:30px}

.mock-browser{position:absolute;top:20px;left:20px;right:20px;height:18px;display:flex;gap:5px}

.mock-browser i{width:6px;height:6px;border-radius:50%;background:#9fb6a5}

.mock-content{background:#fff;width:100%;padding:32px 22px 24px;border-radius:10px;box-shadow:0 18px 35px #183c2b16}

.mock-content small{display:block;color:var(--green);letter-spacing:.13em;font-weight:800;font-size:.58rem;margin-bottom:15px}

.mock-content strong{font-family:Manrope,sans-serif;font-size:1.5rem;line-height:1.1;display:block;letter-spacing:-.05em}

.mock-line{display:block;height:5px;width:88%;background:#e6ece7;border-radius:5px;margin-top:17px}.mock-line.short{width:60%;margin-top:7px}

.mock-button{display:block;width:78px;height:19px;background:var(--green);border-radius:12px;margin-top:18px}

.art-identity{background:#11271d;color:white;flex-direction:column;gap:12px}

.identity-mark{font-family:Manrope,sans-serif;font-size:5rem;font-weight:800;letter-spacing:-.12em}

.identity-mark span{font-size:2rem;color:#8db39a;vertical-align:top}

.art-identity strong{font-family:Manrope,sans-serif;letter-spacing:.16em;font-size:1.1rem;text-align:center;line-height:1.5}

.art-identity small{font-size:.65rem;letter-spacing:.15em;color:#a7c3ae;margin-top:10px}

.art-admin{background:#e8ede8;padding:25px}

.admin-window{width:100%;background:#fff;border-radius:12px;padding:17px;box-shadow:0 12px 30px #183c2b12}

.admin-top{font-size:.6rem;font-weight:800;letter-spacing:.1em;color:#53645a}

.admin-bars{display:flex;gap:8px;margin:18px 0}

.admin-bars span{height:45px;background:#dfeae1;border-radius:7px;flex:1}.admin-bars span:nth-child(2){background:#b9d0bf}.admin-bars span:nth-child(3){background:#edf1ed}

.admin-table{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}

.admin-table i{height:9px;background:#e8ece8;border-radius:5px}

.portfolio-info{padding:23px}

.portfolio-type{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--green);font-weight:800}

.portfolio-info h2{font-size:1.35rem;margin:10px 0}

.portfolio-info p{color:var(--muted);font-size:.9rem;min-height:72px}

.portfolio-disclaimer{margin:28px 0 0;color:var(--muted);font-size:.85rem}

.quote-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:start}

.quote-intro{position:sticky;top:115px}

.quote-intro h2{font-size:2.25rem;margin-bottom:18px}

.quote-intro>p:not(.eyebrow){color:var(--muted)}

.contact-note{display:flex;gap:12px;background:#edf3ee;border-radius:14px;padding:16px;margin-top:28px}

.contact-note p{font-size:.84rem;color:#435248;margin:0;overflow-wrap:anywhere}

.contact-note code{font-size:.8em}

.small-muted{font-size:.77rem;color:#778179;margin-top:20px}

.quote-form{background:white;border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:0 12px 45px rgba(16,37,29,.045)}

.form-row{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}

.form-row label{font-size:.86rem;font-weight:700}

.form-row label>span,.required{color:#c53c35}

.form-row input,.form-row select,.form-row textarea{width:100%;min-height:48px;padding:12px 13px;border:1px solid #d8e0d9;border-radius:10px;background:#fcfdfc;color:var(--ink);outline:none}

.form-row textarea{resize:vertical;min-height:140px}

.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #205a4517}

.form-row small{color:var(--muted);font-size:.75rem}

.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:15px}

.consent{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;color:#4f5c53;margin:8px 0 22px}

.consent input{margin-top:5px;accent-color:var(--green);flex-shrink:0}

.button-full{width:100%}

.form-status{font-size:.85rem;color:var(--green);overflow-wrap:anywhere}

.form-status.is-error{color:#a12b25}

.legal-content{max-width:850px}

.legal-content h2{font-size:1.5rem;margin:30px 0 12px}

.legal-content p{color:#59645d}

@media(max-width:900px){.navigation{gap:17px}.hero-grid{gap:32px}.hero-art{min-height:360px}.service-grid{gap:12px}.service-card{padding:22px 19px}.portfolio-preview{gap:35px}.footer-main{grid-template-columns:1fr 1fr}.footer-links{grid-column:1/-1;justify-content:flex-start}.quote-layout{gap:35px}}

@media(max-width:720px){.container{width:min(100% - 34px,var(--max))}.nav-wrap{min-height:72px}.brand{font-size:.93rem}.brand img{width:40px;height:40px}.brand small{font-size:.6rem}.menu-toggle{display:inline-flex;align-items:center;gap:9px}.navigation{display:none;position:absolute;top:71px;left:0;right:0;padding:15px 20px 22px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 15px 20px #10251d0b;flex-direction:column;align-items:stretch;gap:0}.navigation.is-open{display:flex}.navigation>a{padding:13px 8px}.navigation .nav-cta{text-align:center;margin-top:7px}.hero{padding:54px 0 48px}.hero-grid{grid-template-columns:1fr;gap:34px}.hero-copy h1{font-size:clamp(2.65rem,12vw,3.65rem)}.hero-lead{font-size:1rem}.hero-art{min-height:330px;border-radius:22px}.art-center{width:125px;height:125px}.art-center img{width:95px;height:95px}.art-orbit.orbit-one{width:310px;height:160px}.art-orbit.orbit-two{width:260px;height:230px}.tag-one{top:16%;left:6%}.tag-two{right:5%;top:34%}.tag-three{bottom:18%;left:8%}.trust-items{gap:10px 14px;padding:17px 0;font-size:.75rem}.trust-items i{width:4px;height:4px}.section{padding:60px 0}.section-tight{padding:28px 0 62px}.section-heading{align-items:flex-start;flex-direction:column;gap:17px}.service-grid{grid-template-columns:1fr}.service-card{padding:24px}.service-card p{min-height:0}.card-icon{margin-bottom:18px}.dark-section{padding:52px 0}.split-section{grid-template-columns:1fr;gap:22px}.portfolio-preview{grid-template-columns:1fr;gap:28px}.preview-tiles{min-height:250px}.preview-tile{padding:18px}.preview-tile strong{font-size:1.2rem}.contact-band{padding:42px 0}.contact-band-inner{align-items:flex-start;flex-direction:column}.contact-band .button{width:100%}.footer-main{grid-template-columns:1fr;gap:18px}.footer-links{grid-column:auto;justify-content:flex-start}.footer-bottom{flex-direction:column;gap:6px}.page-hero{padding:54px 0 44px}.page-hero h1{font-size:clamp(2.45rem,11vw,3.5rem)}.service-detail{grid-template-columns:52px 1fr;gap:15px;padding:29px 0}.detail-number{width:45px;height:45px;border-radius:13px}.service-detail h2{font-size:1.6rem}.portfolio-grid{grid-template-columns:1fr}.portfolio-art{min-height:245px}.portfolio-info p{min-height:0}.quote-layout{grid-template-columns:1fr;gap:25px}.quote-intro{position:static}.quote-intro h2{font-size:1.9rem}.quote-form{padding:21px 17px}.two-cols{grid-template-columns:1fr;gap:0}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}



/* Identité visuelle officielle OREMA-TRIX : emblème vert et nom noir */

.brand { gap: 0; letter-spacing: 0; }

.brand img.brand-wordmark { display:block; width: 230px; height: auto; max-height: 62px; object-fit: contain; }

.brand-footer img.brand-wordmark { width: 225px; max-height: 58px; }

.art-center img { width: 88px; height: 88px; object-fit: contain; }

@media(max-width:720px) {

  .brand img.brand-wordmark { width: 185px; max-height: 52px; }

  .brand-footer img.brand-wordmark { width: 205px; max-height: 54px; }

}





/* Coordonnées officielles OREMA-TRIX */

.footer-contact{display:flex;flex-direction:column;gap:5px;align-items:flex-start;font-size:.88rem;color:var(--muted)}

.footer-contact strong{color:var(--ink);margin-bottom:4px;font-family:Manrope,sans-serif}

.footer-contact a{overflow-wrap:anywhere;transition:color .2s}

.footer-contact a:hover{color:var(--green);text-decoration:underline}

.contact-note a{color:var(--green);font-weight:700;text-decoration:underline;text-underline-offset:3px}

@media(max-width:760px){.footer-contact{width:100%;margin:8px 0 4px}.footer-main{gap:18px}}





/* Accueil OREMA-TRIX : logo officiel et nom en texte, sans déformation */

.brand{display:inline-flex;align-items:center;gap:12px;letter-spacing:0;text-decoration:none}

.brand img.brand-emblem{width:46px;height:46px;max-width:none;object-fit:contain;flex:0 0 46px}

.brand .brand-name{font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:1.08rem;letter-spacing:.015em;color:#101713;white-space:nowrap}

.brand-footer .brand-name{color:#fff}

.brand-footer img.brand-emblem{filter:grayscale(1) brightness(0) invert(1)}



/* Carrousel d'accueil à cinq bannières photo. Les fonds restent propres tant que les photos ne sont pas importées. */

.hero-carousel{position:relative;min-height:min(690px,calc(100svh - 84px));background:#10251d;color:#fff;overflow:hidden;isolation:isolate}

.hero-slides{position:relative;min-height:inherit}

.hero-slide{position:absolute;inset:0;display:flex;align-items:center;min-height:inherit;padding:70px 0 100px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .75s ease,visibility .75s ease;background-color:#10251d;background-size:cover;background-position:center;background-repeat:no-repeat}

.hero-slide:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,17,12,.88) 0%,rgba(8,27,19,.75) 48%,rgba(8,27,19,.32) 100%),linear-gradient(0deg,rgba(4,13,9,.3),transparent 60%)}

.hero-slide.is-active{position:relative;opacity:1;visibility:visible;pointer-events:auto}

.hero-slide:nth-child(1){background-image:linear-gradient(120deg,#10251d,#205a45)}

.hero-slide:nth-child(1){background-image:linear-gradient(90deg,rgba(5,17,12,.86),rgba(8,27,19,.38)),url("assets/images/orema-accueil-presence.jpg"),linear-gradient(120deg,#10251d,#205a45)}

.hero-slide:nth-child(2){background-image:linear-gradient(90deg,rgba(5,17,12,.86),rgba(8,27,19,.35)),url("assets/images/orema-accueil-numerique.jpg"),linear-gradient(120deg,#10251d,#205a45)}

.hero-slide:nth-child(3){background-image:linear-gradient(90deg,rgba(5,17,12,.86),rgba(8,27,19,.35)),url("assets/images/orema-accueil-communication.jpg"),linear-gradient(120deg,#10251d,#205a45)}

.hero-slide:nth-child(4){background-image:linear-gradient(90deg,rgba(5,17,12,.86),rgba(8,27,19,.35)),url("assets/images/orema-accueil-organisation.jpg"),linear-gradient(120deg,#10251d,#205a45)}

.hero-slide:nth-child(5){background-image:linear-gradient(90deg,rgba(5,17,12,.86),rgba(8,27,19,.35)),url("assets/images/orema-accueil-equipe.jpg"),linear-gradient(120deg,#10251d,#205a45)}

.hero-slide-content{position:relative;z-index:1;padding-top:8px}

.hero-slide-content>*{max-width:780px}

.hero-kicker{margin:0 0 22px;text-transform:uppercase;letter-spacing:.19em;font-weight:800;font-size:.78rem;color:#b9d3c2}

.hero-slide h1,.hero-slide h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(2.9rem,6.3vw,5.7rem);font-weight:800;line-height:1.04;letter-spacing:-.055em;margin:0 0 25px;max-width:820px;color:#fff}

.hero-slide h1 em,.hero-slide h2 em{font-style:normal;color:#9cc5a9}

.hero-slide-content>p:not(.hero-kicker){max-width:720px;color:#e2e9e4;font-size:clamp(1.02rem,1.8vw,1.28rem);line-height:1.7;margin-bottom:30px}

.hero-slide .button-primary{background:#fff;color:#10251d}

.hero-slide .button-primary:hover{background:#eaf0eb}

.hero-ghost{border-color:rgba(255,255,255,.68);background:rgba(7,22,15,.18);color:#fff}

.hero-ghost:hover{background:rgba(255,255,255,.12)}

.slide-index{position:absolute;right:max(22px,calc((100vw - var(--max))/2));bottom:45px;color:#fff;font-family:Manrope,Arial,sans-serif;font-size:1.05rem;font-weight:800;letter-spacing:.08em}

.slide-index i{font-style:normal;color:#b9c8bd;font-size:.8rem;font-weight:600}

.hero-carousel-controls{position:absolute;left:0;right:0;bottom:25px;display:flex;align-items:center;justify-content:space-between;z-index:5;pointer-events:none}

.carousel-dots,.carousel-arrows{display:flex;align-items:center;gap:9px;pointer-events:auto}

.carousel-dot{width:24px;height:4px;border:0;border-radius:10px;background:rgba(255,255,255,.48);padding:0;cursor:pointer;transition:width .25s,background .25s}

.carousel-dot.is-active{width:42px;background:#fff}

.carousel-arrows{gap:8px}

.carousel-arrows button{width:39px;height:39px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(6,19,12,.3);color:#fff;font-size:1.25rem;cursor:pointer}

.carousel-arrows button:hover{background:rgba(255,255,255,.16)}

.process-band{background:#edf2ed;padding:78px 0}

.process-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center}

.process-intro h2{font-size:clamp(2rem,3.7vw,3.4rem);margin-bottom:18px}

.process-intro h2 em{font-style:normal;color:var(--green)}

.process-intro>p:last-child{color:var(--muted);max-width:430px}

.process-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}

.process-steps article{border-top:1px solid #b8c8bc;padding-top:17px}

.process-steps article>span{display:inline-grid;place-items:center;width:37px;height:37px;border-radius:50%;background:#d8e6db;color:var(--green-dark);font-weight:800;font-size:.78rem;margin-bottom:17px}

.process-steps h3{font-size:1.1rem;margin-bottom:8px}

.process-steps p{color:#5f6d63;font-size:.88rem;line-height:1.65;margin-bottom:0}

@media(max-width:760px){

 .nav-wrap{min-height:74px}.brand{gap:9px}.brand img.brand-emblem{width:38px;height:38px;flex-basis:38px}.brand .brand-name{font-size:.96rem}

 .hero-carousel{min-height:calc(82svh - 74px);min-height:590px}

 .hero-slides{min-height:inherit}

 .hero-slide{padding:66px 0 112px;background-position:58% center}

 .hero-slide:before{background:linear-gradient(90deg,rgba(5,17,12,.83),rgba(8,27,19,.53)),linear-gradient(0deg,rgba(4,13,9,.4),transparent 70%)}

 .hero-slide h1,.hero-slide h2{font-size:clamp(2.55rem,10.6vw,4rem);line-height:1.07;margin-bottom:20px}

 .hero-kicker{font-size:.68rem;letter-spacing:.13em;margin-bottom:17px}

 .hero-slide-content>p:not(.hero-kicker){font-size:1rem;line-height:1.65;margin-bottom:24px}

 .hero-slide .button-row{align-items:stretch;flex-direction:column;max-width:310px}.hero-slide .button{width:100%;min-height:52px}

 .hero-carousel-controls{bottom:19px}.carousel-dots{gap:6px}.carousel-dot{width:17px}.carousel-dot.is-active{width:30px}.carousel-arrows button{width:35px;height:35px}

 .slide-index{right:20px;bottom:64px;font-size:.88rem}

 .process-band{padding:55px 0}.process-inner{grid-template-columns:1fr;gap:26px}.process-steps{grid-template-columns:1fr;gap:18px}.process-steps article{display:grid;grid-template-columns:40px 1fr;column-gap:12px;padding-top:15px}.process-steps article>span{grid-row:span 2;margin:0}.process-steps h3{margin:0 0 4px}.process-steps p{grid-column:2}

}

@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}



/* Pied de page : coordonnées lisibles, chaque lien sur sa propre ligne */

.footer-main{grid-template-columns:.8fr 1fr 1.1fr .9fr;align-items:start;gap:28px}

.site-footer .footer-contact{color:#c4cec7;font-size:.86rem;line-height:1.6;min-width:0}

.site-footer .footer-contact strong{color:#fff}

.site-footer .footer-contact a{display:block;max-width:100%;overflow-wrap:anywhere}

.site-footer .footer-links{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;color:#c4cec7}

.brand-footer img.brand-emblem{filter:none;background:#fff;padding:5px;border-radius:5px;object-fit:contain}

@media(max-width:900px){.footer-main{grid-template-columns:1fr 1fr}.footer-links{grid-column:auto}}

@media(max-width:720px){.footer-main{grid-template-columns:1fr;gap:18px}.footer-links{grid-column:auto}}





/* Navigation mobile et pied de page professionnel */

.menu-label{display:none}

.menu-symbol{font-size:1.4rem;line-height:1}

.site-footer{background:#0b1712;color:#e7eee9;padding:58px 0 24px}

.footer-main{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:clamp(24px,4vw,64px);align-items:start}

.footer-brand-block .brand{margin-bottom:22px}

.footer-brand-block>p{max-width:290px;color:#c5d0c8;line-height:1.7;margin:0}

.footer-services,.footer-contact{display:flex;flex-direction:column;align-items:stretch;gap:13px;min-width:0}

.footer-services h2,.footer-contact h2{color:#fff;font-size:1.25rem;margin:0 0 7px}

.footer-services a,.footer-contact a{color:#c9d2cc;text-decoration:none;line-height:1.55;overflow-wrap:anywhere}

.footer-services a:hover,.footer-contact a:hover,.footer-bottom a:hover{color:#a9d3b7}

.footer-services a{position:relative;padding-left:22px}

.footer-services a:before{content:"→";position:absolute;left:0;color:#a9d3b7}

.footer-services .footer-more{color:#a9d3b7;font-weight:700;margin-top:4px}

.footer-contact>a:not(.footer-quote){display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;align-items:start}

.contact-icon{color:#a9d3b7;font-size:1.2rem;line-height:1.35;text-align:center}

.footer-contact .footer-quote{display:inline-flex;align-self:flex-start;gap:12px;align-items:center;background:#fff;color:#10251d;padding:13px 19px;border-radius:999px;font-weight:800;margin-top:8px}

.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:38px;padding-top:22px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;color:#aebbb2;font-size:.88rem}

.footer-bottom a{color:inherit;text-decoration:none}

@media(max-width:760px){

 .nav-wrap{position:relative}

 .menu-toggle{display:flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;border:0;background:transparent;color:var(--ink);padding:8px;z-index:1002}

 .menu-label{display:none}

 .navigation{display:none;position:fixed;inset:92px 0 0;z-index:1001;background:#fff;color:#111827;padding:22px 28px 45px;overflow-y:auto;flex-direction:column;align-items:stretch;gap:0}

 .navigation.is-open{display:flex}

 .navigation>a{font-size:1.12rem;color:#111827;padding:20px 0;border-bottom:1px solid #dce1e5;line-height:1.35}

 .navigation>a.nav-cta{align-self:flex-start;margin-top:22px;padding:14px 20px;border:0;border-radius:999px;background:#10251d;color:#fff}

 body.menu-open{overflow:hidden}

 .footer-main{grid-template-columns:1fr;gap:34px}

 .footer-brand-block .brand{margin-bottom:16px}

 .footer-services,.footer-contact{gap:15px}

 .footer-services h2,.footer-contact h2{font-size:1.3rem;margin-bottom:5px}

 .footer-services a,.footer-contact a{font-size:1rem}

 .footer-bottom{margin-top:32px;padding-top:20px;font-size:.82rem}

}





/* === OREMA-TRIX : page complète des dix domaines === */

.domain-section { padding-top: clamp(2rem, 5vw, 4rem); }

.domain-intro { max-width: 760px; margin-bottom: 2rem; }

.domain-intro h2 { margin: .25rem 0 .8rem; }

.domain-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.35rem; align-items: stretch; }

.domain-card { overflow: hidden; border: 1px solid rgba(16,37,29,.13); border-radius: 20px; background: var(--surface, #fff); box-shadow: 0 12px 36px rgba(16,37,29,.06); display: flex; flex-direction: column; min-width: 0; }

.domain-image-wrap { position: relative; aspect-ratio: 16 / 9; background: #10251d; overflow: hidden; }

.domain-image { display: block; width: 100%; height: 100%; object-fit: cover; }

.domain-badge { position: absolute; left: 1rem; top: 1rem; display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; color: #fff; background: #164b35; border: 1px solid rgba(255,255,255,.55); font-weight: 800; }

.domain-content { padding: clamp(1rem, 2.5vw, 1.5rem); display: flex; flex-direction: column; align-items: flex-start; flex: 1; }

.domain-content h2 { font-size: clamp(1.25rem, 2vw, 1.7rem); line-height: 1.25; margin: .2rem 0 .7rem; }

.domain-content > p:not(.eyebrow) { margin-top: 0; }

.domain-details { width: 100%; margin: .5rem 0 1.1rem; border-top: 1px solid rgba(16,37,29,.13); border-bottom: 1px solid rgba(16,37,29,.13); padding: .8rem 0; }

.domain-details summary { cursor: pointer; color: #155b3c; font-weight: 750; }

.domain-details ul { padding-left: 1.25rem; margin: .8rem 0 .2rem; }

.domain-details li { margin: .35rem 0; }

.domain-content .button { margin-top: auto; }

.regulatory-note { margin-top: 2rem; padding: 1rem 1.2rem; border-left: 4px solid #1b6946; background: rgba(16,37,29,.055); border-radius: 0 12px 12px 0; }

.footer-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 2rem; padding-top: 2.5rem; padding-bottom: 2rem; }

.footer-grid > div { display: flex; flex-direction: column; align-items: flex-start; gap: .65rem; }

.footer-grid h2 { font-size: 1rem; margin: 0 0 .4rem; color: #fff; }

.footer-grid a { overflow-wrap: anywhere; }

.footer-brand p { max-width: 330px; }

@media (max-width: 760px) {

  .domain-grid { grid-template-columns: 1fr; gap: 1rem; }

  .domain-card { border-radius: 16px; }

  .domain-content { padding: 1.1rem; }

  .footer-grid { grid-template-columns: 1fr; gap: 1.6rem; }

  .domain-image-wrap { aspect-ratio: 16 / 10; }

}









/* ============================================================

   OREMA-TRIX — nouvelle présentation inspirée de la maquette

   Logo officiel, vert profond, noir et blanc. Images locales.

   ============================================================ */

:root{--ink:#101713;--green:#205a45;--green-dark:#10251d;--green-soft:#eaf0eb;--paper:#f8faf8;--white:#fff;--muted:#66716b;--line:#e1e7e2;--max:1320px;--radius:16px;--shadow:0 12px 35px rgba(8,24,16,.10)}

body{background:#fff;color:var(--ink)}

.container{width:min(var(--max),calc(100% - 64px))}

.site-header{position:sticky;top:0;background:rgba(255,255,255,.97);border-bottom:1px solid #e6eae7;backdrop-filter:blur(14px)}

.nav-wrap{min-height:78px;gap:22px}

.navigation{gap:clamp(12px,1.65vw,27px);font-size:.9rem;white-space:nowrap}

.brand{gap:12px}

.brand img.brand-emblem{width:48px;height:48px;object-fit:contain}

.brand .brand-name{font-size:1.05rem;color:#101713;letter-spacing:.015em}

.nav-cta{background:var(--green-dark);border-radius:4px;padding:13px 19px}

.nav-cta:hover{background:var(--green)}

/* Transparent header over the full-height photographic home hero */

.home-page .site-header{position:absolute;top:0;left:0;right:0;background:linear-gradient(180deg,rgba(7,14,10,.70),rgba(7,14,10,.20));border-bottom:1px solid rgba(255,255,255,.13);color:#fff}

.home-page .brand .brand-name{color:#fff}

.home-page .navigation>a:not(.nav-cta){color:#f5f7f5}

.home-page .navigation>a:hover,.home-page .navigation a[aria-current=page]{color:#b7d9c3}

.home-page .menu-toggle{color:#fff;border-color:rgba(255,255,255,.35);background:rgba(0,0,0,.15)}

.home-page .hero-carousel{min-height:clamp(680px,100svh,980px);height:100svh;max-height:980px;background:#101713}

.home-page .hero-slide{min-height:100%;padding:140px 0 125px;background-size:cover;background-position:center}

.home-page .hero-slide:before{z-index:0;background:linear-gradient(90deg,rgba(5,12,8,.88) 0%,rgba(5,15,10,.68) 45%,rgba(5,15,10,.22) 100%),linear-gradient(0deg,rgba(0,0,0,.48),transparent 45%)}

.home-page .hero-slide-content{z-index:1;padding-top:30px;max-width:var(--max)}

.home-page .hero-kicker{text-transform:none;letter-spacing:.01em;font-size:1rem;color:#e5eee7;font-weight:500;margin-bottom:22px}

.home-page .hero-slide h1,.home-page .hero-slide h2{max-width:760px;font-size:clamp(3.1rem,5.5vw,5.4rem);line-height:1.03;letter-spacing:-.055em;margin-bottom:22px}

.home-page .hero-slide h1 em,.home-page .hero-slide h2 em{color:#8cc4a0}

.home-page .hero-slide-content>p:not(.hero-kicker){max-width:780px;font-size:clamp(1.05rem,1.45vw,1.25rem);line-height:1.65;color:#e5e9e6;margin-bottom:28px}

.home-page .hero-slide .button-primary{background:var(--green);color:#fff;border-radius:5px;min-height:56px}

.home-page .hero-slide .button-primary:hover{background:#2b7355}

.home-page .hero-ghost{border:1px solid #8bb99a;background:rgba(4,12,8,.22);color:#fff;border-radius:5px;min-height:56px}

.home-page .hero-ghost:hover{background:rgba(255,255,255,.12)}

.home-page .slide-index{display:none}

.home-page .hero-carousel-controls{left:0;right:0;bottom:28px;justify-content:center;min-height:42px;pointer-events:none}

.home-page .carousel-dots{gap:9px;justify-content:center}

.home-page .carousel-dot{width:11px;height:11px;border:1.5px solid rgba(255,255,255,.8);border-radius:50%;background:transparent;transition:all .25s}

.home-page .carousel-dot.is-active{width:11px;height:11px;background:#fff;border-color:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.13)}

.home-page .carousel-arrows{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:flex;justify-content:space-between;padding:0 28px;pointer-events:none}

.home-page .carousel-arrows button{pointer-events:auto;width:48px;height:48px;border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.42);font-size:1.55rem;border-radius:50%;transition:background .2s,transform .2s}

.home-page .carousel-arrows button:hover{background:var(--green);transform:scale(1.04)}

.trust-strip{background:#f1f5f2;border-bottom:1px solid #e3e9e4}

.trust-items{min-height:66px;color:#47564c;font-size:.88rem;gap:22px}

.section{padding:78px 0}

.section-heading{margin-bottom:30px}

.section-heading h2{font-size:clamp(2rem,3.3vw,3rem)}

.service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}

.service-card{padding:26px 24px 24px;border:0;border-radius:8px;background:#fff;box-shadow:0 3px 10px rgba(12,24,17,.13);min-height:330px;display:flex;flex-direction:column;align-items:flex-start}

.service-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px rgba(12,24,17,.12)}

.card-icon{width:54px;height:54px;border-radius:12px;background:#edf5ef;color:var(--green);margin-bottom:22px}

.card-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.service-card h3{font-size:1.25rem;line-height:1.35;letter-spacing:-.025em;margin-bottom:12px}

.service-card p{font-size:.94rem;line-height:1.65;color:#617066;min-height:100px;margin-bottom:17px}

.service-card>a{margin-top:auto;color:var(--green);font-size:.95rem;font-weight:700}

.service-card>a span{font-size:1.2em}

.dark-section{padding:76px 0;background:#10251d}

.process-band{background:#f0f4f1}

.contact-band,.footer-cta{background:var(--green);color:#fff;padding:48px 0}

.contact-band-inner,.footer-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}

.footer-cta h2{font-size:clamp(2rem,3vw,2.7rem);margin:0 0 10px;max-width:760px}

.footer-cta p:not(.eyebrow){margin-bottom:0;color:#e0ece4}

.footer-cta .button-light{border-radius:5px;min-width:205px}

.site-footer{background:#0d1712;color:#e8eee9;padding:48px 0 22px}

.footer-main{display:grid;grid-template-columns:1.05fr .8fr 1fr 1fr;gap:clamp(22px,3vw,45px);align-items:start;padding-bottom:34px}

.footer-brand-block .brand{margin-bottom:18px}

.footer-brand-block>p{max-width:290px;color:#bdc9c0;line-height:1.7;font-size:.92rem}

.footer-quick,.footer-services,.footer-contact{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-width:0}

.footer-quick h2,.footer-services h2,.footer-contact h2{font-size:1.15rem;letter-spacing:-.02em;color:#fff;margin:0 0 5px}

.footer-quick a,.footer-services a,.footer-contact a{color:#cbd5ce;line-height:1.55;font-size:.9rem;overflow-wrap:anywhere}

.footer-quick a:before{content:'›';margin-right:10px;color:#a4cbb1}

.footer-services a:before{content:'→';margin-right:10px;color:#a4cbb1}

.footer-quick a:hover,.footer-services a:hover,.footer-contact a:hover{color:#b4dfc1}

.footer-services .footer-more{font-weight:800;color:#b4dfc1}

.footer-contact>a:not(.footer-quote){display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start}

.contact-icon{color:#a4cbb1;font-size:1.05rem;text-align:center}

.footer-social{display:flex;gap:10px;margin-top:16px}

.footer-social a{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:#26352c;color:#fff;font-weight:800}

.footer-social a:hover{background:var(--green)}

.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:20px;margin-top:0;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;color:#aebbb2;font-size:.82rem}

.footer-bottom a{color:inherit}

.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:50;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#1eae60;color:#fff;font-size:1.65rem;box-shadow:0 8px 24px rgba(0,0,0,.2);border:2px solid rgba(255,255,255,.22)}

.whatsapp-float:hover{transform:translateY(-3px);background:#178b4b}

/* Service gallery — one real photo per domain */

.domain-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}

.domain-card{border:0;border-radius:9px;box-shadow:0 4px 16px rgba(15,32,22,.12);background:#fff}

.domain-image-wrap{aspect-ratio:16/9;background:#e7eee8}

.domain-image{transition:transform .45s ease}

.domain-card:hover .domain-image{transform:scale(1.035)}

.domain-content{padding:25px 27px 27px}

.domain-content .eyebrow{font-size:.72rem;margin-bottom:9px}

.domain-content h2{font-size:1.55rem}

.domain-content>p:not(.eyebrow){color:#627067;line-height:1.7}

.domain-details{border-color:#e4e9e5}

.domain-details summary{color:var(--green);padding:3px 0}

.domain-content .button{border-radius:5px}

.page-hero{padding:75px 0 58px;background:#f1f5f2}

.page-hero h1{max-width:920px}

/* Mobile navigation is a full white panel like the reference screenshot */

@media(max-width:1100px){.navigation{gap:13px;font-size:.82rem}.brand .brand-name{font-size:.98rem}.nav-cta{padding:11px 14px}.container{width:min(var(--max),calc(100% - 42px))}.footer-main{gap:22px}}

@media(max-width:900px){.navigation{gap:10px}.navigation>a:nth-of-type(6),.navigation>a:nth-of-type(7){display:none}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}.home-page .hero-slide h1,.home-page .hero-slide h2{font-size:clamp(3rem,7vw,4.6rem)}}

@media(max-width:720px){

 .container{width:calc(100% - 36px)}

 .nav-wrap{min-height:72px}

 .brand img.brand-emblem{width:40px;height:40px;flex-basis:40px}

 .brand .brand-name{font-size:.96rem}

 .menu-toggle{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--line);background:#fff;border-radius:50%;color:#111}

 .home-page .menu-toggle{background:rgba(0,0,0,.22);border-color:rgba(255,255,255,.3);color:#fff}

 .navigation{display:none;position:fixed;inset:72px 0 0;z-index:1001;background:#fff;color:#101713;padding:15px 26px 40px;overflow-y:auto;flex-direction:column;align-items:stretch;gap:0;white-space:normal;box-shadow:0 15px 30px rgba(0,0,0,.12)}

 .navigation.is-open{display:flex}

 .navigation>a,.home-page .navigation>a:not(.nav-cta){display:block!important;color:#18221b;font-size:1.08rem;padding:18px 0;border-bottom:1px solid #e4e9e5}

 .navigation>a.nav-cta,.home-page .navigation>a.nav-cta{align-self:flex-start;margin-top:20px;padding:14px 20px;border:0;border-radius:5px;background:var(--green-dark);color:#fff}

 body.menu-open{overflow:hidden}

 .home-page .hero-carousel{height:calc(100svh - 0px);min-height:690px;max-height:none}

 .home-page .hero-slide{padding:112px 0 130px;background-position:62% center}

 .home-page .hero-slide:before{background:linear-gradient(90deg,rgba(5,12,8,.88),rgba(5,15,10,.60)),linear-gradient(0deg,rgba(0,0,0,.5),transparent 70%)}

 .home-page .hero-slide h1,.home-page .hero-slide h2{font-size:clamp(2.6rem,11vw,4rem);line-height:1.04;margin-bottom:20px}

 .home-page .hero-kicker{font-size:.9rem;margin-bottom:18px}

 .home-page .hero-slide-content>p:not(.hero-kicker){font-size:1rem;line-height:1.65;margin-bottom:24px}

 .home-page .hero-slide .button-row{flex-direction:column;align-items:stretch;max-width:320px;gap:10px}

 .home-page .hero-slide .button{width:100%;min-height:52px}

 .home-page .carousel-arrows{padding:0 10px;top:auto;bottom:55px;transform:none}

 .home-page .carousel-arrows button{width:38px;height:38px}

 .home-page .hero-carousel-controls{bottom:17px}

 .home-page .carousel-dot{width:9px;height:9px}

 .home-page .carousel-dot.is-active{width:9px;height:9px}

 .trust-items{padding:17px 0;gap:10px 13px;font-size:.76rem}

 .section{padding:58px 0}

 .section-heading{align-items:flex-start;flex-direction:column;gap:15px}

 .service-grid{grid-template-columns:1fr;gap:14px}

 .service-card{min-height:0;padding:23px}

 .service-card p{min-height:0}

 .dark-section{padding:52px 0}

 .split-section{grid-template-columns:1fr;gap:20px}

 .portfolio-preview{grid-template-columns:1fr;gap:24px}

 .preview-tiles{grid-template-columns:1fr 1fr;min-height:200px;gap:10px}

 .preview-photo{min-height:200px}

 .contact-band-inner,.footer-cta-inner{align-items:flex-start;flex-direction:column}

 .footer-cta .button-light{width:100%}

 .footer-main{grid-template-columns:1fr;gap:28px}

 .footer-bottom{flex-direction:column;gap:8px}

 .domain-grid{grid-template-columns:1fr;gap:18px}

 .domain-image-wrap{aspect-ratio:16/10}

 .domain-content{padding:21px}

 .page-hero{padding:50px 0 42px}

 .whatsapp-float{right:15px;bottom:15px;width:52px;height:52px}

}

@media(prefers-reduced-motion:reduce){.home-page .hero-slide,.domain-image{transition:none}}





/* Visuels portfolio en photographie, plutôt qu'en blocs décoratifs */

.photo-preview-tiles{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;min-height:310px}

.preview-photo{position:relative;display:flex;align-items:flex-end;min-height:290px;overflow:hidden;border-radius:10px;background:#10251d;color:#fff;isolation:isolate}

.preview-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,15,9,.8),transparent 70%);z-index:0}

.preview-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;transition:transform .4s}

.preview-photo:hover img{transform:scale(1.04)}

.preview-photo span{position:relative;z-index:1;padding:22px;font-weight:800;font-family:Manrope,sans-serif;font-size:1.1rem}

@media(max-width:720px){.photo-preview-tiles{grid-template-columns:1fr 1fr;min-height:220px}.preview-photo{min-height:220px}.preview-photo span{padding:14px;font-size:.95rem}}



/* Correctif : photos de fond des cinq bannières d'accueil */

.home-page .hero-carousel .hero-slides { position:absolute; inset:0; }

.home-page .hero-carousel .hero-slide:nth-child(1) { background-image:url("assets/images/orema-accueil-presence.jpg"); }

.home-page .hero-carousel .hero-slide:nth-child(2) { background-image:url("assets/images/orema-accueil-numerique.jpg"); }

.home-page .hero-carousel .hero-slide:nth-child(3) { background-image:url("assets/images/orema-accueil-communication.jpg"); }

.home-page .hero-carousel .hero-slide:nth-child(4) { background-image:url("assets/images/orema-accueil-organisation.jpg"); }

.home-page .hero-carousel .hero-slide:nth-child(5) { background-image:url("assets/images/orema-accueil-equipe.jpg"); }

.home-page .hero-carousel .hero-slide { background-repeat:no-repeat; background-size:cover; background-position:center 38%; }

@media(max-width:720px){.home-page .hero-carousel .hero-slide{background-position:62% center;}}

/* === Correctif ciblé OREMA-TRIX : logo et pied de page === */
.site-header .nav-wrap,
.site-footer .footer-main {
  min-width: 0;
}

.site-header .brand,
.site-footer .brand-footer {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  min-width: 0;
  max-width: 100%;
  white-space: nowrap;
}

.site-header .brand img.brand-emblem,
.site-footer .brand-footer img.brand-emblem {
  display: block;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  max-width: 48px;
  max-height: 48px;
  object-fit: contain;
}

.site-footer .brand-footer .brand-name,
.site-header .brand .brand-name {
  display: inline-block;
  flex: 0 0 auto;
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
  line-height: 1.2;
}

.site-footer .footer-main {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .9fr) minmax(0, 1fr) minmax(0, 1.25fr);
  align-items: start;
  gap: clamp(20px, 2.5vw, 38px);
}

.site-footer .footer-brand-block,
.site-footer .footer-quick,
.site-footer .footer-services,
.site-footer .footer-contact {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.site-footer .footer-brand-block > p {
  max-width: 320px;
  overflow-wrap: normal;
  word-break: normal;
}

.site-footer .footer-quick a,
.site-footer .footer-services a {
  display: block;
  max-width: 100%;
  overflow-wrap: normal;
  word-break: normal;
}

.site-footer .footer-contact > a:not(.footer-quote) {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: start;
  gap: 9px;
  width: 100%;
  min-width: 0;
}

.site-footer .footer-contact > a > span:last-child {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: 1.6;
}

.site-footer .contact-icon {
  display: inline-block;
  width: 22px;
  min-width: 22px;
}

@media (max-width: 1000px) {
  .site-footer .footer-main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 26px;
  }
}

@media (max-width: 720px) {
  .site-footer .footer-main {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }

  .site-footer .brand-footer img.brand-emblem {
    flex-basis: 42px;
    width: 42px;
    height: 42px;
    max-width: 42px;
    max-height: 42px;
  }

  .site-footer .footer-contact > a > span:last-child {
    overflow-wrap: anywhere;
  }

  .site-footer .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

/* ==========================================================
   OREMA-TRIX — fond photographique commun du pied de page
   Image unique : assets/images/accueill3.jpg
   Le voile est porté par ::before pour rester visible même
   lorsque certaines pages définissent leur propre background.
   ========================================================== */
.site-footer {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background-color: #081827 !important;
  background-image: none !important;
}

.site-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    linear-gradient(
      110deg,
      rgba(5, 18, 32, 0.91) 0%,
      rgba(8, 24, 39, 0.82) 48%,
      rgba(8, 24, 39, 0.88) 100%
    ),
    url("assets/images/accueill3.jpg");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.site-footer > * {
  position: relative;
  z-index: 1;
}

.site-footer,
.site-footer p,
.site-footer li,
.site-footer a,
.site-footer h2,
.site-footer h3,
.site-footer small,
.site-footer .footer-bottom {
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.28);
}

@media (max-width: 760px) {
  .site-footer::before {
    background-position: 58% center;
    background-image:
      linear-gradient(
        180deg,
        rgba(5, 18, 32, 0.90) 0%,
        rgba(8, 24, 39, 0.88) 100%
      ),
      url("assets/images/accueill3.jpg");
  }
}


/* Correctif ciblé — mentions légales : garder les icônes du pied de page à taille normale */
.site-footer .footer-main .brand-footer > img,
.site-header .nav-wrap .brand > img {
  display: block !important;
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  max-width: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  flex: 0 0 46px !important;
  object-fit: contain !important;
}
.site-footer .contact-list {
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
}
.site-footer .contact-list li {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 12px;
  min-width: 0;
}
.site-footer .contact-list li > svg {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  min-height: 18px !important;
  max-height: 18px !important;
  flex: 0 0 18px !important;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.site-footer .contact-list a {
  display: inline-block !important;
  min-width: 0;
  overflow-wrap: anywhere;
}


/* OREMA-TRIX — en-tête harmonisé sur toutes les pages */
.site-header {
  background: #fff !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  border-bottom: 1px solid #e6eae7;
}
.site-header .nav-wrap {
  min-height: 82px;
  gap: 24px;
}
.site-header .brand {
  gap: 11px;
  flex: 0 0 auto;
  white-space: nowrap;
  letter-spacing: .015em;
}
.site-header .brand img {
  width: 46px;
  height: 46px;
  object-fit: contain;
}
.site-header .brand small {
  text-transform: uppercase;
  letter-spacing: .035em;
}
.site-header .navigation {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(13px, 1.7vw, 27px);
  white-space: nowrap;
  font-size: .91rem;
  font-weight: 650;
}
.site-header .navigation > a:not(.nav-cta) {
  color: #526071;
  transition: color .2s ease;
}
.site-header .navigation > a:hover,
.site-header .navigation > a[aria-current="page"] {
  color: #ff7900;
}
.site-header .nav-cta {
  margin: 0;
  align-self: auto;
  padding: 13px 18px;
  border: 0;
  border-radius: 999px;
  background: #10243a;
  color: #fff !important;
  text-align: center;
  white-space: nowrap;
}
.site-header .nav-cta:hover { background: #ff7900; }
@media (max-width: 1000px) and (min-width: 761px) {
  .site-header .nav-wrap { gap: 14px; }
  .site-header .brand img { width: 42px; height: 42px; }
  .site-header .navigation { gap: 12px; font-size: .84rem; }
  .site-header .nav-cta { padding: 11px 13px; }
}
@media (max-width: 760px) {
  .site-header .nav-wrap { min-height: 72px; }
  .site-header .brand img { width: 40px; height: 40px; }
  .site-header .menu-toggle { display: inline-flex; align-items: center; gap: 8px; }
  .site-header .navigation {
    display: none;
    position: fixed;
    inset: 72px 0 0;
    z-index: 1001;
    padding: 18px 22px 36px;
    background: #fff;
    color: #10243a;
    overflow-y: auto;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    white-space: normal;
    box-shadow: 0 12px 24px rgba(16,36,58,.12);
  }
  .site-header .navigation.is-open { display: flex; }
  .site-header .navigation > a:not(.nav-cta) {
    padding: 15px 8px;
    border-bottom: 1px solid #edf0f2;
    font-size: 1rem;
  }
  .site-header .nav-cta {
    margin-top: 18px;
    padding: 14px 18px;
  }
}


/* OREMA-TRIX — bandeaux photo harmonisés des pages internes */
.orema-photo-hero{position:relative!important;isolation:isolate!important;overflow:hidden!important;display:flex!important;align-items:center!important;min-height:560px!important;padding:88px 0 96px!important;background-color:#081827!important;background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important;border:0!important;}
.orema-photo-hero::before{content:""!important;position:absolute!important;inset:0!important;z-index:0!important;display:block!important;background:linear-gradient(90deg,rgba(5,18,32,.94) 0%,rgba(8,27,46,.82) 48%,rgba(8,27,46,.25) 100%)!important;pointer-events:none!important;}
.orema-photo-hero::after{content:none!important;}
.orema-photo-hero>.container,.orema-photo-hero .container{position:relative!important;z-index:1!important;width:min(1240px,calc(100% - 48px))!important;max-width:1240px!important;margin-inline:auto!important;}
.orema-photo-hero h1,.orema-photo-hero h1 em{color:#fff!important;max-width:780px!important;text-shadow:0 2px 18px rgba(0,0,0,.15)!important;}
.orema-photo-hero h1 em{color:#ff8a2a!important;font-style:normal!important;}
.orema-photo-hero p,.orema-photo-hero .lead,.orema-photo-hero .hero-description{color:rgba(255,255,255,.9)!important;max-width:700px!important;}
.orema-photo-hero .eyebrow,.orema-photo-hero .ot-eyebrow{color:#ffb77d!important;}
.orema-photo-hero a{position:relative;z-index:2;}
.orema-photo-hero .button,.orema-photo-hero .ot-button{border-radius:999px!important;}
.orema-hero-controls{position:absolute;z-index:4;inset:0;pointer-events:none;}
.orema-hero-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#10243a;font-size:25px;font-weight:700;cursor:pointer;pointer-events:auto;box-shadow:0 5px 18px rgba(0,0,0,.18);}
.orema-hero-arrow:hover{background:#ff8a2a;color:#fff;}
.orema-hero-prev{left:22px}.orema-hero-next{right:22px}
.orema-hero-dots{position:absolute;bottom:22px;left:0;right:0;display:flex;justify-content:center;gap:9px;pointer-events:auto;}
.orema-hero-dot{width:10px;height:10px;padding:0;border:1px solid #fff;border-radius:50%;background:transparent;cursor:pointer;}
.orema-hero-dot.is-active{background:#ff8a2a;border-color:#ff8a2a;box-shadow:0 0 0 3px rgba(255,138,42,.25);}
@media(max-width:760px){.orema-photo-hero{min-height:510px!important;padding:72px 0 78px!important;background-position:60% center!important}.orema-photo-hero>.container,.orema-photo-hero .container{width:calc(100% - 36px)!important}.orema-photo-hero h1{font-size:clamp(2.35rem,10vw,3.5rem)!important;line-height:1.04!important}.orema-hero-prev{left:8px}.orema-hero-next{right:8px}.orema-hero-arrow{width:36px;height:36px;font-size:20px}}
@media(prefers-reduced-motion:reduce){.orema-photo-hero{transition:none!important}}


/* Menu mobile : même comportement et même présentation que la page d'accueil */
@media (max-width:760px) {
  body.menu-open { overflow:hidden !important; }
  .site-header { position:sticky !important; top:0 !important; z-index:3000 !important; background:#fff !important; }
  .site-header .nav-wrap { position:relative !important; }
  .site-header .menu-toggle { display:inline-flex !important; align-items:center !important; justify-content:center !important; min-width:94px !important; min-height:44px !important; padding:10px 14px !important; border:1px solid #DCE4EF !important; border-radius:999px !important; background:#fff !important; color:#10243A !important; position:relative !important; z-index:4002 !important; cursor:pointer !important; }
  .site-header .navigation { display:none !important; position:fixed !important; inset:78px 0 0 !important; z-index:4001 !important; width:100% !important; height:calc(100dvh - 78px) !important; max-height:calc(100dvh - 78px) !important; overflow-y:auto !important; overscroll-behavior:contain !important; -webkit-overflow-scrolling:touch !important; padding:18px 24px 38px !important; margin:0 !important; background:#fff !important; color:#10243A !important; box-shadow:0 14px 28px rgba(16,36,58,.14) !important; flex-direction:column !important; align-items:stretch !important; gap:0 !important; }
  .site-header .navigation.is-open { display:flex !important; }
  .site-header .navigation > a { display:block !important; width:100% !important; padding:17px 4px !important; color:#10243A !important; border-bottom:1px solid #E1E7EF !important; font-size:1rem !important; line-height:1.4 !important; text-decoration:none !important; }
  .site-header .navigation > a:hover, .site-header .navigation > a[aria-current="page"] { color:#F07818 !important; }
  .site-header .navigation > a.nav-cta { margin:18px 0 0 !important; padding:14px 18px !important; text-align:center !important; color:#fff !important; background:#F07818 !important; border:0 !important; border-radius:5px !important; }
}


/* OREMA-TRIX — correction mobile Actualités : alignement de l'en-tête et du hero */
@media (max-width: 760px) {
  html, body { width:100%; max-width:100%; overflow-x:hidden !important; }
  .site-header { width:100% !important; min-height:72px !important; height:auto !important; }
  .site-header .nav-wrap {
    width:calc(100% - 32px) !important;
    min-height:72px !important;
    height:72px !important;
    margin:0 auto !important;
    padding:0 !important;
    display:flex !important;
    flex-flow:row nowrap !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    box-sizing:border-box !important;
  }
  .site-header .brand {
    display:flex !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:10px !important;
  }
  .site-header .brand img { width:42px !important; height:42px !important; flex:0 0 42px !important; }
  .site-header .brand span { display:block !important; min-width:0 !important; font-size:16px !important; line-height:1.15 !important; }
  .site-header .brand small { font-size:8px !important; letter-spacing:.45px !important; white-space:nowrap !important; }
  .site-header .menu-toggle {
    display:inline-flex !important;
    flex:0 0 auto !important;
    width:auto !important;
    min-width:88px !important;
    min-height:44px !important;
    margin:0 0 0 auto !important;
    padding:9px 12px !important;
    align-items:center !important;
    justify-content:center !important;
    position:relative !important;
    right:auto !important;
    transform:none !important;
    z-index:4002 !important;
  }
  .site-header .navigation {
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:auto !important;
    width:min(90vw,390px) !important;
    max-width:100vw !important;
    height:100dvh !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }
  .news-hero {
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    padding:56px 0 64px !important;
    overflow:hidden !important;
    background-position:center center !important;
  }
  .news-hero .container {
    width:calc(100% - 36px) !important;
    max-width:none !important;
    margin:0 auto !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }
  .news-hero .eyebrow { font-size:clamp(12px,3.4vw,15px) !important; letter-spacing:.12em !important; }
  .news-hero h1 {
    max-width:100% !important;
    font-size:clamp(2rem,8.2vw,2.65rem) !important;
    line-height:1.12 !important;
    overflow-wrap:break-word !important;
  }
  .news-hero p:last-child { max-width:100% !important; font-size:16px !important; line-height:1.65 !important; }
  .news-grid { grid-template-columns:minmax(0,1fr) !important; }
}
@media (max-width:390px) {
  .site-header .nav-wrap { width:calc(100% - 24px) !important; }
  .site-header .brand span { font-size:14px !important; }
  .site-header .brand small { font-size:7px !important; letter-spacing:.25px !important; }
  .site-header .menu-toggle { min-width:78px !important; padding:8px 10px !important; }
}


/* Correctif commun mobile OREMA-TRIX — 02/11/2026 */
/* OREMA-TRIX — correctif mobile commun : menu, icônes et coordonnées */
@media (max-width:760px) {
  html,body{max-width:100%;overflow-x:hidden!important}
  body.menu-open{overflow:hidden!important}
  .site-header{position:sticky!important;top:0!important;z-index:3000!important;width:100%!important}
  .site-header .nav-wrap{display:flex!important;flex-flow:row nowrap!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;width:calc(100% - 28px)!important;min-height:76px!important;height:76px!important;margin:0 auto!important;padding:0!important;box-sizing:border-box!important}
  .site-header .brand{display:flex!important;flex:1 1 auto!important;min-width:0!important;max-width:calc(100% - 100px)!important;gap:8px!important;align-items:center!important}
  .site-header .brand img{display:block!important;flex:0 0 40px!important;width:40px!important;height:40px!important;object-fit:contain!important}
  .site-header .brand span{min-width:0!important;font-size:14px!important;line-height:1.15!important;white-space:normal!important}
  .site-header .brand small{display:block!important;font-size:7px!important;line-height:1.25!important;letter-spacing:.2px!important;white-space:normal!important}
  .site-header .menu-toggle{display:inline-flex!important;flex:0 0 auto!important;min-width:88px!important;min-height:44px!important;height:44px!important;margin:0 0 0 auto!important;padding:8px 12px!important;align-items:center!important;justify-content:center!important;gap:7px!important;position:relative!important;inset:auto!important;transform:none!important;z-index:6002!important;border:1px solid #dce4ef!important;border-radius:999px!important;background:#fff!important;color:#10243a!important;font-size:15px!important;font-weight:700!important}
  .site-header .navigation{display:flex!important;position:fixed!important;inset:0!important;width:100vw!important;max-width:100vw!important;height:100vh!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:calc(22px + env(safe-area-inset-top)) 22px calc(26px + env(safe-area-inset-bottom))!important;box-sizing:border-box!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:0!important;background:linear-gradient(155deg,#071827 0%,#102b46 55%,#0b1b2d 100%)!important;color:#f7f9fc!important;box-shadow:none!important;transform:translateX(101%)!important;visibility:hidden!important;pointer-events:none!important;transition:transform .28s ease,visibility .28s ease!important;z-index:6001!important}
  .site-header .navigation.is-open{display:flex!important;transform:translateX(0)!important;visibility:visible!important;pointer-events:auto!important}
  .site-header .navigation .menu-panel-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:0 0 22px!important;padding:0 0 18px!important;border-bottom:1px solid rgba(255,255,255,.18)!important}
  .site-header .navigation .menu-panel-brand{display:flex!important;align-items:center!important;gap:10px!important;color:#fff!important;font-size:18px!important;line-height:1.15!important}
  .site-header .navigation .menu-panel-brand img{width:44px!important;height:44px!important;object-fit:contain!important}
  .site-header .navigation .menu-panel-brand small{color:#b8c8d9!important;font-size:8px!important}
  .site-header .navigation .menu-close{display:flex!important;flex:0 0 46px!important;width:46px!important;height:46px!important;align-items:center!important;justify-content:center!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:50%!important;background:rgba(255,255,255,.1)!important;color:#fff!important}
  .site-header .navigation .menu-close svg{width:21px!important;height:21px!important;fill:none!important;stroke:#fff!important;stroke-width:2!important}
  .site-header .navigation .menu-links{display:flex!important;flex:0 0 auto!important;flex-direction:column!important;align-items:stretch!important;gap:5px!important;width:100%!important}
  .site-header .navigation .menu-links>a.menu-link{display:flex!important;align-items:center!important;width:100%!important;min-height:58px!important;margin:0!important;padding:8px 10px!important;box-sizing:border-box!important;color:#f1f5f9!important;background:transparent!important;border:0!important;border-radius:12px!important;text-align:left!important;font-size:16px!important;line-height:1.35!important;text-decoration:none!important}
  .site-header .navigation .menu-links>a.menu-link[aria-current="page"]{color:#fff!important;background:rgba(240,120,24,.2)!important;border-left:3px solid #ff8a2a!important}
  .site-header .navigation .menu-link-icon{display:inline-flex!important;flex:0 0 42px!important;width:42px!important;height:42px!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;background:rgba(255,255,255,.1)!important;color:#ff9a45!important}
  .site-header .navigation .menu-link-icon svg,.site-header .navigation .menu-link-icon svg *{display:block!important;width:21px!important;height:21px!important;fill:none!important;stroke:#ff9a45!important;stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important}
  .site-header .navigation .menu-link-arrow{margin-left:auto!important;color:#ff9a45!important;font-size:26px!important}
  .site-header .navigation>a.menu-quote{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:54px!important;margin:18px 0!important;padding:12px 16px!important;background:linear-gradient(110deg,#f07818,#ff9638)!important;color:#fff!important;border:0!important;border-radius:12px!important;text-align:center!important}
  .site-header .navigation .menu-contact{display:flex!important;flex-direction:column!important;gap:4px!important;padding:12px!important;background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:14px!important}
  .site-header .navigation .menu-contact>a{display:flex!important;align-items:center!important;gap:12px!important;padding:10px 0!important;color:#e5edf6!important}
  .site-header .navigation .menu-contact strong{color:#fff!important;overflow-wrap:anywhere!important}
  .site-header .navigation .menu-contact small{color:#b8c8d9!important}
  .site-header .navigation .menu-socials{display:flex!important;color:#b8c8d9!important;border-top:1px solid rgba(255,255,255,.16)!important}
  .site-footer .contact-list{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:100%!important;padding:0!important;margin:16px 0 0!important}
  .site-footer .contact-list li{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:14px!important;width:100%!important;min-width:0!important;margin:0 0 14px!important}
  .site-footer .contact-list li>svg{display:block!important;flex:0 0 20px!important;width:20px!important;height:20px!important;margin:0!important;fill:none!important;stroke:#f07818!important;stroke-width:1.8!important}
  .site-footer .contact-list a{display:inline-block!important;flex:0 1 auto!important;min-width:0!important;margin:0!important;overflow-wrap:anywhere!important}
  .site-footer .footer-bottom{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:8px!important}
}
@media(max-width:390px){.site-header .nav-wrap{width:calc(100% - 22px)!important}.site-header .brand{gap:6px!important;max-width:calc(100% - 90px)!important}.site-header .brand img{width:36px!important;height:36px!important;flex-basis:36px!important}.site-header .brand span{font-size:12px!important}.site-header .brand small{font-size:6px!important}.site-header .menu-toggle{min-width:80px!important;padding:8px 9px!important}.site-header .navigation{padding-left:18px!important;padding-right:18px!important}}
@media(prefers-reduced-motion:reduce){.site-header .navigation{transition:none!important}}

/* ==========================================
   FOOTER OREMA-TRIX : NAVIGATION DYNAMIQUE
========================================== */

.site-footer .footer-links {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px 18px;
    margin-top: 22px;
}

.site-footer .footer-links a {
    display: flex !important;
    align-items: center;
    gap: 11px;
    padding: 9px 11px;
    color: #e4edf7 !important;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid transparent;
    border-radius: 11px;
    background: rgba(255,255,255,.025);
    transition: all .3s ease;
}

.site-footer .footer-links a::before {
    display: grid;
    place-items: center;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border-radius: 9px;
    color: #ff963e;
    background: rgba(255,145,49,.12);
    font-size: 17px;
    transition: all .3s ease;
}

/* Icônes selon l'ordre des liens */
.site-footer .footer-links a:nth-child(1)::before { content: "▦"; }
.site-footer .footer-links a:nth-child(2)::before { content: "⚙"; }
.site-footer .footer-links a:nth-child(3)::before { content: "▣"; }
.site-footer .footer-links a:nth-child(4)::before { content: "♙"; }
.site-footer .footer-links a:nth-child(5)::before { content: "▤"; }
.site-footer .footer-links a:nth-child(6)::before { content: ""; display: inline-block; width: 9px; height: 9px; border-top: 2px solid #f28b32; border-right: 2px solid #f28b32; transform: rotate(0deg); }
.site-footer .footer-links a:nth-child(7)::before { content: "⌑"; }

.site-footer .footer-links a:hover {
    color: #fff !important;
    border-color: rgba(255,145,49,.3);
    background: rgba(255,255,255,.09);
    transform: translateX(5px);
}

.site-footer .footer-links a:hover::before {
    color: #fff;
    background: linear-gradient(135deg,#f07818,#ffad5c);
    box-shadow: 0 0 16px rgba(240,120,24,.35);
    transform: rotate(-7deg) scale(1.08);
}

/* Mobile */
@media(max-width:600px) {
    .site-footer .footer-links {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .site-footer .footer-links a {
        padding: 8px 10px;
    }
}

@media(prefers-reduced-motion:reduce) {
    .site-footer .footer-links a,
    .site-footer .footer-links a::before {
        transition: none;
    }
}

/* =========================================
   OREMA-TRIX — FOOTER GLOBAL DYNAMIQUE
   Harmonisation de toutes les pages
========================================= */

html body .site-footer .footer-main .footer-links {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 9px !important;
}

html body .site-footer .footer-main .footer-links a {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: fit-content;
    padding: 7px 12px !important;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    color: #dce9f5 !important;
    background: rgba(255,255,255,.025) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    transition: all .3s ease !important;
}

/* Icônes */
html body .site-footer .footer-main .footer-links a::before {
    display: grid !important;
    place-items: center !important;
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 10px !important;
    color: #ff9b42 !important;
    background: rgba(255,145,49,.13) !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    transition: all .3s ease !important;
}

html body .site-footer .footer-links a:nth-child(1)::before { content: "▦"; }
html body .site-footer .footer-links a:nth-child(2)::before { content: "⚙"; }
html body .site-footer .footer-links a:nth-child(3)::before { content: "▣"; }
html body .site-footer .footer-links a:nth-child(4)::before { content: "♙"; }
html body .site-footer .footer-links a:nth-child(5)::before { content: "▤"; }
html body .site-footer .footer-links a:nth-child(6)::before { content: ""; display: inline-block; width: 9px; height: 9px; border-top: 2px solid #f28b32; border-right: 2px solid #f28b32; transform: rotate(0deg); }
html body .site-footer .footer-links a:nth-child(7)::before { content: "⌑"; }

/* Animation au survol */
html body .site-footer .footer-main .footer-links a:hover {
    transform: translateX(7px) !important;
    color: #fff !important;
    border-color: rgba(255,155,66,.35) !important;
    background: rgba(255,255,255,.09) !important;
}

html body .site-footer .footer-main .footer-links a:hover::before {
    color: #fff !important;
    background: linear-gradient(135deg,#f07818,#ffad5c) !important;
    box-shadow: 0 0 18px rgba(255,145,49,.35);
    transform: rotate(-8deg) scale(1.08);
}

/* Téléphones */
@media(max-width:760px) {
    html body .site-footer .footer-main .footer-links {
        width: 100%;
    }

    html body .site-footer .footer-main .footer-links a {
        width: 100%;
        box-sizing: border-box;
    }
}

