/* Marketing pages only. The application keeps its own working surface. */
:root{--bg:#fffaf4;--ink:#102b3e;--ink-soft:#4d5b64;--ink-mute:#657078;--terra:#c7420c;--terra-deep:#a43508;--terra-bright:#f26125;--terra-wash:#fff0e5;--line:#e2ded6;--line-strong:#cdc9c0;--surface:#f7f5ef;--r:12px;--r-sm:7px}
body{background:var(--bg)}
.wrap{max-width:1280px;padding-inline:40px}
.top{border-bottom:1px solid var(--line)}
.top .wrap{padding-block:21px;align-items:center;gap:20px}
.mark{font-family:var(--sans);font-size:21px;font-weight:750;letter-spacing:-.8px;white-space:nowrap}
.mark-icon{width:30px;height:30px;border-radius:50%}
.radar-nav{display:flex;gap:28px;margin-left:auto;align-items:center}
.radar-nav a{font-size:14px;font-weight:550;color:var(--ink);text-decoration:none}
.radar-nav a:hover{color:var(--terra)}
.radar-nav .nav-login{padding:8px 16px;border:1px solid var(--line-strong);border-radius:6px}
.lang-switch{font-size:12px;border-left:1px solid var(--line);padding-left:12px}
.hero{position:relative;display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:28px;padding:40px 0 28px;min-height:405px}
.hero-copy{position:relative;z-index:1}
.eyebrow{font:600 12px/1.5 var(--mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--terra);display:flex;gap:9px;align-items:center;margin-bottom:17px}
.eyebrow::before{content:'';width:7px;height:7px;background:var(--terra-bright);border-radius:50%;flex:none}
.hero h1{font-size:clamp(42px,4.7vw,64px);line-height:1.02;letter-spacing:-2.4px;max-width:700px;margin-bottom:18px;font-weight:400}
.hero h1 em{color:var(--terra);font-weight:400}
.hero .lede{font-size:17px;line-height:1.65;max-width:53ch;margin-bottom:22px}
.hero .btn-row{gap:10px}
.btn{min-height:49px;padding:0 22px;font-size:14px;border-radius:7px;transition:background .2s,transform .2s,box-shadow .2s}
.btn.solid{background:var(--terra);box-shadow:0 4px 0 #a6381020}
.btn.solid:hover{transform:translateY(-2px);background:var(--terra-deep);box-shadow:0 7px 18px #b3411625}
.btn.ghost{background:transparent}
.hero-note{font-size:12px;color:var(--ink-mute);margin-top:13px}
.globe-scene{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center;min-height:300px}
.radar-globe{display:block;width:100%;max-width:390px;aspect-ratio:1}
.globe-label{position:absolute;border:1px solid var(--line);background:#fffdf8ed;border-radius:7px;padding:9px 12px;box-shadow:0 5px 18px #26384108;font:12px/1.5 var(--mono);color:var(--ink);pointer-events:none}
.globe-label b{display:block;font:600 14px/1.4 var(--sans)}
.globe-label.one{left:0;top:19%}.globe-label.two{right:0;bottom:19%}
.globe-caption{position:absolute;bottom:0;font:11px var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--ink-mute)}
.globe-toggle{position:absolute;right:3px;top:10px;border:1px solid var(--line);border-radius:20px;background:transparent;padding:6px 10px;color:var(--ink-mute);font:12px var(--sans);cursor:pointer}
.source-line{display:flex;align-items:center;gap:27px;flex-wrap:wrap;border-top:1px solid var(--line);padding:18px 0 23px;font-size:15px;font-weight:650}
.source-line span:first-child{font:11px/1.5 var(--mono);text-transform:uppercase;letter-spacing:1px;color:var(--ink-mute);font-weight:400}
.source-line small{font-size:11px;font-weight:400;color:var(--ink-mute)}
#demo{padding-inline:clamp(20px,4vw,64px);padding-bottom:32px}
.essai{max-width:1660px;margin:0 auto 16px;background:var(--ink);border:0;color:#e9edf0;border-radius:9px;padding:14px 20px;font-size:14px}
.essai b{color:#fff}.essai [data-slot]{color:#e9edf0}
.demo{gap:18px;grid-template-columns:minmax(0,1fr) 330px}
.demo-tbl{box-shadow:0 12px 32px #122b3c07;border-color:#d9dfe2;border-radius:10px}
.demo-tbl .tablewrap{height:470px;background:white}
.tbl-foot{font-size:12px;background:#f4f6f7;padding:12px 16px}
#demo-fiche{max-height:518px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;background:#fff;border:1px solid #d9dfe2;border-radius:10px}
#demo-fiche .d-block{padding:11px 13px}
#demo-fiche .d-desc{font-size:13px;line-height:1.55}
.description-expand{border:0;padding:0;margin:0;background:transparent;color:var(--ink-soft)}
.description-expand summary{color:var(--terra);font-size:12px;cursor:pointer;margin-top:6px}
.description-expand[open] summary{margin-bottom:8px}
.after-demo{padding:26px 0 38px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:0}
.after-demo h2{font-size:29px;max-width:none;margin-bottom:6px}.after-demo p{font-size:14px;margin:0}
section{padding:66px 0}
h2{max-width:26ch;font-size:clamp(31px,3.5vw,46px);letter-spacing:-1.3px}
.audience-section{padding-top:52px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}
.section-heading h2{margin:0}.section-heading p{max-width:38ch;font-size:15px;margin:0}
.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.audience-card{position:relative;padding:33px;background:#fff;border:1px solid var(--line);border-radius:12px}
.audience-card.school{background:var(--ink);color:#fff;border-color:var(--ink)}
.audience-card .audience-index{font:12px var(--mono);color:var(--terra);letter-spacing:1px;margin-bottom:26px;display:block}
.audience-card.school .audience-index{color:#ffa678}
.audience-card h3{font:400 32px/1.15 var(--serif);letter-spacing:-.7px;margin:0 0 16px;max-width:20ch}
.audience-card p{font-size:15px;line-height:1.7;max-width:48ch}
.audience-card.school p{color:#c5d1d9}
.audience-card ul{padding:0;list-style:none;margin:23px 0;font-size:14px}
.audience-card li{padding:9px 0;border-top:1px solid var(--line)}
.audience-card.school li{border-color:#ffffff24}
.audience-card li::before{content:'↗';margin-right:10px;color:var(--terra-bright)}
.audience-card a{color:var(--terra);font-size:14px;font-weight:650;text-decoration:none}
.audience-card.school a{color:#ffb58c}
#contenu-base h2{max-width:23ch}.figs{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:30px 0}
.fig{padding:20px 0;border-top:2px solid var(--terra-bright)}
.fig b{font-size:45px}.fig span{font-size:13px}
.srcs{margin-top:30px}.chip{background:#fffcf8}.src{font-size:14px}
.cards[data-fixed]{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}
.cards[data-fixed] .card{padding:22px;background:white;border-radius:10px}
.cards[data-fixed] .card:hover{border-color:var(--terra);transform:translateY(-4px)}
.cards[data-fixed] .card .reveal{opacity:1;transform:none;max-height:none}
.cards[data-fixed] .card .tags{font-size:12px}.cards[data-fixed] .card .bat{font-size:11px}
#acces .close{background:#f5eadd;border:1px solid #e8d9c8;border-radius:16px;padding:44px;position:relative;overflow:hidden}
#acces .close h2{max-width:25ch}.close .after{font-size:13px;max-width:65ch}
#campus-teaser{display:grid;grid-template-columns:1fr 1.05fr;column-gap:56px;align-items:start}
#campus-teaser>.kicker,#campus-teaser>h2,#campus-teaser>.sub{grid-column:1}
#campus-teaser>.leadform{grid-column:2;grid-row:1 / span 5;margin:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:25px}
.leadform input,.leadform textarea{background:#fffdf9!important;font-size:14px!important;border-radius:6px!important}
.leadform label{font-size:13px}.leadform .btn{width:100%}
footer{background:#102b3e;color:#fff;border:0}
footer .mark,footer .foot-col h4{color:#fff}footer p,footer .foot-col a,footer .foot-bottom p{color:#b5c6d0}footer .foot-bottom{border-color:#ffffff20}
.share-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:20px}
.share-row button,.share-row a{font:13px var(--sans);border:1px solid #ffffff40;border-radius:5px;background:transparent;color:#fff;padding:8px 12px;text-decoration:none;cursor:pointer}
.share-status{font-size:12px;color:#c6d7df}
.campus-page .hero{grid-template-columns:1fr;max-width:850px;padding:58px 0}
.campus-page .cards{gap:20px}.campus-page .card{border:1px solid var(--line);padding:25px;border-radius:12px;background:#fff}
@media(min-width:1600px){.hero{min-height:440px}.hero h1{font-size:70px}.radar-globe{max-width:420px}}
@media(max-width:1000px){.radar-nav{gap:16px}.demo{grid-template-columns:minmax(0,1fr) 295px}.hero h1{font-size:49px}.globe-label.one{left:-10px}.globe-label.two{right:-12px}.cards[data-fixed]{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.wrap{padding-inline:22px}.top .wrap{gap:12px;flex-wrap:wrap}.radar-nav{order:3;justify-content:space-between;width:100%;gap:12px}.lang-switch{margin-left:auto}.hero{grid-template-columns:1fr;min-height:0;padding:32px 0 18px;gap:0}.hero h1{font-size:49px;letter-spacing:-1.8px}.hero .lede{font-size:16px}.globe-scene{display:none}.hero .btn{width:auto;flex:1}.source-line{gap:15px;font-size:12px}.source-line span:first-child{width:100%}.source-line small{display:none}.demo{grid-template-columns:1fr}#demo-fiche{max-height:380px}.demo-tbl .tablewrap{height:390px}#demo{padding-inline:20px}.essai{font-size:13px}.after-demo{flex-direction:column;align-items:start;padding-block:14px 30px}.after-demo .btn{width:100%}.section-heading{display:block}.section-heading p{margin-top:18px}.audience-grid{grid-template-columns:1fr}.audience-card{padding:25px}section{padding:45px 0}.figs{grid-template-columns:1fr 1fr}.fig b{font-size:38px}#campus-teaser{display:block}#campus-teaser>.leadform{margin-top:25px}#acces .close{padding:28px}.demo-search{flex-wrap:wrap}.demo-search label{width:100%}.demo-search input{min-width:0;flex:1}}
@media(max-width:420px){.hero h1{font-size:42px}.mark{font-size:19px}.radar-nav a{font-size:12px}.hero .btn-row{flex-direction:column;align-items:stretch}.hero .btn{width:100%}.cards[data-fixed]{grid-template-columns:1fr 1fr;gap:8px}.cards[data-fixed] .card{padding:14px}.card h3{font-size:20px}.source-line{gap:12px}}

.description-expand summary{list-style:none;display:block}.description-expand summary::-webkit-details-marker{display:none}.description-preview{display:block;font-size:13px;color:var(--ink-soft);line-height:1.55;margin-bottom:7px}.read-more,.read-less{font-size:12px;color:var(--terra)}.read-less{display:none}.description-expand[open] .description-preview,.description-expand[open] .read-more{display:none}.description-expand[open] .read-less{display:inline}

/* Non-modal confirmation, outside the form so it remains visible after success. */
.campus-toast{position:fixed;right:24px;bottom:24px;z-index:1000;width:min(440px,calc(100vw - 32px));max-width:none;margin:0;padding:22px 48px 22px 24px;background:#102b3e;color:#fff!important;border:1px solid #355368;border-left:4px solid #f26125;border-radius:12px;box-shadow:0 12px 40px #102b3e35;font:15px/1.65 var(--sans);animation:toast-enter .22s ease-out}
.campus-toast-close{position:absolute;right:8px;top:8px;width:32px;height:32px;border:0;border-radius:6px;background:transparent;color:#fff;font-size:24px;cursor:pointer}.campus-toast-close:hover{background:#ffffff20}
@keyframes toast-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:560px){.campus-toast{right:16px;bottom:16px}}
@media(prefers-reduced-motion:reduce){.campus-toast{animation:none}}
