/* Wide layouts derived from the approved mobile content. */
.d-cards,.d-contact,.d-nursery-bottom,.d-story-intro,.d-information-grid,.d-reading-body,.d-reading-layout { display:contents; }

@media(min-width:900px) {
  .m-site { font-size:17px; }
  .m-site h1:not(:is(.lfc-nursery-home,.m-home-header,.lfc-menu) *) { font-size:clamp(48px,4.5vw,68px); line-height:1.08; margin:20px auto 24px; max-width:930px; }
  .m-site h2:not(:is(.lfc-nursery-home,.m-home-header,.lfc-menu) *) { font-size:38px; }
  .m-site h3:not(:is(.lfc-nursery-home,.m-home-header,.lfc-menu) *) { font-size:28px; }
  .m-hero { max-width:1440px; padding:0 120px 64px; }
  .m-breadcrumb { padding:28px 0 34px; }
  .m-hero .m-intro { max-width:780px; margin:0 auto!important; font-size:20px; }
  .m-hero::before { left:28px; top:80px; width:105px; height:165px; opacity:.7; }
  .m-hero::after { right:-76px; top:48px; width:340px; height:345px; opacity:.45; background-image:url('../arc-en-ciel/images/hero-arc-peint-desktop-v10.webp'); }
  .m-content { max-width:1280px; padding:0 48px 80px; }
  .m-content>.m-select-label { margin-top:0; }
  .m-content>select { max-width:370px; }
  .m-button { width:fit-content; min-width:200px; }
  .m-paper { padding:36px; }
  .m-accordion summary { padding:24px; font-size:28px; }
  .m-panel { padding:0 28px 28px; }
  .m-plus { width:36px; height:36px; flex-basis:36px; }
  .m-help { display:flex; align-items:center; gap:36px; margin-top:48px; padding:38px 44px; }
  .m-help h2 { flex:1; margin:0; font-size:34px!important; }
  .m-help .m-art { width:150px; height:140px; flex:none; margin:0; }
  .m-help .m-button { flex-shrink:0; }

  /* A stable theme column and a generous reading area. */
  .m-kind-faq .m-content { display:grid; grid-template-columns:260px minmax(0,1fr); gap:0 56px; align-items:start; }
  .m-kind-faq .m-tabs { grid-column:1; grid-row:1; position:sticky; top:28px; gap:14px; margin-top:10px; }
  .m-tabs a { text-align:left; padding:17px 24px; }
  .m-faq-panel { grid-column:2; }
  .m-faq-panel[role=tabpanel] { grid-row:1; }
  .m-faq-panel h2 { margin-top:0; }
  .m-question summary { padding:22px 24px; font-size:19px; }
  .m-question .m-panel { padding:0 28px 28px; }
  .m-kind-faq .m-help { grid-column:1/-1; }

  /* Nursery directories use open cards in a grid. */
  .d-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:start; }
  .m-nursery-group { margin-top:42px; }
  .m-nursery-group h2 { margin-top:0; }
  .d-cards .m-nursery-card { margin:0; border-radius:28px; }
  .d-cards .m-nursery-card summary { padding:24px 22px 16px; }
  .d-cards .m-nursery-card summary strong { font-size:28px; }
  .d-cards .m-nursery-card summary small { font-size:14px; }
  .d-cards .m-nursery-card .m-panel { padding:12px 24px 26px; }
  .d-cards .m-nursery-card .m-art { height:205px; object-fit:contain; }
  .d-cards .m-nursery-card .m-button { width:100%; min-width:0; padding:12px 14px; font-size:15px; gap:8px; }
  .m-kind-local .m-content>.m-link { margin:24px 0 40px; }
  .m-kind-local .m-content>.m-accordion { max-width:880px; margin-left:auto; margin-right:auto; }
  .m-kind-local .m-content>h2:not(:first-child) { max-width:880px; margin:48px auto 24px; }
  .m-kind-local .m-content>.m-question~.m-link { display:flex; max-width:880px; }

  /* Contact information remains next to the form; fields use two columns. */
  .d-contact { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:48px; align-items:start; }
  .m-contact-phone { margin:0; position:sticky; top:32px; padding:42px 34px; }
  .m-contact-phone h2 { font-size:34px!important; }
  .m-contact-phone .m-phone { font-size:32px; }
  .m-form-panel { margin:0; padding:38px; }
  .m-form-panel h2 { font-size:38px!important; }
  .m-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
  .m-form-panel .m-button { width:100%; }
  .m-kind-contact .m-content>.m-accordion { margin-top:44px; }
  .m-kind-contact .m-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:38px; padding-left:24px; }

  /* Full-width home components, then a local information/map composition. */
  .m-kind-nursery .m-nursery-intro { display:grid; grid-template-columns:1fr 1fr; column-gap:64px; align-content:center; text-align:left; padding:30px 70px; margin:0 0 48px; }
  .m-nursery-intro .m-art { grid-column:1; grid-row:1/3; height:300px; max-height:none; margin:0; }
  .m-nursery-intro p { grid-column:2; align-self:end; font-size:23px; }
  .m-nursery-intro .m-button { grid-column:2; align-self:start; }
  .m-site .m-content>.lfc-nursery-home { margin:0 -48px!important; width:calc(100% + 96px)!important; }
  .d-nursery-bottom { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:72px; align-items:start; margin-top:64px; }
  .m-nursery-info,.m-location { margin:0; }
  .m-location { position:sticky; top:32px; }
  .m-map,.m-map-placeholder { min-height:390px; }
  .m-map iframe { height:430px; }

  /* Editorial introduction, readable text cards and a horizontal chronology. */
  .d-story-intro { display:grid; grid-template-columns:1fr 1fr; column-gap:64px; align-content:center; margin-bottom:52px; }
  .m-founders { grid-column:1; grid-row:1/3; margin:0; }
  .m-founders img { height:390px; object-fit:cover; }
  .d-story-intro>h2 { grid-column:2; align-self:end; margin:0 0 20px; font-size:54px!important; }
  .d-story-intro>p { grid-column:2; font-size:23px; max-width:450px; }
  .d-information-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; align-items:start; }
  .d-information-grid>.m-accordion { margin:0; }
  .d-information-grid:has(.m-timeline)>details:has(.m-timeline),.d-information-grid:has(.m-timeline)>#section-2 { grid-column:1/-1; }
  .m-timeline { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; padding:0; gap:24px; }
  .m-timeline li { padding:0 12px 0 0; border-top:2px solid #b7c98f; margin:0; }
  .m-timeline strong { margin:16px 0; }
  .d-information-grid #section-2 .m-panel:has(>.m-paper) { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
  .d-information-grid .m-panel>.m-paper { margin:0; }

  /* Featured reading and secondary articles have different desktop prominence. */
  .m-kind-journal .m-content { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
  .m-kind-journal .m-select-label,.m-kind-journal select,.m-kind-journal .m-content>h2 { grid-column:1/-1; }
  .m-kind-journal .m-select-label { margin-bottom:-16px; }
  .m-kind-journal .m-article-card { margin:0; }
  .m-kind-journal .m-article-card:has(.m-art) { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; column-gap:64px; align-content:center; padding:40px 52px; }
  .m-kind-journal .m-article-card>.m-art { grid-column:1; grid-row:1/5; height:330px; max-height:none; margin:0; }
  .m-kind-journal .m-article-card:has(.m-art)>:not(.m-art) { grid-column:2; }
  .m-kind-journal .m-article-card:has(.m-art)>h2 { font-size:42px; }
  .m-kind-journal .m-content>h2 { margin:20px 0 0; }
  .m-kind-article .m-content>.lfc-picture { max-width:900px; margin:0 auto 56px; }
  .m-kind-article .lfc-image-frame { aspect-ratio:2.2; }
  .d-reading-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:48px; align-items:start; }
  .d-reading-layout>.m-contents { position:sticky; top:26px; margin:0; }
  .d-reading-layout>.m-contents summary { font-size:14px; }
  .d-reading-layout>.m-contents .m-links { font-size:15px; }
  .d-reading-body { display:block; min-width:0; }
  .d-reading-body>.m-accordion { margin:0 0 24px; }
  .d-reading-body .m-panel { font-size:18px; line-height:1.8; }
  .m-kind-legal .m-panel .lfc-financeurs__logos { justify-content:flex-start; }
  .m-kind-sitemap .m-content { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:start; }
  .m-kind-sitemap .m-content>details { margin:0; }
  .m-kind-sitemap .m-content>details:nth-child(2) { grid-column:2; grid-row:1/4; }
  .m-kind-sitemap .m-content>details:nth-child(3) { grid-column:3; }
  .m-kind-not-found .m-content { max-width:1120px; }
  .m-not-found { display:grid; grid-template-columns:1fr 1fr; gap:0 56px; text-align:left; padding:48px; margin-top:0; }
  .m-not-found>.m-art { grid-column:1; grid-row:1/5; max-height:none; height:330px; margin:0; }
  .m-not-found>:not(.m-art) { grid-column:2; }
  .m-not-found .m-link { justify-content:flex-start; }

  /* Meeting invitation and footer unfold horizontally. */
  .m-meeting { max-width:1184px; margin:0 max(48px,calc((100vw - 1184px)/2)) 72px; padding:44px 64px; display:grid; grid-template-columns:.9fr 1.1fr; gap:0 64px; align-content:center; text-align:left; }
  .m-meeting .m-art { grid-row:1/4; grid-column:1; max-height:none; height:300px; margin:0; }
  .m-meeting h2,.m-meeting p,.m-meeting .m-button { grid-column:2; }
  .m-meeting h2 { align-self:end; font-size:44px!important; }
  .m-meeting .m-button { align-self:start; }
  .m-footer { display:grid; grid-template-columns:minmax(220px,1.2fr) 1fr 1fr; column-gap:60px; padding:60px max(48px,calc((100vw - 1184px)/2)) 28px; text-align:left; }
  .m-footer>* { max-width:none; margin-left:0; margin-right:0; }
  .m-footer>a,.m-footer>p,.m-footer>.lfc-footer-social { grid-column:1; }
  .m-footer>.m-accordion { margin:0; grid-row:1/5; border:0; }
  .m-footer>.m-accordion:nth-of-type(1) { grid-column:2; }
  .m-footer>.m-accordion:nth-of-type(2) { grid-column:3; }
  .m-footer .m-accordion summary { font-size:27px; padding:0 0 20px; min-height:44px; }
  .m-footer .m-accordion .m-panel { padding:0; }
  .m-footer .lfc-footer-social { justify-content:flex-start; margin:8px 0 26px; }
  .m-footer>.lfc-financeurs { grid-column:1/-1; margin-top:32px; }
  .m-footer .lfc-financeurs__logos { gap:28px; }
}
@media(min-width:1280px) {


}
@media(min-width:900px) {
  .d-information-grid:has(.m-timeline)>#section-1 { grid-column:1/-1; }
  .d-information-grid:has(.m-timeline)>#section-1 .m-panel { display:grid; grid-template-columns:1fr 1fr; gap:0 48px; }
  .d-information-grid:has(.m-timeline)>#section-1 .m-panel>p:first-child { grid-column:1; grid-row:1/3; }
  .d-information-grid:has(.m-timeline)>#section-1 .m-panel>blockquote,.d-information-grid:has(.m-timeline)>#section-1 .m-panel>p:last-child { grid-column:2; }
  .d-information-grid:has(.m-timeline)>#section-1 blockquote { margin-top:0; }
}
