.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,.75fr) minmax(480px,1.25fr);gap:clamp(30px,4vw,68px);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(440px,40vw,680px);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:cover;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(15px,1.05vw,18px);
  font-weight:650;
  line-height:1.65;
  letter-spacing:.1em;
}
.history time,.gallery time,.news-list time,.song-grid article>span{
  color:#a83d2b;
  font-size:clamp(14px,.92vw,17px);
  font-weight:650;
  line-height:1.6;
  letter-spacing:.02em;
}
.dark .eyebrow,.green .eyebrow,.hq .eyebrow,.support .eyebrow,.retreat .eyebrow{
  color:#ff9a82;
}
@media(max-width:600px){
  .eyebrow{font-size:15px;letter-spacing:.075em;line-height:1.6}
  .history time,.gallery time,.news-list time,.song-grid article>span{font-size:14px}
}

/* QG : présentation officielle à gauche, trois nouveautés à droite. */
.hq{height:clamp(540px,38vw,680px);min-height:0}
.hq>.copy{position:relative;isolation:isolate;min-height:0;height:100%;padding:0;overflow:hidden;background:#101713}
.hq-main-slot{position:absolute;inset:0;z-index:0}.hq-main-slot iframe{display:block;width:100%;height:100%;border:0;pointer-events:auto}.hq>.copy:after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(0deg,#102019e8 0,#10201999 40%,transparent 76%);pointer-events:none}.hq-copy-content{position:absolute;z-index:2;left:clamp(28px,5vw,82px);right:clamp(28px,5vw,82px);bottom:clamp(30px,5vw,74px);text-shadow:0 2px 12px #000;pointer-events:none}.hq-copy-content h2{font-size:clamp(30px,3.2vw,50px);margin-block:12px}.hq-copy-content .body{line-height:1.7}.hq-copy-content a{margin-top:12px;background:#14271ebf;pointer-events:auto}
.hq .videos{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(3,minmax(0,1fr));gap:6px;padding:6px;background:#111;align-self:stretch;min-height:0;height:100%;overflow:hidden}
.hq-video{position:relative;min-width:0;min-height:0;overflow:hidden;background:#111}
.hq-video iframe{display:block;width:100%;height:100%;min-height:0;border:0;aspect-ratio:auto}
.hq-video p{position:absolute;left:0;right:0;bottom:0;margin:0;padding:28px 14px 11px;background:linear-gradient(transparent,#000c);color:#fff;font-size:13px;line-height:1.4;pointer-events:none}

.access .body{max-width:620px;white-space:pre-line}
.access-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.access-actions a{display:inline-flex;min-height:48px;margin-top:0;align-items:center;justify-content:center}

/* Les cartes restent courtes au repos, mais aucun contenu n'est supprimé. */
.song-grid article p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.song-grid article.open p{display:block;overflow:visible;-webkit-line-clamp:unset}
.song-grid h3{line-height:1.55}
.song-symbol{width:clamp(76px,8vw,112px);height:clamp(76px,8vw,112px);margin:0 auto 20px;border-radius:50%;overflow:hidden;background:#dfe6df;display:grid;place-items:center}
.song-symbol img{display:block;width:100%;height:100%;object-fit:cover}
.song-symbol-empty{border:1px solid #bdc8c0;color:#607166}.song-symbol-empty span{font-size:28px}

@media(max-width:900px){
  .hq{height:auto}
  .hq>.copy{height:auto;min-height:clamp(480px,72vw,620px)}
  .hq .videos{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto;min-height:0;height:auto}
  .hq-video iframe{height:auto;min-height:0;aspect-ratio:16/9}
}
@media(max-width:520px){
  .hero h2{font-size:clamp(28px,8.2vw,42px);line-height:1.35}
  .hero h2>span{display:inline-block;white-space:nowrap;max-width:100%}
  .hq .videos{grid-template-columns:1fr;gap:8px;padding:8px}
  .hq-video p{font-size:12px;padding:24px 12px 9px}
  .access-actions{flex-direction:column;align-items:stretch}
  .access-actions a{width:100%}
  .song-grid article{min-width:0}
  .song-grid h3{font-size:15px;overflow-wrap:normal;word-break:normal}
}
.service-prelude{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:28px 0 36px}
.service-prelude-card{min-width:0;background:#fff;padding:clamp(20px,3vw,32px);border:1px solid #d6ddd6;border-radius:8px}
.contact{flex-wrap:wrap}.contact a{flex:1 1 230px;max-width:340px}.contact a b{display:block}.contact a[aria-disabled="true"]{opacity:.55;cursor:not-allowed;pointer-events:none}.contact a:not([aria-disabled="true"]){cursor:pointer}.support .body{text-wrap:balance;max-width:min(780px,90vw)}
.service-prelude-card h3{font-size:clamp(21px,2vw,28px);line-height:1.5;margin:0 0 16px;overflow-wrap:break-word}
.service-prelude-card p{font-size:1rem;line-height:1.9;margin:0 0 16px;white-space:normal}
.service-prelude-card summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:1rem;font-weight:600}
.service-prelude-card summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.service-explanation{margin-top:16px}.service-sources{padding-left:20px;font-size:.95rem;line-height:1.8}.service-sources a{color:inherit;text-decoration:underline}
@media(max-width:700px){.service-prelude{grid-template-columns:1fr;gap:16px}.service-prelude-card{padding:20px}}

/* Les descriptions des médias appartiennent à la galerie, pas aux sections éditoriales. */
.split figcaption,.retreat figcaption,.carousel-caption,.hq-video p{display:none!important}

/* Portraits des 会長 : la mosaïque remplit toujours tout le cadre, quel que soit le nombre. */
.history{align-items:center}.history-portraits{display:grid!important;align-self:center;width:100%;gap:8px;padding:8px;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(180px,1fr);min-height:0!important;background:#263f32}
.history-portrait{display:block;position:relative;min-width:0;min-height:0;overflow:hidden;background:#202b25}
.history-portraits .history-portrait img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;transform-origin:center}
.history-count-1{grid-template-columns:1fr;aspect-ratio:4/5}
.history-count-2{grid-template-columns:repeat(2,minmax(0,1fr));aspect-ratio:2/1}
.history-count-3{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr;aspect-ratio:12/7}
.history-count-4{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:1fr;aspect-ratio:4/3}
.history-count-5{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:1fr;aspect-ratio:5/1}
.history-count-6{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));aspect-ratio:3/2}

/* Le portrait et le message du 会長 restent côte à côte sur tablette et téléphone. */
@media(max-width:900px){
  .minister{display:grid;grid-template-columns:minmax(150px,42%) minmax(0,1fr);min-height:460px}
  .minister>.visual{height:100%;min-height:460px}
  .minister>.visual img,.minister>.visual .carousel-stage,.minister>.visual .carousel-stage img,.minister>.visual .carousel-stage video{width:100%;height:100%;min-height:460px;object-fit:cover}
  .minister>.copy{align-self:center;padding:32px clamp(20px,4vw,42px)}
  .minister h2{font-size:clamp(24px,4vw,38px)}
  .history-portraits{min-height:0;grid-template-rows:none;aspect-ratio:auto}
  .history-count-1,.history-count-2,.history-count-3{grid-template-columns:1fr;grid-auto-rows:auto}
  .history-count-1 .history-portrait,.history-count-2 .history-portrait,.history-count-3 .history-portrait{aspect-ratio:4/5}
  .history-count-4,.history-count-5,.history-count-6{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}
  .history-count-4 .history-portrait,.history-count-5 .history-portrait,.history-count-6 .history-portrait{aspect-ratio:3/4}
}
@media(max-width:520px){
  .minister{grid-template-columns:minmax(118px,40%) minmax(0,1fr);min-height:420px}
  .minister>.visual,.minister>.visual img,.minister>.visual .carousel-stage,.minister>.visual .carousel-stage img,.minister>.visual .carousel-stage video{min-height:420px}
  .minister>.copy{padding:24px 16px}
  .minister .eyebrow{font-size:11px}
  .minister h2{font-size:clamp(20px,6vw,27px);line-height:1.55;margin:12px 0}
  .minister .body{font-size:12px;line-height:1.8}
  .minister .copy>b{font-size:11px;line-height:1.6}
  .history-portraits{gap:6px;padding:6px}
}

/* Mobile and desktop framing values are intentionally independent. */
/* One safe crop engine for every CMS photo: the enlarged image always covers its frame, even at the extreme edges. */
.hero>figure,.split>.visual,.carousel-stage,.history-portrait,.mosaic figure{position:relative;overflow:hidden}
.cms-cropped-media{position:absolute!important;display:block!important;width:var(--crop-size,110%)!important;height:var(--crop-size,110%)!important;max-width:none!important;min-height:0!important;left:var(--crop-left,-5%)!important;top:var(--crop-top,-5%)!important;object-fit:cover!important;object-position:var(--crop-position,50% 50%)!important;transform:none!important;transform-origin:center!important}
.gallery figure:hover .cms-cropped-media,.gallery figure:focus-within .cms-cropped-media{transform:none!important}
@media(max-width:900px){.cms-cropped-media{width:var(--crop-size-mobile,var(--crop-size,110%))!important;height:var(--crop-size-mobile,var(--crop-size,110%))!important;left:var(--crop-left-mobile,var(--crop-left,-5%))!important;top:var(--crop-top-mobile,var(--crop-top,-5%))!important;object-position:var(--crop-position-mobile,var(--crop-position,50% 50%))!important}}

/* Audited final frame proportions. These values are shared with the admin crop editor. */
@media(min-width:901px){
  .split:not(.minister):not(.history)>.visual{aspect-ratio:1/1;min-height:0;align-self:center}
  .minister>.visual{aspect-ratio:3/4;min-height:0;align-self:center}
  .english-visual{aspect-ratio:5/4;height:auto}
}
@media(max-width:900px){
  .hero{height:auto;min-height:0;aspect-ratio:9/16}
  .split:not(.minister):not(.history)>.visual{aspect-ratio:4/3;min-height:0}
  .split:not(.minister):not(.history)>.visual.cms-carousel,.split:not(.minister):not(.history)>.visual .carousel-stage{height:100%;min-height:0}
  .minister>.visual{aspect-ratio:3/4;height:auto;min-height:0;align-self:center}
  .minister>.visual img,.minister>.visual .carousel-stage,.minister>.visual .carousel-stage img,.minister>.visual .carousel-stage video{min-height:0}
}
@media(min-width:901px){.hero{height:auto;min-height:0;aspect-ratio:16/9}}
@media(max-width:760px){.english-visual{aspect-ratio:4/3}}
@media(max-width:500px){.mosaic figure,.mosaic .featured{height:auto;aspect-ratio:4/3}}
.gallery-media-frame{position:relative;display:block;width:100%;aspect-ratio:4/3;overflow:hidden;background:#202b25}
.gallery .gallery-media-frame img{height:var(--crop-size,110%)}
@media(max-width:900px){.gallery .gallery-media-frame img{height:var(--crop-size-mobile,var(--crop-size,110%))}}

/* Editable header identity and footer partner logos. */
.brand i.has-logo{overflow:hidden;background:transparent}.brand i.has-logo img{display:block;width:100%;height:100%;object-fit:contain}
#gallery time{display:none!important}
footer{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px 28px}footer>b{grid-column:1/-1}.footer-logos{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:18px;padding-bottom:18px;border-bottom:1px solid #ffffff26}.footer-logos img{display:block;max-width:min(180px,36vw);height:58px;object-fit:contain}footer [data-copyright]{grid-column:1}footer>a{grid-column:2}
@media(max-width:520px){footer{grid-template-columns:1fr;padding-bottom:84px}.footer-logos,footer>b,footer [data-copyright],footer>a{grid-column:1}.footer-logos img{height:48px}footer>a{justify-self:start}}

/* Mobile navigation: one large hamburger button replaces the tiny fixed footer links. */
.menu-toggle{display:none}
.values,#tenrikyo .cards{display:none!important}
@media(max-width:900px){
  body{padding-bottom:0}
  header{padding-inline:18px}
  header .menu-toggle{display:flex;position:relative;z-index:82;width:50px;height:50px;flex:0 0 50px;margin:0 0 0 12px;padding:12px;border:1px solid #cfd8d2;border-radius:10px;background:#263f32;flex-direction:column;justify-content:center;gap:5px;cursor:pointer}
  .menu-toggle span{display:block;width:100%;height:2px;border-radius:2px;background:#fff;transition:transform .2s ease,opacity .2s ease}
  header.menu-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  header.menu-open .menu-toggle span:nth-child(2){opacity:0}
  header.menu-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  header nav{display:none;position:fixed;z-index:80;left:0;right:0;top:112px;max-height:calc(100dvh - 112px);overflow:auto;padding:12px 16px 22px;background:#fff;border-top:1px solid #d8ded9;box-shadow:0 18px 35px #10201835;flex-direction:column}
  header.menu-open nav{display:flex}
  header nav a{min-height:54px;display:flex;align-items:center;padding:13px 10px;border-left:0;border-bottom:1px solid #e1e5e2;font-size:16px}
}
@media(max-width:520px){header nav{top:112px}.mobile{display:none!important}}

/* News cards backed by complete editorial articles */
.news-list{display:grid;gap:.65rem}.news-list .news-card{display:grid;grid-template-columns:clamp(90px,14vw,180px) minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.65rem;border-top:1px solid #cfd4cd;color:inherit;text-decoration:none}.news-card-media{display:block;aspect-ratio:16/10;overflow:hidden;background:#193128}.news-card-media img,.news-card-media video{width:100%;height:100%;object-fit:cover}.news-card time,.news-card small{display:block}.news-card b{display:block;margin:.25rem 0;font-size:clamp(1rem,1.6vw,1.3rem)}.news-card small{color:#59645d;line-height:1.6}.news-card i{font-size:1.5rem;font-style:normal}.news-card:hover,.news-card:focus-visible{background:#edf0ea}
@media(max-width:600px){.news-list .news-card{grid-template-columns:92px minmax(0,1fr);gap:.7rem}.news-card i{display:none}.news-card small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}

/* Complete News previews: chosen cover, automatic excerpt and the next media */
.news-list .news-card-rich{display:grid;grid-template-columns:minmax(220px,1.05fr) minmax(260px,1fr);gap:clamp(18px,3vw,42px);padding:clamp(18px,3vw,34px) 0;border-top:1px solid #cfd4cd}.news-cover{display:block;overflow:hidden;aspect-ratio:16/10;background:#173128}.news-cover img,.news-cover video{display:block;width:100%;height:100%;object-fit:cover}.news-card-copy{align-self:center}.news-card-copy time{color:#c95139;font-weight:700}.news-card-copy h3{margin:.45rem 0 .8rem;font-size:clamp(1.6rem,3vw,3rem);font-weight:400}.news-card-copy p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.8}.news-more{display:inline-block;margin-top:.5rem;padding:.75rem 1rem;border:1px solid #294b3a;color:#294b3a;text-decoration:none}.news-card-strip{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.news-card-strip img,.news-card-strip video{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#173128}
@media(max-width:680px){.news-list .news-card-rich{grid-template-columns:1fr;gap:14px}.news-card-strip{grid-column:1;display:flex;overflow-x:auto}.news-card-strip img,.news-card-strip video{flex:0 0 72%;width:72%}}
