.dev-landing{max-width:1320px!important}.dev-landing-hero{display:grid;grid-template-columns:1.07fr 1fr;gap:35px;align-items:center;padding:42px 0}.dev-landing h1{font-size:clamp(34px,4.5vw,63px);letter-spacing:-.055em;line-height:1.09;margin:15px 0 25px;color:#172940}.dev-landing h1 em{font-style:normal;color:#ad4f29}.dev-landing p{font-size:15px;line-height:1.75;color:#52627a}.dev-landing .dev-landing-lead{font-size:20px;line-height:1.45;color:#1b3049;font-weight:600}.dev-landing-hero figure{margin:0;border-radius:20px;overflow:hidden;background:#12273d;box-shadow:0 22px 60px #17294024;transform:rotate(1deg)}.dev-landing-hero img{display:block;width:100%;height:auto}.dev-landing-hero figcaption{padding:18px 24px;color:#e9f4ff;font-size:17px;font-weight:700}.dev-landing-hero figcaption span{font-size:12px;color:#bbcede;font-weight:400}.dev-landing-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:27px 0 16px}.dev-landing .catalog-button{background:#173b5e;color:#fff;border:0;min-height:50px;border-radius:8px;padding:14px 20px;display:inline-flex;align-items:center;gap:20px;text-decoration:none;font-weight:650}.dev-landing a{color:#9a4826;text-underline-offset:4px}.dev-landing-actions>a:last-child{font-size:13px;font-weight:600}.dev-landing .dev-landing-access{font-size:11px;line-height:1.7}.dev-landing-method{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:28px 0 54px;border-bottom:1px solid #d6dfe9}.dev-landing-method span{font-size:13px;color:#a54c28;font-weight:650}.dev-landing h2{font-size:clamp(25px,3.5vw,39px);letter-spacing:-.04em;color:#172940;line-height:1.2;margin:10px 0 18px}.dev-landing-method h2{font-size:20px;letter-spacing:-.03em;margin:8px 0}.dev-landing-method p{font-size:13px}.dev-landing-example{display:grid;grid-template-columns:.82fr 1.18fr;gap:35px;padding:68px 0;align-items:start;scroll-margin-top:30px}.dev-landing-example iframe{display:block;width:100%;height:700px;border:1px solid #364c63;border-radius:15px;background:#102034;box-shadow:0 15px 35px #1d395b20}.dev-landing .dev-example-distinction{font-size:12px;padding:15px;border-left:3px solid #bb7f4d;background:#fff5e9;color:#6e452f}.dev-landing-worlds{padding:35px 0;border-top:1px solid #d6dfe9}.dev-landing-worlds>div{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0}.dev-landing-worlds article{padding:25px;border:1px solid #d4dfea;border-radius:13px;background:#edf4f8}.dev-landing-worlds article[data-skin=manoir]{background:#f7f0e6;border-color:#dfceb8}.dev-landing-worlds article[data-skin=enquete]{background:#edf6f1;border-color:#c7ded4}.dev-landing-worlds article>span{font-size:40px;color:#587590;line-height:1}.dev-landing-worlds h3{font-size:18px;color:#17334e;margin:20px 0 10px}.dev-landing-worlds p{font-size:13px;margin:0}.dev-landing-path{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:45px 0}.dev-landing-path ol{list-style:none;margin:0;padding:0;counter-reset:part}.dev-landing-path li{counter-increment:part;padding:18px 0 18px 42px;border-bottom:1px solid #d2dfea;position:relative}.dev-landing-path li:before{content:'0'counter(part);position:absolute;left:0;top:18px;color:#a05e3b;font-size:13px}.dev-landing-path strong{display:block;color:#17334e;font-size:17px}.dev-landing-path span{display:block;color:#52647a;font-size:13px;margin-top:4px}.dev-landing-final{margin:40px 0;padding:40px;background:#eff3f7;border-radius:18px;text-align:center}.dev-landing-final p{max-width:55ch;margin:18px auto}.dev-landing-final p:last-child{font-size:12px}.dev-landing :focus-visible{outline:3px solid #0878e8;outline-offset:4px}@media(max-width:1050px){.dev-landing-hero{gap:22px}.dev-landing h1{font-size:39px}.dev-landing-example{grid-template-columns:1fr;gap:25px}.dev-landing-example>div{max-width:650px}.dev-landing-example iframe{height:760px}.dev-landing-worlds>div{gap:10px}.dev-landing-worlds article{padding:18px}.dev-landing-path{gap:30px}}@media(max-width:700px){.dev-landing-hero{grid-template-columns:1fr;padding:25px 0;gap:25px}.dev-landing h1{font-size:37px}.dev-landing .dev-landing-lead{font-size:18px}.dev-landing-hero figure{transform:none}.dev-landing-method{grid-template-columns:1fr;gap:15px;padding:20px 0}.dev-landing-method>div{border-top:1px solid #e0e6ee;padding-top:14px}.dev-landing-example{padding:40px 0}.dev-landing-example iframe{height:760px}.dev-landing-worlds>div,.dev-landing-path{grid-template-columns:1fr}.dev-landing-worlds article{padding:22px}.dev-landing-worlds article>span{float:right}.dev-landing-worlds h3{margin-top:4px}.dev-landing-path{padding:20px 0;gap:10px}.dev-landing-final{padding:25px 18px}.dev-landing p{font-size:14px}.dev-landing-actions{gap:16px}.dev-landing .catalog-button{padding:13px 16px}.dev-landing-worlds{padding:20px 0}}
.dev-landing { --dev-landing-gutter: 40px; }
body.tool-page[data-tool-page="atelier-developpeur"] { --tool-accent: #a74722; --tool-accent-soft: #faefe5; background: #f7f8fa; }

/* Decorative CSS only: no added asset, motion or student-project imagery. */
.dev-landing-hero { position: relative; isolation: isolate; margin-top: 24px; margin-bottom: 24px; }
.dev-landing-hero::before {
  content: ''; position: absolute; z-index: -1; pointer-events: none;
  inset: 0 calc(-1 * var(--dev-landing-gutter));
  background:
    radial-gradient(ellipse at 88% 20%, #42788880, transparent 55%),
    radial-gradient(ellipse at 12% 100%, #ae79532b, transparent 45%),
    repeating-linear-gradient(0deg, transparent 0 79px, #b8d9e905 79px 80px),
    repeating-linear-gradient(90deg, transparent 0 119px, #b8d9e905 119px 120px),
    linear-gradient(125deg, #102439, #162d41 65%, #203f50);
}
.dev-landing .dev-landing-hero h1 { color: #f6f9fc; }
.dev-landing .dev-landing-hero h1 em { color: #f1b889; }
.dev-landing .dev-landing-hero p { color: #c8d8e4; }
.dev-landing .dev-landing-hero .catalog-eyebrow { color: #afcdd5; }
.dev-landing .dev-landing-hero .dev-landing-lead { color: #e8f0f6; }
.dev-landing-hero a { color: #f1bd96; }
.dev-landing .dev-landing-hero .catalog-button,
.dev-landing .dev-landing-final .catalog-button { background: #f1b889; color: #192b3c; }
.dev-landing .dev-landing-hero .catalog-button:hover,
.dev-landing .dev-landing-final .catalog-button:hover { background: #ffd0a7; }
.dev-landing-hero figure { transform: none; border: 1px solid #a6c9d42b; box-shadow: none; }
.dev-landing-hero figcaption { background: #0e2435; }
.dev-landing-hero :focus-visible,
.dev-landing-final :focus-visible { outline-color: #9de1ef; }

.dev-landing-example { position: relative; isolation: isolate; }
.dev-landing-example::before {
  content: ''; position: absolute; z-index: -1; pointer-events: none;
  inset: 0 calc(-1 * var(--dev-landing-gutter));
  background:
    radial-gradient(ellipse at 6% 25%, #edce9d52, transparent 60%),
    linear-gradient(110deg, #f6f0e6, #f4f6f7 72%);
}
.dev-landing-example iframe { box-shadow: none; }
.dev-landing-worlds { padding-top: 48px; }
.dev-landing-worlds article {
  position: relative; overflow: hidden; padding: 177px 24px 26px;
  border-color: #cfdae1;
  background: linear-gradient(#142d40 0 153px, #edf4f8 153px);
}
.dev-landing-worlds article::before {
  content: ''; position: absolute; pointer-events: none; box-sizing: border-box;
  left: calc(50% - 53px); top: 22px; width: 106px; height: 106px;
}
.dev-landing-worlds article[data-skin="station"]::before {
  border: 8px solid #5a7b8c; border-radius: 50%;
  box-shadow: 0 0 0 2px #94b3bf40, 0 0 40px #69a8be18;
  background:
    radial-gradient(circle at 33% 34%, #d6f2ed 0, #5799b0 12%, #234761 23%, transparent 25%),
    radial-gradient(circle at 76% 25%, #c3d7dd 0 1px, transparent 2px),
    radial-gradient(circle at 24% 74%, #c3d7dd 0 1px, transparent 2px), #071321;
}
.dev-landing-worlds article[data-skin="manoir"] {
  border-color: #dfceb8;
  background: linear-gradient(#342e2e 0 153px, #f7f0e6 153px);
}
.dev-landing-worlds article[data-skin="manoir"]::before {
  left: calc(50% - 40px); top: 18px; width: 80px; height: 120px;
  border: 8px solid #897158; border-radius: 45px 45px 2px 2px;
  box-shadow: 0 0 40px #f1bc6318;
  background:
    linear-gradient(90deg, transparent 45%, #897158 45% 55%, transparent 55%),
    linear-gradient(0deg, transparent 48%, #897158 48% 54%, transparent 54%),
    radial-gradient(ellipse at 50% 15%, #e6b866, #926847 50%, #3c3433);
}
.dev-landing-worlds article[data-skin="enquete"] {
  border-color: #c7ded4;
  background: linear-gradient(#233d39 0 153px, #edf6f1 153px);
}
.dev-landing-worlds article[data-skin="enquete"]::before {
  left: calc(50% - 58px); top: 28px; width: 116px; height: 90px;
  border: 10px solid #baab83; border-top-width: 17px; border-radius: 3px;
  transform: rotate(-6deg); box-shadow: 7px 8px 0 #658479;
  background:
    repeating-linear-gradient(transparent 0 9px, #81908799 9px 11px), #e1dfc9;
}
.dev-landing-worlds article > span { display: none; }
.dev-landing-worlds h3 { margin-top: 0; }
.dev-landing-worlds h3,
.dev-landing-worlds p { overflow-wrap: break-word; }
.dev-landing-final {
  position: relative; isolation: isolate; overflow: hidden; padding: 45px 32px;
  background:
    radial-gradient(ellipse at 0% 100%, #4e899357, transparent 55%),
    radial-gradient(ellipse at 100% 0%, #bf865333, transparent 55%), #142c40;
}
.dev-landing .dev-landing-final h2 { color: #f5f8fc; }
.dev-landing .dev-landing-final p { color: #cad9e4; }
.dev-landing-final a { color: #f1bd96; }

/* The catalogue sidebar still occupies 280 px on tablets. */
@media (max-width: 1050px) {
  .dev-landing-hero { grid-template-columns: 1fr; }
  .dev-landing-hero figure { width: 100%; max-width: 640px; }
  .dev-landing-method,
  .dev-landing-worlds > div,
  .dev-landing-path { grid-template-columns: 1fr; }
  .dev-landing-method { gap: 14px; }
  .dev-landing-method > div + div { border-top: 1px solid #dce4ee; padding-top: 14px; }
  .dev-landing-path { gap: 16px; }
}
@media (max-width: 760px) { .dev-landing { --dev-landing-gutter: 24px; } }
@media (max-width: 576px) { .dev-landing { --dev-landing-gutter: 18px; } }
@media (max-width: 700px) {
  .dev-landing-hero { margin-top: 18px; }
  .dev-landing-worlds { padding-top: 30px; }
  .dev-landing-worlds article { padding: 177px 22px 24px; }
  .dev-landing-worlds h3 { margin-top: 0; }
  .dev-landing-final { padding: 30px 18px; }
}
