/* Direction ORBITAL — tokens et composants de référence pour la reprise Claude. */
#contenu:focus{outline:none}
:root{color-scheme:dark;--bg:#080a0c;--surface:#101316;--surface2:#171b20;--text:#f4f4ef;--muted:#a6adb6;--line:#2a3038;--blue:#abd5f4;--light:#edeee9;--ink:#161a1e;--max:1360px;--pad:clamp(24px,5.1vw,88px);--sans:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}button:disabled{cursor:default}button{background:none;border:0}button,a,input,select,textarea{outline-offset:6px} :focus-visible{outline:2px solid var(--blue)}::selection{background:var(--blue);color:var(--ink)}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-weight:500}p{color:var(--muted);line-height:1.7}button:hover,a:hover{transition:background .2s,color .2s,border-color .2s,transform .2s}button svg,a svg{pointer-events:none}[hidden]{display:none!important}.skip{position:fixed;left:20px;top:-70px;background:var(--text);color:var(--ink);z-index:100;padding:14px 20px}.skip:focus{top:16px}.site-header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);gap:28px;position:sticky;top:0;z-index:30;background:rgba(8,10,12,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(244,244,239,.12)}.wordmark{display:inline-flex;align-items:center;gap:9px;flex-shrink:0}.brand-symbol{font-size:43px;font-weight:650;letter-spacing:-5px;line-height:1;position:relative;padding-right:12px}.brand-slash{font-size:54px;line-height:.8;font-weight:250;color:var(--blue);position:absolute;right:-1px;top:-1px}.brand-words{font-size:11px;letter-spacing:2px;line-height:1.35;font-weight:550}.desktop-nav{display:flex;align-items:center;gap:clamp(16px,2vw,32px);margin-left:auto}.desktop-nav a{font-size:12px;color:#bdc1c6;white-space:nowrap;position:relative;padding:14px 0}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{color:var(--text)}.desktop-nav a[aria-current=page]:after{content:"";position:absolute;bottom:3px;left:0;right:0;height:1px;background:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;background:var(--text);color:var(--ink);min-height:56px;padding:16px 23px;border:1px solid var(--text);font-size:13px;font-weight:550;line-height:1.35;transition:.2s;position:relative}.button span{font-size:20px;font-weight:400;line-height:1}.button:hover{background:var(--blue);border-color:var(--blue);color:var(--ink);transform:translateY(-2px)}.button-outline{background:transparent;color:var(--text);border-color:#68717d}.button-outline:hover{background:var(--text);border-color:var(--text)}.button-dark{background:var(--ink);border-color:var(--ink);color:var(--text)}.header-cta{min-height:43px;padding:11px 16px;font-size:11px;gap:24px}.header-cta span{font-size:17px}.menu-toggle{display:none}.eyebrow{font:10px/1.5 var(--mono);letter-spacing:2px;text-transform:uppercase;display:block;color:var(--muted)}.eyebrow-light{color:var(--blue)}.plus{display:inline-block;color:var(--blue);margin-right:14px;font-size:16px;vertical-align:-1px}.container{max-width:calc(var(--max) + 2 * var(--pad));margin:0 auto;padding:0 var(--pad)}.hero{position:relative;min-height:720px;height:calc(100svh - 96px);max-height:1000px;isolation:isolate;display:flex;flex-direction:column;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%;z-index:-3}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,9,.84),rgba(5,7,9,.30) 52%,transparent 78%),linear-gradient(0deg,var(--bg),transparent 26%);z-index:-2}.hero-content{padding:69px var(--pad) 115px;max-width:1550px;width:100%;margin:auto}.hero h1{font-size:clamp(60px,7.2vw,108px);line-height:.98;letter-spacing:-5px;margin:27px 0 25px;text-transform:uppercase;max-width:780px}.hero h1 .soft{color:#bfc9d1}.hero-copy{max-width:425px;color:#c8cdd3;font-size:16px;line-height:1.65}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;align-items:center}.hero-actions .button{min-width:226px}.hero-actions .button-outline{min-width:195px}.local-note{margin-top:19px;font-size:11px;line-height:1.7;color:#b0bac3}.hero-coordinate{position:absolute;right:var(--pad);top:45px;font:9px/1.9 var(--mono);letter-spacing:1.5px;text-align:right;color:#9ca6b2}.hero-side{position:absolute;right:var(--pad);bottom:186px;text-align:right;max-width:180px}.hero-side .number{font:38px/1.2 var(--sans);font-weight:300;letter-spacing:-2px;color:#e9eef2}.hero-side p{font:9px/1.9 var(--mono);letter-spacing:1.5px;margin-top:12px;text-transform:uppercase;color:#adb9c7}.hero-rail{position:absolute;bottom:0;left:var(--pad);right:var(--pad);display:flex;align-items:center;justify-content:space-between;padding:23px 0;border-top:1px solid rgba(224,235,245,.25);font:10px/1.6 var(--mono);letter-spacing:1.3px;text-transform:uppercase;color:#bec5cf}.hero-rail a{display:flex;align-items:center;gap:15px}.hero-rail a span{font-size:20px}.hero-rail .rail-right{color:#a4adb8}.section{padding:110px 0;border-bottom:1px solid var(--line)}.section-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin:28px 0 53px}.section h2,.section-heading{font-size:clamp(35px,4vw,60px);letter-spacing:-2.6px;line-height:1.06;max-width:800px}.section-title-row p{max-width:345px;font-size:14px}.text-link{font-size:13px;display:inline-flex;gap:27px;align-items:center;padding-bottom:9px;border-bottom:1px solid #68717d}.text-link span{font-size:21px;line-height:1}.text-link:hover{color:var(--blue);border-color:var(--blue)}.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.offer-card{padding:33px 32px 31px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-right:1px solid var(--line);min-height:346px;display:flex;flex-direction:column;position:relative;transition:background .2s}.offer-card:first-child{border-left:1px solid var(--line)}.offer-card:hover{background:var(--surface)}.offer-top{display:flex;justify-content:space-between;align-items:center}.card-index{font:11px/1 var(--mono);color:var(--muted)}.line-icon{width:37px;height:37px;color:var(--blue);stroke-width:1.2;fill:none;stroke:currentColor}.offer-card h3{font-size:28px;letter-spacing:-1px;line-height:1.15;margin:36px 0 16px}.offer-card p{font-size:14px;max-width:300px;line-height:1.7}.offer-card .text-link{margin-top:32px;align-self:flex-start}.offer-card .mini{margin-top:12px;font-size:10px;color:var(--blue);letter-spacing:.3px}.dark-split{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.section-intro h2{margin:25px 0;font-size:clamp(37px,4vw,61px);letter-spacing:-2.5px;line-height:1.06}.section-intro p{max-width:440px;font-size:15px}.section-intro .text-link{margin-top:30px}.process-art{min-height:360px;background:radial-gradient(ellipse at 50% 48%,#19252f 0,transparent 69%);display:flex;flex-direction:column;justify-content:center;position:relative;padding:40px 0}.process-art .eyebrow{position:absolute;top:0;left:0}.flow-row{display:grid;grid-template-columns:1fr 24px 1fr;align-items:center;gap:12px;margin:10px 0}.flow-node{background:rgba(19,24,30,.8);border:1px solid #39424c;padding:19px 17px;font-size:12px;line-height:1.6}.flow-node span{display:block;font:9px/1.6 var(--mono);color:var(--muted);letter-spacing:1px;margin-bottom:4px}.flow-arrow{color:#8497a9;text-align:center}.flow-result{border-top:1px solid var(--line);padding:19px 0 0;margin-top:18px;display:flex;justify-content:space-between;gap:14px;font-size:12px;color:var(--blue)}.mini-cross{position:absolute;right:0;top:0;color:#506171}.light-section{background:var(--light);color:var(--ink);border-color:#c9cdc9}.light-section p{color:#596068}.light-section .eyebrow{color:#626a70}.light-section .text-link{color:var(--ink);border-color:#7a8288}.training-feature{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center}.training-visual{height:410px;position:relative;background:#11161c;overflow:hidden;display:grid;place-items:center;color:var(--text)}.orbit-ring{border:1px solid #3d5366;border-radius:50%;width:350px;height:350px;position:absolute;transform:rotate(-26deg) scaleY(.46)}.orbit-ring:nth-child(2){transform:rotate(37deg) scaleY(.46);width:350px;height:350px}.orbit-ring:nth-child(3){transform:rotate(90deg) scaleY(.46);width:350px;height:350px}.orbit-core{width:76px;height:76px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#c1d9e9,#45617b 48%,#131e28 80%);box-shadow:0 0 50px #3d688638;z-index:2}.orbit-point{position:absolute;left:71%;top:28%;width:6px;height:6px;background:var(--text);border-radius:50%;box-shadow:0 0 14px var(--blue)}.training-visual .eyebrow{color:#a7b9ca;position:absolute;top:25px;left:26px;z-index:3}.visual-bottom{position:absolute;bottom:24px;left:26px;right:26px;font:10px/1.6 var(--mono);letter-spacing:1px;display:flex;justify-content:space-between;color:#aebcc8}.training-copy h2{margin:26px 0;font-size:clamp(37px,4vw,62px);line-height:1.02;letter-spacing:-2.5px}.training-copy p{max-width:435px;font-size:15px}.training-copy .button{margin-top:28px}.tagline{display:flex;gap:20px;flex-wrap:wrap;margin-top:25px;font:10px/1.7 var(--mono);letter-spacing:.5px;color:#555d62}.tagline span:before{content:"+";margin-right:8px}.local-section{position:relative;overflow:hidden}.audit-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;margin-top:30px;align-items:center}.audit-grid h2{font-size:clamp(42px,4.8vw,72px);letter-spacing:-3px;line-height:1.02}.audit-grid p{max-width:480px;margin-top:27px;font-size:15px}.audit-grid .button{margin-top:30px}.dept-grid{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line)}.dept{min-height:152px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.dept:nth-child(2n){border-right:0}.dept:nth-child(n+3){border-bottom:0}.dept strong{font-size:52px;letter-spacing:-2px;font-weight:300}.dept span{font-size:12px;color:var(--muted)}.audit-footnote{margin-top:15px;font:10px/1.7 var(--mono);color:#8b98a4;display:flex;justify-content:space-between;gap:15px}.site-footer{padding:60px var(--pad) 68px;background:#06080a}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-bottom:50px}.footer-top p{font-size:14px;line-height:1.5;margin-right:auto;margin-left:45px}.footer-line,.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:22px;align-items:center;font-size:11px;color:var(--muted);padding:25px 0}.footer-line div{display:flex;gap:24px;align-items:center}.footer-line button{font-size:11px;color:var(--muted);padding:0}.footer-bottom{padding-bottom:0;font:9px/1.6 var(--mono);letter-spacing:1px}.footer-bottom button{font:inherit;padding:0}.preview-label{position:fixed;bottom:14px;left:17px;z-index:40;display:flex;align-items:center;gap:9px;color:#b7c4cf;background:#12171ef0;border:1px solid #313b46;box-shadow:0 4px 25px #0005;padding:8px 12px;font:8px/1.5 var(--mono);letter-spacing:1px;pointer-events:none}.preview-label>span:first-child{width:4px;height:4px;background:#a7cfe8;border-radius:50%}.preview-version{padding-left:9px;border-left:1px solid #3e4851;color:#81909e}.page-top{padding:80px 0 70px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.page-top h1{font-size:clamp(50px,6.5vw,94px);letter-spacing:-4px;line-height:1.02;max-width:1050px;margin:30px 0 25px}.page-top p{font-size:17px;max-width:580px}.page-top .subtitle-row{display:flex;gap:50px;justify-content:space-between;align-items:flex-end}.page-top .actions{margin:0}.breadcrumb{font:10px/1.6 var(--mono);color:var(--muted);letter-spacing:1px}.breadcrumb a{color:#e4e5df}.breadcrumb span{padding:0 14px;color:#56606a}.split-intro{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.split-intro h2{margin-top:26px}.split-intro .body-copy{padding-top:37px}.body-copy p{font-size:16px;margin-bottom:20px}.body-copy strong{font-weight:500;color:var(--text)}.list-rows{margin-top:45px}.list-row{padding:30px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:45px 1fr 1.25fr;gap:24px;align-items:start}.list-row:last-child{border-bottom:1px solid var(--line)}.list-row .n{font:11px/1.6 var(--mono);color:var(--blue);padding-top:4px}.list-row h3{font-size:23px;letter-spacing:-.6px}.list-row p{font-size:14px;max-width:590px}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:55px}.benefit-item{padding-top:22px;border-top:1px solid var(--line)}.benefit-item h3{font-size:23px;line-height:1.2;letter-spacing:-.7px;margin:20px 0 15px}.benefit-item p{font-size:14px}.cta-band{display:flex;align-items:center;justify-content:space-between;gap:45px;background:var(--surface);padding:49px;margin-top:58px;border:1px solid var(--line)}.cta-band h3{font-size:28px;letter-spacing:-1px;margin-bottom:10px}.cta-band p{font-size:14px;max-width:550px}.cta-band .button{flex-shrink:0}.tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin:35px 0 42px}.tabs button{padding:19px 28px;font-size:13px;color:var(--muted);border-bottom:2px solid transparent;position:relative;bottom:-1px}.tabs button[aria-selected=true]{color:var(--text);border-color:var(--blue)}.audience-panel{display:grid;grid-template-columns:1fr 1fr;gap:90px}.audience-panel h3{font-size:39px;letter-spacing:-1.7px;line-height:1.1;margin-bottom:24px}.audience-panel p{font-size:15px}.checklist{list-style:none;margin:0;padding:0}.checklist li{padding:16px 0;border-bottom:1px solid var(--line);font-size:14px;display:flex;gap:16px;line-height:1.6}.checklist li:before{content:"+";color:var(--blue);font-family:var(--mono)}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}.course{border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;min-height:320px}.course h3{font-size:26px;letter-spacing:-.8px;line-height:1.14;margin:30px 0 18px}.course p{font-size:14px}.course .text-link{align-self:flex-start;margin-top:auto;padding-top:27px}.small-note{font-size:11px!important;color:var(--muted);line-height:1.7;margin-top:19px}.training-trust{display:grid;grid-template-columns:1fr 1.3fr;gap:70px;padding:45px;border:1px solid var(--line);margin-top:55px;background:var(--surface)}.training-trust h3{font-size:24px;letter-spacing:-.6px}.training-trust p{font-size:13px;margin-top:14px}.training-trust .qual-line{margin-top:0;color:#d5dde4}.product-feature{display:grid;grid-template-columns:1.1fr .9fr;gap:85px;align-items:center}.product-art{min-height:405px;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 55%,#253645 0,#0f141a 60%,#0b0f13 100%);position:relative;border:1px solid var(--line);padding:55px 35px 35px;overflow:hidden}.product-art>.eyebrow{position:absolute;left:25px;top:24px;font-size:9px}.paper-sheet{background:#e7e9e6;width:210px;height:255px;padding:28px 23px;color:#2a3035;transform:rotate(-6deg);box-shadow:16px 18px 0 #273b4b,0 20px 70px #0009;position:relative}.paper-label{font:8px/1.6 var(--mono);letter-spacing:1px;border-bottom:1px solid #b7bfbe;padding-bottom:13px}.paper-sheet h4{font-size:25px;line-height:1.05;letter-spacing:-1px;font-weight:500;margin:18px 0}.paper-lines span{display:block;width:100%;height:3px;background:#aeb8b7;margin:11px 0}.paper-lines span:nth-child(2n){width:76%}.paper-note{position:absolute;right:20px;bottom:18px;font:8px/1 var(--mono);color:#667375}.product-copy h2{font-size:57px;letter-spacing:-2px;margin:27px 0}.product-copy p{font-size:15px}.product-copy .button{margin-top:27px}.status-pill{border:1px solid #496077;padding:8px 12px;display:inline-flex;gap:8px;align-items:center;color:#bad7ef;font:9px/1.5 var(--mono);letter-spacing:1px}.status-pill:before{content:"";width:4px;height:4px;background:var(--blue);border-radius:50%}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px}.article{display:flex;flex-direction:column}.article-art{height:205px;background:#121920;border:1px solid var(--line);position:relative;display:grid;place-items:center;overflow:hidden;margin-bottom:26px}.article-art.lines:before{content:"";width:100px;height:100px;border:1px solid #71899c;transform:rotate(45deg);box-shadow:16px 16px 0 -1px #121920,16px 16px 0 #3f5669,-16px -16px 0 -1px #121920,-16px -16px 0 #3f5669}.article-art.sphere:before{content:"";width:115px;height:115px;border-radius:50%;background:radial-gradient(circle at 30% 28%,#d6e6ed,#7494ac 30%,#15232f 68%);box-shadow:0 0 40px #455f7330}.article-art.grid:before{content:"";height:120px;width:150px;background:repeating-linear-gradient(0deg,transparent 0 29px,#475966 29px 30px),repeating-linear-gradient(90deg,transparent 0 29px,#475966 29px 30px);transform:perspective(150px) rotateX(25deg) rotateZ(-10deg)}.article h3{font-size:27px;letter-spacing:-1px;line-height:1.18;margin:16px 0 18px}.article p{font-size:14px}.article .text-link{margin-top:24px;align-self:flex-start}.bio-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center}.bio-mark{height:420px;position:relative;border:1px solid var(--line);background:radial-gradient(ellipse at 35% 35%,#203140,#0f151b 53%,#0a0d11);display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden}.bio-mark:after{content:"";position:absolute;inset:-20%;border:1px solid #455767;border-radius:50%;transform:rotate(-30deg) scaleY(.45)}.bio-initials{font-size:125px;line-height:1;font-weight:250;letter-spacing:-10px;color:#d4e0e8;z-index:1}.bio-mark>.eyebrow{position:absolute;bottom:25px;left:25px;right:25px;color:#a9b5c1;letter-spacing:1px;font-size:9px}.bio-copy h2{font-size:48px;line-height:1.1;margin:27px 0;letter-spacing:-2px}.bio-copy p{font-size:15px;margin-bottom:18px}.timeline{margin-top:48px}.timeline-item{display:grid;grid-template-columns:180px 1fr;gap:35px;padding:30px 0;border-top:1px solid var(--line)}.timeline-item h3{font-size:23px;margin-bottom:10px;letter-spacing:-.6px}.timeline-item p{font-size:14px}.timeline-date{font:10px/1.6 var(--mono);color:var(--blue);letter-spacing:.8px;padding-top:8px}.contact-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:100px;padding:70px 0 100px}.contact-copy h1{font-size:clamp(48px,5vw,74px);line-height:1.02;letter-spacing:-3px;margin:28px 0}.contact-copy>p{font-size:15px;max-width:430px}.contact-summary{margin-top:38px;max-width:440px}.contact-summary li{font-size:13px;padding:14px 0}.contact-copy .local-note{font-size:11px;margin-top:25px;max-width:400px}.contact-form{padding:35px;border:1px solid var(--line);background:var(--surface);align-self:start}.contact-form h2{font-size:28px;letter-spacing:-1px;margin-bottom:10px}.contact-form>p{font-size:12px;margin-bottom:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}.field{display:flex;flex-direction:column;gap:10px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:11px;color:#cdd1d6}.field label span{color:#9aa4af;font-size:10px}.field input,.field select,.field textarea{background:#0b0f13;border:1px solid #3b434d;color:var(--text);border-radius:0;padding:13px 14px;min-height:47px;width:100%;font-size:13px;line-height:1.5;transition:border-color .2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);outline-offset:3px}.field input::placeholder,.field textarea::placeholder{color:#8995a2;font-size:12px}.field textarea{resize:vertical;min-height:94px}.form-help{font-size:11px;color:#9fb1c1;line-height:1.65}.contact-form .button{width:100%;margin-top:26px}.form-privacy{font-size:10px!important;margin:15px 0 0!important;line-height:1.7!important;color:#a0aab4!important}.form-demo{font:9px/1.7 var(--mono)!important;letter-spacing:.5px;color:#a5bdd0!important;padding:13px;border:1px solid #334454;margin:19px 0 0!important;background:#101a24}.form-status{margin-top:20px;padding:17px;border-left:2px solid var(--blue);background:#152331;color:#d1e6f7;font-size:13px;line-height:1.6}.faq{margin-top:35px}.faq details{border-top:1px solid var(--line);padding:25px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-size:17px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:25px;line-height:1.5}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--blue);font:22px/1.2 var(--mono)}.faq details[open] summary:after{content:"−"}.faq details p{font-size:14px;max-width:750px;margin:20px 0 0;line-height:1.8}dialog{background:#11161c;color:var(--text);border:1px solid #3e4b59;width:min(740px,calc(100% - 40px));max-height:85svh;padding:32px;box-shadow:0 40px 100px #0009}dialog::backdrop{background:#020508cc;backdrop-filter:blur(8px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:28px}.icon-button{font-size:27px;padding:4px 12px;line-height:1}.dialog-title{font-size:37px;letter-spacing:-1.4px;line-height:1.1;margin:20px 0}.dialog-content p{font-size:14px;margin:15px 0}.dialog-content h3{font-size:20px;margin:28px 0 12px}.dialog-content ul{padding-left:20px;color:var(--muted);font-size:14px;line-height:1.8}.dialog-content .eyebrow{font-size:9px}.no-script{padding:40px;text-align:center}.mobile-nav{background:#0a0e12;border-bottom:1px solid var(--line);padding:25px var(--pad);position:fixed;z-index:35;top:79px;left:0;right:0}.mobile-nav a{display:block;padding:15px 0;border-bottom:1px solid var(--line);font-size:17px}.mobile-nav a:last-child{color:var(--blue)}.page-enter{animation:pageEnter .4s both}@keyframes pageEnter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1650px){.hero-content{padding-left:var(--pad);padding-right:var(--pad)}.hero-image{object-position:center 49%}}
@media(max-width:1180px){.desktop-nav{gap:17px}.desktop-nav a{font-size:10px}.site-header{gap:22px}.brand-symbol{font-size:37px}.brand-slash{font-size:48px}.brand-words{font-size:9px}.header-cta{gap:14px}.dark-split,.training-feature,.audit-grid,.product-feature,.bio-layout,.contact-layout{gap:55px}.hero h1{letter-spacing:-3.5px}.hero-side{bottom:164px}.course{padding:23px}.course h3{font-size:24px}}
@media(max-width:980px){.site-header{height:80px}.desktop-nav{display:none}.header-cta{margin-left:auto}.menu-toggle{display:flex;flex-direction:column;gap:6px;padding:12px 0 12px 12px;min-width:40px;align-items:center}.menu-toggle span{width:22px;height:1px;background:var(--text)}.hero{height:calc(100svh - 80px);min-height:720px}.hero-content{padding-top:75px}.hero-coordinate{top:25px}.hero h1{font-size:78px}.hero-side{display:none}.section{padding:80px 0}.offer-card{padding:25px}.offer-card h3{font-size:24px}.offer-card p{font-size:13px}.training-feature{gap:40px}.training-visual{height:360px}.orbit-ring,.orbit-ring:nth-child(2),.orbit-ring:nth-child(3){width:280px;height:280px}.contact-layout{gap:40px}.contact-form{padding:25px}.footer-line{align-items:flex-start;flex-direction:column}.footer-top p{margin-left:10px}.audience-panel{gap:40px}.course-grid{gap:14px}.course h3{font-size:22px}.course p{font-size:13px}.product-feature{gap:40px}.page-top .subtitle-row{align-items:flex-start;flex-direction:column;gap:25px}.training-trust{gap:40px;padding:30px}.section-title-row{gap:40px}.section-title-row p{max-width:280px}.dark-split{gap:40px}.form-grid{gap:19px 13px}}
@media(max-width:700px){:root{--pad:23px}.site-header{gap:15px}.header-cta{font-size:10px;gap:13px;min-height:39px;padding:10px 12px}.hero{height:auto;min-height:800px;max-height:none}.hero-content{padding:81px var(--pad) 175px;margin:0}.hero h1{font-size:clamp(48px,11vw,77px);letter-spacing:-2.8px;line-height:1.03;margin-top:25px}.hero-copy{max-width:330px;font-size:15px}.hero-image{object-position:69% 50%;opacity:.8}.hero:before{background:linear-gradient(90deg,#050709dd,#05070960),linear-gradient(0deg,var(--bg),transparent 32%)}.hero-actions{flex-direction:column;align-items:flex-start;gap:12px;margin-top:28px}.hero-actions .button{min-width:224px;min-height:53px}.hero-coordinate{font-size:8px;top:21px;right:var(--pad);line-height:1.7}.hero-coordinate span{display:none}.hero-content>.eyebrow{font-size:9px;max-width:250px;letter-spacing:1.4px}.local-note{max-width:300px;font-size:10px}.hero-rail{display:block;padding:22px 0;line-height:1.7;font-size:9px}.hero-rail .rail-right{display:block;margin-top:10px;font-size:8px}.section{padding:66px 0}.section-title-row{display:block;margin:25px 0 35px}.section h2,.section-heading{font-size:37px;letter-spacing:-1.8px}.section-title-row p{max-width:100%;margin-top:25px}.offer-grid{grid-template-columns:1fr}.offer-card{border-left:1px solid var(--line);border-bottom:0;min-height:285px;padding:26px}.offer-card:last-child{border-bottom:1px solid var(--line)}.offer-card h3{margin:25px 0 16px;font-size:27px}.offer-card p{max-width:100%;font-size:14px}.offer-card .text-link{margin-top:25px}.dark-split,.training-feature,.audit-grid,.split-intro,.audience-panel,.product-feature,.bio-layout,.contact-layout{grid-template-columns:1fr;gap:40px}.training-feature{gap:35px}.training-visual{height:330px}.training-copy h2{font-size:41px;letter-spacing:-2px}.training-copy{grid-row:1}.tagline{font-size:9px;gap:15px}.audit-grid{margin-top:27px}.audit-grid h2{font-size:47px;letter-spacing:-2px}.dept{min-height:140px;padding:23px}.dept strong{font-size:48px}.dept span{font-size:11px}.process-art{min-height:340px}.flow-node{font-size:11px;padding:17px 15px}.flow-row{gap:9px;grid-template-columns:1fr 16px 1fr}.flow-result{font-size:11px}.footer-top{flex-wrap:wrap;gap:27px;padding-bottom:33px}.footer-top p{font-size:12px;margin:0;flex:1;min-width:170px}.footer-top .text-link{margin-top:8px}.site-footer{padding-top:43px}.footer-line{font-size:10px;gap:20px}.footer-line div{gap:15px;flex-wrap:wrap}.footer-line button{font-size:10px}.footer-bottom{align-items:flex-start;flex-wrap:wrap;font-size:8px;gap:18px}.footer-bottom>span:nth-child(2){order:3;width:100%;font-size:7px}.preview-label{font-size:7px;padding:6px 9px;left:12px;bottom:10px}.page-top{padding:52px 0 50px}.page-top h1{font-size:47px;letter-spacing:-2.2px;line-height:1.04;margin-top:25px}.page-top p{font-size:15px}.breadcrumb{font-size:9px}.split-intro .body-copy{padding-top:0}.body-copy p{font-size:15px}.list-row{grid-template-columns:27px 1fr;gap:13px;padding:25px 0}.list-row p{grid-column:2}.list-row h3{font-size:23px}.list-row .n{font-size:10px}.benefit-grid,.course-grid,.article-grid{grid-template-columns:1fr;gap:30px}.benefit-grid{margin-top:38px}.benefit-item{padding-top:20px}.benefit-item h3{margin-top:15px}.cta-band{display:block;padding:28px;margin-top:39px}.cta-band h3{font-size:27px}.cta-band .button{margin-top:25px}.tabs button{padding:16px 15px;font-size:12px}.audience-panel h3{font-size:34px}.course{min-height:280px;padding:28px}.course h3{font-size:27px;max-width:300px}.course p{font-size:14px}.training-trust{grid-template-columns:1fr;gap:24px;padding:28px;margin-top:38px}.training-trust .qual-line{font-size:14px}.product-copy h2{font-size:48px}.product-art{min-height:370px}.article-art{height:210px}.article-grid{gap:44px}.article h3{font-size:28px}.bio-mark{height:330px}.bio-copy h2{font-size:39px}.timeline-item{grid-template-columns:1fr;gap:15px}.contact-layout{padding:49px 0 65px;gap:36px}.contact-copy h1{font-size:49px;letter-spacing:-2.6px}.contact-form{padding:26px 20px}.form-grid{grid-template-columns:1fr;gap:21px}.form-grid .field{grid-column:1}.contact-summary{margin-top:25px}.form-demo{font-size:8px!important}.faq summary{font-size:15px}.faq details p{font-size:13px}dialog{padding:23px;width:calc(100% - 28px)}.dialog-title{font-size:30px}.dialog-top .eyebrow{font-size:8px}.section-title-row .text-link{margin-top:23px}}
@media(max-width:360px){.hero h1{font-size:40px;letter-spacing:-2.3px}.page-top h1{font-size:42px}.contact-copy h1{font-size:44px}.section h2{font-size:34px}.hero-content>.eyebrow{font-size:8px}.header-cta{padding:10px;gap:10px}.brand-words{font-size:8px;letter-spacing:1.5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.page-enter{animation:none}*,*:before,*:after{transition:none!important;animation:none!important}.button:hover{transform:none}}

/* IA agentique — ajout Claude 29/09/2026, même langage que le reste (filets, mono, bleu glacier). */
.agent-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:90px;align-items:center}
.agent-feature .section-intro .button{margin-top:32px}
.agent-followup{margin-top:18px;color:var(--text)}
.agent-diagram{margin:0;border:1px solid var(--line);background:var(--surface);padding:30px;display:flex;flex-direction:column;align-items:stretch}
.agent-diagram figcaption{margin-bottom:24px}
.agent-kicker{display:block;font:9px/1.5 var(--mono);letter-spacing:1.8px;text-transform:uppercase;color:var(--blue);margin-bottom:8px}
.agent-owner,.agent-coordinator,.agent-check{border:1px solid var(--line);padding:18px 20px;background:var(--bg)}
.agent-owner strong,.agent-coordinator strong{font-size:19px;font-weight:500;letter-spacing:-.4px;display:block}
.agent-owner{border-color:rgba(171,213,244,.45)}
.agent-coordinator p,.agent-check p{font-size:13px;margin-top:6px;line-height:1.6}
.agent-stem{width:1px;height:26px;background:var(--line);margin:0 auto}
.agent-branches{display:grid;grid-template-columns:repeat(3,1fr);height:26px;position:relative}
.agent-branches::before{content:"";position:absolute;top:13px;left:16.66%;right:16.66%;border-top:1px solid var(--line)}
.agent-branches::after{content:"";position:absolute;top:0;left:50%;height:13px;border-left:1px solid var(--line)}
.agent-branches i{display:block;width:1px;height:13px;margin:13px auto 0;background:var(--line)}
.agent-specialists{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.agent-specialists>div{border:1px solid var(--line);padding:16px 14px;background:var(--bg)}
.agent-specialists span{font:10px/1 var(--mono);color:var(--muted)}
.agent-specialists strong{display:block;font-size:16px;font-weight:500;margin:12px 0 4px;letter-spacing:-.3px}
.agent-specialists p{font-size:12px;line-height:1.5}
.agent-check{margin-top:26px;border-style:dashed}
.agent-diagram-foot{display:flex;justify-content:space-between;gap:16px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line);font:9px/1.5 var(--mono);letter-spacing:1.6px;color:var(--muted)}
.agent-feature-section{background:linear-gradient(180deg,var(--bg),#0b0e11)}
.offer-grid-four{grid-template-columns:repeat(4,1fr)}
.offer-agent{background:var(--surface)}
.offer-agent:hover{background:var(--surface2)}
.offer-agent .line-icon{color:var(--text)}
.course-grid-four{grid-template-columns:repeat(4,1fr)}
@media(max-width:1180px){.agent-feature{gap:56px}.offer-grid-four{grid-template-columns:repeat(2,1fr)}.offer-grid-four .offer-card:nth-child(3){border-left:1px solid var(--line)}.offer-grid-four .offer-card:nth-child(-n+2){border-bottom:0}.course-grid-four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.agent-feature{grid-template-columns:1fr;gap:48px}.agent-diagram{max-width:640px}}
@media(max-width:700px){.offer-grid-four{grid-template-columns:1fr}.offer-grid-four .offer-card:nth-child(-n+2){border-bottom:0}.course-grid-four{grid-template-columns:1fr}.agent-diagram{padding:20px}.agent-specialists{gap:6px}.agent-specialists>div{padding:12px 9px}.agent-specialists strong{font-size:14px}.agent-specialists p{font-size:11px}.agent-diagram-foot{flex-direction:column;gap:4px}}
@media(max-width:360px){.agent-specialists{grid-template-columns:1fr}.agent-branches{display:none}.agent-specialists>div+div{margin-top:0}}

/* Go d'Anthony 29/09 : preuve par l'usage, portrait, photo du prix. */
.usage-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}
.usage-item{padding:32px 30px;border-right:1px solid var(--line)}
.usage-item:last-child{border-right:0}
.usage-status{display:inline-flex;align-items:center;gap:9px;font:9px/1.5 var(--mono);letter-spacing:1.6px;color:var(--blue)}
.usage-status:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(171,213,244,.12)}
.usage-item h3{font-size:23px;letter-spacing:-.7px;line-height:1.2;margin:24px 0 14px}
.usage-item p{font-size:14px}
.usage-note{margin-top:22px;font-size:13px;max-width:640px}
.bio-photo{width:min(58%,250px);aspect-ratio:1;height:auto;border-radius:50%;object-fit:cover;position:relative;z-index:1;margin-bottom:36px;box-shadow:0 0 0 1px rgba(171,213,244,.35),0 0 0 10px rgba(8,10,12,.45),0 0 0 11px rgba(171,213,244,.14)}
.timeline-body{display:flex;justify-content:space-between;align-items:center;gap:30px}
.timeline-photo{width:118px;height:118px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:0 0 0 1px var(--line)}
@media(max-width:980px){.usage-grid{grid-template-columns:1fr}.usage-item{border-right:0;border-bottom:1px solid var(--line)}.usage-item:last-child{border-bottom:0}}
@media(max-width:700px){.usage-item{padding:26px}.bio-photo{width:min(52%,190px);margin-bottom:30px}.timeline-photo{width:84px;height:84px}.timeline-body{gap:18px}}

/* Site multipage — ajout Claude 29/09/2026. Aucune règle existante modifiée : seulement les nouveaux éléments. */
.article a.text-link{padding:1px 6px 9px}
.champ-piege{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.form-privacy a{text-decoration:underline;text-underline-offset:2px}
.form-privacy a:hover{color:var(--blue)}
.form-status.is-error{border-left-color:#e7b3a6;background:#241a19;color:#f3dcd5}
.contact-form .button:disabled{opacity:.6;transform:none}
.note-top h1{font-size:clamp(40px,5vw,72px);letter-spacing:-2.6px;line-height:1.06;max-width:980px}
.note-layout{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:90px;align-items:start}
.note-aside .eyebrow{margin-bottom:22px}
.note-aside .article-art{margin-bottom:0}
.prose{max-width:720px}
.prose p{font-size:16px;margin:0 0 20px}
.section .prose h2,.page-top .prose h2{font-size:22px;letter-spacing:-.5px;line-height:1.3;margin:40px 0 12px;max-width:none}
.prose h3{font-size:18px;letter-spacing:-.3px;line-height:1.35;margin:28px 0 10px}
.prose>:first-child{margin-top:0}
.prose ul,.prose ol{color:var(--muted);font-size:16px;line-height:1.7;padding-left:22px;margin:0 0 20px}
.prose li{margin-bottom:6px}
.prose a{color:var(--text);text-decoration:underline;text-decoration-color:#68717d;text-underline-offset:3px}
.prose a:hover{color:var(--blue);text-decoration-color:var(--blue)}
.prose strong{font-weight:500;color:var(--text)}
.legal-top .prose{margin-top:30px}
.note-next{margin-top:70px;padding-top:30px;border-top:1px solid var(--line)}
.note-next-links{display:flex;flex-wrap:wrap;gap:22px 44px;margin-top:22px}
@media(max-width:980px){.note-layout{grid-template-columns:1fr;gap:40px}
.note-aside .article-art{max-width:420px}
}
@media(max-width:700px){.note-top h1{font-size:38px;letter-spacing:-1.6px;line-height:1.08}
.prose p,.prose ul,.prose ol{font-size:15px}
.section .prose h2,.page-top .prose h2{font-size:20px}
.note-next{margin-top:50px}
.note-aside .article-art{height:160px}
}
@media(max-width:360px){.note-top h1{font-size:33px;letter-spacing:-1.2px}
}
/* Pages légales — assemblage 29/09/2026 : liens des paragraphes soulignés (repérables sans la couleur). */
.legal-section p a:not([class]){color:var(--text);text-decoration:underline;text-decoration-color:#68717d;text-underline-offset:3px}
.legal-section p a:not([class]):hover{color:var(--blue);text-decoration-color:var(--blue)}
/* Corrections de la relecture du 29/09/2026 — ajouts seulement, aucune règle existante modifiée. */
/* Menu mobile : il défile lui-même quand l’écran est bas (téléphone tourné, fort zoom), le dernier lien reste atteignable. */
.mobile-nav{max-height:calc(100vh - 79px);max-height:calc(100dvh - 79px);overflow-y:auto;overscroll-behavior:contain}
/* Section claire de l’accueil : contour de focus foncé (le bleu glacier y est presque invisible, contraste 1,33:1). */
.light-section :focus-visible{outline-color:var(--ink)}
/* Titres passés de h3 à h2 (onglets des formations, cartes des ressources) : rendu identique à l’ancien h3. */
.section .audience-panel h2{font-size:39px;letter-spacing:-1.7px;line-height:1.1;margin-bottom:24px;max-width:none}
.section .article h2{font-size:27px;letter-spacing:-1px;line-height:1.18;margin:16px 0 18px;max-width:none}
@media(max-width:700px){.section .audience-panel h2{font-size:34px}.section .article h2{font-size:28px}}
/* Parcours d’À propos et photos du prix CBRE 2023 — ajout Claude 29/09/2026 (ajouts seulement, aucune règle existante modifiée ; .timeline-body et .timeline-photo ne servent plus). */
.timeline-item .timeline-sub{color:var(--text);margin-bottom:12px}
.timeline-list{list-style:none;margin:0;padding:0;max-width:780px}
.timeline-list li{display:flex;gap:14px;font-size:14px;line-height:1.7;color:var(--muted);padding:4px 0}
.timeline-list li:before{content:"+";color:var(--blue);font-family:var(--mono);flex-shrink:0}
/* (Règles .prize-photos de la première mise en page des photos du prix retirées le 29/09 au soir : Anthony a retenu la variante 1, « bande claire », voir « Photos du prix CBRE 2023 » en fin de fichier.) */
/* Relecture d’À propos, 29/09/2026 (ajouts seulement) : la puce « + » est décorative, les lecteurs d’écran ne la lisent plus (texte de remplacement vide ; un navigateur qui ignore cette syntaxe garde la règle précédente). */
.timeline-list li:before,.checklist li:before{content:"+" / ""}
/* Affichage clair / sombre — ajout Claude 29/09/2026 (ajouts seulement, aucune règle existante modifiée).
   assets/theme.js pose <html data-theme="light|dark"> avant l’affichage : réglage de l’appareil par défaut, choix du visiteur après un clic.
   Le thème sombre (par défaut, et sans JavaScript) est rendu par les règles d’origine : rien ci-dessous ne s’applique à data-theme="dark", sauf le bouton.
   Contrastes mesurés (fond #f4f4ef, avant le passage aux blancs neutres du 30/09/2026 — voir fin de fichier) : texte 16,6:1 ; secondaire 6,6:1 ; bleu 5,8:1 (5,4:1 sur le pied #ecece6) ; contour des champs 3,7:1. */
/* Bouton : dans l’en-tête au-delà de 980 px, dans le menu mobile en dessous ; absent tant que data-theme n’est pas posé. */
.theme-toggle,.theme-toggle-menu{display:none}
:root[data-theme] .theme-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:43px;height:43px;margin-right:-14px;border:1px solid #68717d;color:var(--text)}
.theme-toggle:hover{border-color:var(--blue);color:var(--blue)}
.theme-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
:root[data-theme=light] .theme-toggle .theme-icon-soleil,:root:not([data-theme=light]) .theme-toggle .theme-icon-lune{display:none}
:root[data-theme] .theme-toggle-menu{display:flex;align-items:center;gap:14px;width:100%;padding:15px 0;border-bottom:1px solid var(--line);font-size:17px;text-align:left}
.theme-switch{margin-left:auto;width:36px;height:20px;border:1px solid #68717d;position:relative;flex-shrink:0}
.theme-switch:after{content:"";position:absolute;top:4px;left:4px;width:10px;height:10px;background:var(--muted);transition:left .2s}
.theme-toggle-menu[aria-pressed=true] .theme-switch:after{left:20px;background:var(--blue)}
.mobile-nav a:last-of-type{color:var(--blue)}
@media(max-width:980px){:root[data-theme] .theme-toggle{display:none}}
/* Jetons du thème clair. --ink sert au texte posé sur --text (boutons) : il devient clair. --light (respiration de l’accueil) devient une bande sombre. */
:root[data-theme=light]{color-scheme:light;--bg:#f6f8fa;--surface:#ffffff;--surface2:#eef1f4;--text:#121519;--muted:#4f5862;--line:#cdd3da;--blue:#27648f;--light:#0d1014;--ink:#f6f8fa}
/* Zones qui restent sombres dans les deux thèmes (Terre, illustrations) : jetons du thème sombre rétablis. */
:root[data-theme=light] :is(.hero,.training-visual,.product-art,.article-art,.bio-mark){color-scheme:dark;--bg:#080a0c;--surface:#101316;--surface2:#171b20;--text:#f4f4ef;--muted:#a6adb6;--line:#2a3038;--blue:#abd5f4;--light:#edeee9;--ink:#161a1e;color:var(--text)}
:root[data-theme=light] .training-visual{box-shadow:0 0 0 1px #2a3038}
/* En-tête, menu mobile, pied */
:root[data-theme=light] .site-header{background:rgba(246,248,250,.94);border-bottom-color:rgba(18,21,25,.12)}
:root[data-theme=light] .desktop-nav a{color:#3d4550}
:root[data-theme=light] .desktop-nav a:hover,:root[data-theme=light] .desktop-nav a[aria-current=page]{color:var(--text)}
:root[data-theme=light] .mobile-nav{background:var(--bg)}
:root[data-theme=light] .site-footer{background:#eef1f4}
:root[data-theme=light] .breadcrumb a{color:var(--text)}
/* Respiration « formation » de l’accueil : bande sombre en thème clair (même rythme que la bande claire du thème sombre). */
:root[data-theme=light] .light-section{border-color:var(--light)}
:root[data-theme=light] .light-section .training-copy p,:root[data-theme=light] .light-section .training-copy .eyebrow,:root[data-theme=light] .light-section .tagline{color:#a6adb6}
:root[data-theme=light] .light-section .text-link{border-color:#68717d}
/* Schémas (équipe d’agents, flux) et éléments d’interface */
:root[data-theme=light] .agent-feature-section{background:linear-gradient(180deg,var(--bg),#eef1f4)}
:root[data-theme=light] .agent-owner{border-color:rgba(39,100,143,.5)}
:root[data-theme=light] .usage-status:before{box-shadow:0 0 0 4px rgba(39,100,143,.14)}
:root[data-theme=light] .process-art{background:radial-gradient(ellipse at 50% 48%,#e1e6e8 0,transparent 69%)}
:root[data-theme=light] .flow-node{background:rgba(255,255,255,.85);border-color:#b9c0c5}
:root[data-theme=light] .flow-arrow{color:#5f7386}
:root[data-theme=light] .mini-cross{color:#7b8a97}
:root[data-theme=light] .audit-footnote{color:var(--muted)}
:root[data-theme=light] .training-trust .qual-line{color:var(--text)}
:root[data-theme=light] .status-pill{border-color:#8aa3b8;color:var(--blue)}
/* Formulaire */
:root[data-theme=light] .contact-copy .local-note{color:var(--muted)}
:root[data-theme=light] .field label{color:#2c333a}
:root[data-theme=light] .field label span{color:var(--muted)}
:root[data-theme=light] .field input,:root[data-theme=light] .field select,:root[data-theme=light] .field textarea{background:#ffffff;border-color:#7b848d}
:root[data-theme=light] .field input:focus,:root[data-theme=light] .field select:focus,:root[data-theme=light] .field textarea:focus{border-color:var(--blue)}
:root[data-theme=light] .field input::placeholder,:root[data-theme=light] .field textarea::placeholder{color:#646e79}
:root[data-theme=light] .form-help{color:#3d5a72}
:root[data-theme=light] .form-privacy{color:var(--muted)!important}
:root[data-theme=light] .form-demo{color:#2d5573!important;border-color:#b7c7d4;background:#eaf0f4}
:root[data-theme=light] .form-status{background:#e6eef5;color:#1d3a51}
:root[data-theme=light] .form-status.is-error{border-left-color:#b4533b;background:#f8ebe7;color:#5a2417}
/* Fenêtres */
:root[data-theme=light] dialog{background:#ffffff;border-color:#cdd3da;box-shadow:0 40px 100px rgba(18,21,25,.18)}
:root[data-theme=light] dialog::backdrop{background:rgba(18,21,25,.5)}
/* Mouvements au défilement — ajout Claude 29/09/2026 (ajouts seulement, aucune règle existante modifiée).
   assets/theme.js pose la classe « mvt » sur <html> seulement si le visiteur n’a pas demandé moins d’animations ; assets/mouvement.js ajoute « mvt-pret » une fois prêt.
   Tout est réservé à @media screen and (prefers-reduced-motion:no-preference) : animations réduites, impression ou JavaScript absent → rien n’est masqué ni animé (rendu d’origine).
   Uniquement transform et opacity (composition GPU) : aucune règle ne change la mise en page. */
/* Correction constatée pendant cette étape (affichage clair, mobile) : la Terre y est à 80 % d’opacité (règle d’origine) et laissait passer 20 % du fond clair de la page, ciel grisé. Fond sombre sous la Terre, comme en affichage sombre (rendu sombre inchangé). */
:root[data-theme=light] .hero{background-color:#080a0c}
.hero-soleil,.hero-etoiles{display:none}
@media screen and (prefers-reduced-motion:no-preference){
/* Accueil : la Terre tourne autour du centre de la planète (loin en bas à droite ; position calculée par assets/mouvement.js), jusqu’à 2,4° quand la Terre quitte l’écran. Le texte ne bouge pas. Fond noir comme l’espace de l’image : la bande découverte à gauche par la rotation reste invisible. */
:root.mvt-pret .hero{background-color:#000}
html.mvt-pret .hero-image{transform-origin:var(--terre-cx) var(--terre-cy);transform:rotate(calc(var(--terre-p,0) * 2.4deg));will-change:transform}
/* Lever de soleil : halo chaud au bord droit, sur l’horizon, qui s’intensifie légèrement (opacité seule). Il ne tourne pas avec la Terre : la lumière reste où elle est, la planète tourne vers elle. */
html.mvt-pret .hero-soleil{display:block;position:absolute;inset:0;z-index:-3;pointer-events:none;background:radial-gradient(circle calc(var(--terre-echelle,1) * 640px) at var(--soleil-x) var(--soleil-y),rgba(255,243,224,.62),rgba(255,221,182,.24) 16%,rgba(171,213,244,.08) 44%,transparent 100%);opacity:calc(min(1,var(--terre-p,0) * 2.2) * .85);will-change:opacity}
/* Deux couches d’étoiles fines (une petite image vectorielle répétée à deux échelles), jamais devant la planète (masque sur l’horizon). */
html.mvt-pret .hero-etoiles{display:block;position:absolute;inset:0;z-index:-3;overflow:hidden;pointer-events:none;-webkit-mask-image:radial-gradient(circle calc(var(--terre-r) + 70px) at var(--terre-cx) var(--terre-cy),transparent calc(100% - 55px),#000 100%);mask-image:radial-gradient(circle calc(var(--terre-r) + 70px) at var(--terre-cx) var(--terre-cy),transparent calc(100% - 55px),#000 100%)}
html.mvt-pret .hero-etoiles i{position:absolute;left:0;right:0;top:-60%;bottom:0;background:url(/assets/etoiles.svg?v=10535d6fe1) repeat;will-change:transform}
html.mvt-pret .etoiles-loin{background-size:470px 470px;opacity:.5;transform:translate3d(0,calc(var(--terre-defil,0) * .45px),0)}
html.mvt-pret .etoiles-pres{background-size:780px 780px;background-position:230px 140px;opacity:.85;transform:translate3d(0,calc(var(--terre-defil,0) * .2px),0)}
/* Schéma des agents : il se construit une fois, quand il entre dans l’écran (1,6 s) — vous, trait, coordinateur, branches, agents 01 → 03, contrôle. Masqué dès l’affichage (classe « mvt » posée dans <head>). */
html.mvt .agent-diagram:not(.construit) :is(.agent-owner,.agent-coordinator,.agent-specialists>div,.agent-check,.agent-diagram-foot){opacity:0;transform:translateY(10px)}
html.mvt .agent-diagram:not(.construit) .agent-stem,html.mvt .agent-diagram:not(.construit) .agent-branches i,html.mvt .agent-diagram:not(.construit) .agent-branches:after{transform:scaleY(0)}
html.mvt .agent-diagram:not(.construit) .agent-branches:before{transform:scaleX(0)}
html.mvt .agent-stem,html.mvt .agent-branches i,html.mvt .agent-branches:after{transform-origin:50% 0}
html.mvt .agent-diagram.construit :is(.agent-owner,.agent-coordinator,.agent-specialists>div,.agent-check,.agent-diagram-foot){transition:opacity .4s ease-out var(--etape,0s),transform .4s cubic-bezier(.2,.7,.2,1) var(--etape,0s)}
html.mvt .agent-diagram.construit .agent-stem,html.mvt .agent-diagram.construit .agent-branches i,html.mvt .agent-diagram.construit .agent-branches:before,html.mvt .agent-diagram.construit .agent-branches:after{transition:transform .26s cubic-bezier(.3,.6,.3,1) var(--etape,0s)}
html.mvt .agent-diagram .agent-stem{--etape:.22s}
html.mvt .agent-diagram .agent-coordinator{--etape:.32s}
html.mvt .agent-diagram .agent-branches:after{--etape:.56s}
html.mvt .agent-diagram .agent-branches:before{--etape:.64s}
html.mvt .agent-diagram .agent-branches i{--etape:.74s}
html.mvt .agent-diagram .agent-specialists>div:nth-child(1){--etape:.8s}
html.mvt .agent-diagram .agent-specialists>div:nth-child(2){--etape:.91s}
html.mvt .agent-diagram .agent-specialists>div:nth-child(3){--etape:1.02s}
html.mvt .agent-diagram .agent-check{--etape:1.14s}
html.mvt .agent-diagram .agent-diagram-foot{--etape:1.2s}
/* Filet de sécurité : si assets/mouvement.js ne s’exécute pas (erreur, fichier bloqué), le schéma apparaît quand même au bout de 3 s. */
html.mvt:not(.mvt-pret) .agent-diagram :is(.agent-owner,.agent-coordinator,.agent-specialists>div,.agent-check,.agent-diagram-foot,.agent-stem,.agent-branches i),html.mvt:not(.mvt-pret) .agent-diagram .agent-branches:before,html.mvt:not(.mvt-pret) .agent-diagram .agent-branches:after{animation:mvt-secours .4s 3s both}
/* Apparition des sections (classe posée par assets/mouvement.js sur les seules sections sous le bas de l’écran au chargement). */
html.mvt .a-reveler:not(.revele){opacity:0;transform:translateY(14px)}
html.mvt .a-reveler.revele{transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
}
@keyframes mvt-secours{to{opacity:1;transform:none}}

/* Photos du prix CBRE 2023 : variante 1 « bande claire éditoriale », choisie par Anthony le 29/09/2026. */
.prize-band{--bande-fond:#edeee9;--bande-encre:#161a1e;--bande-texte:#4f5862;--bande-filet:#c6cbc6;color-scheme:light;background:var(--bande-fond);color:var(--bande-encre);border-bottom-color:var(--bande-filet);padding:96px 0}
:root[data-theme=light] .prize-band{--bande-fond:#e9edf1;--bande-filet:#c9d0d8;border-top:1px solid var(--bande-filet)}
.prize-band .eyebrow{color:var(--bande-texte)}
.prize-band h2{margin-top:22px;font-size:clamp(32px,3.2vw,46px);line-height:1.06;letter-spacing:-1.6px;max-width:9.6em;color:var(--bande-encre)}
.prize-band-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,640px);column-gap:clamp(40px,6vw,96px);align-items:start}
.prize-band-photos{display:flex;align-items:flex-start;gap:4.5%;width:100%;max-width:640px}
.prize-band-photo{margin:0;min-width:0;flex:none}
.prize-band-photo img{width:100%;height:auto;box-shadow:0 0 0 1px rgba(22,26,30,.14)}
.prize-band-photo-grande{width:min(56%,360px,55vh)}
.prize-band-photo-petite{width:min(39%,250px,37.5vh);margin-top:min(20%,128px,20vh)}
.prize-band-photo figcaption{margin-top:14px;padding-top:12px;border-top:1px solid var(--bande-filet);font-size:11px;line-height:1.6;color:var(--bande-texte)}
@media(min-width:981px){.prize-band-grille{align-items:center}}
@media(min-width:981px) and (max-width:1180px){.prize-band-grille{grid-template-columns:minmax(0,1fr) minmax(0,560px)}}
@media(max-width:980px){.prize-band{padding:80px 0}.prize-band-grille{grid-template-columns:minmax(0,1fr);row-gap:44px}}
@media(max-width:700px){.prize-band{padding:62px 0}.prize-band h2{font-size:32px;letter-spacing:-1.3px;margin-top:18px}.prize-band-grille{row-gap:32px}}

/* Corrections après les relectures du 29/09 au soir (thème, mouvements, accessibilité) — ajouts seulement.
   1. Bord des champs du formulaire en affichage sombre (celui par défaut et sans JavaScript) : #3b434d donnait 1,86:1 sur
      #101316, sous le minimum de 3:1 des éléments d’interface (WCAG 1.4.11). #68717d, déjà la couleur du bord des boutons
      contour : 3,77:1 et 3,89:1. Même spécificité que la règle d’origine : l’affichage clair (règle plus précise) et le
      bord bleu du focus (:focus) restent prioritaires. */
.field input,.field select,.field textarea{border-color:#68717d}
/* 2. Affichage clair : pas de halo derrière le schéma de flux (en clair, il se lisait comme une tache grise autour des cadres blancs). */
:root[data-theme=light] .process-art{background:none}
/* 3. Contraste élevé de Windows (forced-colors) : la pastille de l’interrupteur « Affichage clair » du menu mobile
      disparaissait (fond remplacé par le navigateur) ; elle garde une couleur système, celle de la sélection quand il est activé. */
@media (forced-colors:active){.theme-switch:after{forced-color-adjust:none;background:CanvasText}.theme-toggle-menu[aria-pressed=true] .theme-switch:after{background:Highlight}}
@media screen and (prefers-reduced-motion:no-preference){
/* 4. Étoiles : fondu à l’arrivée de l’image (classe « etoiles-ok » posée par assets/mouvement.js), au lieu d’une apparition d’un coup. */
html.mvt-pret .hero-etoiles{opacity:0;transition:opacity 1.2s ease-out}
html.mvt-pret .hero.etoiles-ok .hero-etoiles{opacity:1}
/* 5. Couches d’étoiles calées sur leur course réelle (0,45 et 0,2 px par pixel défilé, Terre de 720 à 1 000 px de haut sous
      l’en-tête : au plus 51 % et 23 % de sa hauteur) au lieu de 60 % : calques plus petits, moins de mémoire graphique. */
html.mvt-pret .hero-etoiles i.etoiles-loin{top:-52%}
html.mvt-pret .hero-etoiles i.etoiles-pres{top:-24%}
}

/* Image de la Terre de l’accueil en WebP (29/09/2026, ajout seulement) : <picture> n’apporte aucune boîte à la mise en page,
   l’image .hero-image reste positionnée dans .hero exactement comme avant (rendu comparé au pixel, tests/comparer-image-accueil.cjs). */
.hero-picture{display:contents}
/* Bouton « Cadrage gratuit » de l’en-tête (29/09/2026, ajout seulement) : le libellé, plus long que l’ancien, passait sur deux
   lignes sous 329 px de large. En dessous de 340 px, écarts de l’en-tête 15 → 10 px et flèche 10 → 8 px : une seule ligne,
   marges de page (23 px) conservées. Rien ne change au-delà de 340 px. */
@media(max-width:340px){.site-header{gap:10px}.header-cta{white-space:nowrap;gap:8px}}

/* Formulaire v2 (30/09/2026, étape B) — ajouts seulement, aucune règle existante modifiée.
   « Votre demande » en cartes sélectionnables : de vrais boutons radio (flèches du clavier, lecteurs d’écran), posés
   transparents sur toute la carte ; le repère carré et le bord bleu disent l’état coché (bords des repères ≥ 3:1,
   WCAG 1.4.11). Une colonne dans un cadre étroit (téléphone), deux au-delà de 360 px de large, trois au-delà de 600 px
   (requêtes de conteneur ; un navigateur qui ne les connaît pas garde une colonne). Cartes de 58 px au moins (cibles
   tactiles ≥ 44 px). Messages d’erreur sous les champs, envoi en cours, confirmation à la place du formulaire.
   Aucune animation quand le visiteur réduit les animations.
   Relecture du 30/09 : bord des cartes = bord des champs (#68717d, clair #7b848d), cartes de 88 px au lieu de 112 en
   deux colonnes, champs sur une colonne quand le cadre du formulaire est étroit, lien de retour de 44 px. */
.choix-demande{border:0;margin:0 0 28px;padding:0 0 30px;min-width:0;border-bottom:1px solid var(--line)}
.choix-demande legend{padding:0;margin:0 0 12px;font-size:11px;color:#cdd1d6}
.cartes-cadre{container-type:inline-size}
.cartes-demande{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.carte-demande{position:relative;display:block;min-width:0}
.carte-radio{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
.carte-corps{display:grid;grid-template-columns:26px minmax(0,1fr) 14px;align-items:center;column-gap:14px;height:100%;min-height:58px;padding:12px 16px;background:#0b0f13;border:1px solid #68717d;transition:border-color .2s,background-color .2s}
.carte-icone{width:26px;height:26px;color:var(--muted);stroke-width:1.5}
.carte-titre{font-size:13px;line-height:1.4;font-weight:500;color:var(--text)}
.carte-coche{position:relative;width:14px;height:14px;border:1px solid #68717d}
.carte-demande:hover .carte-corps{border-color:var(--muted)}
.carte-radio:checked+.carte-corps{border-color:var(--blue);background:#131c25;box-shadow:inset 0 0 0 1px var(--blue)}
.carte-radio:checked+.carte-corps .carte-icone{color:var(--blue)}
.carte-radio:checked+.carte-corps .carte-coche{border-color:var(--blue)}
.carte-radio:checked+.carte-corps .carte-coche:after{content:"";position:absolute;inset:3px;background:var(--blue)}
.carte-radio:focus-visible+.carte-corps{outline:2px solid var(--blue);outline-offset:3px}
@container (min-width:360px){
.cartes-demande{grid-template-columns:repeat(2,minmax(0,1fr))}
.carte-corps{grid-template-columns:minmax(0,1fr) 14px;grid-template-rows:auto 1fr;align-items:start;row-gap:10px;min-height:88px;padding:16px 16px 15px}
.carte-icone{grid-column:1;grid-row:1}
.carte-coche{grid-column:2;grid-row:1}
.carte-titre{grid-column:1/-1;grid-row:2;align-self:end}
}
@container (min-width:600px){.cartes-demande{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Erreurs : la zone reste dans la page (vide, sans hauteur ni écart) pour que son arrivée soit annoncée. */
.field-erreur{margin:0;font-size:11px;line-height:1.55;color:#f2b8a8}
.field .field-erreur:empty{margin-top:-10px}
.field-erreur:not(:empty){display:flex;gap:8px;margin-top:-3px}
.field-erreur:not(:empty):before{content:"";flex:none;width:6px;height:6px;margin-top:5px;background:currentColor}
.choix-demande .field-erreur:not(:empty){margin-top:12px}
.field input[aria-invalid=true],.field textarea[aria-invalid=true],.field input[aria-invalid=true]:focus,.field textarea[aria-invalid=true]:focus{border-color:#e39a86}
.form-status:empty{margin:0;padding:0;border:0}
.form-status a{text-decoration:underline;text-underline-offset:2px}
.form-annonce{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
/* Envoi en cours : bouton marqué inactif (aria-disabled, il garde le focus), libellé « Envoi en cours… », fine barre qui balaie le bas du bouton (mouvement autorisé).
   Couleurs du bouton au repos, même sous le pointeur (le survol bleu masquait la barre) ; barre de la couleur du texte. */
.bouton-envoi[data-etat=envoi]{overflow:hidden}
.contact-form .bouton-envoi[data-etat=envoi],.contact-form .bouton-envoi[data-etat=envoi]:hover{opacity:1;cursor:progress;background:var(--text);border-color:var(--text);color:var(--ink);transform:none}
.bouton-envoi[data-etat=envoi] .bouton-signe{visibility:hidden}
/* Confirmation (remplace le formulaire) */
.form-confirmation{padding:44px 35px 40px}
.form-confirmation .confirmation-icone{display:block;width:44px;height:44px;fill:none;stroke:var(--blue);stroke-width:1.3;margin-bottom:34px}
.form-confirmation h2{font-size:clamp(30px,2.6vw,38px);line-height:1.08;letter-spacing:-1.4px;margin:0 0 20px;max-width:13em;text-wrap:balance}
.form-confirmation h2:focus{outline:none}
.form-confirmation .confirmation-suite{font-size:15px;line-height:1.6;color:var(--text);margin:0 0 12px;max-width:34em}
.form-confirmation .confirmation-contact{font-size:13px;margin:0}
.form-confirmation .confirmation-contact a{color:var(--text);text-decoration:underline;text-decoration-color:#68717d;text-underline-offset:3px}
.form-confirmation .confirmation-contact a:hover{color:var(--blue);text-decoration-color:var(--blue)}
.form-confirmation .confirmation-actions{margin-top:36px;padding-top:13px;border-top:1px solid var(--line)}
.form-confirmation .text-link{padding-top:13px}
@media(max-width:700px){.form-confirmation{padding:34px 20px 30px}.form-confirmation .confirmation-icone{margin-bottom:26px}.form-confirmation h2{font-size:30px;letter-spacing:-1.2px}}
@media screen and (prefers-reduced-motion:no-preference){
.bouton-envoi[data-etat=envoi]:after{content:"";position:absolute;left:0;bottom:0;height:2px;width:32%;background:currentColor;opacity:.75;animation:envoi-balayage 1.1s cubic-bezier(.4,0,.2,1) infinite}
.form-confirmation:not([hidden]){animation:confirmation-arrivee .5s cubic-bezier(.2,.7,.2,1)}
}
@keyframes envoi-balayage{from{transform:translateX(-100%)}to{transform:translateX(320%)}}
@keyframes confirmation-arrivee{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* Affichage clair */
:root[data-theme=light] .choix-demande legend{color:#2c333a}
:root[data-theme=light] .carte-corps{background:#ffffff;border-color:#7b848d}
:root[data-theme=light] .carte-coche{border-color:#7b848d}
:root[data-theme=light] .carte-demande:hover .carte-corps{border-color:#4f5862}
:root[data-theme=light] .carte-radio:checked+.carte-corps{background:#edf3f7;border-color:var(--blue)}
:root[data-theme=light] .carte-radio:checked+.carte-corps .carte-coche{border-color:var(--blue)}
:root[data-theme=light] .field-erreur{color:#a3402a}
:root[data-theme=light] .field input[aria-invalid=true],:root[data-theme=light] .field textarea[aria-invalid=true],:root[data-theme=light] .field input[aria-invalid=true]:focus,:root[data-theme=light] .field textarea[aria-invalid=true]:focus{border-color:#b4533b}
:root[data-theme=light] .form-confirmation .confirmation-contact a{text-decoration-color:#7b848d}
/* Contraste élevé de Windows : l’état coché garde une couleur système (le fond de la pastille serait retiré). */
@media (forced-colors:active){.carte-corps,.carte-coche{border-color:CanvasText}.carte-radio:checked+.carte-corps,.carte-radio:checked+.carte-corps .carte-coche{border-color:Highlight}.carte-radio:checked+.carte-corps .carte-coche:after{forced-color-adjust:none;background:Highlight}}
/* Relecture du 30/09 : entre 701 et ~1180 px, la colonne du formulaire est étroite : les champs passent sur une colonne
   quand le cadre du formulaire fait 440 px ou moins (textes d’exemple et messages d’erreur lisibles). Message « sans
   JavaScript » placé en haut du formulaire, encadré, avec un écart avant « Votre demande ». */
.contact-form{container-type:inline-size}
@container (max-width:440px){.form-grid{grid-template-columns:minmax(0,1fr)}}
.contact-form noscript .form-demo{margin:0 0 26px!important}
.contact-form noscript .form-demo a{text-decoration:underline;text-underline-offset:2px}

/* 30/09/2026 : affichage clair passé du blanc cassé chaud (#f4f4ef, #ecece6, #e6e8e2 — perçu « marron » sur écrans en teintes chaudes) à des blancs et gris neutres froids (#f6f8fa, #eef1f4, #e9edf1, filets #cdd3da). Thème sombre inchangé. */
/* 30/09/2026 (contre-vérification du site public) : sur téléphone, Safari iOS zoome dans tout champ dont le texte fait
   moins de 16 px. Texte et exemples des champs à 16 px sous 700 px de large (le zoom manuel reste permis). */
@media (max-width:700px){.field input,.field select,.field textarea,.field input::placeholder,.field textarea::placeholder{font-size:16px}}
