/* La composition prolonge explicitement accueil + réalisations : grands titres,
   introduction latérale, images encadrées et registres séparés par des filets. */
.astra-site.ds-composed { --page-accent:var(--offer-ink,var(--accent)); --page-gradient:linear-gradient(90deg,#2451FF 0%,#E11D8D 55%,#22D3EE 100%); }
html[data-theme=light] .astra-site.ds-composed { --page-gradient:linear-gradient(90deg,#2451FF 0%,#BE185D 55%,#0E7490 100%); }
.ds-ambient { position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(800px 620px at 100% 0,rgba(34,211,238,.10),transparent 68%),radial-gradient(1050px 700px at 68% -12%,rgba(36,81,255,.18),transparent 70%),radial-gradient(680px 620px at -15% 70%,rgba(36,81,255,.10),transparent 70%),var(--bg); }
html[data-theme=light] .ds-ambient { opacity:.65; }
.astra-site.ds-composed main { padding-top:0 !important; }
.astra-site.ds-composed main .breadcrumb { margin:0;padding-block:22px 0;font-size:12px;color:var(--muted); }
.astra-site.ds-composed .ds-page-title { font:800 clamp(40px,5.2vw,68px)/1.02 var(--head)!important;letter-spacing:-.03em;max-width:16ch!important;text-align:left!important;margin:0 0 24px!important;color:var(--text)!important;background:none!important;-webkit-text-fill-color:currentColor!important;filter:none!important; }
.astra-site.ds-composed .ds-offer-copy h1.ds-page-title { color:var(--text)!important; }
.astra-site.ds-composed .ds-title-mark { background:var(--page-gradient);background-clip:text;-webkit-background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent!important; }
.astra-site.ds-composed[data-offer] .ds-title-mark { background:linear-gradient(100deg,var(--page-accent),color-mix(in srgb,var(--page-accent) 62%,var(--text)));background-clip:text;-webkit-background-clip:text; }
.astra-site.ds-composed .ds-page-badge { display:inline-flex;align-items:center;gap:10px;padding:8px 0 8px 12px!important;border:0!important;border-left:2px solid var(--page-accent)!important;background:transparent!important;box-shadow:none!important;color:var(--page-accent)!important;font:600 13px/1.4 var(--sans)!important;letter-spacing:.07em;margin:0 0 24px!important;text-transform:uppercase; }
.astra-site.ds-composed .ds-page-badge::before { content:"";width:6px;height:6px;background:var(--page-accent);flex-shrink:0; }
.astra-site.ds-composed .ds-frame { position:relative;border:1px solid var(--line-strong)!important;background:var(--panel)!important;box-shadow:0 16px 44px #00000024!important; }
.astra-site.ds-composed .ds-frame::before,.astra-site.ds-composed .ds-frame::after { content:"";position:absolute;width:26px;height:26px;pointer-events:none;z-index:2; }
.astra-site.ds-composed .ds-frame::before { top:-1px;left:-1px;border-top:2px solid var(--cyan);border-left:2px solid var(--cyan); }
.astra-site.ds-composed .ds-frame::after { bottom:-1px;right:-1px;border-bottom:2px solid var(--magenta);border-right:2px solid var(--magenta); }
.astra-site.ds-composed .ds-frame-caption { display:flex;align-items:center;gap:10px;margin:0;padding:16px 4px 4px;font-size:14px;line-height:1.4;color:var(--muted); }
.astra-site.ds-composed .ds-frame-caption::before { content:"";width:6px;height:6px;background:var(--page-accent); }
.astra-site.ds-composed .ds-text-link { display:inline-flex;align-items:center;min-height:44px;font-weight:600;color:var(--page-accent);text-decoration:none; }
.astra-site.ds-composed .ds-text-link:hover { text-decoration:underline;text-underline-offset:4px; }
.astra-site.ds-composed main .btn { font:600 15px/1.3 var(--sans);padding:13px 20px;min-height:48px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:10px; }

/* Entrées d'offres : la promesse a la même présence que sur l'accueil. */
.astra-site.ds-composed .ds-offer-hero { grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:40px 64px;padding:56px 0 64px;border-bottom:0; }
.astra-site.ds-composed .ds-offer-copy .subtitle { font-size:18px;line-height:1.6;color:var(--muted);max-width:48ch;margin:0 0 24px; }
.astra-site.ds-composed .ds-offer-copy .lp-price-box { display:flex;align-items:baseline;padding-top:18px;margin-bottom:8px;border-color:var(--line); }
.astra-site.ds-composed .ds-offer-copy .lp-price-box .amount { font-size:32px;line-height:1.2; }
.astra-site.ds-composed .ds-offer-copy .u-note { font-size:13px;color:var(--muted); }
.astra-site.ds-composed .ds-offer-actions { gap:12px 24px;margin-top:26px; }
.astra-site.ds-composed .ds-offer-hero .lp-hero-img { padding:12px; }
.astra-site.ds-composed .ds-offer-hero .lp-hero-img img { width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block; }

/* Section : le titre et le contexte occupent deux colonnes, comme .titre. */
.astra-site.ds-composed .ds-section-heading { display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:end;gap:20px 64px;margin:0 0 36px;text-align:left; }
.astra-site.ds-composed .ds-section-heading h2 { font:800 clamp(30px,3.8vw,46px)/1.08 var(--head)!important;letter-spacing:-.025em;max-width:20ch;margin:0!important;text-align:left!important; }
.astra-site.ds-composed .ds-section-heading h2::before { display:none!important; }
.astra-site.ds-composed .ds-section-heading > p { max-width:44ch!important;margin:0!important;font-size:17px;line-height:1.6;color:var(--muted);text-align:left!important; }
.astra-site.ds-composed :is(.ds-section-kicker,.ds-section-heading .section-eyebrow) { display:flex!important;align-items:center;gap:12px;font:700 12px/1.4 var(--sans)!important;letter-spacing:.12em;text-transform:uppercase;color:var(--page-accent)!important;margin:0 0 14px!important;text-align:left; }
.astra-site.ds-composed :is(.ds-section-kicker,.ds-section-heading .section-eyebrow)::before { content:"";width:24px;height:1px;background:currentColor;flex-shrink:0; }
.astra-site.ds-composed .ds-content-section { padding-block:72px!important;border-bottom:0!important;border-top:1px solid var(--line); }
.astra-site.ds-composed .ds-inclusions { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0 0 24px; }
.astra-site.ds-composed .ds-inclusions .programme-tag { display:flex;align-items:center;gap:12px;margin:-1px 0 0 -1px;min-height:80px;padding:20px 24px;border:1px solid var(--line)!important;background:var(--panel)!important;font:600 16px/1.4 var(--head);color:var(--text)!important; }
.astra-site.ds-composed .ds-inclusions .programme-tag::before { content:"";width:6px;height:6px;flex-shrink:0;background:var(--page-accent); }
.astra-site.ds-composed .pour-qui-card h3 { font:700 21px/1.25 var(--head);margin:0 0 16px; }
.astra-site.ds-composed .pour-qui-card p { font-size:16px;line-height:1.65;color:var(--muted); }
.astra-site.ds-composed .lp-step { grid-template-columns:130px minmax(0,1fr)!important;gap:26px!important;padding:26px 0!important; }
.astra-site.ds-composed .lp-step-card { border-left:1px solid var(--line)!important;padding:0 0 0 26px!important; }
.astra-site.ds-composed .lp-step-card p { max-width:65ch;font-size:16px;line-height:1.65; }
.astra-site.ds-composed .lp-step-card h3 { font:700 21px/1.3 var(--head); }
.astra-site.ds-composed .lp-step-dot { width:42px!important;height:42px!important;font-family:var(--head); }
.astra-site.ds-composed .info-legale-section > div[style*="text-align:center"] { display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:12px 32px;max-width:none!important;margin:0 0 28px!important;padding:28px!important;border:1px solid var(--line)!important;border-left:2px solid var(--page-accent)!important;background:var(--panel)!important;text-align:left!important; }
.astra-site.ds-composed .info-legale-section > div[style*="text-align:center"] p { grid-column:2;margin:0!important;text-align:left!important;font-size:14px; }
.astra-site.ds-composed .info-legale-section > div[style*="text-align:center"] p:first-child { grid-column:1;grid-row:1/5;font:700 20px/1.3 var(--head); }
.astra-site.ds-composed .info-legale-grid { gap:0; }
.astra-site.ds-composed .info-legale-card { padding:24px;border:1px solid var(--line)!important;margin:-1px 0 0 -1px;background:var(--panel)!important; }

/* PROPULSER : même largeur, même lumière, même registre de sections. */
.astra-site.ds-composed .ds-course-hero { padding:56px 0 64px; }
.astra-site.ds-composed .ds-course-hero > .container { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:48px; }
.astra-site.ds-composed .ds-course-cover { padding:12px; }
.astra-site.ds-composed .ds-course-photo { display:block;aspect-ratio:16/10;object-fit:cover;width:100%;height:auto; }
.astra-site.ds-composed .ds-course-brand { display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:20px 12px;border-bottom:1px solid var(--line); }
.astra-site.ds-composed .ds-course-brand picture { display:block;max-width:180px; }
.astra-site.ds-composed .ds-course-brand img { display:block;width:100%;height:auto;max-width:180px; }
.astra-site.ds-composed .ds-course-cover .hero-pillars { padding:0 12px; }
.astra-site.ds-composed .ds-course-cover .hero-pillar { display:grid;grid-template-columns:26px minmax(0,1fr);padding:16px 0;gap:8px 12px;border-top:0;border-bottom:1px solid var(--line); }
.astra-site.ds-composed .ds-course-cover .hero-pillar:last-child { border-bottom:0; }
.astra-site.ds-composed .ds-course-cover .hero-pillar :is(.ico,.num) { width:26px;height:26px; }
.astra-site.ds-composed .ds-course-cover .hero-pillar h3 { margin:0;font-size:15px;line-height:1.4; }
.astra-site.ds-composed .ds-course-cover .hero-pillar p { grid-column:2;margin:0;font-size:13px;line-height:1.5; }
.astra-site.ds-composed .ds-course-copy .hero-pain { text-transform:none!important;letter-spacing:0!important;color:var(--muted)!important;font-size:13px!important;max-width:50ch;margin:18px 0 0; }
.astra-site.ds-composed .propulser-v3 > section { background:transparent!important;padding-block:72px!important;border-top:1px solid var(--line); }
.astra-site.ds-composed .propulser-v3 > section::before,.astra-site.ds-composed .propulser-v3 > section::after { display:none; }
.astra-site.ds-composed .propulser-v3 > section > .container,.astra-site.ds-composed main .trust-band > .container { max-width:var(--ds-width);padding-inline:var(--ds-gut); }
.astra-site.ds-composed :is(.pour-qui-v2,.value-grid-v2,.testimonials-grid,.parcours-v2) { gap:0; }
.astra-site.ds-composed :is(.persona-card,.value-card-v2,.testimonial-card,.acte-card) { border:1px solid var(--line)!important;background:var(--panel)!important;box-shadow:none!important;margin:-1px 0 0 -1px;padding:28px; }
.astra-site.ds-composed :is(.skills-grid-v2,.biblio-grid) { gap:64px; }
.astra-site.ds-composed main .trust-band { background:transparent;border:0;padding:0 0 48px; }
.astra-site.ds-composed main .trust-band-inner { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0; }
.astra-site.ds-composed main .trust-band-inner > span { display:block;text-align:left;padding:16px;border:1px solid var(--line);margin:-1px 0 0 -1px;background:var(--panel);font-size:12px; }
.astra-site.ds-composed main .trust-band-inner > span svg { color:var(--accent);vertical-align:middle;margin-right:6px; }
.astra-site.ds-composed :is(.faq-list-v2,.faq) { max-width:none;margin-inline:0; }
.astra-site.ds-composed main :is(.faq-list-v2,.faq) details { background:transparent!important;box-shadow:none!important;border:0!important;border-bottom:1px solid var(--line-strong)!important;margin:0!important;padding:0; }
.astra-site.ds-composed main :is(.faq-list-v2,.faq) summary { padding:20px 0;color:var(--text); }

/* Blog et tarifs : une entrée composée, puis des formats de lecture distincts. */
.astra-site.ds-composed .ds-editorial-hero { display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px 64px;align-items:center;padding:64px 0!important;margin:0 0 24px!important;text-align:left; }
.astra-site.ds-composed .ds-editorial-copy > p { color:var(--muted);font-size:18px;line-height:1.6;margin:0 0 18px;text-align:left!important;max-width:48ch; }
.astra-site.ds-composed .ds-editorial-copy > p.muted { font-size:14px; }
.astra-site.ds-composed .ds-editorial-copy > .btn { margin-top:16px; }
.astra-site.ds-composed[data-ui-page="/blog/"] main > div { padding-top:0!important; }
.astra-site.ds-composed .ds-featured-article { padding:32px;display:flex;flex-direction:column;min-height:360px; }
.astra-site.ds-composed .ds-featured-article .card-category { margin:24px 0 14px;align-self:flex-start; }
.astra-site.ds-composed .ds-featured-article .card-title { font:800 30px/1.15 var(--head);margin:0 0 20px; }
.astra-site.ds-composed .ds-featured-article .card-excerpt { font-size:16px;line-height:1.6; }
.astra-site.ds-composed .ds-featured-article .card-meta { margin-top:auto;padding-top:24px;border-top:1px solid var(--line); }
.astra-site.ds-composed[data-ui-page="/blog/"] .articles-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
.astra-site.ds-composed .ds-journal-card { position:relative;min-height:300px;padding:30px!important;margin:0!important;display:flex;flex-direction:column; }
.astra-site.ds-composed .ds-journal-card .card-title { font:700 25px/1.25 var(--head);max-width:28ch;margin:24px 0 16px; }
.astra-site.ds-composed .ds-journal-card .card-title a { text-decoration:none;color:var(--text); }
.astra-site.ds-composed .ds-journal-card .card-title a:hover { color:var(--accent); }
.astra-site.ds-composed .ds-journal-card .card-excerpt { font-size:16px;line-height:1.65; }
.astra-site.ds-composed .ds-journal-card .card-category { align-self:flex-start;max-width:calc(100% - 40px); }
.astra-site.ds-composed .ds-article-number { position:absolute;right:28px;top:29px;font:500 12px/1.4 var(--sans);color:var(--muted); }
.astra-site.ds-composed .ds-journal-card .card-meta { margin-top:auto;border-top:1px solid var(--line);padding-top:20px; }
.astra-site.ds-composed .ds-format-nav { padding:12px 24px; }
.astra-site.ds-composed .ds-format-link { position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) 20px;gap:8px 18px;padding:28px 0;text-decoration:none;border-bottom:1px solid var(--line);color:var(--text); }
.astra-site.ds-composed .ds-format-link:last-child { border-bottom:0; }
.astra-site.ds-composed .ds-format-link strong { font:700 21px/1.2 var(--head); }
.astra-site.ds-composed .ds-format-link small { grid-column:2;color:var(--muted);font-size:14px; }
.astra-site.ds-composed .ds-format-number { grid-column:1;grid-row:1/3;color:var(--accent);font-size:13px; }
.astra-site.ds-composed .ds-format-arrow { grid-column:3;grid-row:1/3;align-self:center;color:var(--accent); }
.astra-site.ds-composed .ds-format-link:hover strong { color:var(--accent); }
.astra-site.ds-composed[data-ui-page="/tarifs"] .pricing-grid { margin-bottom:72px; }
.astra-site.ds-composed[data-ui-page="/tarifs"] .ds-offer-prices { grid-template-columns:minmax(0,1fr);gap:14px; }
.astra-site.ds-composed .ds-offer-prices .price-card { position:relative;display:grid;grid-template-columns:140px minmax(0,1fr) minmax(0,1.2fr) 150px;column-gap:24px;row-gap:6px;padding:0 24px 0 0!important;margin:0!important;min-height:160px;align-items:center;text-align:left; }
.astra-site.ds-composed .ds-price-visual { grid-column:1;grid-row:1/6;margin:0;height:100%;min-height:160px;border-right:1px solid var(--line);overflow:hidden; }
.astra-site.ds-composed .ds-price-visual img { display:block;width:100%;height:100%;object-fit:cover; }
.astra-site.ds-composed .ds-offer-prices .price-name { grid-column:2;grid-row:1;margin:20px 0 4px;font-size:16px;align-self:end; }
.astra-site.ds-composed .ds-offer-prices .price-amount { grid-column:2;grid-row:2;font-size:26px;margin:0;align-self:start; }
.astra-site.ds-composed .ds-offer-prices .price-unit { grid-column:2;grid-row:3;font-size:12px;align-self:start;margin:0; }
.astra-site.ds-composed .ds-offer-prices .price-desc { grid-column:2;grid-row:4;font-size:13px;margin:0 0 20px;align-self:start; }
.astra-site.ds-composed .ds-offer-prices .price-features { grid-column:3;grid-row:1/6;margin:18px 0;padding-left:24px;border-left:1px solid var(--line);font-size:13px; }
.astra-site.ds-composed .ds-offer-prices .price-features li { padding-block:4px;border:0; }
.astra-site.ds-composed .ds-offer-prices .btn { grid-column:4;grid-row:1/6;min-height:48px;margin:0!important;align-self:center;font-size:13px; }
.astra-site.ds-composed .ds-offer-prices .featured::before { display:none; }

/* Clôture commune, tout le contenu et les actions existants sont conservés. */
.astra-site.ds-composed .ds-closing { display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px 64px;align-items:center;padding:40px!important;margin-block:48px 0!important;border:1px solid var(--line-strong)!important;border-left:3px solid var(--primary)!important;box-shadow:none!important;background:var(--panel)!important;text-align:left!important; }
.astra-site.ds-composed .ds-closing h2 { font:800 clamp(28px,3vw,40px)/1.1 var(--head);max-width:20ch;margin:0!important;text-align:left!important; }
.astra-site.ds-composed .ds-closing-action p { font-size:16px;line-height:1.6;color:var(--muted);margin:0 0 20px!important; }
.astra-site.ds-composed .ds-closing-action .btn { margin:0 8px 8px 0; }
.astra-site.ds-composed .persona-hero .ds-page-title { max-width:20ch!important; }
.astra-site.ds-composed .persona-hero { padding-block:64px!important;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px 64px;align-items:center; }
.astra-site.ds-composed .ds-persona-photo { padding:12px;margin:0; }
.astra-site.ds-composed .ds-persona-photo img { display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center 35%; }
.astra-site.ds-composed .ds-persona-copy .lead { font-size:18px;line-height:1.6;color:var(--muted);margin:0 0 28px; }

@media(max-width:1000px) {
  .astra-site.ds-composed .ds-course-hero > .container,.astra-site.ds-composed .ds-editorial-hero { grid-template-columns:minmax(0,1fr); }
  .astra-site.ds-composed .ds-course-cover { max-width:680px; }
  .astra-site.ds-composed .ds-offer-prices .price-card { grid-template-columns:120px minmax(0,1fr) minmax(0,1fr);padding-right:20px!important;column-gap:20px; }
  .astra-site.ds-composed .ds-offer-prices .btn { grid-column:2/4;grid-row:6;margin:0 0 20px!important;justify-self:start;width:auto!important; }
  .astra-site.ds-composed .ds-price-visual { grid-row:1/7; }
}
@media(max-width:720px) {
  .astra-site.ds-composed .ds-page-title { font-size:40px!important;max-width:17ch!important; }
  .astra-site.ds-composed .ds-offer-hero,.astra-site.ds-composed .ds-course-hero { padding-block:36px 48px; }
  .astra-site.ds-composed .ds-offer-hero { grid-template-columns:minmax(0,1fr);gap:36px; }
  .astra-site.ds-composed .ds-offer-hero .lp-hero-img img { aspect-ratio:3/2; }
  .astra-site.ds-composed .ds-offer-copy .subtitle { font-size:17px; }
  .astra-site.ds-composed .ds-offer-actions { gap:6px 20px; }
  .astra-site.ds-composed .ds-section-heading { grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:28px; }
  .astra-site.ds-composed .ds-section-heading h2 { font-size:30px!important; }
  .astra-site.ds-composed .ds-section-heading > p { font-size:16px; }
  .astra-site.ds-composed .ds-content-section,.astra-site.ds-composed .propulser-v3 > section { padding-block:48px!important; }
  .astra-site.ds-composed .ds-inclusions { grid-template-columns:minmax(0,1fr); }
  .astra-site.ds-composed .ds-inclusions .programme-tag { min-height:60px;padding:18px 20px; }
  .astra-site.ds-composed .lp-step { grid-template-columns:36px minmax(0,1fr)!important;gap:16px!important; }
  .astra-site.ds-composed .lp-step-card { padding-left:16px!important; }
  .astra-site.ds-composed .lp-step-dot { width:32px!important;height:32px!important; }
  .astra-site.ds-composed .info-legale-section > div[style*="text-align:center"] { display:block;padding:22px!important; }
  .astra-site.ds-composed .info-legale-section > div[style*="text-align:center"] p + p { margin-top:16px!important; }
  .astra-site.ds-composed .lp-step-card h3 { font-size:19px; }
  .astra-site.ds-composed main .trust-band-inner { grid-template-columns:1fr 1fr; }
  .astra-site.ds-composed .ds-editorial-hero { padding-block:40px!important;gap:36px; }
  .astra-site.ds-composed .ds-featured-article { padding:24px;min-height:0; }
  .astra-site.ds-composed .ds-featured-article .card-title { font-size:28px; }
  .astra-site.ds-composed[data-ui-page="/blog/"] .articles-grid { grid-template-columns:minmax(0,1fr); }
  .astra-site.ds-composed .ds-journal-card { min-height:0;padding:24px!important; }
  .astra-site.ds-composed .ds-journal-card .card-title { font-size:24px; }
  .astra-site.ds-composed .ds-format-nav { padding:0 20px; }
  .astra-site.ds-composed .ds-format-link { column-gap:12px;grid-template-columns:26px minmax(0,1fr) 18px; }
  .astra-site.ds-composed .ds-format-link strong { font-size:20px; }
  .astra-site.ds-composed .ds-offer-prices .price-card { grid-template-columns:96px minmax(0,1fr);column-gap:18px;padding:0 18px 0 0!important; }
  .astra-site.ds-composed .ds-price-visual { grid-row:1/5;min-height:180px; }
  .astra-site.ds-composed .ds-offer-prices .price-name { margin-top:18px; }
  .astra-site.ds-composed .ds-offer-prices .price-desc { margin-bottom:18px; }
  .astra-site.ds-composed .ds-offer-prices .price-features { grid-column:1/3;grid-row:5;padding:18px 0 0;margin:0 0 0 18px;border:0;border-top:1px solid var(--line);font-size:14px; }
  .astra-site.ds-composed .ds-offer-prices .btn { grid-column:1/3;grid-row:6;margin:12px 0 18px 18px!important; }
  .astra-site.ds-composed .ds-closing { grid-template-columns:minmax(0,1fr);padding:28px 22px!important;gap:24px; }
  .astra-site.ds-composed .ds-closing h2 { font-size:30px; }
  .astra-site.ds-composed .persona-hero { padding-block:40px!important;grid-template-columns:minmax(0,1fr);gap:32px; }
  .astra-site.ds-composed .ds-persona-photo img { aspect-ratio:4/3;object-position:center top; }
}
