:root{--bg:#f8f6f1;--ink:#222c30;--accent:#ae410e;--soft:#efe8dc;--line:#d6d7ce;--paper:#fff;--font:Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--font)}a{color:inherit;text-underline-offset:4px}button,input,textarea,select{font:inherit}button,a,input,select,textarea{outline-offset:5px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(42px,5.8vw,82px);line-height:1.06;letter-spacing:-.055em;font-weight:600;max-width:840px}h2{font-size:clamp(30px,3.5vw,48px);line-height:1.15;letter-spacing:-.035em}h3{font-size:23px;line-height:1.3;letter-spacing:-.02em}.chooser{padding:13px 4%;background:#202a30;color:white;display:flex;align-items:center;gap:22px;font-size:12px}.chooser div{margin-right:auto}.chooser span{display:block;color:#d4dce0}.chooser select{font-size:12px;max-width:225px;margin-left:6px;padding:5px}.chooser a{white-space:nowrap}header{padding:28px 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand img{width:170px;height:auto;display:block}nav{display:flex;gap:30px;align-items:center}nav a{text-decoration:none;font-size:14px}.button{display:inline-block;background:var(--accent);color:#fff;padding:15px 24px;border:0;text-decoration:none;cursor:pointer;border-radius:3px;font-weight:600}.button.small{padding:10px 16px}.button.outline{background:transparent;color:var(--ink);border:1px solid var(--line)}section{padding:85px 7%;border-bottom:1px solid var(--line)}.hero{display:grid;grid-template-columns:1.45fr 1fr;gap:50px;align-items:center;padding-top:65px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700;color:var(--accent);margin-bottom:24px}.lead{font-size:20px;max-width:650px;color:var(--ink);opacity:.85}.hero-image{position:relative;max-width:440px;margin-left:auto}.hero-image img{width:100%;height:480px;object-fit:cover;object-position:top;border-radius:100px 3px 3px 3px;background:var(--soft)}.caption{position:absolute;bottom:20px;left:-28px;background:var(--paper);padding:20px 28px;border-left:4px solid var(--accent);box-shadow:0 10px 40px #0001}.caption strong,.caption span{display:block}.caption span{font-size:13px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.micro{font-size:13px}.strip{padding:22px 7%;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);font-size:13px}.section-head{display:flex;justify-content:space-between;gap:30px;margin-bottom:40px}.section-head p{max-width:420px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{padding:30px;background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}.card p{font-size:15px}.card .number{color:var(--accent);font-size:12px;margin-bottom:22px}.card button{margin-top:auto;color:var(--accent);background:none;border:0;padding:8px 0;cursor:pointer;font-weight:700;text-align:left}.tag{font-size:12px;border:1px solid var(--line);padding:3px 9px;display:inline-block;margin-bottom:20px}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px}.step{padding:20px 0;border-top:1px solid var(--line)}.step strong{display:block}.expertise{background:var(--soft)}.expertise details{padding:15px 0;border-bottom:1px solid var(--line)}summary{cursor:pointer}.person{max-width:300px;width:100%;border-radius:4px}.quote{font-size:27px;line-height:1.4}.contact{background:var(--soft)}form{display:grid;grid-template-columns:1fr 1fr;gap:18px}form label{font-size:13px;font-weight:600}input,textarea,select{width:100%;padding:12px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:3px}textarea{resize:vertical;min-height:140px}.full{grid-column:1/-1}.honeypot{position:absolute;left:-9999px}.notice{font-size:12px;line-height:1.6}footer{padding:45px 7%;display:flex;justify-content:space-between;gap:30px;font-size:12px}footer a{display:block;margin-bottom:8px}dialog{color:var(--ink);background:var(--bg);border:1px solid var(--line);max-width:850px;width:94%;max-height:90vh;padding:45px}dialog::backdrop{background:#142128aa}.close{float:right;border:0;background:var(--soft);color:var(--ink);font-size:26px;cursor:pointer}.facts{display:grid;grid-template-columns:1fr 1fr;gap:20px}.facts dt{font-weight:700}.facts dd{margin:0}.document{max-width:1050px;margin:auto}.document h2{font-size:28px;margin-top:35px}.skip{position:absolute;top:-100px;background:white;color:black;padding:12px;z-index:10}.skip:focus{top:0}body[data-design=tech]{--bg:#101f2b;--ink:#edf3f8;--accent:#186b99;--soft:#172e3f;--line:#385063;--paper:#1b3244}body[data-design=tech] h1{font-weight:700}body[data-design=tech] .hero-image img{border-radius:4px;filter:grayscale(1)}body[data-design=tech] .brand{background:white;padding:6px}body[data-design=nature]{--bg:#f2f3e9;--ink:#203e32;--accent:#38664b;--soft:#e2e8d8;--line:#bcc8b5;--paper:#fafbf5}body[data-design=nature] h1,body[data-design=nature] h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.04em}body[data-design=nature] .hero-image img{border-radius:220px 220px 8px 8px}body[data-design=nature] .card{border-radius:16px}.status{font-weight:600} @media(max-width:850px){.chooser{flex-wrap:wrap;gap:12px}.chooser div{width:100%}.chooser label{flex:1}.chooser select{max-width:none;margin-left:0}header{padding:20px 5%;align-items:flex-start;gap:20px}nav{gap:12px;flex-wrap:wrap;justify-content:flex-end}.brand img{width:125px}.hero,.split{grid-template-columns:1fr}.hero-image{margin:auto;width:100%;max-width:400px}.hero-image img{height:360px}.hero{gap:25px}.grid{grid-template-columns:1fr}.section-head{display:block}section{padding:55px 6%}.strip{flex-wrap:wrap}footer{flex-wrap:wrap}.facts{grid-template-columns:1fr}}@media print{.chooser,header,footer,.close,.actions,form{display:none}body{background:white;color:black}dialog{position:static;max-height:none;width:100%;max-width:none;border:0}body:has(dialog[open]) main{display:none}h2{font-size:24px}.card,section{break-inside:avoid}}
.brand{position:relative;width:170px;height:55px;overflow:hidden;flex-shrink:0}.brand img{position:absolute;width:210px;height:210px;max-width:none;left:-20px;top:-76px}body[data-design=tech] .brand{background:transparent;padding:0}body[data-design=tech] .hero{grid-template-columns:1.8fr 1fr;position:relative}body[data-design=tech] .hero-image{align-self:end}body[data-design=tech] .hero-image img{height:380px;border:1px solid var(--line)}body[data-design=tech] .card{border-top:3px solid #72bce0}body[data-design=tech] .eyebrow{color:#9fd7f0}body[data-design=nature] .hero{grid-template-columns:1fr 1.35fr}body[data-design=nature] .hero-image{grid-column:1;grid-row:1;margin:0}body[data-design=nature] .hero>div:first-child{grid-column:2}body[data-design=nature] .strip{background:var(--ink);color:var(--bg)}body[data-design=nature] .section-head{max-width:1100px}body[data-design=nature] .button{border-radius:30px}@media(max-width:850px){body[data-design=tech] .hero,body[data-design=nature] .hero{grid-template-columns:1fr}body[data-design=nature] .hero-image,body[data-design=nature] .hero>div:first-child{grid-column:auto;grid-row:auto}.brand{width:125px;height:45px}.brand img{width:165px;height:165px;left:-18px;top:-59px}form{grid-template-columns:1fr}.caption{left:0}}
@font-face{font-family:Montserrat;src:url('/assets/fonts/montserrat-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap}@font-face{font-family:'Open Sans';src:url('/assets/fonts/open-sans-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:'Open Sans';src:url('/assets/fonts/open-sans-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}:root{--font:'Open Sans',Arial,sans-serif}h1,h2,h3{font-family:Montserrat,Arial,sans-serif;font-weight:700}body[data-design=nature] h1,body[data-design=nature] h2,body[data-design=nature] h3{font-family:Georgia,serif;font-weight:400}
.hero-image{max-width:520px}body[data-design=nature] .hero-image img{border-radius:26px;height:390px;object-position:center}body[data-design=nature] .hero{grid-template-columns:1fr 1.2fr}body[data-design=nature] h1{font-size:clamp(40px,5vw,72px)}.profile-discreet{display:flex;align-items:center;gap:18px;margin-bottom:24px}.profile-discreet img{width:64px;height:64px;object-fit:cover;border-radius:50%}.profile-discreet h3{margin:0}.profile-discreet p{margin:3px 0;font-size:13px}.path-note{padding:26px 30px;margin:28px 0;background:var(--soft);border-left:3px solid var(--accent)}.path-note p{margin:8px 0 14px}@media(max-width:850px){body[data-design=nature] .hero{grid-template-columns:1fr}body[data-design=nature] .hero-image img{height:280px}.hero-image{margin-top:10px}.caption{position:static;margin-top:12px;box-shadow:none;padding:15px 20px}.hero-image img{height:280px}}
.research{background:var(--paper)}.reference-row{display:grid;grid-template-columns:190px 1fr;gap:30px;padding:27px 0;border-top:1px solid var(--line)}.reference-row>div:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.reference-year{font-size:27px;font-family:Georgia,serif;color:var(--accent)}.reference-row h3{font-family:var(--font);font-size:20px;font-weight:600;line-height:1.45;margin:0 0 8px}.reference-row p{margin:6px 0;font-size:14px}.reference-row a{text-decoration:none}.reference-row a:hover{text-decoration:underline}.older-references{border-top:1px solid var(--line);padding:20px 0}.older-references summary{font-size:14px;font-weight:600;margin-bottom:20px}@media(max-width:650px){.reference-row{grid-template-columns:1fr;gap:10px}.reference-row>div:first-child{flex-direction:row;align-items:center;gap:20px}.reference-row h3{font-size:18px}}
.module-choices{margin:0 0 18px;width:100%}.module-choices .module-button{display:inline-block;margin:4px 4px 0 0;padding:6px 10px;background:var(--soft);color:var(--ink);border:1px solid var(--line);border-radius:18px;font-size:12px;font-weight:400;line-height:1.4;cursor:pointer}.module-choices .module-button:hover{border-color:var(--accent)}.reference-row>div:first-child .micro{font-size:11px}body[data-design=nature] .hero-image img{object-fit:cover;object-position:center;height:390px}.hero-image::after{content:'Visuel illustratif généré';display:block;font-size:10px;opacity:.65;margin-top:8px}@media(max-width:850px){body[data-design=nature] .hero-image img{height:280px}}
.grid:has(.module-choices){align-items:start}
/* Harmoniser le logo du design Horizon avec son vert profond. */
body[data-design=nature] .brand img{filter:brightness(0) saturate(100%) invert(18%) sepia(17%) saturate(1053%) hue-rotate(103deg) brightness(91%) contrast(87%)}
@media(max-width:850px){.brand{width:138px}}
