.news-list{border-top:1px solid #ccc}.news-list p{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid #ccc}.news-list time{font:11px Arial;color:var(--red)}.programs .cards{grid-template-columns:repeat(3,1fr)}@media(max-width:600px){.news-list p{grid-template-columns:1fr;gap:7px}.programs .cards{grid-template-columns:1fr}}

/* Parité avec le site de référence : rythme japonais, textes sûrs et médias pilotés par le CMS. */
main{display:flex;flex-direction:column;min-width:0}section{min-width:0}h1,h2,h3,p,b,a,figcaption{overflow-wrap:anywhere;word-break:normal;line-break:strict}.topbar,header{flex:none}.hero h2 span,.split h2 span,.plain h2 span,.support h2 span,.retreat h2 span{display:inline}.hero h2 br,.split h2 br,.plain h2 br,.support h2 br,.retreat h2 br{display:block}.hero>figure img{transform:scale(1.12);transform-origin:left center;object-position:12% center}.hero>figure:after{background:linear-gradient(270deg,#091911bf 0,#09191170 48%,transparent 80%)}.hero-copy{left:auto;right:7vw;width:min(48%,680px)}.hero-copy .body{max-width:620px}.split>.visual{position:relative;overflow:hidden}.split>.visual figcaption{position:absolute;left:18px;bottom:16px;background:#111b;color:#fff;padding:8px 10px;font-size:11px}.cms-carousel{min-height:560px;background:#202622}.carousel-stage,.carousel-stage img,.carousel-stage video{width:100%;height:100%;min-height:560px;object-fit:cover}.carousel-caption{position:absolute;left:18px;bottom:18px;background:#111c;color:#fff;padding:8px 11px;z-index:2}.carousel-dots{position:absolute;z-index:3;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:10px}.carousel-dots button{width:9px;height:9px;border:1px solid #fff;border-radius:50%;padding:0;background:#ffffff55;box-shadow:0 1px 4px #0005;cursor:pointer}.carousel-dots button.active{background:#fff;transform:scale(1.25)}.song-grid article{position:relative;cursor:pointer;transition:.2s ease}.song-grid article:hover{transform:translateY(-2px);box-shadow:0 12px 28px #24382d16}.song-more{display:block;margin-top:18px;color:#397765;font-size:11px}.song-grid article p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.song-grid article.open p{display:block}.gallery video,.mosaic video{display:block;width:100%;height:100%;object-fit:cover}.gallery figure{overflow:hidden}.gallery img,.gallery video{transition:transform .35s ease}.gallery figure:hover img,.gallery figure:hover video{transform:scale(1.025)}
main{display:block;min-width:0}section{min-width:0}h1,h2,h3,p,b,a,figcaption{overflow-wrap:anywhere;word-break:normal;line-break:strict}.topbar,header{flex:none}.topbar{position:sticky;top:0;z-index:70}.topbar+header{position:sticky;top:40px;z-index:69}.hero h2 span,.split h2 span,.plain h2 span,.support h2 span,.retreat h2 span{display:inline}.hero h2 br,.split h2 br,.plain h2 br,.support h2 br,.retreat h2 br{display:block}.hero>figure img{transform:scale(1.12);transform-origin:left center;object-position:12% center}.hero>figure:after{background:linear-gradient(270deg,#091911bf 0,#09191170 48%,transparent 80%)}.hero-copy{left:auto;right:7vw;width:min(48%,680px)}.hero-copy .body{max-width:620px}.split>.visual{position:relative;overflow:hidden}.split>.visual figcaption{position:absolute;left:18px;bottom:16px;background:#111b;color:#fff;padding:8px 10px;font-size:11px}.cms-carousel{min-height:560px;background:#202622}.carousel-stage,.carousel-stage img,.carousel-stage video{width:100%;height:100%;min-height:560px;object-fit:cover}.carousel-caption{position:absolute;left:18px;bottom:18px;background:#111c;color:#fff;padding:8px 11px;z-index:2}.carousel-dots{position:absolute;z-index:3;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:10px}.carousel-dots button{width:9px;height:9px;border:1px solid #fff;border-radius:50%;padding:0;background:#ffffff55;box-shadow:0 1px 4px #0005;cursor:pointer}.carousel-dots button.active{background:#fff;transform:scale(1.25)}.song-grid article{position:relative;cursor:pointer;transition:.2s ease}.song-grid article:hover{transform:translateY(-2px);box-shadow:0 12px 28px #24382d16}.song-more{display:block;margin-top:18px;color:#397765;font-size:11px}.song-grid article p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.song-grid article.open p{display:block}.gallery video,.mosaic video{display:block;width:100%;height:100%;object-fit:cover}.gallery figure{overflow:hidden}.gallery img,.gallery video{transition:transform .35s ease}.gallery figure:hover img,.gallery figure:hover video{transform:scale(1.025)}
@media(max-width:900px){.hero-copy{left:6vw;right:6vw;width:auto}.hero>figure:after{background:linear-gradient(0deg,#091911e0 0,#09191162 58%,transparent 85%)}.hero>figure img{transform:scale(1.18);transform-origin:16% center;object-position:18% center}.cms-carousel,.carousel-stage,.carousel-stage img,.carousel-stage video{min-height:360px;height:360px}.song-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.song-grid article{min-height:170px}.mosaic{scrollbar-width:none}.mosaic::-webkit-scrollbar{display:none}}
@media(max-width:520px){header{padding-inline:4vw}.brand{min-width:0}.brand span{min-width:0}.brand b{font-size:12px;line-height:1.35}.brand small{font-size:8px}.hero{min-height:640px;height:calc(100svh - 38px)}.hero-copy{bottom:74px}.hero h2{font-size:clamp(36px,11vw,52px);line-height:1.3}.hero-copy .body{font-size:13px;line-height:1.85}.song-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.song-grid article{min-height:160px;padding:16px}.song-grid h3{font-size:16px}.song-grid p{font-size:12px}.split h2,.plain h2,.support h2,.retreat h2{font-size:clamp(30px,9vw,42px)}.copy,.plain,.support,.gallery,.retreat{padding-left:6vw;padding-right:6vw}}

/* Le contenu détermine la hauteur : aucun texte ou portrait n'est tronqué. */
.song-grid article p,.song-grid article.open p{display:block;overflow:visible;-webkit-line-clamp:unset}.split h2,.plain h2,.support h2,.gallery h2,.retreat h2{text-wrap:balance}.body{max-width:70ch}.portrait{background:#202b25}.portrait img,.portrait .carousel-stage img{object-fit:contain;object-position:center center}.history .portrait img{object-position:center center}.minister .portrait img{object-position:center top}.retreat h2 span{display:block}.gallery>div{align-items:start}.gallery figure{height:auto}.gallery figcaption{min-height:52px}.contact{flex-wrap:wrap}

@media(min-width:901px){
  .split{min-height:0;align-items:stretch;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .split>.visual{height:auto;min-height:clamp(430px,29vw,560px)}
  .visual img,.carousel-stage,.carousel-stage img,.carousel-stage video{height:100%;min-height:0}
  .cms-carousel{min-height:0}
  .copy{padding-block:clamp(42px,4vw,68px);padding-inline:clamp(42px,5.2vw,92px)}
  .plain{padding-top:clamp(52px,4.2vw,76px);padding-bottom:clamp(52px,4.2vw,76px)}
  .support,.gallery{padding-top:clamp(60px,4.8vw,82px);padding-bottom:clamp(60px,4.8vw,82px)}
  .access iframe{min-height:clamp(420px,27vw,520px)}
  .programs .cards article,.cards article{min-height:clamp(150px,13vw,205px)}
  .cards h3{margin-top:clamp(38px,4vw,68px)}
  .retreat{grid-template-columns:minmax(360px,.9fr) minmax(560px,1.35fr);align-items:center;padding-block:clamp(58px,5vw,82px)}
  .retreat h2{font-size:clamp(34px,2.5vw,46px);line-height:1.55}
  .mosaic{grid-template-rows:repeat(4,clamp(95px,7vw,125px))}
}

@media(min-width:1500px){
  .copy{padding-inline:clamp(70px,6vw,118px)}
  .split h2,.plain h2,.support h2,.gallery h2{font-size:clamp(38px,3vw,54px)}
  .plain,.gallery{padding-left:max(7vw,calc((100vw - 1580px)/2));padding-right:max(7vw,calc((100vw - 1580px)/2))}
  .retreat{padding-left:max(7vw,calc((100vw - 1680px)/2));padding-right:max(7vw,calc((100vw - 1680px)/2))}
  .retreat h2{font-size:clamp(38px,2.25vw,48px)}
}

@media(min-width:2100px){
  body{font-size:17px}
  .body{font-size:16px;line-height:2}
  .split>.visual{min-height:540px;max-height:650px}
  .copy{padding-block:68px}
  .gallery>div{grid-template-columns:repeat(4,minmax(0,1fr))}
  .gallery img,.gallery video{height:clamp(230px,13vw,310px)}
}

@media(max-width:900px){
  .split{min-height:0}
  .split>.visual{height:auto;min-height:0}
  .visual img,.carousel-stage img,.carousel-stage video{height:auto;min-height:0;max-height:none;aspect-ratio:auto}
  .portrait img,.portrait .carousel-stage img{width:100%;height:auto;object-fit:contain}
  .copy{padding-block:clamp(44px,8vw,60px)}
  .plain,.support,.gallery,.retreat{padding-top:clamp(48px,9vw,66px);padding-bottom:clamp(48px,9vw,66px)}
  .retreat h2{font-size:clamp(32px,7vw,44px)}
}

@media(min-width:901px) and (max-width:1250px){header nav a{padding-left:1.05vw;padding-right:1.05vw;font-size:12px}.brand b{font-size:13px}.brand small{font-size:8px}}

@media(max-width:600px){
  .body{font-size:14px;line-height:1.9}
  .plain,.support,.gallery,.retreat,.copy{padding-left:5.5vw;padding-right:5.5vw}
  .song-grid article{min-height:0}
  .gallery figcaption{min-height:0}
  .retreat h2 span{display:block}
}

/* Navigation visible et discrète pour tous les carrousels. */
.carousel-arrow{
  position:absolute;
  z-index:4;
  top:50%;
  width:clamp(42px,4vw,58px);
  height:clamp(58px,6vw,82px);
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  padding:0 0 .08em;
  border:1px solid #ffffff55;
  border-radius:4px;
  background:#10191466;
  color:#fff;
  font-family:Arial,sans-serif;
  font-size:clamp(34px,4vw,52px);
  line-height:1;
  cursor:pointer;
  backdrop-filter:blur(3px);
  transition:background .2s ease,opacity .2s ease,transform .2s ease;
  opacity:.72;
}
.carousel-previous{left:clamp(10px,1.5vw,22px)}
.carousel-next{right:clamp(10px,1.5vw,22px)}
.carousel-arrow:hover,.carousel-arrow:focus-visible{background:#101914b8;opacity:1;transform:translateY(-50%) scale(1.04);outline:2px solid #fff;outline-offset:2px}
@media(max-width:600px){
  .carousel-arrow{width:40px;height:56px;font-size:36px;opacity:.82}
  .carousel-previous{left:8px}.carousel-next{right:8px}
}
@media(prefers-reduced-motion:reduce){.carousel-arrow{transition:none}}

.carousel-stage,.carousel-caption{transition:opacity .42s ease,transform .42s ease}
.carousel-stage.is-changing{opacity:0;transform:translateX(1.25%)}
.carousel-caption.is-changing{opacity:0;transform:translateY(5px)}
.carousel-arrow{min-width:44px;min-height:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.carousel-dots{align-items:center;gap:2px}
.carousel-dots button{
  position:relative;
  width:24px;
  height:24px;
  min-width:24px;
  min-height:24px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  box-shadow:none;
  transform:none;
  touch-action:manipulation;
}
.carousel-dots button::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:7px;
  height:7px;
  border:1px solid #fff;
  border-radius:50%;
  background:#ffffff55;
  box-shadow:0 1px 3px #0007;
  transform:translate(-50%,-50%);
  transition:width .2s ease,height .2s ease,background .2s ease;
}
.carousel-dots button.active{background:transparent;transform:none}
.carousel-dots button.active::before{width:9px;height:9px;background:#fff}
.carousel-dots button:hover::before,.carousel-dots button:focus-visible::before{background:#fff}
.carousel-dots button:focus-visible{outline:2px solid #fff;outline-offset:-3px}
@media(pointer:coarse){
  .carousel-arrow{width:48px;height:64px;opacity:.86}
  .carousel-dots{gap:0}
  .carousel-dots button{width:28px;height:28px;min-width:28px;min-height:28px}
}
@media(min-width:1800px){
  .carousel-arrow{width:58px;height:82px;font-size:52px}
}
@media(prefers-reduced-motion:reduce){
  .carousel-stage,.carousel-caption{transition:none}
}

/* Audit responsive 2026-08-26 : contenu compact, lisible et jamais tronqué. */
section:empty,section[hidden]{display:none!important}
.plain,.support,.gallery,.retreat{min-height:0}
h1,h2,h3,p,b,a,figcaption,li{word-break:normal;overflow-wrap:break-word;hyphens:none}
html[lang="en"] h1,html[lang="en"] h2,html[lang="en"] h3,html[lang="en"] p,html[lang="en"] li{word-break:normal;overflow-wrap:normal;hyphens:none}
.english{display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);gap:clamp(30px,4.5vw,78px);align-items:center;padding-block:clamp(52px,5vw,82px)}
.english-copy{min-width:0}
.english-copy h2{margin-bottom:clamp(24px,2.5vw,42px)}
.english-copy .body{margin-bottom:clamp(22px,2vw,34px)}
.english-copy ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
.english-copy li{min-width:0;height:auto;min-height:62px;padding:18px 20px;line-height:1.55}
.english-visual{position:relative;min-width:0;height:clamp(360px,34vw,570px);overflow:hidden;background:#202b25}
.english-visual.cms-carousel,.english-visual .carousel-stage{min-height:0;height:100%}
.english-visual .carousel-stage img,.english-visual .carousel-stage video{width:100%;height:100%;min-height:0;object-fit:contain;background:#202b25}
.english-visual .carousel-caption{max-width:calc(100% - 36px);white-space:normal}

@media(max-width:1100px){
  .english{grid-template-columns:minmax(0,1fr) minmax(360px,1fr);gap:32px}
  .english-copy ul{grid-template-columns:1fr}
}

@media(max-width:760px){
  .english{display:grid;grid-template-columns:1fr;gap:30px;padding-top:clamp(46px,9vw,62px);padding-bottom:clamp(46px,9vw,62px)}
  .english-visual{height:auto;aspect-ratio:4/3}
  .english-copy ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:480px){
  .english-copy ul{grid-template-columns:1fr}
  .english-copy li{min-height:0}
  .english-visual{aspect-ratio:1/1}
  h1,h2,h3{overflow-wrap:normal}
}

/* Petits repères rouges : taille minimale accessible sur tous les écrans. */
.eyebrow{
  color:#a83d2b;
  font-size:clamp(13px,calc(11px + .18vw),16px);
  font-weight:600;
  line-height:1.6;
  letter-spacing:.12em;
}
.history time,.gallery time,.news-list time,.song-grid article>span{
  color:#a83d2b;
  font-size:clamp(13px,calc(11px + .16vw),15px);
  font-weight:600;
  line-height:1.55;
  letter-spacing:.02em;
}
.dark .eyebrow,.green .eyebrow,.hq .eyebrow,.support .eyebrow,.retreat .eyebrow{
  color:#ff9a82;
}
@media(max-width:600px){
  .eyebrow{font-size:13px;letter-spacing:.09em}
  .history time,.gallery time,.news-list time,.song-grid article>span{font-size:13px}
}
