:root{--ink:#173f37;--text:#4c5d54;--muted:#69796a;--paper:#fafaf5;--line:#d6dfd2;--sage:#eaf0e5;--lime:#ddefad;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.75;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer;border-radius:0}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-weight:400}em{font-family:var(--serif);font-weight:400;color:#617a48}::selection{background:var(--lime);color:var(--ink)}:focus-visible{outline:3px solid #7b934b;outline-offset:5px}.wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.skip{position:fixed;left:16px;top:-80px;background:var(--ink);color:white;z-index:30;padding:10px 18px}.skip:focus{top:10px}
.header{position:sticky;top:0;z-index:10;background:rgba(250,250,245,.98);border-bottom:1px solid var(--line)}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:14px;line-height:1.35;font-size:19px;letter-spacing:-.5px;font-weight:600;flex-shrink:0}.brand-mark{font-size:38px;letter-spacing:-5px;font-weight:400;line-height:1;border:1px solid #a6b5a6;display:flex;align-items:center;justify-content:center;width:53px;height:53px;padding-right:7px}.brand-mark span{color:#879e44;letter-spacing:-2px}.brand small{font-size:8px;letter-spacing:1.7px;font-weight:500;display:block;margin-top:7px}.header nav{display:flex;align-items:center;gap:25px;font-size:12px}.header nav>a:hover{color:#607742}.nav-contact{display:flex;align-items:center;gap:18px;padding:11px 16px;border:1px solid #b6c3ad}.nav-contact span{font-size:19px}.menu-toggle{display:none}
.hero{padding-block:60px 65px;display:grid;grid-template-columns:1.6fr 1fr;gap:75px;align-items:center}.eyebrow{font-size:10px;letter-spacing:1.4px;font-weight:500;line-height:1.7;color:#596f50;margin-bottom:23px}.hero .eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:25px}.hello{font-size:19px;margin-bottom:15px;letter-spacing:-.3px}h1{font-size:49px;line-height:1.16;letter-spacing:-1.9px;margin-bottom:24px}.hero-description{font-size:17px;color:var(--text);line-height:1.85;margin-bottom:19px;max-width:600px}.hero-credential{font-size:12px;line-height:1.8;color:var(--muted);max-width:520px;margin-bottom:27px}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:15px 20px;border:0;font-size:12px;line-height:1.5;transition:background .2s}.button span{font-size:19px;line-height:1.2}.dark{background:var(--ink);color:white}.dark:hover{background:#2b5548}.text-link{background:none;border:0;border-bottom:1px solid #9cae91;display:inline-flex;align-items:center;gap:18px;padding:5px 0;font-size:12px;line-height:1.65;text-align:left}.text-link span{font-size:18px}.text-link:hover{color:#5b7338;border-color:#7d954f}.portrait{margin:0;position:relative;width:100%;max-width:360px;justify-self:end}.portrait img{width:100%;height:455px;object-fit:cover;object-position:center 27%;border-radius:130px 130px 3px 3px}.portrait figcaption{border-top:1px solid var(--line);margin-top:18px;padding-top:14px;line-height:1.65}.portrait figcaption strong{font-size:16px;font-weight:500;display:block}.portrait figcaption>span{display:block;font-size:11px;color:var(--muted);margin-top:3px}.portrait figcaption .portrait-location{font-size:10px;margin-top:8px;color:#5d744e}.context-band{border-block:1px solid var(--line);background:#f1f3e9}.context-inner{display:grid;grid-template-columns:repeat(3,1fr);padding-block:23px}.context-inner p{margin:0;padding-left:28px;border-left:1px solid var(--line);font-size:11px;color:var(--muted);line-height:1.8}.context-inner p:first-child{padding-left:0;border:0}.context-inner strong{display:block;color:var(--ink);font-size:12px;font-weight:500;margin-bottom:4px}.context-inner span{display:block}
.section{padding-block:85px}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:85px;align-items:end;margin-bottom:43px}.section-heading .eyebrow{font-size:9px;margin-bottom:18px}.section-heading h2{font-size:37px;line-height:1.26;letter-spacing:-1.2px;margin:0}.section-heading>p{font-size:14px;color:var(--text);line-height:1.9;margin:0}.offer-list{border-top:1px solid var(--line)}.offer{display:grid;grid-template-columns:1fr 1.13fr;gap:85px;padding-block:35px;border-bottom:1px solid var(--line)}.offer-number{font-size:9px;letter-spacing:1.2px;color:#5d744e;display:block;margin-bottom:13px}.offer-intro h3{font-size:27px;line-height:1.35;letter-spacing:-.6px;margin-bottom:17px}.offer-intro>p{font-size:14px;color:var(--text);line-height:1.85;margin-bottom:17px;max-width:430px}.offer-intro .text-link{font-size:11px}.offer-work h4{font-size:18px;line-height:1.4;margin:0 0 13px}.offer-work ul{margin:0 0 20px;padding-left:18px;font-size:13px;line-height:1.85;color:var(--text)}.offer-work li{padding-left:4px;margin-bottom:8px}.deliverable{border-left:2px solid #9caf7c;padding-left:17px;margin-bottom:16px}.deliverable strong{font-size:11px;font-weight:600}.deliverable p{font-size:13px;color:var(--text);line-height:1.8;margin:5px 0 0}.offer-work>.text-link{font-size:11px}.project-support{margin-top:30px;padding:27px 30px;background:#eff2e9;display:grid;grid-template-columns:1fr 1.8fr;column-gap:45px}.project-support h3{font-size:23px;line-height:1.4;letter-spacing:-.4px;margin:0}.project-support p{font-size:13px;line-height:1.85;color:var(--text);margin-bottom:10px}.project-support .support-example{grid-column:2;font-size:11px;margin-bottom:0;color:#607552}
.references-section{background:var(--sage)}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.case{background:var(--paper);padding:30px 32px;scroll-margin-top:110px;display:flex;flex-direction:column;align-items:start;border-top:2px solid #b6c7a8}.case.featured{border-top-color:#315b43}.case-meta{display:flex;align-items:baseline;justify-content:space-between;gap:14px;font-size:9px;letter-spacing:.6px;width:100%;line-height:1.65;margin-bottom:21px}.case-meta>span:first-child{font-weight:600}.case-meta>span:last-child{font-size:10px;letter-spacing:0;text-align:right;color:#627954;flex-shrink:0}.case h3{font-size:26px;line-height:1.35;letter-spacing:-.65px;margin-bottom:18px;max-width:480px}.case-context{font-size:13px;line-height:1.85;color:var(--text);margin-bottom:22px}.case dl{margin:0 0 20px;line-height:1.85}.case dt{font-size:11px;font-weight:600;margin-bottom:5px}.case dd{margin:0 0 17px;font-size:13px;color:var(--text)}.case dd:last-child{margin-bottom:0}.case details{width:100%;border-top:1px solid var(--line);margin-top:auto;padding-top:13px}.case summary{cursor:pointer;font-size:11px;line-height:1.8;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:30px}.case summary::-webkit-details-marker{display:none}.case summary:after{content:'+';font-size:20px;color:#617a48;line-height:1}.case details[open] summary:after{content:'−'}.case details>p{font-size:12px;color:var(--text);line-height:1.85;margin:12px 0 0}.references-note{font-size:10px;line-height:1.8;color:#5f7553;margin:23px 0 0;max-width:740px}
.about{display:grid;grid-template-columns:1fr 1.35fr;gap:100px}.about-intro h2{font-size:39px;line-height:1.25;letter-spacing:-1.4px;margin-bottom:25px}.about-intro>p:not(.eyebrow){font-size:15px;line-height:1.9;color:var(--text);max-width:360px;margin-bottom:22px}.about-intro .text-link{font-size:11px}.about-story{padding-top:39px}.about-story h3{font-size:25px;line-height:1.4;letter-spacing:-.5px;margin-bottom:20px}.about-story>p{font-size:14px;color:var(--text);line-height:1.95;margin-bottom:20px}.teaching-note{border-left:2px solid #9caf7c;padding-left:19px;margin-block:25px}.teaching-note strong{font-size:13px;font-weight:500}.teaching-note p{font-size:12px;line-height:1.9;color:var(--text);margin:7px 0 0}.about-story>.text-link{font-size:11px}
.working-section{background:#eff2e9}.working-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;padding:0;margin:0;list-style:none}.working-steps li{border-top:1px solid #b8c6aa;padding-top:20px}.working-steps li>span{font-size:9px;letter-spacing:1px;color:#5d744e}.working-steps h3{font-size:22px;line-height:1.4;letter-spacing:-.5px;margin:17px 0 13px}.working-steps p{font-size:13px;line-height:1.9;color:var(--text);margin-bottom:0}.availability{display:grid;grid-template-columns:1.7fr 1fr;gap:70px;border-top:1px solid #c3d0b7;padding-top:27px;margin-top:35px}.availability h3{font-size:24px;line-height:1.4;letter-spacing:-.5px;margin-bottom:12px}.availability p{font-size:13px;color:var(--text);line-height:1.9;margin:0}.availability>p{text-align:right;font-size:12px}.availability>p>span{display:block;font-size:10px;margin-top:9px}
.contact-section{background:#dfe8d5}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:95px}.contact-copy h2{font-size:40px;line-height:1.25;letter-spacing:-1.3px;margin-bottom:24px}.contact-copy>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#4f6647;max-width:450px;margin-bottom:17px}.direct-contact{display:flex;align-items:start;flex-direction:column;gap:9px;margin-top:28px}.direct-contact>a:first-child{font-size:19px;letter-spacing:-.2px;border-bottom:1px solid #97aa82;padding-bottom:4px}.direct-contact>a:nth-child(2){font-size:15px}.direct-contact>span{font-size:10px;color:#5a704e;margin-top:6px}form{padding-top:6px}label{display:block;font-size:11px;margin-bottom:8px}input,select,textarea{display:block;width:100%;padding:12px 14px;font-size:13px;color:var(--ink);border:1px solid #a4b593;border-radius:0;background:rgba(250,250,245,.7);margin-bottom:21px}input::placeholder,textarea::placeholder{color:#66775c}textarea{resize:vertical;min-height:140px}form>.button{width:100%}.form-note{font-size:10px;line-height:1.8;color:#546b47;max-width:420px;margin-top:15px;margin-bottom:0}.form-status{font-size:12px;line-height:1.8;margin:15px 0 0}.form-status a{text-decoration:underline}
.footer-inner{display:flex;justify-content:space-between;align-items:center;padding-block:32px;gap:35px}.footer .brand{font-size:16px}.footer .brand-mark{width:44px;height:44px;font-size:32px;letter-spacing:-4px}.footer .brand small{font-size:7px;letter-spacing:1.3px}.footer-inner>div{display:flex;align-items:center;gap:25px;font-size:11px}.footer-inner button{border:0;background:none;font-size:11px;padding:0}.footer-bottom{border-top:1px solid var(--line);padding-block:16px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#5f7255}dialog{width:min(750px,calc(100% - 32px));padding:0;border:0;background:var(--paper);color:var(--ink);max-height:90dvh;overflow:auto}dialog::backdrop{background:rgba(17,42,31,.7);backdrop-filter:blur(3px)}.dialog-close{display:block;margin:18px 20px 0 auto;border:1px solid var(--line);background:none;padding:8px 13px;font-size:12px}.dialog-content{padding:22px 40px 40px}.dialog-content h2{font-size:28px;line-height:1.3;letter-spacing:-.7px}.dialog-content>p{font-size:13px;color:var(--text);line-height:1.9}.dialog-content h3{font-size:17px;margin-top:25px}.publications{padding-left:20px;font-size:13px}.publications li{padding-left:5px;margin-bottom:24px}.publications strong{font-weight:500;line-height:1.7;display:block}.publications span{font-size:11px;color:#607552;display:block;margin-top:7px}body.modal-open{overflow:hidden}
@media(min-width:1500px){.hero{padding-block:75px}.hero-copy h1{font-size:52px}}
@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.header nav{gap:18px;font-size:11px}.brand{font-size:17px}.brand small{font-size:7px}.nav-contact{padding:10px 12px;gap:12px}.hero{gap:45px}h1{font-size:43px}.hero-description{font-size:16px}.portrait img{height:420px}.section-heading,.offer{gap:55px}.section-heading h2{font-size:34px}.about{gap:65px}.contact-grid{gap:60px}}
@media(max-width:900px){.header-inner{height:78px}.header nav{gap:18px}.nav-contact{display:none}.hero{gap:35px;padding-block:45px;grid-template-columns:1.4fr 1fr}h1{font-size:36px;letter-spacing:-1.3px}.hello{font-size:17px}.hero-description{font-size:14px}.hero-credential{font-size:11px}.hero .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:20px}.hero-actions{gap:16px}.portrait img{height:370px;border-radius:100px 100px 3px 3px}.portrait figcaption>span{font-size:10px}.section{padding-block:65px}.context-inner p{font-size:10px;padding-left:20px}.context-inner strong{font-size:11px}.section-heading{gap:35px}.section-heading h2{font-size:30px}.section-heading>p{font-size:13px}.offer{gap:40px}.offer-intro h3{font-size:24px}.offer-intro>p{font-size:13px}.offer-work h4{font-size:17px}.project-support{gap:25px}.project-support h3{font-size:22px}.case{padding:26px 25px}.case-meta{flex-direction:column;gap:3px}.case-meta>span:last-child{text-align:left}.case h3{font-size:24px}.case-grid{gap:18px}.about{gap:45px}.about-intro h2{font-size:34px}.about-story h3{font-size:23px}.about-story>p{font-size:13px}.working-steps{gap:25px}.working-steps h3{font-size:20px}.availability{gap:40px}.contact-grid{gap:40px}.contact-copy h2{font-size:34px}.direct-contact>a:first-child{font-size:17px}.footer-inner>div{gap:15px}}
@media(max-width:650px){html{scroll-padding-top:94px}.wrap{width:calc(100% - 40px)}.header-inner{height:74px}.brand{font-size:16px;gap:11px}.brand-mark{width:43px;height:43px;font-size:31px;letter-spacing:-4px}.brand small{font-size:7px;letter-spacing:1.2px;margin-top:5px}.menu-toggle{display:flex;align-items:center;gap:13px;border:1px solid #abbba0;padding:8px 11px;background:none;font-size:12px}.menu-toggle span{font-size:16px}.header nav{display:none;position:absolute;top:74px;left:0;right:0;padding:15px 20px 22px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 22px #173f3710}.header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.header nav>a{font-size:14px;padding:12px 4px}.header nav .nav-contact{display:flex;justify-content:space-between;border:1px solid #b6c3ad;margin-top:8px;padding:11px;font-size:12px}
.hero{display:grid;grid-template-columns:1fr 100px;column-gap:17px;row-gap:0;padding-block:28px 34px}.hero-copy{display:contents}.hero-copy .eyebrow{grid-column:1 / -1;grid-row:1;font-size:8px;letter-spacing:.8px;margin-bottom:20px}.hello{grid-column:1;grid-row:2;align-self:center;margin:0;max-width:210px;font-size:19px;line-height:1.5}.hero h1{grid-column:1 / -1;grid-row:3;margin-top:24px;font-size:clamp(35px,9.1vw,44px);line-height:1.15;letter-spacing:-1.3px;margin-bottom:22px}.hero-description{grid-column:1 / -1;grid-row:4;font-size:15px;line-height:1.85;margin-bottom:17px}.hero-credential{grid-column:1 / -1;grid-row:5;font-size:11px;line-height:1.9;margin-bottom:22px}.hero-actions{grid-column:1 / -1;grid-row:6;gap:15px;align-items:start}.button{font-size:12px;padding:15px 17px;gap:22px}.text-link{font-size:12px}.portrait{grid-column:2;grid-row:2;align-self:center;width:100px;margin:0}.portrait img{width:100px;height:116px;object-position:center 20%;border-radius:40px 40px 2px 2px}.portrait figcaption{display:none}.context-inner{grid-template-columns:1fr;padding-block:4px}.context-inner p,.context-inner p:first-child{padding:13px 0;border:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:.95fr 1.2fr;gap:15px;font-size:11px;line-height:1.75}.context-inner p:last-child{border-bottom:0}.context-inner strong{font-size:11px;margin:0}.section{padding-block:50px}.section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:29px}.section-heading .eyebrow{font-size:8px;margin-bottom:15px}.section-heading h2{font-size:31px;line-height:1.25;letter-spacing:-1px}.section-heading>p{font-size:14px;line-height:1.85}.offer{grid-template-columns:1fr;gap:24px;padding-block:28px}.offer-number{font-size:8px;margin-bottom:12px}.offer-intro h3{font-size:26px;margin-bottom:15px}.offer-intro>p{font-size:14px;line-height:1.85;margin-bottom:14px}.offer-work h4{font-size:18px}.offer-work ul{font-size:13px}.deliverable p{font-size:13px}.offer-intro .text-link,.offer-work>.text-link{font-size:12px}.project-support{margin-top:25px;padding:24px 22px;grid-template-columns:1fr;gap:15px}.project-support h3{font-size:24px}.project-support p{font-size:13px;margin:0}.project-support .support-example{grid-column:1;font-size:11px}.case-grid{grid-template-columns:1fr;gap:20px}.case{padding:25px 22px}.case-meta{flex-direction:row;align-items:start;gap:12px;margin-bottom:20px;font-size:8px;letter-spacing:.4px}.case-meta>span:last-child{font-size:9px;text-align:right}.case h3{font-size:25px;line-height:1.35}.case-context{font-size:14px;margin-bottom:20px}.case dl{margin-bottom:18px}.case dt{font-size:12px}.case dd{font-size:13px}.case summary{font-size:12px;min-height:36px}.case details>p{font-size:12px}.references-note{font-size:10px;margin-top:20px}.about{grid-template-columns:1fr;gap:30px}.about-intro .eyebrow{font-size:9px;margin-bottom:18px}.about-intro h2{font-size:33px;line-height:1.25;letter-spacing:-1px;margin-bottom:22px}.about-intro h2 br{display:none}.about-intro>p:not(.eyebrow){font-size:15px;max-width:none;margin-bottom:17px}.about-story{padding-top:0}.about-story h3{font-size:24px}.about-story>p{font-size:14px}.teaching-note p{font-size:13px}.about-intro .text-link,.about-story>.text-link{font-size:12px}.working-steps{grid-template-columns:1fr;gap:25px}.working-steps li{padding-top:17px}.working-steps h3{font-size:23px;margin:14px 0}.working-steps p{font-size:14px}.availability{grid-template-columns:1fr;gap:20px;margin-top:30px;padding-top:25px}.availability h3{font-size:24px}.availability p{font-size:14px}.availability>p{text-align:left;font-size:12px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-copy .eyebrow{font-size:9px;margin-bottom:20px}.contact-copy h2{font-size:35px;line-height:1.25;letter-spacing:-1px}.contact-copy>p:not(.eyebrow){font-size:14px}.direct-contact{margin-top:22px;gap:8px}.direct-contact>a:first-child{font-size:19px}.direct-contact>a:nth-child(2){font-size:15px}.direct-contact>span{font-size:10px}.contact-grid form{padding-top:0}label{font-size:12px}input,select,textarea{font-size:16px}.form-note{font-size:11px}.footer-inner{flex-direction:column;align-items:start;gap:25px;padding-block:30px}.footer-inner>div{width:100%;justify-content:space-between;gap:13px;font-size:10px}.footer-inner button{font-size:10px}.footer-bottom{font-size:8px;align-items:start;gap:15px}.footer-bottom>span:last-child{text-align:right;max-width:150px}.dialog-content{padding:20px 23px 28px}.dialog-content h2{font-size:26px}.dialog-content>p{font-size:13px}.publications{font-size:13px}.publications span{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* Frise des prestations : le défilement reste celui de la page. */
.timeline-heading{margin-bottom:42px}
.timeline-layout{display:grid;grid-template-columns:minmax(270px,.72fr) minmax(0,1.55fr);align-items:start;gap:clamp(32px,6vw,84px)}
.timeline-aside{position:sticky;top:112px;min-width:0}
.timeline-dashboard{padding:30px 27px 24px;color:#f5f7ed;background:#173f37;border-radius:3px;box-shadow:0 14px 36px #173f3715}
.timeline-kicker{font-size:9px;line-height:1.6;letter-spacing:1.55px;color:#d6e4bb;margin:0 0 12px}
.timeline-dashboard-title{font-size:27px;line-height:1.25;letter-spacing:-.6px;margin:0 0 22px}
.timeline-nav,.timeline-steps{list-style:none;margin:0;padding:0}
.timeline-nav{position:relative;isolation:isolate}
.timeline-nav::before,.timeline-nav::after{position:absolute;content:"";top:21px;left:20px;height:148px;width:2px;border-radius:2px;background:#78917e;z-index:-1}
.timeline-nav::after{background:#ddefad;transform:scaleY(var(--project-progress,0));transform-origin:top}
.timeline-nav li{height:74px}
.timeline-nav a{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:start;border-radius:3px}
.timeline-nav a:focus-visible{outline-color:#ddefad;outline-offset:4px}
.timeline-node{display:grid;place-items:center;width:42px;height:42px;border:1px solid #9ab09b;border-radius:50%;background:#173f37;color:#e5edd9;font-size:11px;font-variant-numeric:tabular-nums;transition:background .25s,color .25s,box-shadow .25s}
.timeline-nav a:hover .timeline-node,.timeline-nav a[aria-current="step"] .timeline-node{background:#ddefad;border-color:#ddefad;color:#173f37}
.timeline-nav a[aria-current="step"] .timeline-node{box-shadow:0 0 0 5px #ddefad25}
.timeline-nav a[data-passed] .timeline-node{border-color:#ddefad;color:#ddefad}
.timeline-nav a strong{display:block;font-size:15px;line-height:1.35;font-weight:600;margin:2px 0 4px}
.timeline-nav a small{display:block;color:#cedcce;font-size:11px;line-height:1.45}
.timeline-dashboard-foot{margin:0;padding-top:15px;border-top:1px solid #ffffff38;color:#d1dfc5;font-size:10px;line-height:1.65}
.timeline-steps{display:grid;gap:19px;min-width:0;position:relative}
.timeline-step{min-width:0;scroll-margin-top:8px}
.timeline-card{padding:clamp(22px,3.3vw,40px);border:1px solid #d2ddce;border-left:3px solid #b0c2a2;border-radius:3px;background:#f5f7ee;transition:background .3s,border-color .3s,box-shadow .3s}
.timeline-step[data-current] .timeline-card{background:#edf3e6;border-left-color:#537850;box-shadow:0 8px 25px #173f370a}
.timeline-phase{display:flex;gap:12px;align-items:center;font-size:9px;line-height:1.5;letter-spacing:1.1px;font-weight:600;color:#43664c;margin:0 0 15px}
.timeline-badge{display:grid;place-items:center;flex:0 0 31px;height:31px;border-radius:50%;border:1px solid #9daf92;letter-spacing:0;font-size:10px;color:#173f37;background:#fafaf5;transition:background .25s,color .25s}
.timeline-step[data-current] .timeline-badge{background:#173f37;color:#f5f7ed;border-color:#173f37}
.timeline-card h3{font-size:clamp(24px,2.55vw,34px);letter-spacing:-.75px;line-height:1.19;margin:0 0 14px;text-wrap:balance}
.timeline-context,.timeline-details dd{color:var(--text);font-size:14px;line-height:1.7}
.timeline-context{margin:0 0 19px}
.timeline-details{margin:0;padding-top:17px;border-top:1px solid #cbd8c5;display:grid;grid-template-columns:122px minmax(0,1fr);gap:11px 16px;align-items:baseline}
.timeline-details dt{font-size:11px;font-weight:600;line-height:1.5;color:#355641}
.timeline-details dd{margin:0;font-size:13px}
.timeline-links{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 24px;margin-top:18px}
.timeline-links .text-link{font-size:12px;gap:11px}
.timeline-links .text-link:last-child{font-weight:600}
.timeline-conclusion{margin-top:34px}
@media(max-width:900px),(max-height:560px){
  .timeline-aside{position:static}
  .timeline-layout{grid-template-columns:minmax(0,1fr);gap:17px}
  .timeline-dashboard{padding:19px 22px}
  .timeline-kicker,.timeline-dashboard-foot{display:none}
  .timeline-dashboard-title{font-size:18px;margin-bottom:14px}
  .timeline-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .timeline-nav li{height:auto}
  .timeline-nav::before,.timeline-nav::after{display:none}
  .timeline-nav a{grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:center}
  .timeline-node{width:30px;height:30px}
  .timeline-nav a strong{font-size:12px;margin:0}
  .timeline-nav a small{display:none}
  .timeline-steps{padding-left:17px;isolation:isolate}
  .timeline-steps::before,.timeline-steps::after{position:absolute;content:"";left:2px;top:33px;height:var(--project-rail-length,calc(100% - 63px));width:2px;border-radius:2px;background:#c5d3bd;z-index:-1}
  .timeline-steps::after{background:#5a8055;transform-origin:top;transform:scaleY(var(--project-rail-progress,0))}
  .timeline-step{position:relative}
  .timeline-step::before{content:"";position:absolute;top:28px;left:-20px;width:8px;height:8px;border:2px solid #8ca984;border-radius:50%;background:var(--paper)}
  .timeline-step[data-current]::before,.timeline-step[data-passed]::before{background:#50784e;border-color:#50784e}
}
@media(max-width:650px){
  .timeline-heading{margin-bottom:26px}
  .timeline-dashboard{padding:17px 15px}
  .timeline-dashboard-title{font-size:16px;margin-bottom:12px}
  .timeline-nav{gap:8px}
  .timeline-nav a{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
  .timeline-nav a strong{font-size:11px}
  .timeline-card{padding:20px 16px}
  .timeline-card h3{font-size:24px}
  .timeline-phase{font-size:8px;letter-spacing:.75px;gap:8px}
  .timeline-details{grid-template-columns:1fr;gap:5px}
  .timeline-details dt:not(:first-child){margin-top:6px}
  .timeline-context,.timeline-details dd{font-size:13px}
  .timeline-links{gap:7px 14px}
  .timeline-links .text-link{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.timeline-nav::after,.timeline-steps::after{display:none}}

#hero-title{text-wrap:balance}

.language-switch{display:flex;align-items:center;gap:3px;white-space:nowrap}
.language-switch a{display:grid;place-items:center;min-width:28px;min-height:29px;padding:3px 5px;border:1px solid transparent;border-radius:3px;font-size:10px;font-weight:650;text-decoration:none;color:var(--ink)}
.language-switch a:hover,.language-switch a:focus-visible{border-color:#abbba0}
.language-switch a[aria-current="page"]{background:#e5ebda;border-color:#b6c3ad}
@media(min-width:651px) and (max-width:1070px){.header nav .nav-contact{display:none}.header nav{gap:14px}}
@media(max-width:650px){.language-switch{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.language-switch a{min-width:40px;min-height:40px;font-size:12px}}

.form-note a{text-decoration:underline;text-underline-offset:3px}
