/* Accueil : un même lieu, plusieurs aventures. */
.home-parcours { background: #faf7ef; color: #173a32; }
.home-parcours .hero { margin-bottom: 0; }
.home-parcours .hero-badges { display: none; }
.home-parcours .hero h1 { font-size: clamp(3rem,5.2vw,5rem); }
.home-parcours .hero-intro { max-width: 39rem; }
.home-parcours .hero .reveal { opacity: 1; transform: none; }
.home-section { padding: clamp(2.5rem,5vw,4.75rem) max(24px,calc((100vw - 1240px)/2)); }
.home-section h2 { font-family: 'Fraunces',Georgia,serif; font-size: clamp(2rem,3.4vw,3.1rem); line-height: 1.12; letter-spacing: -.035em; margin: 0 0 .8rem; }
.home-section h2 em { color: inherit; font-style: normal; }
.home-section p { line-height: 1.65; }
.home-section-heading { margin-bottom: 1.75rem; }
.home-section-intro { max-width: 850px; font-size: 1.05rem; line-height: 1.65; color: #425b52; }
.home-heading-row { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.home-heading-row .button { flex-shrink: 0; white-space: nowrap; }
.home-adventures { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.1rem; }
.home-adventure { display: flex; flex-direction: column; color: #173a32; text-decoration: none; background: #fffdf8; border: 1px solid #e4e1d6; border-radius: 20px; overflow: hidden; box-shadow: 0 4px 0 #173a3208; transition: transform .2s,box-shadow .2s; }
.home-adventure:hover { transform: translateY(-4px); box-shadow: 0 9px 22px #173a3212; }
.home-adventure:focus-visible,.home-compass-points a:focus-visible,.home-place-image:focus-visible { outline: 3px solid #173a32; outline-offset: 5px; }
.home-adventure-image { aspect-ratio: 4/3; background: #d8dfce; overflow: hidden; }
.home-adventure-image img { width: 100%; height: 100%; display: block; object-fit: contain; }
.home-adventure-copy { padding: 1.1rem 1.2rem 3.6rem; position: relative; flex: 1; }
.home-adventure h3 { font: 650 clamp(1.35rem,1.75vw,1.75rem)/1.1 'Fraunces',Georgia,serif; margin: .3rem 0 .7rem; letter-spacing: -.03em; }
.home-adventure-subtitle { font-size: .72rem; text-transform: uppercase; letter-spacing: .07em; font-weight: 700; margin: 0; }
.home-adventure-copy .home-rich { font-size: .92rem; line-height: 1.55; }
.home-adventure-arrow { position: absolute; bottom: 1rem; right: 1rem; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: #f1b43d; font-size: 1.3rem; }
.home-adventure-aventure_stages .home-adventure-arrow { background: #aeced0; }
.home-adventure-aventure_asso .home-adventure-arrow { background: #cad7b9; }
.home-adventure-aventure_groupes .home-adventure-arrow { background: #eead90; }
.home-meetings-section { background: #f9edc6; border-block: 1px solid #eddfb9; }
.home-selected-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.4rem; align-items: stretch; }
.home-selected-grid[data-count="1"] { grid-template-columns: minmax(0,460px); }
.home-selected-grid[data-count="2"] { grid-template-columns: repeat(2,minmax(0,460px)); }
.home-selected-card { background: #fffdf8; border: 1px solid #e7dfc9; border-radius: 21px; padding: 10px; display: flex; flex-direction: column; min-width: 0; overflow: hidden; }
.home-selected-date { text-align: center; font-size: .84rem; font-weight: 700; color: #173a32; padding: .55rem .4rem .9rem; }
.home-selected-media { aspect-ratio: 4/3; flex-shrink: 0; border-radius: 14px; padding: .4rem; background: #fffdf8; overflow: hidden; position: relative; }
.home-selected-media img { width: 100%; height: 100%; object-fit: contain; display: block; }
.home-selected-symbol { display: none; }
.home-selected-media.is-empty { background: repeating-linear-gradient(-35deg,#173a3205 0px,#173a3205 1px,transparent 1px,transparent 12px),#d9e0cf; }
.home-selected-media.is-empty .home-selected-symbol { display: grid; place-items: center; height: 100%; font-size: 4rem; color: #587e59; }
.home-selected-copy { display: flex; flex-direction: column; align-items: stretch; padding: 1.1rem .65rem .6rem; gap: .6rem; flex: 1; }
.home-selected-meta { display: flex; flex-wrap: wrap; gap: .35rem .7rem; align-items: baseline; font-size: .73rem; }
.home-selected-kind { color: #36573a; font-weight: 750; letter-spacing: .025em; }
.home-selected-status { color: #775321; }
.home-selected-copy h3 { font: 650 1.55rem/1.17 'Fraunces',Georgia,serif; margin: 0; }
.home-selected-copy p { margin: 0; }
.home-selected-facts { font-size: .85rem; font-weight: 650; }
.home-selected-summary { color: #526258; font-size: .88rem; line-height: 1.55; }
.home-selected-copy .event-availability { position: static!important; transform: none!important; width: auto!important; max-width: none; display: grid; grid-template-columns: minmax(0,1fr); gap: .65rem; padding: .9rem; margin: .15rem 0; font-size: .82rem; line-height: 1.45; text-align: center; box-shadow: none; }
.home-selected-copy .event-places-capacity { display: block; padding-bottom: .55rem; border-bottom: 1px solid var(--places-border); }
.home-selected-copy .event-places-main { display: grid; gap: .35rem; }
.home-selected-copy .event-places-stock { flex-wrap: wrap; gap: .3rem .5rem; }
.home-selected-copy .event-places-number { line-height: 1.1; }
.home-selected-copy .event-places-label { min-width: 0; }
.home-selected-copy .event-places-note { margin: 0; line-height: 1.5; }
.home-selected-copy .event-places-details { margin: 0; }
.home-selected-copy .event-availability.is-unspecified .event-places-capacity { border: 0; padding: 0; }
.home-selected-copy .event-opening { font-size: .8rem; margin: .25rem 0; padding: .65rem; }
.home-selected-copy .event-opening-label { font-size: .7rem; }
.home-selected-copy .event-opening-calendar { display: none; }
.home-selected-link { display: flex; gap: .75rem; justify-content: space-between; align-items: center; color: #173a32; font-size: .9rem; font-weight: 750; text-decoration: none; padding-top: .85rem; margin-top: auto; border-top: 1px solid #e1e5d8; }
.home-selected-link:hover { text-decoration: underline; }
.home-selected-grid .home-dates-empty { grid-column: 1/-1; padding: 1.5rem; background: #fff9e7; border-radius: 14px; margin: 0; color: #173a32; }
.home-spirit-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem; margin: 2rem 0 2.5rem; }
.home-spirit-grid article { display: grid; grid-template-columns: 2rem 1fr; column-gap: .75rem; align-content: start; }
.home-spirit-grid article>span { color: #b56342; font-size: 2rem; line-height: 1; }
.home-spirit-grid h3 { font: 600 1.5rem/1.2 'Fraunces',Georgia,serif; margin: 0 0 .55rem; }
.home-spirit-grid p { grid-column: 2; font-size: .93rem; color: #425b52; margin: 0; }
.home-compass-compact { border-top: 1px solid #dddccf; padding-top: 2rem; }
.home-compass-compact>.eyebrow { font-size: .75rem; margin: 0 0 1rem; }
.home-compass-points { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; margin-bottom: 1.3rem; }
.home-compass-points a { display: grid; grid-template-columns: 2.1rem 1fr; align-content: start; gap: .3rem .6rem; border-radius: 15px; background: #dce1d1; padding: 1.2rem 1rem; text-decoration: none; color: #173a32; }
.home-compass-points a:nth-child(2) { background: #f6dc97; }
.home-compass-points a:nth-child(3) { background: #edb49a; }
.home-compass-points a:nth-child(4) { background: #ccd9c1; }
.home-compass-points span { grid-row: 1/3; font-size: 1.9rem; line-height: 1.2; }
.home-compass-points strong { font: 650 1.2rem/1.3 'Fraunces',Georgia,serif; }
.home-compass-points small { font-size: .79rem; line-height: 1.4; }
.home-compass-compact>.simple-link { display: table; margin: 0 auto; }
.home-place { display: grid; grid-template-columns: .9fr 1.4fr; gap: 3rem; align-items: center; background: #eeeede; }
.home-place .home-rich { margin: 1rem 0 1.3rem; }
.home-place-image { display: block; min-width: 0; width: 100%; border-radius: 24px; overflow: hidden; aspect-ratio: 4/3; background: #ced6bf; transform: rotate(-2deg); transform-origin: center; box-shadow: 0 20px 34px #173a3229, 0 5px 10px #173a321a; }
.home-place-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.home-first-short { padding-top: 2rem; padding-bottom: 2rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; border-top: 1px solid #dedecb; }
.home-first-short h2 { font-size: clamp(1.4rem,2.3vw,2rem); }
.home-first-short p { font-size: .92rem; margin: 0; }
.home-first-short .eyebrow { margin-bottom: .4rem; font-size: .72rem; }
.home-first-short .button { font-size: .85rem; flex-shrink: 0; }
.home-parcours>.uto-footer,.home-colos-discovery>.uto-footer { margin: 0; padding: 3rem max(24px,calc((100vw - 1240px)/2)) 1.5rem; background: #173a32; color: #faf3de; width: 100%; border-radius: 0; }
.home-parcours>.uto-footer a,.home-colos-discovery>.uto-footer a { color: inherit; }
.home-parcours>.uto-footer .uto-footer-newsletter,.home-colos-discovery>.uto-footer .uto-footer-newsletter { color: #173a32; }
.home-colos-intro { background: #f2ead3; }
.home-colos-intro h1 { font: 650 clamp(2.75rem,5vw,5rem)/1.1 'Fraunces',Georgia,serif; letter-spacing: -.045em; max-width: 850px; }
.home-colos-intro>p { max-width: 750px; }
.home-colos-intro>.eyebrow { margin-top: 2rem; }
.home-colos-intro .hero-actions { margin-top: 1.5rem; }
.home-colos-discovery .reveal { opacity: 1; transform: none; }
.home-colos-discovery .colos { padding-bottom: 3rem; }
/* Des bords de papier fins, sur chaque jonction de couleur de l’accueil.
   La couleur vient du bloc qui suit : les rubriques mises en pause ne laissent
   ni bande vide ni séparation orpheline. Décor sans interaction ni animation. */
.home-parcours {
  --home-paper-height: 24px;
  --home-paper-width: 640px;
  --home-paper-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22640%22%20height%3D%2224%22%20viewBox%3D%220%200%20640%2024%22%3E%3Cpath%20d%3D%22M0.0%2010.0%20L3.6%209.9%20L12.2%2011.8%20L19.5%2013.5%20L24.9%2012.5%20L31.9%2011.9%20L39.3%2012.6%20L42.4%2013.4%20L46.0%2011.3%20L52.0%2010.9%20L57.0%2011.5%20L61.4%209.9%20L64.7%2011.3%20L73.2%2011.6%20L76.7%2011.3%20L83.2%2013.3%20L89.7%2011.9%20L93.9%2014.2%20L97.6%2011.4%20L103.7%2012.4%20L109.1%2010.1%20L113.4%2010.4%20L121.2%2011.0%20L129.8%207.1%20L134.0%208.0%20L140.4%207.8%20L144.2%208.6%20L150.3%205.5%20L157.6%207.2%20L165.4%209.8%20L170.4%207.2%20L177.3%209.8%20L182.8%209.5%20L186.9%2010.5%20L190.9%2010.0%20L194.0%208.3%20L201.0%207.3%20L209.8%206.7%20L213.1%209.1%20L217.1%208.2%20L223.6%207.1%20L229.2%208.1%20L233.9%207.3%20L240.4%208.9%20L246.6%2011.5%20L249.8%209.9%20L253.2%2011.7%20L260.0%2012.9%20L264.6%2012.9%20L271.2%2014.5%20L277.1%2011.3%20L283.6%2013.9%20L290.9%2013.2%20L295.0%2010.9%20L300.5%2010.4%20L305.1%2011.6%20L313.3%2010.0%20L320.2%2011.6%20L327.8%2012.5%20L335.2%2012.6%20L338.9%2012.4%20L343.6%2011.8%20L348.4%2011.2%20L355.4%2010.1%20L358.7%209.2%20L362.7%2011.1%20L367.3%2010.9%20L371.5%208.6%20L378.9%209.4%20L383.9%207.5%20L387.9%206.9%20L396.7%208.4%20L404.8%206.9%20L413.7%209.8%20L419.9%209.3%20L426.7%207.5%20L433.8%2010.1%20L440.3%208.5%20L444.7%208.1%20L448.8%209.2%20L456.2%206.9%20L460.1%209.5%20L466.6%207.3%20L471.2%209.5%20L475.6%208.7%20L483.2%2011.4%20L486.2%209.4%20L489.5%2010.1%20L492.7%2011.2%20L496.3%2011.2%20L504.2%2012.1%20L512.9%2013.6%20L521.5%2012.1%20L525.0%2014.4%20L533.1%2012.6%20L538.9%2010.8%20L547.4%2011.4%20L554.8%209.5%20L562.7%2012.4%20L568.5%2011.6%20L574.5%2011.0%20L578.0%2010.9%20L583.0%2012.5%20L590.0%2012.7%20L596.3%2011.9%20L604.5%2011.5%20L607.7%2011.0%20L614.2%209.9%20L620.8%207.9%20L627.9%208.8%20L634.0%206.4%20L640.0%2010.0%20V24%20H0%20Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E");
}
.home-parcours #main-content > .home-section {
  position: relative;
  --home-paper-color: #faf7ef;
  background: var(--home-paper-color);
}
.home-parcours #main-content > .home-meetings-section {
  --home-paper-color: #f9edc6;
  --home-paper-offset: -137px;
  border-block: 0;
}
.home-parcours #main-content > .home-spirit {
  --home-paper-offset: -283px;
  padding-bottom: clamp(2.25rem,3.5vw,3rem);
}
.home-parcours #main-content > .uj-home {
  --home-paper-color: #173a32;
  --home-paper-offset: -197px;
  background: #173a32;
  color: #faf7ef;
  padding-block: clamp(2.75rem,4vw,3.75rem);
}
.home-parcours #main-content > .home-place {
  --home-paper-color: #eeeede;
  --home-paper-offset: -59px;
}
.home-parcours #main-content > .home-first-short {
  --home-paper-offset: -349px;
  border-top: 0;
}
.home-parcours #main-content > .closing-slogan {
  --home-paper-color: var(--forest-dark, #0d2b24);
  --home-paper-offset: -211px;
  border-top: 0;
  overflow: visible;
}
.home-parcours > .uto-footer {
  --home-paper-color: #173a32;
  --home-paper-offset: -431px;
}
.home-parcours #main-content > :is(.hero, .home-section, .closing-slogan) + :is(.home-section, .closing-slogan)::after,
.home-parcours > .uto-footer::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset-inline: 0;
  bottom: calc(100% - 1px);
  height: var(--home-paper-height);
  background: var(--home-paper-color);
  -webkit-mask-image: var(--home-paper-mask);
  mask-image: var(--home-paper-mask);
  -webkit-mask-size: var(--home-paper-width) 100%;
  mask-size: var(--home-paper-width) 100%;
  -webkit-mask-repeat: repeat-x;
  mask-repeat: repeat-x;
  -webkit-mask-position: var(--home-paper-offset, 0px) bottom;
  mask-position: var(--home-paper-offset, 0px) bottom;
  pointer-events: none;
}
/* Le journal forme une rubrique à part, après l’esprit du lieu et sa boussole. */
.home-parcours .uj-home .home-section-heading { align-items: flex-end; margin-bottom: 2rem; }
.home-parcours .uj-home .home-section-heading h2 { color: #faf7ef; }
.home-parcours .uj-home .home-section-heading h2 em,
.home-parcours .uj-home .home-section-heading .eyebrow { color: #f1b43d; }
.home-parcours .uj-home .home-section-heading .eyebrow { margin-bottom: .9rem; }
.home-parcours .uj-home .home-section-heading p:not(.eyebrow) { color: #dce5d9; margin-bottom: 0; }
.home-parcours .uj-home .home-section-heading .button { margin-bottom: .25rem; }
.home-parcours .uj-home-grid { justify-content: center; align-items: stretch; }
.home-parcours .uj-home-grid[data-count="1"] { grid-template-columns: minmax(0,425px); }
.home-parcours .uj-home-grid[data-count="2"] { grid-template-columns: repeat(2,minmax(0,425px)); }
.home-parcours .uj-home-card { display: flex; flex-direction: column; min-width: 0; border-radius: 18px; box-shadow: 0 6px 18px #0d2b2433; }
.home-parcours .uj-home-card:focus-visible,
.home-parcours .uj-home .button:focus-visible { outline: 3px solid #f1b43d; outline-offset: 6px; }
.home-parcours .uj-home-card > img { aspect-ratio: 16/10; height: auto; max-height: none; flex-shrink: 0; }
.home-parcours .uj-home-card > div { display: flex; flex-direction: column; flex: 1; overflow-wrap: anywhere; }
.home-parcours .uj-home-card .uj-read { align-self: flex-start; margin-top: auto; padding-top: .4rem; }
@media(max-width:700px) {
  .home-parcours { --home-paper-height: 18px; --home-paper-width: 480px; }
  .home-parcours .uj-home .home-section-heading { align-items: flex-start; gap: 1.25rem; }
  .home-parcours .uj-home-grid,
  .home-parcours .uj-home-grid[data-count="1"],
  .home-parcours .uj-home-grid[data-count="2"] { grid-template-columns: minmax(0,1fr); max-width: 540px; margin-inline: auto; }
}

@media(min-width:1600px) { .home-section { padding-inline: max(32px,calc((100vw - 1400px)/2)); } }
@media(max-width:1000px) {
  .home-adventures { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; }
  .home-adventure-image { aspect-ratio: 16/9; }
  .home-compass-points { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-selected-grid { gap: .85rem; }
  .home-selected-copy h3 { font-size: 1.3rem; }
  .home-place { gap: 1.5rem; }
  .home-first-short { flex-direction: column; align-items: flex-start; gap: 1rem; }
}
@media(max-width:700px) {
  .home-heading-row { flex-direction: column; align-items: flex-start; }
  .home-selected-grid,.home-selected-grid[data-count="1"],.home-selected-grid[data-count="2"] { grid-template-columns: 1fr; gap: 1.2rem; }
  .home-selected-card { max-width: 560px; width: 100%; }
  .home-selected-copy { padding: 1rem .7rem .65rem; }
  .home-selected-copy h3 { font-size: 1.6rem; }
  .home-spirit-grid { grid-template-columns: 1fr; gap: 1.4rem; }
  .home-place { grid-template-columns: 1fr; }
  .home-place-image { transform: rotate(-1.25deg); box-shadow: 0 12px 24px #173a3229, 0 3px 7px #173a321a; }
  .home-parcours .hero h1 { font-size: clamp(2.8rem,11.5vw,4rem); }
  .home-parcours .hero-intro { font-size: 1rem; }
}
@media(max-width:440px) {
  .home-adventures { grid-template-columns: 1fr; }
  .home-adventure { display: grid; grid-template-columns: 100px 1fr; }
  .home-adventure-image { aspect-ratio: auto; height: 100%; min-height: 174px; }
  .home-adventure-copy { padding: 1rem 1rem 2.5rem; }
  .home-adventure h3 { font-size: 1.4rem; }
  .home-adventure-copy .home-rich { font-size: .84rem; }
  .home-adventure-subtitle { font-size: .65rem; }
  .home-adventure-arrow { width: 26px; height: 26px; bottom: .65rem; right: .7rem; }
  .home-compass-points { gap: .65rem; }
  .home-compass-points a { padding: .9rem .7rem; display: flex; flex-direction: column; gap: .25rem; }
  .home-compass-points strong { font-size: 1.12rem; }
  .home-first-short .button { white-space: normal; }
}
@media(prefers-reduced-motion:reduce) {
  .home-adventure,.home-adventure img { transition: none; }
  .home-adventure:hover,.home-adventure:hover img { transform: none; }
  .home-parcours .uj-home-card { transition: none; }
  .home-parcours .uj-home-card:hover { transform: none; }
}
