/* Revue21 Schweiz v0.10.0
   Public-site parity pass. The original Revue21 stylesheet stays untouched;
   this adapter normalises the Swiss CMS templates and adds accessibility-safe fallbacks. */
:root{--r21-paper:#f6f5f1;--r21-ink:#1d1d1b;--r21-orange:#f06635;--r21-line:#d8d5cb}

/* Global resilience and interaction quality. */
.r21-ch{overflow-x:hidden}
.r21-ch main{min-height:42vh}
.r21-ch a,.r21-ch button{touch-action:manipulation}
.r21-ch a:focus-visible,.r21-ch button:focus-visible,.r21-ch input:focus-visible,.r21-ch select:focus-visible,.r21-ch textarea:focus-visible{outline:3px solid var(--r21-orange);outline-offset:3px}
.r21-ch :target{scroll-margin-top:3rem}
.r21-ch img{max-width:100%}
.r21-ch .shell{width:100%;max-width:144rem;margin-inline:auto;padding-inline:var(--wrapper-padding)}
.r21-ch .empty{padding:6.4rem 0;border-top:1px solid var(--r21-ink);font:200 2.2rem/1.45 s,serif}

/* The single Swiss header keeps the reference geometry while remaining keyboard-friendly. */
.r21-ch .nav-header>.header{min-height:var(--height-nav-header)}
.r21-ch .nav-header .site-logo{flex:0 0 auto}
.r21-ch .r21-search-panel{box-shadow:0 1.2rem 2.4rem rgba(29,29,27,.08)}
.r21-ch .r21-search-form{align-items:center}
.r21-ch .r21-search-form input{min-height:4.8rem}
.r21-ch .r21-search-form button{min-height:4.8rem}
.r21-ch .r21-overlay-menu{max-height:100dvh;overflow:auto;overscroll-behavior:contain}
html.r21-panel-open,html.r21-panel-open body{overflow:hidden}

/* Archive/listing pages: same restrained paper header and editorial rhythm as Revue21. */
.r21-ch .listing-page,.r21-ch .issues-page,.r21-ch .contributors-page,.r21-ch .search-page,.r21-ch .subscription-page,.r21-ch .error-page{padding-top:0!important}
.r21-ch .archive-head{background:var(--r21-paper);padding:13rem 0 6.4rem;margin:0 0 6.4rem;border:0}
.r21-ch .archive-head .archive-type{margin-bottom:.8rem;color:var(--r21-orange);font:600 1.1rem/1.3 Inter,sans-serif;text-transform:uppercase;letter-spacing:.05em}
.r21-ch .archive-head h1{max-width:12ch;margin:0;font:500 clamp(5.8rem,7.8vw,10.8rem)/.92 r,serif;letter-spacing:-.03em;text-wrap:balance}
.r21-ch .archive-head h2{max-width:18ch;margin:2.4rem 0 0;font:500 clamp(3.2rem,4.4vw,5.6rem)/1 r,serif;letter-spacing:-.02em}
.r21-ch .archive-head p{max-width:72rem;margin:3.2rem 0 0;font:200 clamp(2rem,2vw,2.5rem)/1.45 s,serif;letter-spacing:-.015em}
.r21-ch .archive-head .issue-facts{display:flex;flex-wrap:wrap;gap:.8rem 2rem;margin-top:2.4rem;font:500 1.3rem/1.4 Inter,sans-serif}
.r21-ch .archive-head .contributor-links{display:flex;flex-wrap:wrap;gap:1.6rem;margin-top:2.4rem;font:500 1.4rem/1.4 Inter,sans-serif}
.r21-ch .archive-head .contributor-links a{text-underline-offset:.25em}

.r21-ch .format-filter{margin:-1.6rem 0 6.4rem;background:#fff;border:0}
.r21-ch .format-filter-inner{display:flex;gap:.8rem 2.4rem;align-items:center;overflow-x:auto;scrollbar-width:none;padding-top:1.6rem;padding-bottom:1.6rem;border-top:1px solid var(--r21-line);border-bottom:1px solid var(--r21-line)}
.r21-ch .format-filter-inner::-webkit-scrollbar{display:none}
.r21-ch .format-filter a{flex:none;padding:.2rem 0;color:#8e8e8d;font:500 1.3rem/1.35 Inter,sans-serif;text-decoration:none;white-space:nowrap}
.r21-ch .format-filter a:hover,.r21-ch .format-filter a.is-active{color:var(--r21-ink)}
.r21-ch .format-filter a.is-active{text-decoration:underline;text-decoration-thickness:.15rem;text-underline-offset:.45rem}

.r21-ch .archive-list{padding:0 0 11.2rem}
.r21-ch .archive-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7.2rem 4rem}
.r21-ch .archive-list-card{min-width:0;border:0;padding:0}
.r21-ch .archive-list-card.is-featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(30rem,.65fr);gap:4rem;align-items:start;padding:0 0 6.4rem;border-bottom:1px solid var(--r21-ink)}
.r21-ch .archive-list-image{display:block;overflow:hidden;background:var(--r21-paper);aspect-ratio:4/3}
.r21-ch .archive-list-card.is-featured .archive-list-image{aspect-ratio:16/9}
.r21-ch .archive-list-image picture,.r21-ch .archive-list-image img{display:block;width:100%;height:100%}
.r21-ch .archive-list-image img{object-fit:cover;transform:scale(1.002);transition:transform .5s cubic-bezier(.23,1,.32,1)}
.r21-ch .archive-list-card:hover .archive-list-image img{transform:scale(1.025)}
.r21-ch .archive-list-content{padding-top:2rem}
.r21-ch .archive-list-card.is-featured .archive-list-content{padding-top:.4rem}
.r21-ch .archive-list-content .lead-date{display:inline-block;margin:0 0 1.2rem;padding:.15rem .7rem;border:1px solid currentColor;border-radius:.4rem;font:600 1.1rem/1.4 Inter,sans-serif}
.r21-ch .archive-list-content .micro-meta{margin-bottom:1rem;color:#8e8e8d;font:600 1.1rem/1.3 Inter,sans-serif;text-transform:uppercase;letter-spacing:.04em}
.r21-ch .archive-list-card h2{margin:0;font:500 clamp(3.2rem,3.2vw,4.8rem)/1 r,serif;letter-spacing:-.02em;text-wrap:balance}
.r21-ch .archive-list-card.is-featured h2{font-size:clamp(4.8rem,5vw,7.2rem)}
.r21-ch .archive-list-card h2 a{text-decoration:none}
.r21-ch .archive-list-card p{margin:1.4rem 0 0;font:200 1.8rem/1.5 s,serif}

/* Search follows the reference archive vocabulary instead of looking like a utility page. */
.r21-ch .search-page-form{display:flex;max-width:76rem;margin:3.2rem 0 0}
.r21-ch .search-page-form input{flex:1;min-width:0;min-height:5rem;padding:1.2rem 1.6rem;border:1px solid var(--r21-ink);background:#fff;font:400 1.6rem/1.4 Inter,sans-serif}
.r21-ch .search-page-form button{min-height:5rem;padding:1.2rem 2rem;border:1px solid var(--r21-ink);background:var(--r21-ink);color:#fff;font:600 1.4rem/1.3 Inter,sans-serif;cursor:pointer}

/* Contributors: circular portrait system and compact metadata mirror Revue21 contributor cards. */
.r21-ch .contributors-grid-section,.r21-ch .issues-grid-section{padding:0 0 11.2rem}
.r21-ch .contributors-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6.4rem 4rem}
.r21-ch .contributor-card{min-width:0;padding-top:2rem;border-top:1px solid var(--r21-ink)}
.r21-ch .contributor-card-main{display:grid;grid-template-columns:9.8rem minmax(0,1fr);gap:2rem;align-items:start;text-decoration:none}
.r21-ch .contributor-card-photo,.r21-ch .contributor-card-placeholder{display:block;width:9.8rem;height:9.8rem;overflow:hidden;border-radius:50%;background:var(--r21-paper)}
.r21-ch .contributor-card-photo picture,.r21-ch .contributor-card-photo img{display:block;width:100%;height:100%}
.r21-ch .contributor-card-photo img{object-fit:cover}
.r21-ch .contributor-card-placeholder{display:grid;place-items:center;font:500 4.6rem/1 r,serif}
.r21-ch .contributor-card-copy{display:flex;flex-direction:column;gap:.7rem}
.r21-ch .contributor-card-copy .micro-meta{color:#8e8e8d;font:600 1.05rem/1.3 Inter,sans-serif;text-transform:uppercase;letter-spacing:.04em}
.r21-ch .contributor-card-copy strong{font:500 3.2rem/1 r,serif}
.r21-ch .contributor-card-copy>span:last-child{font:200 1.5rem/1.45 s,serif}
.r21-ch .contributor-card-foot{display:flex;justify-content:space-between;gap:1.6rem;margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid var(--r21-line);font:500 1.1rem/1.35 Inter,sans-serif}
.r21-ch .contributor-card-foot a{text-align:right}
.r21-ch .contributor-head-grid{display:grid;grid-template-columns:22rem minmax(0,1fr);gap:4.8rem;align-items:center}
.r21-ch .contributor-portrait{width:22rem;height:22rem;overflow:hidden;border-radius:50%;background:#fff}
.r21-ch .contributor-portrait picture,.r21-ch .contributor-portrait img{width:100%;height:100%}
.r21-ch .contributor-portrait img{object-fit:cover}

/* Print issues: generous covers without the legacy drop-shadow look. */
.r21-ch .issues-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7.2rem 4rem}
.r21-ch .issue-card{min-width:0}
.r21-ch .issue-card-cover{display:block;max-width:34rem;margin:0 0 2.4rem;background:var(--r21-paper)}
.r21-ch .issue-card-cover picture,.r21-ch .issue-card-cover img{display:block;width:100%;height:auto}
.r21-ch .issue-card-cover img{box-shadow:none!important}
.r21-ch .issue-card .micro-meta{color:#8e8e8d;font:600 1.05rem/1.3 Inter,sans-serif;text-transform:uppercase;letter-spacing:.04em}
.r21-ch .issue-card h2{margin:1rem 0 0;font:500 3.8rem/1 r,serif;letter-spacing:-.02em}
.r21-ch .issue-card h2 a{text-decoration:none}
.r21-ch .issue-card h2 span{display:block;margin-top:.8rem;font-size:.74em}
.r21-ch .issue-card p{margin:1.4rem 0 0;font:200 1.65rem/1.48 s,serif}
.r21-ch .issue-archive-head{background:#4c0047;color:#fff}
.r21-ch .issue-archive-head .archive-type{color:#f8d086}
.r21-ch .issue-archive-head p{color:inherit}
.r21-ch .issue-archive-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(24rem,36rem);gap:6.4rem;align-items:center}
.r21-ch .issue-archive-cover img{box-shadow:none!important}

/* Article: preserve Revue21's narrow reading column and use its native footer classes. */
.r21-ch .single-post-content>.text{overflow-wrap:break-word}
.r21-ch .single-post-content>.text a{overflow-wrap:anywhere;text-underline-offset:.18em}
.r21-ch .single-post-content>.text h2,.r21-ch .single-post-content>.text h3{text-wrap:balance}
.r21-ch .single-post .footer-single{margin-top:7.2rem;margin-bottom:9.6rem}
.r21-ch .single-post .footer-single .part-footer>.content>.title{max-width:none}
.r21-ch .single-post .footer-single .contributeurs-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--grid-gap)}
.r21-ch .single-post .footer-single .contributeur-list-item.col{grid-column:span 4}
.r21-ch .single-post .footer-single .contributeur-list-item>.contributeur-img-wrapper{display:block;height:6.4rem}
.r21-ch .single-post .footer-single .contributeur-img-wrapper picture,.r21-ch .single-post .footer-single .contributeur-img-wrapper img{width:100%;height:100%}
.r21-ch .single-post .footer-single .contributeur-img-wrapper img{object-fit:cover}
.r21-ch .single-footer-tags .commons-tag-list{margin:0}
.r21-ch .single-footer-credits p{max-width:86rem;margin:.8rem 0 0}
.r21-ch .single-footer-credits .link-external{text-underline-offset:.25em}
.r21-ch .r21-related-image{display:block;aspect-ratio:1/1}
.r21-ch .r21-related-image picture,.r21-ch .r21-related-image img{width:100%;height:100%}
.r21-ch .r21-related-image img{object-fit:cover}
.r21-ch .article-gallery figcaption{display:flex;justify-content:space-between;gap:2rem;color:#8e8e8d}
.r21-ch .article-gallery figcaption small{margin-left:auto;text-align:right}
.r21-ch .single-header .authors a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}
.r21-ch .single-header .authors a:hover,.r21-ch .single-header .authors a:focus-visible{text-decoration-style:solid}
.r21-ch .r21-contributor-more{max-width:34rem;margin:.8rem 0 0;color:#666}
.r21-ch .r21-contributor-more a{text-underline-offset:.2em}
.r21-ch .r21-verification{border-top:1px solid var(--r21-ink)}
.r21-ch .r21-verification-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 3.2rem;max-width:92rem;margin:1.6rem 0 0;padding:0;list-style:none}
.r21-ch .r21-verification-list li{min-width:0;font:500 1.25rem/1.4 Inter,sans-serif}
.r21-ch .r21-verification-list a{overflow-wrap:anywhere;text-underline-offset:.22em}

/* 404/500 pages keep the same editorial scale rather than falling back to an app-style error box. */
.r21-ch .error-page .archive-head{padding-top:19.6rem}
.r21-ch .error-page .archive-head h1{max-width:10ch}
.r21-ch .error-page .text-button{display:inline-block;margin-top:2rem;font:600 1.4rem/1.35 Inter,sans-serif;text-underline-offset:.3em}
.r21-ch .related-section{padding:0 0 9.6rem}
.r21-ch .related-section .archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4rem}
.r21-ch .related-section .archive-card{padding-top:1.6rem;border-top:1px solid var(--r21-ink)}
.r21-ch .related-section .archive-card h3{margin:0;font:500 3.2rem/1 r,serif}
.r21-ch .related-section .archive-card p{font:200 1.6rem/1.45 s,serif}

/* Pagination */
.r21-ch .pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;margin-top:6.4rem;padding-top:2rem;border-top:1px solid var(--r21-ink);font:600 1.25rem/1.35 Inter,sans-serif}
.r21-ch .pagination a{text-decoration:none}
.r21-ch .pagination-next{text-align:right}
.r21-ch .pagination-status{color:#8e8e8d;font-weight:500}

/* Newsletter uses the same wrapper geometry as the rest of the page. */
.r21-ch .newsletter .shell{max-width:144rem}

@media(max-width:1024px){
  .r21-ch .archive-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .r21-ch .archive-list-card.is-featured{grid-template-columns:1fr 1fr}
  .r21-ch .contributors-grid,.r21-ch .issues-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .r21-ch .single-post .footer-single .contributeur-list-item.col{grid-column:span 6}
}

@media(max-width:767px){
  .r21-ch .archive-head{padding:calc(var(--height-nav-header) + 3.2rem) 0 4.8rem;margin-bottom:4.8rem}
  .r21-ch .archive-head h1{font-size:5.2rem;line-height:.96;max-width:100%}
  .r21-ch .archive-head h2{font-size:3.6rem}
  .r21-ch .archive-head p{font-size:2rem;margin-top:2.4rem}
  .r21-ch .format-filter{margin:-1.6rem 0 4.8rem}
  .r21-ch .archive-list{padding-bottom:7.2rem}
  .r21-ch .archive-list-grid{grid-template-columns:1fr;gap:5.6rem}
  .r21-ch .archive-list-card.is-featured{grid-column:auto;display:block;padding-bottom:4.8rem}
  .r21-ch .archive-list-card.is-featured .archive-list-content{padding-top:2rem}
  .r21-ch .archive-list-card.is-featured h2,.r21-ch .archive-list-card h2{font-size:3.8rem;line-height:1}
  .r21-ch .archive-list-card p{font-size:1.7rem}
  .r21-ch .search-page-form{flex-direction:column}
  .r21-ch .search-page-form button{width:100%}
  .r21-ch .contributors-grid,.r21-ch .issues-grid{grid-template-columns:1fr;gap:4.8rem}
  .r21-ch .contributor-head-grid,.r21-ch .issue-archive-grid{grid-template-columns:1fr;gap:3.2rem}
  .r21-ch .contributor-portrait{width:16rem;height:16rem}
  .r21-ch .issue-archive-cover{max-width:26rem}
  .r21-ch .single-post .footer-single{margin-top:4.8rem;margin-bottom:6.4rem}
  .r21-ch .single-post .footer-single .contributeurs-grid{display:block}
  .r21-ch .single-post .footer-single .contributeur-list-item.col{margin-bottom:3.2rem}
  .r21-ch .single-post .footer-single .contributeur-list-item.col:last-child{margin-bottom:0}
  .r21-ch .article-gallery figcaption{display:block}
  .r21-ch .article-gallery figcaption small{display:block;margin:.4rem 0 0;text-align:left}
  .r21-ch .r21-verification-list{grid-template-columns:1fr}
  .r21-ch .error-page .archive-head{padding-top:calc(var(--height-nav-header) + 3.2rem)}
  .r21-ch .related-section .archive-grid{grid-template-columns:1fr}
  .r21-ch .pagination{grid-template-columns:1fr 1fr}
  .r21-ch .pagination-status{grid-column:1/-1;grid-row:1;text-align:center}
  .r21-ch .pagination-prev{grid-column:1}.r21-ch .pagination-next{grid-column:2}
}

@media(prefers-reduced-motion:reduce){
  .r21-ch .archive-list-image img{transition:none!important;transform:none!important}
}

@media print{
  .r21-ch .format-filter,.r21-ch .pagination,.r21-ch .r21-overlay-menu,.r21-ch .r21-search-panel{display:none!important}
}

/* Subscription/newsletter utility pages stay in the same editorial system if enabled later. */
.r21-ch .subscription-hero{background:#fff34c;padding:13rem 0 8rem}
.r21-ch .subscription-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(20rem,.55fr);gap:6.4rem;align-items:center}
.r21-ch .subscription-hero .archive-type{color:var(--r21-ink);font:600 1.1rem/1.3 Inter,sans-serif;text-transform:uppercase;letter-spacing:.05em}
.r21-ch .subscription-hero h1{max-width:10ch;margin:1.2rem 0 3.2rem;font:500 clamp(6rem,8vw,11rem)/.9 r,serif;letter-spacing:-.035em;text-wrap:balance}
.r21-ch .subscription-hero p{max-width:70rem;margin:0 0 3rem;font:200 clamp(2rem,2vw,2.5rem)/1.45 s,serif}
.r21-ch .subscription-mark{font:900 clamp(16rem,24vw,34rem)/.72 c,Impact,sans-serif;letter-spacing:-.08em;text-align:right}
.r21-ch .issue-cta,.r21-ch .newsletter-action-button{display:inline-flex;align-items:center;justify-content:center;min-height:4.8rem;padding:1.1rem 2rem;border:1px solid var(--r21-ink);background:var(--r21-ink);color:#fff;font:600 1.3rem/1.3 Inter,sans-serif;text-decoration:none;cursor:pointer}
.r21-ch .subscription-benefits{padding:8rem 0 11.2rem}
.r21-ch .section-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:3.2rem}
.r21-ch .section-title-row h2{margin:0;font:500 clamp(4rem,5vw,7.2rem)/.96 r,serif;letter-spacing:-.025em}
.r21-ch .benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4rem}
.r21-ch .benefit-grid article{padding-top:1.6rem;border-top:1px solid var(--r21-ink)}
.r21-ch .benefit-grid h3{margin:.8rem 0 1.4rem;font:500 3.8rem/1 r,serif}
.r21-ch .benefit-grid p{margin:0;font:200 1.7rem/1.48 s,serif}
.r21-ch .newsletter-action-inner{max-width:90rem}
.r21-ch .newsletter-action-button{margin-top:2.4rem}

@media(max-width:767px){
  .r21-ch .subscription-hero{padding:calc(var(--height-nav-header) + 3.2rem) 0 5.6rem}
  .r21-ch .subscription-hero-grid{grid-template-columns:1fr;gap:2.4rem}
  .r21-ch .subscription-mark{display:none}
  .r21-ch .subscription-hero h1{font-size:5.6rem}
  .r21-ch .benefit-grid{grid-template-columns:1fr;gap:4.8rem}
}

/* v0.10.5: dependency-free, accessible carousel fallback.
   Revue21 geometry is retained, while native scrolling works even without Swiper JS. */
.r21-ch .commons-carrousel>.r21-native-carousel{overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-inline:contain;scrollbar-width:none;touch-action:pan-x pan-y}
.r21-ch .commons-carrousel>.r21-native-carousel::-webkit-scrollbar{display:none}
.r21-ch .commons-carrousel>.r21-native-carousel>.carrousel-wrapper{gap:var(--grid-gap);transform:none!important}
.r21-ch .commons-carrousel>.r21-native-carousel>.carrousel-wrapper>.carrousel-item{scroll-snap-align:start;scroll-snap-stop:normal}
.r21-ch .commons-carrousel>.r21-native-carousel>.r21-carousel-button{display:grid;place-items:center;width:5.2rem;height:5.2rem;padding:0;border:1px solid rgba(29,29,27,.18);border-radius:50%;background:#fff;color:#1d1d1b;font:400 3.2rem/1 Arial,sans-serif;cursor:pointer;box-shadow:0 .3rem 1.2rem rgba(29,29,27,.12)}
.r21-ch .commons-carrousel>.r21-native-carousel>.r21-carousel-button span{display:block;transform:translateY(-.08em)}
.r21-ch .commons-carrousel>.r21-native-carousel>.r21-carousel-button[disabled]{opacity:0!important;pointer-events:none}
.r21-ch .commons-carrousel>.r21-native-carousel>.r21-carousel-button:focus-visible{opacity:1!important}
.r21-ch .home-portfolios .commons-carrousel>.r21-native-carousel>.r21-carousel-button{border-color:rgba(255,255,255,.22)}
@media(max-width:767px){
  .r21-ch .commons-carrousel>.r21-native-carousel{scroll-padding-inline:var(--wrapper-padding)}
  .r21-ch .commons-carrousel>.r21-native-carousel>.r21-carousel-button{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  .r21-ch .commons-carrousel>.r21-native-carousel{scroll-behavior:auto}
}

