/* ===== charter/css/tokens.css ===== */
/* ==========================================================================
   charter/css/tokens.css -- the Abbaye Saint-Pierre palette and typefaces

   One definition for all four sites: parchment ground, ink text, rubric red,
   EB Garamond over IM Fell DW Pica. Every site loads this first. A site may
   re-declare a token in its own layer (the farm uses a green accent for
   --rubrique); it should not invent a second name for the same colour.

   The faces themselves are in charter/fonts/ (fonts.css, SIL OFL 1.1).
   ========================================================================== */

/* --- tokens ---------------------------------------------------------------
   Values are the charter's own, unchanged. */
:root{
  --papier:#F3ECDC;      /* parchment page ground */
  --papier2:#EAE1CC;     /* second parchment, panels and pills */
  --encre:#1C1A16;       /* ink: body text, dark bands, footer */
  --rubrique:#A1261C;    /* rubric red: the one accent */
  --ecarlate:#C5372A;    /* brighter red, sparingly */
  --sang:#6E1410;        /* deep red */
  --sepia:#6B5637;       /* secondary text */
  --filet:#C9BB97;       /* rules and borders */
  --or:#B08A2E;          /* discreet gold, as on an illuminated initial */
  --creme:#F6D9B8;       /* warm cream, for text on dark photography */
  --foot-text:#D8CFB8;   /* footer body text on ink */

  --serif:"EB Garamond",Garamond,Georgia,"Times New Roman",serif;
  --display:"IM Fell DW Pica",Georgia,serif;
  --caps:"IM Fell DW Pica SC","IM Fell DW Pica",Georgia,serif;

  --wrap:1180px;
  --measure:36em;
  --gutter:clamp(1rem,4vw,2rem);
}

/* ===== charter/css/base.css ===== */
/* ==========================================================================
   charter/css/base.css -- shared components of the Abbaye Saint-Pierre sites

   The rules that abbatia.abbayesaintpierre.org, ferme.abbayesaintpierre.org
   and www.patrimoinedesabbayes.org had in common, word for word, extracted
   so they live once: page frame, header and menu, language bar, page head,
   body text, figures, bands, footer, accessibility basics.

   Needs tokens.css before it. A site's own layer (src/site.css) comes after
   and may override anything here. Change a rule here and it changes on every
   site that uses base.css: check them all.
   ========================================================================== */
:root{
 padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);box-sizing:border-box}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--papier:#F3ECDC;--encre:#1C1A16}}
:root[data-theme="dark"]{--papier:#F3ECDC;--encre:#1C1A16}
html{overflow-x:clip;scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--papier);color:var(--encre);font-family:"EB Garamond",Garamond,Georgia,serif;font-size:1.22rem;line-height:1.6;
 background-image:radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.35),transparent 60%)}
img{max-width:100%}
a{color:var(--rubrique);text-underline-offset:.16em;text-decoration-thickness:1px}
.sc{font-family:"IM Fell DW Pica SC","EB Garamond",serif;letter-spacing:.06em}
.r{color:var(--rubrique)}
[hidden]{display:none!important}
/* top */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:rgba(243,236,220,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--filet);box-shadow:0 1px 0 #fff inset}
.top__in{max-width:1260px;margin:0 auto;padding:.45rem 1.5rem;display:flex;align-items:center;gap:1.4rem;position:relative}
.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--encre)}
.brand img{height:50px;width:auto}
.brand span{font-family:"IM Fell DW Pica SC",serif;font-size:.95rem;line-height:1.05;letter-spacing:.08em}
.top nav{margin-left:auto}
.top nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.15rem;align-items:center}
.top nav li{position:relative}
.top nav a{font-family:"IM Fell DW Pica SC",serif;font-size:.98rem;letter-spacing:.05em;color:var(--encre);text-decoration:none;padding:.4rem 0;display:block;white-space:nowrap;border-bottom:1px solid transparent}
.top nav li.key>a{color:var(--rubrique)}
.top nav ul ul{display:none;position:absolute;left:-1rem;top:100%;flex-direction:column;align-items:flex-start;gap:0;background:var(--papier);border:1px solid var(--filet);padding:.5rem 1rem;min-width:250px;box-shadow:0 14px 30px rgba(28,26,22,.14)}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--filet);font:inherit;font-family:"IM Fell DW Pica SC",serif;padding:.3rem .7rem;color:var(--encre)}
/* title page */
.tp{padding:3.2rem 1.5rem 2.6rem;text-align:center;border-bottom:1px solid var(--filet)}
.tp__in{max-width:780px;margin:0 auto;border:1px solid var(--encre);outline:1px solid var(--encre);outline-offset:5px;padding:2.6rem 1.5rem 2.2rem;background:rgba(255,255,255,.22)}
.tp__pax{font-family:"IM Fell DW Pica SC",serif;color:var(--rubrique);letter-spacing:.5em;margin:0 0 1.2rem;font-size:1rem;padding-left:.5em}
.tp h1{margin:0;font-weight:400;font-family:"IM Fell DW Pica",serif;line-height:1.02}
.tp h1 span{display:block}
.tp .l1{font-size:clamp(1.75rem,7.4vw,5.2rem);letter-spacing:.03em;text-transform:uppercase}
.tp .l2{font-size:clamp(1.15rem,4vw,2.7rem);color:var(--rubrique);letter-spacing:.14em;text-transform:uppercase;margin:.35rem 0}
.tp .l3{font-size:clamp(1.5rem,5.6vw,3.9rem);letter-spacing:.09em;text-transform:uppercase}
.tp__sub{font-size:1.28rem;line-height:1.45;margin:1.5rem 0 1rem}
.tp__mark{height:120px;width:auto;margin:.4rem auto .6rem;display:block}
.tp__imp{font-size:1.05rem;line-height:1.45;margin:0 0 1.5rem;border-top:1px solid var(--encre);padding-top:1rem;display:inline-block}
/* page head */
.ph{border-bottom:1px solid var(--filet);background:linear-gradient(180deg,rgba(255,255,255,.3),transparent)}
.ph__in{max-width:900px;margin:0 auto;padding:3.4rem 1.5rem 2.4rem;text-align:center}
.ph__k{font-family:"IM Fell DW Pica SC",serif;color:var(--rubrique);letter-spacing:.22em;margin:0 0 .6rem;font-size:1rem}
.ph h1{font-family:"IM Fell DW Pica",serif;font-weight:400;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.08;margin:0}
.ph__s{font-style:italic;font-size:1.3rem;max-width:40em;margin:1rem auto 0;color:#3a342a}
.ph__in::after{content:"❦";display:block;color:var(--rubrique);margin-top:1.2rem;font-size:1.3rem}
/* body */
.body{max-width:740px;margin:0 auto;padding:2.8rem 1.5rem 4.5rem}
.body>*:first-child{margin-top:0}
h2{font-family:"IM Fell DW Pica SC",serif;font-weight:400;font-size:1.65rem;letter-spacing:.05em;margin:3rem 0 .7rem;padding-bottom:.35rem;border-bottom:1px solid var(--filet);color:var(--encre)}
h2::first-letter{color:var(--rubrique)}
h3{font-family:"IM Fell DW Pica",serif;font-weight:400;font-size:1.5rem;margin:0 0 .3rem}
p{margin:0 0 1rem;hyphens:auto}
.drop{font-size:1.32rem;line-height:1.55;text-align:justify}
.drop::first-letter{font-family:"IM Fell DW Pica",serif;float:left;font-size:4.6em;line-height:.8;padding:.06em .08em 0 0;color:var(--rubrique)}
.note{font-size:1rem;color:var(--sepia);border-left:2px solid var(--filet);padding-left:1rem;margin-top:2rem}
.fleuron{text-align:center;color:var(--rubrique);font-size:1.6rem;margin:2.2rem 0}
li{margin:.35rem 0}
blockquote{margin:3rem auto;text-align:center;max-width:32em}
blockquote p{font-family:"IM Fell DW Pica",serif;font-style:italic;font-size:1.75rem;line-height:1.3;margin:0 0 .6rem}
blockquote cite{font-style:normal;font-family:"IM Fell DW Pica SC",serif;letter-spacing:.06em;color:var(--sepia);font-size:1rem}
.wide,.plate,.gal,.tri,.facts,.figs,.band,.fig{width:min(1180px,calc(100vw - 3rem));margin-left:50%;transform:translateX(-50%)}
.plate{margin-top:0;margin-bottom:2.6rem;text-align:center}
.fig{width:min(940px,calc(100vw - 3rem));margin-top:2.2rem;margin-bottom:2.2rem}
.fig img{width:100%;display:block;border:1px solid var(--filet)}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem;margin-top:2rem;margin-bottom:2rem}
.gal figure{margin:0}
.tri{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.6rem;margin-top:1.6rem;margin-bottom:1rem}
.tri a{color:var(--encre);text-decoration:none;border-top:3px double var(--encre);padding-top:1rem;display:block}
.tri a:hover img{filter:none}
.tri .n{display:block;font-family:"IM Fell DW Pica",serif;color:var(--rubrique);font-size:1.5rem;margin:.8rem 0 0}
.tri h3{font-family:"IM Fell DW Pica SC",serif;letter-spacing:.06em;font-size:1.55rem}
.tri p{font-size:1.1rem;line-height:1.5}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));border-top:1px solid var(--encre);border-bottom:1px solid var(--encre);margin-top:1rem;margin-bottom:3rem}
.facts div{padding:1.1rem 1rem;text-align:center;border-left:1px solid var(--filet)}
.facts div:first-child{border-left:0}
.facts b{display:block;font-family:"IM Fell DW Pica",serif;font-weight:400;font-size:2.5rem;color:var(--rubrique);line-height:1}
.facts span{font-size:1rem;font-style:italic}
.figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:2rem;margin-top:0;margin-bottom:2.6rem}
.figs article{display:flex;gap:1.2rem;align-items:flex-start}
.figs img{width:150px;flex:none;border:1px solid var(--encre);padding:4px;background:#fff;filter:sepia(.2)}
.figs .d{font-family:"IM Fell DW Pica SC",serif;color:var(--rubrique);letter-spacing:.08em;margin:0 0 .4rem}
.figs p{font-size:1.1rem;line-height:1.5}
.progs article{display:flex;gap:1.2rem;padding:1.3rem 0;border-bottom:1px solid var(--filet)}
.progs .n{font-family:"IM Fell DW Pica",serif;font-size:2rem;color:var(--rubrique);flex:0 0 2.6rem;text-align:right;line-height:1.1}
.progs p{margin:0 0 .4rem;font-size:1.14rem}
.progs .st{font-family:"IM Fell DW Pica SC",serif;letter-spacing:.07em;font-size:.95rem;color:var(--sepia);margin:0}
.priors{columns:3 200px;column-gap:2rem;list-style:none;padding:0;font-size:1.05rem;border-top:1px solid var(--encre);border-bottom:1px solid var(--encre);padding:1rem 0}
.priors li{break-inside:avoid;margin:.1rem 0}
.priors b{font-weight:500;color:var(--rubrique);font-feature-settings:"onum";margin-right:.4rem}
.tbl{overflow-x:auto;margin:1.2rem 0 1.6rem}
table{border-collapse:collapse;width:100%;font-size:1.05rem}
th{font-family:"IM Fell DW Pica SC",serif;font-weight:400;letter-spacing:.06em;text-align:left;border-bottom:1px solid var(--encre);border-top:3px double var(--encre);padding:.5rem .7rem;color:var(--rubrique)}
td{padding:.5rem .7rem;border-bottom:1px solid var(--filet);vertical-align:top}
.btns{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.8rem 0 0;justify-content:flex-start}
.tp .btns,.band .btns{justify-content:center}
.btn{font-family:"IM Fell DW Pica SC",serif;letter-spacing:.08em;font-size:1.02rem;text-decoration:none;padding:.6rem 1.3rem;border:1px solid var(--rubrique);background:var(--rubrique);color:#fff}
.btn:hover{background:#7d1b13;color:#fff}
.btn--2{background:transparent;color:var(--rubrique)}
.btn--2:hover{background:var(--rubrique);color:#fff}
.btn--inv.btn--2{color:#F3ECDC;border-color:#F3ECDC}
.band>div{max-width:760px;margin:0 auto}
.band h2{color:#fff;border:0;margin:0 0 .6rem;font-size:1.8rem}
.band h2::first-letter{color:#E9B7A9}
/* .band.band--l, not .band--l: each site defines its own .band (dark) in its
   layer, which loads after this file, and at equal specificity the later rule
   would win and turn the light band dark. */
.band.band--l{background:var(--papier2);color:var(--encre)}
.band--l h2{color:var(--encre)}
.body>.band:last-child{margin-bottom:-4.5rem}
.newsitem{border-bottom:1px solid var(--filet);padding:1.2rem 0}
.newsitem .d{font-family:"IM Fell DW Pica SC",serif;color:var(--sepia);letter-spacing:.06em;margin:0;font-size:.98rem}
.newsitem h2{border:0;margin:.2rem 0 .4rem;font-family:"IM Fell DW Pica",serif;font-size:1.6rem;letter-spacing:0}
.newsitem h2 a{color:inherit;text-decoration:none}
.newsitem h2 a:hover{color:var(--rubrique)}
.foot{background:var(--encre);color:#D8CFB8;font-size:1.02rem}
.foot a{color:#D8CFB8;text-decoration:none}
.foot a:hover{color:#fff;text-decoration:underline}
.foot .sc{color:#fff;margin:0 0 .6rem;font-size:1.05rem}
.foot ul{list-style:none;padding:0;margin:0}
.foot li{margin:.2rem 0}
.foot__b{max-width:1180px;margin:0 auto;padding:1rem 1.5rem 1.6rem;border-top:1px solid rgba(255,255,255,.15);font-size:.95rem;opacity:.85}
.plate--page img{max-width:620px}
@media(max-width:600px){.tp{padding:1.6rem .9rem 1.8rem}.tp__in{padding:1.8rem .8rem 1.6rem;outline-offset:3px}.tp__sub{font-size:1.1rem}.tp__imp{font-size:.95rem}.brand span{font-size:.8rem}.brand img{height:42px}}
img{height:auto}
.top{transition:box-shadow .3s}

/* ===== src/site.css ===== */
/* ==========================================================================
   abbatia.abbayesaintpierre.org -- the association's own layer.
   Loaded after charter/css/tokens.css and charter/css/base.css; only what
   differs from the shared charter belongs here.
   ========================================================================== */
.top nav a:hover,.top nav li.cur>a{border-bottom-color:var(--rubrique);color:var(--rubrique)}
.top nav li:hover>ul,.top nav li:focus-within>ul{display:flex}
/* narrow screens: without the script the menu stays in the page, wrapped under the brand; with it, it folds behind the button */
@media(max-width:1100px){.top__in{flex-wrap:wrap}.top nav{margin-left:0;width:100%}.top nav ul{flex-wrap:wrap;gap:0 1.1rem}.top nav ul ul{display:flex;position:static;border:0;box-shadow:none;padding:0 0 .3rem 1rem;min-width:0}
 .js .top__in{flex-wrap:nowrap}.js .burger{display:block}.js .top nav{display:none;position:absolute;left:0;right:0;top:100%;width:auto;background:var(--papier);border-bottom:1px solid var(--filet);padding:.8rem 1.5rem;max-height:75vh;overflow:auto;box-sizing:border-box}.js .top nav.open{display:block}.js .top nav ul{flex-direction:column;align-items:flex-start;gap:.1rem}}
.plate img{width:100%;border:1px solid var(--encre);padding:6px;background:#fff;box-sizing:border-box;filter:sepia(.18)}
.plate figcaption,.fig figcaption,.gal figcaption{font-style:italic;font-size:1rem;color:var(--sepia);margin-top:.55rem}
.gal img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;border:1px solid var(--filet);background:#fff;padding:4px;box-sizing:border-box}
.gal figcaption{font-size:.92rem;line-height:1.3}
.tri img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;filter:sepia(.25) saturate(.85);transition:filter .3s;border:1px solid var(--filet)}
.band{width:100vw;background:var(--encre);color:var(--papier);text-align:center;padding:3.2rem 1.5rem;box-sizing:border-box;margin-top:3.5rem;margin-bottom:0}
.foot__in{max-width:1180px;margin:0 auto;padding:3rem 1.5rem 1.6rem;display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:2rem}
.foot__in>*{min-width:0}
.foot a{overflow-wrap:anywhere}
@media(max-width:820px){.foot__in{grid-template-columns:repeat(2,minmax(0,1fr))}.figs article{flex-direction:column}.facts div{border-left:0;border-top:1px solid var(--filet)}body{font-size:1.14rem}.drop{text-align:left}}
/* ===== Version 3 : additions to v2.css — imagery, motion, maps ===== */
:root{--vert:#4F6B3A;--eau:#6FA8A0;--ombre:0 18px 40px rgba(28,26,22,.18)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
.top.scrolled{box-shadow:0 6px 24px rgba(28,26,22,.12)}
/* reveal on scroll */
/* uses the independent `translate` property so it never clobbers the centring transforms */
/* visible by default: hidden only when app.js has set .rv-on on <html>, i.e. when it is certain to reveal it */
.rv-on .rv{transition:opacity .9s cubic-bezier(.2,.7,.2,1),translate .9s cubic-bezier(.2,.7,.2,1)}
.rv-on .rv:not(.in){opacity:0;translate:0 28px}
@media (prefers-reduced-motion:reduce){.rv,.rv-on .rv:not(.in){opacity:1;translate:none;transition:none}.hero__slide{animation:none!important}.frieze__track{animation:none!important}}
@media print{.rv-on .rv:not(.in){opacity:1;translate:none}}
/* full-bleed helper */
.bleed{width:100vw;margin-left:50%;transform:translateX(-50%);box-sizing:border-box}
/* ---------- HERO ---------- */
.hero{position:relative;height:calc(100svh - 64px);min-height:560px;max-height:980px;overflow:hidden;background:var(--encre);display:grid;place-items:center}
.hero__slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.08);transition:opacity 1.8s ease}
.hero__slide.on{opacity:1;animation:kb 9s ease-out forwards}
@keyframes kb{from{transform:scale(1.14) translate(1.5%,1%)}to{transform:scale(1.02) translate(0,0)}}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(28,26,22,.05) 30%,rgba(28,26,22,.55) 100%),linear-gradient(180deg,rgba(28,26,22,.25),transparent 30%,transparent 70%,rgba(28,26,22,.45));pointer-events:none}
.hero .tp__in{position:relative;z-index:2;background:rgba(243,236,220,.93);box-shadow:0 30px 80px rgba(0,0,0,.45);max-width:640px;padding:2rem 1.6rem 1.8rem;margin:0 1rem;backdrop-filter:blur(2px);text-align:center;border:1px solid var(--encre);outline:1px solid var(--papier);outline-offset:6px;animation:rise 1.4s .2s cubic-bezier(.2,.7,.2,1) both}
@keyframes rise{from{opacity:0;transform:translateY(40px) scale(.97)}to{opacity:1;transform:none}}
.hero .tp__pax{font-family:"IM Fell DW Pica SC",serif;color:var(--rubrique);letter-spacing:.5em;margin:0 0 .8rem;padding-left:.5em}
.hero h1{margin:0;font-weight:400;font-family:"IM Fell DW Pica",serif;line-height:1.02}
.hero h1 span{display:block}
.hero .l1{font-size:clamp(1.6rem,5.6vw,3.9rem);letter-spacing:.03em;text-transform:uppercase}
.hero .l2{font-size:clamp(1rem,3vw,2rem);color:var(--rubrique);letter-spacing:.14em;text-transform:uppercase;margin:.3rem 0}
.hero .l3{font-size:clamp(1.35rem,4.3vw,2.9rem);letter-spacing:.09em;text-transform:uppercase}
.hero .tp__sub{font-size:1.15rem;line-height:1.4;margin:1rem 0 .6rem}
.hero .tp__mark{height:84px;margin:.2rem auto .4rem;display:block;width:auto}
.hero .tp__imp{font-size:.98rem;margin:0 0 .4rem;border-top:1px solid var(--encre);padding-top:.7rem;display:inline-block}
.hero .btns{justify-content:center;margin-top:1rem}
.hero__cap{position:absolute;right:1.2rem;bottom:1rem;z-index:3;color:#fff;font-style:italic;font-size:.95rem;text-shadow:0 1px 6px rgba(0,0,0,.7);max-width:60%;text-align:right}
.hero__dots{position:absolute;left:50%;bottom:1.1rem;transform:translateX(-50%);z-index:3;display:flex;gap:.5rem}
.hero__dots button{width:9px;height:9px;border-radius:50%;border:1px solid #fff;background:transparent;padding:0;cursor:pointer}
.hero__dots button.on{background:#fff}
.hero__cue{position:absolute;left:1.2rem;bottom:1rem;z-index:3;color:#fff;font-family:"IM Fell DW Pica SC",serif;letter-spacing:.15em;text-decoration:none;font-size:.9rem;text-shadow:0 1px 6px rgba(0,0,0,.7)}
.hero__cue::after{content:"↓";display:inline-block;margin-left:.5rem;animation:bob 1.8s infinite}
@keyframes bob{50%{transform:translateY(5px)}}
@media(max-width:600px){.hero{min-height:620px}.hero .tp__mark{height:60px}.hero .tp__sub{font-size:1rem}.hero__cap{display:none}.hero .tp__in{padding:1.4rem .9rem 1.3rem}}
/* ---------- intro split ---------- */
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:3rem;align-items:center;width:min(1180px,calc(100vw - 3rem));margin-left:50%;transform:translateX(-50%)}
.split figure{margin:0}
.split img{width:100%;display:block;border:1px solid var(--encre);padding:6px;background:#fff;box-sizing:border-box;box-shadow:var(--ombre)}
.split figcaption{font-style:italic;font-size:.98rem;color:var(--sepia);margin-top:.55rem}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:1.6rem}}
/* ---------- section kicker ---------- */
.kick{font-family:"IM Fell DW Pica SC",serif;color:var(--rubrique);letter-spacing:.22em;font-size:.95rem;margin:0 0 .3rem;text-align:center}
.sec-t{font-family:"IM Fell DW Pica",serif;font-weight:400;font-size:clamp(2rem,4.5vw,3.1rem);line-height:1.1;text-align:center;margin:0 0 .6rem;border:0;letter-spacing:0}
.sec-t::first-letter{color:inherit}
.sec-s{text-align:center;font-style:italic;color:#3a342a;max-width:36em;margin:0 auto 2rem;font-size:1.2rem}
.sec{padding:4.5rem 0 1rem}
/* tri cards: livelier */
.tri a{overflow:hidden}
.tri .ph-w{overflow:hidden;border:1px solid var(--filet)}
.tri img{border:0;transition:filter .5s,transform 1.2s cubic-bezier(.2,.7,.2,1)}
.tri a:hover img{transform:scale(1.07)}
.tri a h3{transition:color .3s}
.tri a:hover h3{color:var(--rubrique)}
/* ---------- parallax band ---------- */
.para{position:relative;min-height:62vh;display:grid;place-items:center;overflow:hidden;color:#fff;text-align:center;margin:4rem 0 0;background:var(--encre)}
.para__bg{position:absolute;inset:-18% 0;background-size:cover;background-position:center;will-change:transform}
.para::after{content:"";position:absolute;inset:0;background:rgba(28,26,22,.48)}
/* the text block only: a bare .para>div also matched .para__bg and cancelled its absolute positioning */
.para>div:not(.para__bg){position:relative;z-index:2;max-width:820px;padding:3rem 1.5rem;box-sizing:border-box;min-width:0}
.para blockquote{margin:0}
.para blockquote p{font-size:clamp(1.6rem,3.6vw,2.5rem);color:#fff}
.para cite{color:#E9DCC0}
/* ---------- plan explorer ---------- */
.xp{width:min(1280px,calc(100vw - 2rem));margin-left:50%;transform:translateX(-50%);display:grid;grid-template-columns:1fr 300px;gap:1.4rem;align-items:start}
.xp__map{position:relative;border:1px solid var(--encre);padding:6px;background:#fff;box-shadow:var(--ombre);overflow:hidden}
.xp__map img{display:block;width:100%}
.xp__pin{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;border:2px solid #fff;background:var(--rubrique);color:#fff;font:600 .85rem/26px "EB Garamond",serif;text-align:center;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.4);padding:0;transition:transform .2s}
.xp__pin::before{content:"";position:absolute;inset:-7px;border-radius:50%;border:2px solid var(--rubrique);opacity:.0;animation:ping 2.4s infinite}
.xp__pin:nth-of-type(2n)::before{animation-delay:1.2s}
@keyframes ping{0%{transform:scale(.6);opacity:.8}100%{transform:scale(1.6);opacity:0}}
.xp__pin:hover,.xp__pin.on{transform:scale(1.2);background:var(--encre)}
.xp__side{border-top:3px double var(--encre);padding-top:.8rem}
.xp__side h3{font-family:"IM Fell DW Pica SC",serif;letter-spacing:.05em;font-size:1.4rem;margin:0 0 .4rem}
.xp__card{min-height:9.5rem}
.xp__card .k{font-family:"IM Fell DW Pica",serif;color:var(--rubrique);font-size:2.4rem;line-height:1;float:left;margin:0 .6rem 0 0}
.xp__card p{font-size:1.08rem;line-height:1.5}
.xp__list{list-style:none;padding:0;margin:1rem 0 0;border-top:1px solid var(--filet);font-size:1rem}
.xp__list li{margin:0;border-bottom:1px solid var(--filet)}
.xp__list button{all:unset;cursor:pointer;display:block;padding:.3rem 0;width:100%}
.xp__list button b{color:var(--rubrique);font-weight:500;display:inline-block;width:1.6rem}
.xp__list button:hover,.xp__list button.on{color:var(--rubrique)}
.xp__src{font-size:.92rem;color:var(--sepia);font-style:italic;margin-top:.8rem}
@media(max-width:900px){.xp{grid-template-columns:1fr}.xp__pin{width:24px;height:24px;margin:-12px 0 0 -12px;line-height:20px;font-size:.75rem}}
/* ---------- timeline ---------- */
.tl{position:relative;width:100vw;margin-left:50%;transform:translateX(-50%)}
.tl__track{display:flex;gap:1.6rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:1rem max(1.5rem,calc((100vw - 1180px)/2)) 2rem;scrollbar-width:thin;scrollbar-color:var(--rubrique) transparent;cursor:grab}
.tl__track::before{content:"";position:absolute;left:0;right:0;top:calc(1rem + 2.4rem);border-top:1px solid var(--encre)}
.tl__it{flex:0 0 min(300px,78vw);scroll-snap-align:start;position:relative}
.tl__y{font-family:"IM Fell DW Pica",serif;color:var(--rubrique);font-size:2rem;line-height:1;margin:0 0 1.2rem;display:flex;align-items:center;gap:.6rem}
.tl__y::before{content:"";width:13px;height:13px;border-radius:50%;background:var(--rubrique);box-shadow:0 0 0 4px var(--papier);position:relative;top:1.36rem;left:0;flex:none;order:0;display:none}
.tl__it figure{margin:0 0 .7rem;overflow:hidden;border:1px solid var(--filet);background:#fff;padding:4px}
.tl__it img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform 1s}
.tl__it:hover img{transform:scale(1.06)}
.tl__it h3{font-family:"IM Fell DW Pica SC",serif;font-size:1.2rem;letter-spacing:.04em;margin:0 0 .2rem}
.tl__it p{font-size:1.02rem;line-height:1.45;margin:0}
.tl__nav{display:flex;justify-content:center;gap:.8rem}
.tl__nav button{font:inherit;font-family:"IM Fell DW Pica SC",serif;background:transparent;border:1px solid var(--rubrique);color:var(--rubrique);padding:.35rem 1rem;cursor:pointer;min-width:44px;min-height:44px}
.tl__nav button:hover{background:var(--rubrique);color:#fff}
/* ---------- then / now slider ---------- */
.cmp{position:relative;width:min(1000px,calc(100vw - 2rem));margin:0 0 0 calc(50% - min(500px,50vw - 1rem));aspect-ratio:3/2;overflow:hidden;border:1px solid var(--encre);box-shadow:var(--ombre);user-select:none;touch-action:pan-y;background:#000}
.cmp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.cmp .cmp__old{clip-path:inset(0 calc(100% - var(--x,50%)) 0 0);filter:sepia(.35) contrast(1.05)}
.cmp__bar{position:absolute;top:0;bottom:0;left:var(--x,50%);width:2px;background:#fff;box-shadow:0 0 12px rgba(0,0,0,.5)}
.cmp__bar::after{content:"⟷";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:var(--rubrique);color:#fff;display:grid;place-items:center;font-size:1.3rem;border:2px solid #fff}
.cmp__lb{position:absolute;top:.8rem;font-family:"IM Fell DW Pica SC",serif;letter-spacing:.12em;color:#fff;background:rgba(28,26,22,.65);padding:.2rem .7rem;font-size:.95rem}
.cmp__lb--l{left:.8rem}
.cmp__lb--r{right:.8rem}
.cmp input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.cmp-cap{text-align:center;font-style:italic;color:var(--sepia);font-size:1rem;margin-top:.7rem}
/* ---------- counters ---------- */
.facts b{font-variant-numeric:lining-nums}
/* ---------- maps (Leaflet) ---------- */
.map{height:480px;border:1px solid var(--encre);box-shadow:var(--ombre);background:var(--papier2);z-index:1}
.map-w{width:min(1180px,calc(100vw - 2rem));margin:0 auto}
.map .leaflet-tile-pane{filter:sepia(.45) saturate(.75) hue-rotate(-8deg) contrast(.95)}
.map .leaflet-popup-content-wrapper{background:var(--papier);color:var(--encre);border-radius:0;border:1px solid var(--encre);font-family:"EB Garamond",serif;font-size:1.05rem}
.map .leaflet-popup-tip{background:var(--papier)}
.map .leaflet-popup-content b{font-family:"IM Fell DW Pica SC",serif;font-weight:400;color:var(--rubrique);font-size:1.1rem;letter-spacing:.04em}
.mk{width:16px;height:16px;border-radius:50%;background:var(--encre);border:2px solid var(--papier);box-shadow:0 0 0 1px var(--encre)}
.mk--home{width:26px;height:26px;background:var(--rubrique);box-shadow:0 0 0 2px var(--rubrique),0 0 0 10px rgba(161,38,28,.25);animation:pulse 2s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 2px var(--rubrique),0 0 0 18px rgba(161,38,28,0)}}
.map-legend{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;justify-content:center;font-size:1rem;margin-top:.8rem;color:var(--sepia)}
.map-legend span::before{content:"";display:inline-block;width:11px;height:11px;border-radius:50%;background:var(--encre);margin-right:.4rem;vertical-align:middle}
.map-legend span.h::before{background:var(--rubrique)}
/* ---------- engraving frieze ---------- */
.frieze{overflow:hidden;width:100vw;margin-left:50%;transform:translateX(-50%);padding:1rem 0;background:var(--papier2);border-top:3px double var(--encre);border-bottom:3px double var(--encre)}
.frieze__track{display:flex;gap:1.2rem;width:max-content;animation:scrollx 70s linear infinite}
.frieze:hover .frieze__track{animation-play-state:paused}
.frieze img{height:300px;width:auto;display:block;box-shadow:0 8px 20px rgba(28,26,22,.25);cursor:zoom-in;transition:transform .4s}
.frieze img:hover{transform:scale(1.04) rotate(-.5deg)}
@keyframes scrollx{to{transform:translateX(-50%)}}
@media(max-width:600px){.frieze img{height:220px}}
/* ---------- mosaic gallery ---------- */
.mosaic{width:min(1280px,calc(100vw - 2rem));margin-left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:170px;grid-auto-flow:dense;gap:.6rem}
.mosaic figure{margin:0;position:relative;overflow:hidden;background:var(--encre);cursor:zoom-in}
.mosaic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),opacity .4s}
.mosaic figure:hover img{transform:scale(1.08);opacity:.85}
.mosaic figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.6rem .7rem .5rem;color:#fff;font-style:italic;font-size:.95rem;line-height:1.25;background:linear-gradient(transparent,rgba(0,0,0,.7));transform:translateY(100%);transition:transform .4s}
.mosaic figure:hover figcaption{transform:none}
.mosaic .w2{grid-column:span 2}
.mosaic .h2{grid-row:span 2}
.mosaic .w3{grid-column:span 3}
@media(max-width:800px){.mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}.mosaic .w3{grid-column:span 2}}
@media(hover:none){.mosaic figcaption{transform:none}}
/* ---------- archive plates (plans page) ---------- */
.plans{width:min(1180px,calc(100vw - 2rem));margin-left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(12,1fr);gap:1.6rem 1.4rem;margin-top:1.5rem;margin-bottom:2rem}
.plans figure{margin:0;grid-column:span 6}
.plans figure.big{grid-column:span 12}
.plans figure.third{grid-column:span 4}
.plans img{width:100%;display:block;border:1px solid var(--encre);padding:5px;background:#fff;box-sizing:border-box;cursor:zoom-in;transition:box-shadow .3s,transform .3s}
.plans img:hover{box-shadow:var(--ombre);transform:translateY(-3px)}
.plans figcaption{font-size:1rem;line-height:1.4;margin-top:.5rem;color:#3a342a}
.plans figcaption i{color:var(--sepia)}
.plans .cote{display:block;font-family:"IM Fell DW Pica SC",serif;letter-spacing:.05em;color:var(--rubrique);font-size:.88rem;margin-top:.2rem}
@media(max-width:800px){.plans figure,.plans figure.third{grid-column:span 12}}
/* postcards scattered */
.cards{display:flex;flex-wrap:wrap;justify-content:center;gap:1.4rem;padding:2rem 0;width:min(1180px,calc(100vw - 2rem));margin-left:50%;transform:translateX(-50%)}
.cards figure{margin:0;background:#fbf8f0;padding:10px 10px 12px;width:min(300px,86vw);box-shadow:0 10px 26px rgba(28,26,22,.25);transform:rotate(var(--r,0deg));transition:transform .4s,box-shadow .4s;cursor:zoom-in}
.cards figure:hover{transform:rotate(0) scale(1.05);box-shadow:0 20px 44px rgba(28,26,22,.32);z-index:2;position:relative}
.cards img{width:100%;display:block;aspect-ratio:3/2;object-fit:cover}
.cards figcaption{font-style:italic;font-size:.95rem;color:var(--sepia);margin-top:.4rem;text-align:center}
/* plan-page anchors */
.toc{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:0 0 2rem}
.toc a{font-family:"IM Fell DW Pica SC",serif;letter-spacing:.06em;font-size:.98rem;text-decoration:none;border:1px solid var(--filet);padding:.3rem .8rem;color:var(--encre);background:rgba(255,255,255,.35)}
.toc a:hover{border-color:var(--rubrique);color:var(--rubrique)}
/* galleries from v2 get hover + zoom */
.gal figure{overflow:hidden;cursor:zoom-in}
.gal img{transition:transform .8s}
.gal figure:hover img{transform:scale(1.05)}
.plate img,.fig img,.split img{cursor:zoom-in}
/* ---------- lightbox ---------- */
/* a native <dialog> opened with showModal(): the page behind it is inert */
.lb{position:fixed;inset:0;z-index:100;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;box-sizing:border-box;color:#fff;background:rgba(20,18,15,.94);align-items:center;justify-content:center;flex-direction:column;padding:3.4rem 1rem 1rem}
.lb[open]{display:flex;animation:fade .3s}
.lb::backdrop{background:rgba(20,18,15,.5)}
@keyframes fade{from{opacity:0}}
.lb__stage{flex:1;width:100%;overflow:hidden;display:grid;place-items:center;cursor:zoom-in;touch-action:none}
.lb__stage.z{cursor:grab}
.lb img{max-width:100%;max-height:calc(100vh - 7rem);box-shadow:0 20px 60px rgba(0,0,0,.6);transition:transform .25s;transform-origin:center}
.lb__cap{color:#E9DCC0;font-style:italic;text-align:center;max-width:52em;margin:.8rem auto 0;font-size:1.02rem;min-height:1.4em}
.lb__x,.lb__p,.lb__n{position:absolute;z-index:2;background:rgba(20,18,15,.55);border:0;color:#fff;font-size:2.2rem;cursor:pointer;padding:0;line-height:1;opacity:.85;min-width:48px;min-height:48px;display:grid;place-items:center}
.lb__x:hover,.lb__p:hover,.lb__n:hover{opacity:1}
.lb__x{top:.4rem;right:.6rem}
.lb__p{left:.3rem;top:50%}
.lb__n{right:.3rem;top:50%}
.lb__hint{position:absolute;top:.9rem;left:1rem;color:#bdb29a;font-size:.9rem;font-family:"IM Fell DW Pica SC",serif;letter-spacing:.08em}
/* v3 badge on the preview */
.v3tag{position:fixed;left:.8rem;bottom:.8rem;z-index:60;background:var(--encre);color:var(--papier);font-family:"IM Fell DW Pica SC",serif;letter-spacing:.1em;font-size:.8rem;padding:.25rem .6rem;opacity:.75}
/* ===== Living lab: warmer, brighter, people first ===== */
:root{--brique:#B4532F;--brique2:#D9825B;--jardin:#5E7F3E;--ciel:#3F7F8C}
.tri img{filter:none}
.plate img,.figs img{filter:none}
/* hero card: light, off-centre, lets the photo breathe */
.hero{place-items:end start}
.hero::after{background:linear-gradient(90deg,rgba(20,18,15,.72) 0%,rgba(20,18,15,.35) 45%,rgba(20,18,15,0) 75%),linear-gradient(0deg,rgba(20,18,15,.45),transparent 35%)}
.hero__card{position:relative;z-index:2;color:#fff;max-width:640px;margin:0 0 4.2rem max(1.5rem,calc((100vw - 1180px)/2));padding:0 1rem 0 0;animation:rise 1.2s .15s cubic-bezier(.2,.7,.2,1) both}
.hero__k{font-family:"IM Fell DW Pica SC",serif;letter-spacing:.2em;font-size:1rem;margin:0 0 .8rem;color:#F6D9B8;display:flex;align-items:center;gap:.6rem}
.hero__card h1{font-family:"IM Fell DW Pica",serif;font-weight:400;margin:0;line-height:1;text-shadow:0 2px 20px rgba(0,0,0,.35)}
.hero__card h1 span{display:block}
.hero__card .l1{font-size:clamp(2.4rem,7vw,5.4rem);letter-spacing:.02em}
.hero__card .l2{font-size:clamp(1.15rem,2.6vw,1.9rem);letter-spacing:.08em;color:#F6D9B8;margin-top:.3rem}
.hero__t{font-size:clamp(1.1rem,1.7vw,1.3rem);line-height:1.5;margin:1.2rem 0 0;max-width:34em;text-shadow:0 1px 10px rgba(0,0,0,.4)}
.hero__t strong{color:#fff;font-weight:600;border-bottom:2px solid var(--brique2)}
.hero .btns{justify-content:flex-start}
.btn--light{color:#fff!important;border-color:#fff!important}
.btn--light:hover{background:#fff!important;color:var(--encre)!important}
.hero .btn{background:var(--brique);border-color:var(--brique)}
.hero .btn:hover{background:#94401f}
.hero__cap{bottom:1.1rem}
@media(max-width:600px){.hero__card{margin-bottom:3.4rem}.hero__t{font-size:1.05rem}}
.live{width:10px;height:10px;border-radius:50%;background:#7BD36A;box-shadow:0 0 0 0 rgba(123,211,106,.7);animation:live 1.8s infinite;flex:none}
@keyframes live{70%{box-shadow:0 0 0 10px rgba(123,211,106,0)}100%{box-shadow:0 0 0 0 rgba(123,211,106,0)}}
/* "happening now" board */
.now{width:min(1180px,calc(100vw - 2rem));margin-left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.now__c{display:flex;flex-direction:column;background:#fffaf0;border:1px solid var(--filet);text-decoration:none;color:var(--encre);overflow:hidden;transition:transform .35s,box-shadow .35s}
.now__c:hover{transform:translateY(-6px);box-shadow:var(--ombre)}
.now__c img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;transition:transform 1s}
.now__c:hover img{transform:scale(1.06)}
.now__c>div{padding:1rem 1.1rem 1.2rem;position:relative}
.now__c h3{font-size:1.45rem;line-height:1.15;margin:.5rem 0 .4rem}
.now__c p{font-size:1.05rem;line-height:1.45;margin:0}
.now__c--feat{grid-column:span 2;flex-direction:row}
.now__c--feat img{width:55%;aspect-ratio:auto;min-height:100%}
.now__c--feat>div{padding:1.6rem;display:flex;flex-direction:column;justify-content:center}
.now__c--feat h3{font-size:1.9rem}
@media(max-width:900px){.now{grid-template-columns:1fr 1fr}.now__c--feat{grid-column:span 2}}
@media(max-width:600px){.now{grid-template-columns:1fr}.now__c--feat{grid-column:auto;flex-direction:column}.now__c--feat img{width:100%;aspect-ratio:16/10}}
.pill{display:inline-flex;align-items:center;gap:.45rem;font-family:"IM Fell DW Pica SC",serif;letter-spacing:.07em;font-size:.85rem;padding:.12rem .6rem;border-radius:99px;background:var(--papier2);color:var(--sepia);align-self:flex-start}
.pill--live{background:#E4EEDA;color:#3C5E2A}
.pill--live::before{content:"";width:8px;height:8px;border-radius:50%;background:#4E9A3C;animation:live 1.8s infinite}
.pill--soon{background:#F7DFD2;color:#8E3417}
.pill--soon::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--brique);animation:live 1.8s infinite}
.pill--eu{background:#DCE8EE;color:#2E5B6B}
.cd{font-family:"IM Fell DW Pica",serif;color:var(--brique);font-size:1.3rem;margin-top:.8rem!important}
.cd b{font-weight:400;font-size:2.2rem;line-height:1;display:inline-block;min-width:1.4em;text-align:center}
.cd--band{color:#F6D9B8;font-size:1.2rem}
/* the drawing vs the roof */
.cmp--duo .cmp__old{filter:none;background:#fff;object-fit:contain}
/* timeline: the open future */
.tl__it--next .tl__blank{aspect-ratio:4/3;display:grid;place-items:center;background:repeating-linear-gradient(135deg,#fffaf0 0 12px,#f3e8d4 12px 24px);border:2px dashed var(--brique2)}
.tl__it--next .tl__blank span{font-family:"IM Fell DW Pica",serif;font-size:2rem;color:var(--brique)}
.tl__it--next .tl__y{color:var(--brique)}
.tl__y{color:var(--brique)}
/* join */
.join{width:min(1180px,calc(100vw - 2rem));margin-left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.join a{display:flex;flex-direction:column;text-decoration:none;color:var(--encre);background:#fffaf0;border:1px solid var(--filet);border-top:4px solid var(--brique);overflow:hidden;transition:transform .35s,box-shadow .35s}
.join a:nth-child(2){border-top-color:var(--ciel)}
.join a:nth-child(3){border-top-color:var(--jardin)}
.join a:nth-child(4){border-top-color:var(--rubrique)}
.join a:hover{transform:translateY(-6px);box-shadow:var(--ombre)}
.join img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.join h3{margin:.9rem 1rem .3rem;font-size:1.4rem}
.join p{margin:0 1rem;font-size:1.03rem;line-height:1.45;flex:1}
.join span{margin:1rem;font-family:"IM Fell DW Pica SC",serif;letter-spacing:.06em;color:var(--brique)}
@media(max-width:900px){.join{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.join{grid-template-columns:1fr}}
/* warmer band + facts */
.band--warm{background:linear-gradient(120deg,#7a2a14,var(--brique) 60%,#c56a3f)}
.band--warm h2::first-letter{color:#F6D9B8}
.facts b{color:var(--brique)}
.kick{color:var(--brique)}
.hero .btn--2{background:transparent}
.hero .btn--2:hover{background:#fff}
.cd{line-height:1.3}
/* ===== Research & European projects ===== */
:root{--eu:#1F3A68;--eu2:#2B5190;--or:#E8B84A}
.rhero{position:relative;min-height:440px;display:grid;align-items:end;overflow:hidden;background:var(--encre);color:#fff}
.rhero__bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.05);animation:kb 14s ease-out forwards}
.rhero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,18,15,.85),rgba(20,18,15,.45) 60%,rgba(20,18,15,.2))}
.rhero__in{position:relative;z-index:2;max-width:1180px;width:100%;margin:0 auto;padding:3rem 1.5rem 2.4rem;box-sizing:border-box}
.rhero h1{font-family:"IM Fell DW Pica",serif;font-weight:400;font-size:clamp(2.8rem,7vw,5rem);margin:0;line-height:1}
.rhero__in>p:not(.hero__k){font-size:1.3rem;max-width:36em;margin:.8rem 0 1.4rem}
.toc--dark{justify-content:flex-start;margin:0}
.toc--dark a{color:#fff;border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.08)}
.toc--dark a:hover{color:#fff;border-color:var(--or)}
.progx{width:min(1180px,calc(100vw - 2rem));margin-left:50%;transform:translateX(-50%);display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:1.4rem}
.progx article{display:grid;grid-template-columns:38% 1fr;background:#fffaf0;border:1px solid var(--filet);overflow:hidden;transition:box-shadow .3s,transform .3s}
.progx article:hover{box-shadow:var(--ombre);transform:translateY(-4px)}
.progx img{width:100%;height:100%;object-fit:cover;display:block;min-height:220px;cursor:zoom-in}
.progx article>div{padding:1.1rem 1.2rem}
.progx .n{font-family:"IM Fell DW Pica",serif;color:var(--brique);font-size:2rem;margin-right:.6rem;vertical-align:middle}
.progx h3{font-size:1.45rem;margin:.4rem 0}
.progx p{font-size:1.02rem;line-height:1.5;margin:0 0 .6rem}
.progx a{font-family:"IM Fell DW Pica SC",serif;letter-spacing:.05em;text-decoration:none;color:var(--brique)}
@media(max-width:900px){.progx{grid-template-columns:1fr}}
@media(max-width:560px){.progx article{grid-template-columns:1fr}.progx img{aspect-ratio:16/9;min-height:0}}
.pill--eval{background:#DDE6F6;color:var(--eu)}
.pill--eval::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--or);animation:live 1.8s infinite}
/* European band */
.eu{position:relative;background:radial-gradient(ellipse at 80% 0%,var(--eu2),var(--eu) 60%);color:#fff;padding:4.5rem 1.5rem;margin:3.5rem 0;overflow:hidden;width:100vw;margin-left:50%;transform:translateX(-50%);box-sizing:border-box}
.eu::before{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;border:1px dashed rgba(232,184,74,.35);box-shadow:0 0 0 60px rgba(255,255,255,.03),0 0 0 120px rgba(255,255,255,.02)}
.eu__in{position:relative;max-width:1180px;margin:0 auto}
.eu .sec-t{color:#fff}
.eu .sec-s{color:#D9E2F2}
.kick--light{color:var(--or)!important}
.eu__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem}
.eu__grid>*{display:block;text-decoration:none;color:#fff;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-top:3px solid var(--or);padding:1.1rem 1.1rem 1.2rem;transition:background .3s,transform .3s}
.eu__grid>*:hover{background:rgba(255,255,255,.14);transform:translateY(-4px)}
.eu__grid h3{font-family:"IM Fell DW Pica SC",serif;letter-spacing:.06em;font-size:1.6rem;margin:.6rem 0 .3rem;color:#fff}
.eu__prog{font-size:.95rem;color:#C8D4EA;margin:0 0 .5rem;font-style:italic}
.eu__role{margin:0 0 .3rem;color:var(--or)}
.eu__role b{font-weight:500}
.eu__grid p{font-size:1rem;margin:0}
.eu .pill{background:rgba(255,255,255,.12);color:#fff}
.eu__steps{display:grid;grid-template-columns:repeat(4,1fr);margin:2rem 0 0;border-top:1px solid rgba(255,255,255,.3)}
.eu__steps div{padding:1rem .8rem 0;position:relative}
.eu__steps div::before{content:"";position:absolute;top:-6px;left:.8rem;width:11px;height:11px;border-radius:50%;background:var(--or)}
.eu__steps b{display:block;font-family:"IM Fell DW Pica",serif;font-weight:400;font-size:1.8rem;color:var(--or)}
.eu__steps span{font-size:1rem;color:#D9E2F2}
.eu__partners{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1.6rem;margin:2rem 0 0;font-family:"IM Fell DW Pica SC",serif;letter-spacing:.05em}
.eu__partners span{color:var(--or)}
.eu__partners b{font-weight:400;color:#fff}
.eu__partners b a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35)}
.eu__partners b a:hover,.eu__partners b a:focus{border-bottom-color:var(--or);color:var(--or)}
@media(max-width:900px){.eu__grid,.eu__steps{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.eu__grid,.eu__steps{grid-template-columns:1fr}}
/* partners */
.partners{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1rem 0 1rem}
.partners div{border:1px solid var(--filet);border-left:4px solid var(--eu);background:#fffaf0;padding:.9rem 1rem}
.partners b{font-family:"IM Fell DW Pica SC",serif;font-weight:400;font-size:1.25rem;letter-spacing:.04em;display:block}
.partners span{font-style:italic;color:var(--sepia);font-size:.98rem}
.partners p{margin:.4rem 0 0;font-size:1.02rem}
@media(max-width:600px){.partners{grid-template-columns:1fr}}
/* research tiles on home */
.rgrid{width:min(1180px,calc(100vw - 2rem));margin-left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(6,1fr);gap:.8rem}
.rgrid a{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:260px;padding:1rem;color:#fff;text-decoration:none;overflow:hidden;background:var(--encre)}
.rgrid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75;transition:transform 1.2s,opacity .4s}
.rgrid a::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(20,18,15,.9))}
.rgrid a:hover img{transform:scale(1.08);opacity:.95}
.rgrid a>*:not(img){position:relative;z-index:2}
.rgrid .n{font-family:"IM Fell DW Pica",serif;font-size:2rem;color:var(--or);line-height:1}
.rgrid h3{font-size:1.2rem;line-height:1.15;margin:.3rem 0 .5rem;color:#fff}
.rgrid .pill{font-size:.75rem}
@media(max-width:1000px){.rgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.rgrid{grid-template-columns:1fr 1fr}.rgrid a{min-height:200px}}
.page>.eu{margin-left:0;transform:none;width:auto;margin-top:2rem}
.people{width:min(1180px,calc(100vw - 2rem));margin:0 0 1.6rem calc(50% - min(590px,50vw - 1rem));display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.people figure{margin:0;overflow:hidden;cursor:zoom-in}
.people img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;transition:transform 1.2s}
.people figure:hover img{transform:scale(1.04)}
.people figcaption{font-style:italic;color:var(--sepia);font-size:.98rem;margin-top:.4rem}
@media(max-width:700px){.people{grid-template-columns:1fr}}
/* ===== Credibility pages: roles, controls, placeholders ===== */
.roles{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;width:min(1180px,calc(100vw - 2rem));margin:1rem 0 1rem calc(50% - min(590px,50vw - 1rem))}
.roles article{background:#fffaf0;border:1px solid var(--filet);border-top:4px solid var(--eu);padding:1.1rem 1.2rem}
.roles__n{font-family:"IM Fell DW Pica",serif;font-size:2.4rem;color:var(--or);line-height:1}
.roles h3{margin:.3rem 0 .4rem;font-size:1.45rem}
.roles p{font-size:1.04rem;line-height:1.5;margin:0}
@media(max-width:900px){.roles{grid-template-columns:1fr}}
.checks{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin:1rem 0 1.4rem}
.checks div{border:1px solid var(--filet);background:#fffaf0;padding:.8rem 1rem .9rem 2.6rem;position:relative}
.checks div::before{content:"✓";position:absolute;left:.9rem;top:.75rem;color:var(--jardin);font-weight:700;font-size:1.1rem}
.checks b{font-family:"IM Fell DW Pica SC",serif;font-weight:400;font-size:1.15rem;letter-spacing:.04em}
.checks p{margin:.25rem 0 0;font-size:1rem;line-height:1.45}
@media(max-width:620px){.checks{grid-template-columns:1fr}}
.todo{display:inline-block;background:#FFF3B0;border:1px dashed #B58B00;color:#6B5200;font-size:.92rem;padding:.2rem .6rem;font-style:normal}
.todo::before{content:"⚑ ";}
/* ===== the map of the disciplines ===== */
.disc{margin:2rem 0 2.4rem}
.disc__fam{margin:2.2rem 0 0}
.disc__fam:first-child{margin-top:1rem}
.disc__h{display:flex;align-items:baseline;gap:.8rem;margin:0 0 .9rem;padding-bottom:.35rem;border-bottom:2px solid var(--filet)}
.disc__n{font-family:'IM Fell DW Pica',serif;font-size:2.1rem;line-height:1;color:var(--rubrique)}
.disc__t{font-family:'IM Fell DW Pica SC',serif;font-weight:400;font-size:1.28rem;letter-spacing:.05em;margin:0}
.disc__g{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:.75rem}
.disc__c{border:1px solid var(--filet);border-top:3px solid var(--rubrique);background:#fffaf0;padding:.75rem .85rem .8rem}
.disc__c b{display:block;font-family:'IM Fell DW Pica SC',serif;font-weight:400;font-size:1.08rem;letter-spacing:.03em;color:var(--encre)}
.disc__c cite{display:block;font-style:italic;color:var(--sepia);font-size:.93rem;margin:.15rem 0 .4rem;line-height:1.35}
.disc__c p{margin:0;font-size:.97rem;line-height:1.45}
.disc__c .obj{display:inline-block;margin-top:.4rem;font-size:.86rem;color:var(--sepia);border-top:1px dotted var(--filet);padding-top:.3rem}
.disc-note{font-size:.95rem;color:var(--sepia);font-style:italic;margin:1rem 0 0;line-height:1.5}
@media(max-width:620px){.disc__g{grid-template-columns:1fr}.disc__n{font-size:1.7rem}}
/* ===== ATELIER: pilots, consortium, calls, team ===== */
.pilots,.consort{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin:1.2rem 0 1.4rem}
.pilots div,.consort div{border:1px solid var(--filet);background:#fffaf0;padding:.8rem 1rem;border-left:4px solid var(--eu)}
.pilots b,.consort b{display:block;font-family:"IM Fell DW Pica SC",serif;font-weight:400;font-size:1.15rem;letter-spacing:.03em}
.pilots span,.consort span{display:block;font-style:italic;color:var(--sepia);font-size:.95rem}
.pilots p,.consort p{margin:.3rem 0 0;font-size:1rem;line-height:1.45}
.pilots .me,.consort .me{border-left-color:var(--brique);background:#FBEFE6}
/* the partner's own website, on the name itself */
.consort b a,.partners b a{color:inherit;text-decoration:none;border-bottom:1px solid var(--filet)}
.consort b a:hover,.consort b a:focus,.partners b a:hover,.partners b a:focus{color:var(--rubrique);border-bottom-color:var(--rubrique)}
.consort b a::after,.partners b a::after{content:"\2197";font-size:.72em;vertical-align:.35em;margin-left:.18em;color:var(--sepia)}
.consort b a:hover::after,.consort b a:focus::after,.partners b a:hover::after,.partners b a:focus::after{color:var(--rubrique)}
.consort .site,.partners .site{display:block;margin:.35rem 0 0;font-size:.9rem;font-style:normal;color:var(--sepia);word-break:break-word}
.consort .site a,.partners .site a{color:var(--sepia);text-decoration:none;border-bottom:1px dotted var(--filet)}
.consort .site a:hover,.consort .site a:focus,.partners .site a:hover,.partners .site a:focus{color:var(--rubrique);border-bottom-color:var(--rubrique)}
@media(max-width:620px){.pilots,.consort{grid-template-columns:1fr}}
.calls{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:.8rem;margin:1.2rem 0}
.calls div{border:1px solid var(--filet);background:#fffaf0;padding:.8rem 1rem}
.calls b{display:block;font-size:1.2rem;margin:.4rem 0 .2rem}
.calls p{margin:0;font-size:1rem;line-height:1.45}
@media(max-width:760px){.calls{grid-template-columns:1fr}}
.team{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin:1rem 0}
.team div{border:1px solid var(--filet);background:#fffaf0;padding:.8rem 1rem;border-top:3px solid var(--brique)}
.team b{display:block;font-family:"IM Fell DW Pica",serif;font-weight:400;font-size:1.35rem}
.team span{font-size:.98rem;color:var(--sepia);font-style:italic}
.team__open{border-style:dashed!important;background:transparent!important}
@media(max-width:560px){.team{grid-template-columns:1fr}}
.eu__partners+.eu__partners{margin-top:.8rem;font-size:.95rem;opacity:.9}
.gov{display:grid;gap:.8rem;margin:1rem 0 1.2rem}
.gov div{border:1px solid var(--filet);border-left:4px solid var(--rubrique);background:#fffaf0;padding:.9rem 1.1rem}
.gov b{font-family:'IM Fell DW Pica SC',serif;font-weight:400;font-size:1.25rem;letter-spacing:.04em}
.gov p{margin:.35rem 0 0;font-size:1.04rem;line-height:1.5}
.epitaph{border-top:3px double var(--encre);border-bottom:3px double var(--encre);text-align:center;padding:1.6rem 1rem;margin:2rem 0}
.epitaph__t{font-family:'IM Fell DW Pica SC',serif;letter-spacing:.16em;font-size:1.25rem;line-height:1.9;margin:0}
.epitaph__c{font-style:italic;color:var(--sepia);font-size:.98rem;margin:.9rem 0 0}
.devises{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.4rem 0}
.devises div{border:1px solid var(--filet);background:#fffaf0;padding:1rem;text-align:center}
.devises b{display:block;font-family:'IM Fell DW Pica',serif;font-weight:400;font-size:1.5rem;color:var(--rubrique)}
.devises span{font-style:italic;color:var(--sepia);font-size:.98rem}
.devises p{margin:.5rem 0 0;font-size:1rem;line-height:1.45}
@media(max-width:760px){.devises{grid-template-columns:1fr}}
/* ===== Rule of St Benedict: Latin | French ===== */
.rb{border-top:1px solid var(--filet);padding-top:1.2rem;margin-top:2.2rem;width:min(1240px,calc(100vw - 2rem));margin-left:calc(50% - min(620px,50vw - 1rem))}
.rb__h{border:0;font-family:"IM Fell DW Pica",serif;font-size:1.7rem;letter-spacing:0;margin:0 0 .8rem;display:flex;gap:.7rem;align-items:baseline;flex-wrap:wrap}
.rb__h::first-letter{color:inherit}
.rb__n{font-family:"IM Fell DW Pica SC",serif;font-size:1rem;letter-spacing:.12em;color:var(--rubrique);border:1px solid var(--filet);padding:.1rem .55rem;background:rgba(255,255,255,.4)}
.rb__cols{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 2.2rem}
.rb__la{font-style:italic;color:#3a342a;border-right:1px solid var(--filet);padding-right:2rem}
.rb__t{font-family:"IM Fell DW Pica SC",serif;font-style:normal;letter-spacing:.05em;color:var(--rubrique);margin:0 0 .5rem}
.rb__la p,.rb__fr p{font-size:1.08rem;line-height:1.55;margin:0 0 .7rem;text-align:justify;hyphens:auto}
.rb__fr p:first-letter{}
#regle-toc{gap:.35rem;margin-bottom:1.5rem}
#regle-toc a{padding:.15rem .5rem;font-size:.92rem}
@media(max-width:880px){.rb__cols{grid-template-columns:1fr;gap:.4rem}.rb__la{border-right:0;border-left:3px solid var(--filet);padding:0 0 0 1rem;margin-bottom:.8rem}}
@media print{.rb{break-inside:auto}}
/* ===== Palette rétablie : parchemin, encre, rubrique, sépia — les accents reviennent au rouge ===== */
:root{
 --ecarlate:#C5372A;      /* écarlate : le martyre */
 --sang:#6E1410;          /* rouge profond */
 --or:#B08A2E;            /* or discret, comme les initiales enluminées */
 --brique:var(--rubrique);
 --brique2:var(--ecarlate);
 --jardin:var(--sepia);
 --ciel:var(--sepia);
 --eu:#2A211A;            /* encre brune, plus de bleu */
 --eu2:#4A3A2C;
}
.kick,.facts b,.tl__y,.rgrid .n,.roles__n,.join span,.progx .n{color:var(--rubrique)}
.live,.pill--live::before,.pill--soon::before{background:var(--ecarlate)}
.pill--live{background:var(--papier2);color:var(--sepia)}
.pill--soon{background:#F3DED9;color:var(--sang)}
.pill--eval{background:var(--papier2);color:var(--sang)}
.pill--eval::before{background:var(--rubrique)}
.checks div::before{color:var(--rubrique)}
.eu{background:radial-gradient(ellipse at 80% 0%,var(--eu2),var(--eu) 65%)}
.eu__grid>*{border-top-color:var(--ecarlate)}
.eu__steps div::before{background:var(--ecarlate)}
.eu__steps b,.eu__partners span,.kick--light{color:#E3B9A6!important}
.eu__grid h3{color:#fff}
.eu__role{color:#E3B9A6}
.join a{border-top-color:var(--rubrique)}
.join a:nth-child(2){border-top-color:var(--ecarlate)}
.join a:nth-child(3){border-top-color:var(--sepia)}
.join a:nth-child(4){border-top-color:var(--sang)}
.roles article,.partners div,.pilots div,.consort div{border-left-color:var(--rubrique)}
.pilots .me,.consort .me{border-left-color:var(--ecarlate);background:#FBF0EC}
.tl__it--next .tl__blank{border-color:var(--ecarlate)}
.tl__it--next .tl__blank span{color:var(--rubrique)}
.band--warm{background:linear-gradient(120deg,var(--sang),var(--rubrique) 60%,var(--ecarlate))}
.hero .btn{background:var(--rubrique);border-color:var(--rubrique)}
.hero .btn:hover{background:var(--sang)}
.hero__t strong{border-bottom-color:var(--ecarlate)}
.hero__k{color:#EBD5C6}
.now__c--feat{border-left:4px solid var(--rubrique)}
.rgrid .n{color:#E9B7A9}
/* ===== Le martyre de la Congrégation : rubrique et écarlate ===== */
.rb__n{color:var(--rubrique)}
.martyre{background:linear-gradient(180deg,rgba(197,55,42,.07),transparent 70%);border-top:3px double var(--rubrique);border-bottom:3px double var(--rubrique);padding:1.6rem 0 .5rem;margin:1.6rem 0 2rem}
.martyre h2,.martyre h3{color:var(--sang)}
.epitaph{border-color:var(--rubrique)}
.epitaph__t{color:var(--sang)}
.epitaph__t .r{color:var(--ecarlate);letter-spacing:.4em}
.devises div{border-top:3px solid var(--rubrique)}
.plates2{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;width:min(1180px,calc(100vw - 2rem));margin:1.4rem 0 1.6rem calc(50% - min(590px,50vw - 1rem))}
.plates2 figure{margin:0}
.plates2 img{width:100%;display:block;border:1px solid var(--encre);padding:6px;background:#fff;box-sizing:border-box;box-shadow:var(--ombre);cursor:zoom-in}
.plates2 figcaption{font-style:italic;font-size:.98rem;color:var(--sepia);margin-top:.5rem;line-height:1.4}
@media(max-width:800px){.plates2{grid-template-columns:1fr}}
.tr{font-style:italic;color:var(--sepia);font-size:.95em;font-weight:400}
.epitaph__tr{font-style:italic;color:var(--sepia);font-size:1rem;margin:.9rem 0 0;line-height:1.5}
blockquote .tr{display:block;font-family:'EB Garamond',serif;font-style:italic;font-size:1.12rem;line-height:1.45;margin:.7rem auto .3rem;max-width:34em}
/* a translation on a dark ground: the sepia of .tr would fall to 1.7:1, which cannot be read */
.foot .tr,.eu .tr,.hero .tr,.rhero .tr,.toc--dark .tr,.band--d .tr{color:#CFC5AC;opacity:1}
.sec-t .tr,h2 .tr{font-size:.55em}
.langs{position:absolute;top:.35rem;right:1.5rem;z-index:50;display:flex;gap:.3rem;font-family:'IM Fell DW Pica SC',serif;font-size:.8rem;letter-spacing:.08em}
.langs a{color:var(--sepia);text-decoration:none;padding:.1rem .35rem;border:1px solid transparent}
.langs a:hover{color:var(--rubrique)}
.langs a.on{color:var(--rubrique);border-color:var(--filet);background:rgba(255,255,255,.5)}
@media(max-width:1100px){.langs{top:auto;bottom:auto;right:5.5rem;top:.6rem}}
/* ===== Great works: the gallery and the page given to each work ===== */
.opus{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:2.4rem 1.7rem;margin:2.2rem 0 1.6rem}
.opus a{display:flex;flex-direction:column;color:inherit;text-decoration:none}
.opus figure{margin:0 0 .85rem;position:relative;overflow:hidden;background:var(--papier2)}
.opus figure::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(28,26,22,.2),inset 0 -60px 60px -40px rgba(28,26,22,.35);pointer-events:none}
.opus img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.3,1)}
.opus a:hover img,.opus a:focus img{transform:scale(1.045)}
.opus .y{font-family:"IM Fell DW Pica SC",serif;letter-spacing:.13em;font-size:.8rem;color:var(--rubrique)}
.opus h3{margin:.1rem 0 .15rem;font-size:1.12rem;line-height:1.25}
.opus .au{margin:0 0 .4rem;font-style:italic;color:var(--sepia);font-size:.92rem}
.opus p{margin:0;font-size:.93rem;line-height:1.5}
.opus .go{margin-top:.55rem;font-family:"IM Fell DW Pica SC",serif;letter-spacing:.09em;font-size:.82rem;color:var(--rubrique)}
.opus .go::after{content:" \2192"}
.opus a:hover h3{text-decoration:underline;text-underline-offset:.18em}
.opus .lead{grid-column:span 2}
.opus .lead img{aspect-ratio:4/3}
.opus .lead h3{font-size:1.45rem}
@media(max-width:640px){.opus{gap:2rem 1.2rem}.opus .lead{grid-column:span 1}.opus .lead img{aspect-ratio:3/4}}
/* the head of a work page: the book itself on the left, the title on the right */
.owk{display:grid;grid-template-columns:minmax(0,36%) minmax(0,1fr);gap:2.6rem;align-items:center;margin:.4rem 0 2.2rem}
.owk figure{margin:0}
.owk figure img{display:block;width:100%;border:1px solid var(--filet);box-shadow:0 22px 44px -18px rgba(28,26,22,.5)}
.owk figcaption{margin-top:.5rem;font-size:.78rem;color:var(--sepia);line-height:1.4}
.owk__k{margin:0 0 .5rem;font-family:"IM Fell DW Pica SC",serif;letter-spacing:.14em;font-size:.84rem;color:var(--rubrique)}
.owk h1{margin:0 0 .45rem;font-size:clamp(1.8rem,3.4vw,2.8rem);line-height:1.08}
.owk .sub{margin:0 0 1.1rem;font-style:italic;color:var(--sepia)}
.owk__lede{font-size:1.1rem;line-height:1.66}
@media(max-width:760px){.owk{grid-template-columns:1fr;gap:1.5rem}}
/* the record: author, dates, place, volumes, where to read it */
.owk__rec{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));border-top:2px solid var(--encre);border-bottom:1px solid var(--filet);margin:0 0 2.2rem}
.owk__rec div{padding:.7rem .95rem .85rem;border-right:1px solid var(--filet)}
.owk__rec div:last-child{border-right:0}
.owk__rec b{display:block;margin-bottom:.15rem;font-weight:400;font-family:"IM Fell DW Pica SC",serif;letter-spacing:.1em;font-size:.72rem;color:var(--sepia)}
.owk__rec span{font-size:.95rem;line-height:1.35;display:block}
.owk__rec a{color:var(--rubrique)}
/* credits under a plate, and the sources at the foot of a work page */
.cred{display:block;margin-top:.3rem;font-style:normal;font-size:.76rem;color:var(--sepia)}
.srcs{margin:2rem 0 0;font-size:.86rem;color:var(--sepia);line-height:1.55}
.srcs b{display:block;font-weight:400;font-family:"IM Fell DW Pica SC",serif;letter-spacing:.1em;font-size:.74rem;margin-bottom:.3rem}
.srcs a{color:inherit}
/* from one work to the next */
.owk__nav{display:flex;justify-content:space-between;gap:1.2rem;margin-top:2.6rem;padding-top:1rem;border-top:1px solid var(--filet);font-size:.95rem}
.owk__nav a{color:inherit;text-decoration:none;max-width:22rem}
.owk__nav a:hover{text-decoration:underline;text-underline-offset:.18em}
.owk__nav em{display:block;font-style:normal;font-family:"IM Fell DW Pica SC",serif;letter-spacing:.1em;font-size:.72rem;color:var(--sepia)}
.owk__nav .n{text-align:right}
@media(max-width:560px){.owk__nav{flex-direction:column;gap:.8rem}.owk__nav .n{text-align:left}}
/* the works gallery and the head of a work page break out of the 740 px text column */
.body>.opus,.body>.owk,.body>.owk__rec{width:min(1180px,calc(100vw - 3rem));margin-left:50%;transform:translateX(-50%)}
.body>.owk__rec{margin-bottom:2.4rem}
/* a work page: the plates are pages of a folio, so cap them to the screen rather than the column */
.body--work .plate{margin-bottom:2.2rem}
.body--work .plate img{max-height:78vh;width:auto;max-width:100%;display:inline-block;box-shadow:0 14px 30px -18px rgba(28,26,22,.55)}
.body--work h2{margin-top:2.6rem}
/* a work of which no copy is online: the card carries its title set in type instead of a photograph */
.opus figure.noimg{display:grid;place-items:center;aspect-ratio:3/4;background:linear-gradient(160deg,var(--papier2),#E3DAC1);padding:1.4rem;text-align:center}
.opus figure.noimg::before{content:"";position:absolute;inset:.6rem;border:1px solid rgba(28,26,22,.22)}
.opus figure.noimg span{font-family:"IM Fell DW Pica",serif;font-style:italic;font-size:1.05rem;line-height:1.45;color:var(--sepia)}
.opus img{object-position:top center}
/* ---------- Abbatia Sancti Petri de Curte: additions to the shared charter ---------- */
.brand img{height:58px}
@media(max-width:600px){.brand img{height:46px}}
.brand span{font-size:.92rem}
/* the language switcher gets its own thin strip above the header: with six menu items it would otherwise sit on the nav */
.langs{position:static;justify-content:flex-end;padding:.3rem 1.5rem .15rem;background:var(--papier);border-bottom:1px solid var(--filet)}
@media(max-width:600px){.langs{padding:.3rem .9rem .15rem}}
/* the arms, displayed large */
.arms{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.6rem 2rem;align-items:center;margin:2rem 0}
.arms>div{grid-column:1/-1;max-width:40em;margin:0 auto}
.split img{max-height:600px;object-fit:cover}
.arms figure{margin:0;text-align:center}
.arms img{width:100%;max-height:420px;object-fit:contain;display:block;background:#fff;border:1px solid var(--filet);padding:10px;box-sizing:border-box}
.arms figcaption{font-style:italic;font-size:.95rem;color:var(--sepia);margin-top:.5rem}
.arms dl{margin:0}
.arms dt{font-family:"IM Fell DW Pica SC",serif;color:var(--rubrique);letter-spacing:.06em;margin-top:.9rem}
.arms dd{margin:.15rem 0 0}
@media(max-width:520px){.arms{grid-template-columns:1fr}}
/* callout: what the house is not, notes to the reader */
.note{border:1px solid var(--filet);border-left:4px solid var(--rubrique);background:#fffaf0;padding:1.1rem 1.3rem;margin:1.6rem 0}
.note h3{margin:0 0 .4rem;font-family:"IM Fell DW Pica",serif;font-weight:400;font-size:1.35rem}
.note p{margin:.4rem 0}
.note ul{margin:.4rem 0 .2rem;padding-left:1.2rem}
/* key figures of the retreat house, no animation needed */
.keys{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;margin:1.6rem 0}
.keys div{border-top:2px solid var(--rubrique);padding:.7rem .2rem 0}
.keys b{display:block;font-family:"IM Fell DW Pica",serif;font-weight:400;font-size:2rem;line-height:1.1;color:var(--encre)}
.keys span{font-size:1rem;color:var(--sepia)}
/* two chapels side by side */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:2rem;width:min(1180px,calc(100vw - 3rem));margin:2rem 0 2rem 50%;transform:translateX(-50%)}
.duo a,.duo article{display:block;color:inherit;text-decoration:none;background:#fffaf0;border:1px solid var(--filet)}
.duo img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.duo div{padding:1.1rem 1.3rem 1.3rem}
.duo h3{font-family:"IM Fell DW Pica",serif;font-weight:400;font-size:1.7rem;margin:.2rem 0 .4rem}
.duo p{margin:.3rem 0}
.duo .more{color:var(--rubrique);font-family:"IM Fell DW Pica SC",serif;letter-spacing:.05em}
.duo a:hover h3{color:var(--rubrique)}
@media(max-width:760px){.duo{grid-template-columns:1fr}}
.src{font-size:.92rem;color:var(--sepia);font-style:italic}
/* the map block is wider than the text column: centre it on the viewport like .split/.duo (it used to overflow to the right) */
.body .map-w{margin-left:50%;transform:translateX(-50%)}
/* Te Deum: play button in the hero, small player in the corner */
.chant-w{margin:.2rem 0 .9rem}
.chant{display:inline-flex;align-items:center;gap:.75rem;background:rgba(20,16,12,.45);color:#fff;border:1px solid rgba(255,255,255,.55);border-radius:999px;padding:.4rem 1.1rem .4rem .4rem;cursor:pointer;font:inherit;text-align:left;backdrop-filter:blur(3px);transition:background .3s,border-color .3s}
.chant:hover,.chant:focus-visible{background:var(--rubrique);border-color:var(--rubrique)}
.chant__i{width:2.4rem;height:2.4rem;border-radius:50%;background:var(--rubrique);position:relative;flex:none;box-shadow:0 0 0 0 rgba(161,38,28,.6);animation:chant 2.4s infinite}
.chant__i::before{content:"";position:absolute;left:55%;top:50%;transform:translate(-50%,-50%);border-style:solid;border-width:.5rem 0 .5rem .8rem;border-color:transparent transparent transparent #fff}
.chant.on .chant__i{animation:none}
.chant.on .chant__i::before{left:50%;width:.7rem;height:.7rem;border:0;background:#fff}
.chant__t{display:flex;flex-direction:column;line-height:1.15}
.chant__t em{font-family:"IM Fell DW Pica",serif;font-size:1.25rem}
.chant__t small{font-family:"IM Fell DW Pica SC",serif;letter-spacing:.06em;font-size:.8rem;opacity:.9}
@keyframes chant{0%{box-shadow:0 0 0 0 rgba(161,38,28,.6)}70%{box-shadow:0 0 0 .8rem rgba(161,38,28,0)}100%{box-shadow:0 0 0 0 rgba(161,38,28,0)}}
@media(prefers-reduced-motion:reduce){.chant__i{animation:none}}
/* diaporama of the whole abbey */
.dia{width:min(1180px,calc(100vw - 2rem));margin:1.4rem 0 0 50%;transform:translateX(-50%);background:var(--encre);color:var(--papier);box-shadow:var(--ombre)}
.dia__stage{position:relative;aspect-ratio:3/2;max-height:78vh;width:100%}
.dia__s{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.6s ease;display:flex;align-items:center;justify-content:center}
.dia__s.on{opacity:1}
.dia__s img{max-width:100%;max-height:100%;width:auto;height:auto;display:block}
.dia__bar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;padding:.7rem 1rem .8rem;border-top:1px solid rgba(255,255,255,.12)}
.dia__play{display:inline-flex;align-items:center;gap:.7rem;background:transparent;color:inherit;border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:.3rem 1rem .3rem .3rem;cursor:pointer;font:inherit;text-align:left}
.dia__play:hover,.dia__play:focus-visible{background:var(--rubrique);border-color:var(--rubrique)}
.dia__play.on .chant__i{animation:none}
.dia__play.on .chant__i::before{left:50%;width:.7rem;height:.7rem;border:0;background:#fff}
.dia__cap{flex:1 1 14rem;margin:0;font-style:italic;color:#e6dcc6}
.dia__n{font-family:"IM Fell DW Pica SC",serif;letter-spacing:.06em;font-size:.85rem;color:#bfb49c}
.dia__nav{display:flex;gap:.35rem}
.dia__nav button{width:2.2rem;height:2.2rem;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;font-size:1.1rem;cursor:pointer}
.dia__nav button:hover{background:rgba(255,255,255,.12)}
.dia:fullscreen{width:100vw;height:100vh;margin:0;transform:none;display:flex;flex-direction:column}
.dia:fullscreen .dia__stage{flex:1;aspect-ratio:auto;max-height:none}
@media(max-width:600px){.dia__stage{aspect-ratio:4/5}}
/* ---------- library: juxtalinear text, Latin left, translation right ---------- */
.body--jx{max-width:1180px}
.jx__t{margin:1rem auto 0;display:grid;gap:.2rem;font-style:italic;font-size:1.15rem;color:#3a342a}
.jx__t span[lang="la"]{color:var(--rubrique)}
.jx{margin:1.2rem 0 2rem;border-top:1px solid var(--filet)}
.jx__r{display:grid;grid-template-columns:2.4rem 1fr 1fr;gap:0 1.6rem;padding:.55rem 0;border-bottom:1px solid rgba(201,187,151,.45)}
.jx__r--la{grid-template-columns:2.4rem 1fr}
.jx__r:target{background:#fff6dc;box-shadow:-.6rem 0 0 #fff6dc,.6rem 0 0 #fff6dc}
.jx__n{font-family:"IM Fell DW Pica SC",serif;color:var(--rubrique);text-decoration:none;font-size:.9rem;padding-top:.25rem;text-align:right}
.jx__la{font-style:italic;color:#2b261f}
.jx__la p,.jx__tr p{margin:0 0 .4rem;line-height:1.5;font-size:1.08rem}
.jx__x{color:var(--sepia);font-size:.95rem!important}
.jx__nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0;font-family:"IM Fell DW Pica SC",serif;letter-spacing:.05em}
.jx__nav a{color:var(--rubrique);text-decoration:none}
.jx__cr{font-size:.9rem;color:var(--sepia);border-top:1px solid var(--filet);padding-top:.8rem}
.cm{margin:.2rem 0 .6rem 4rem;border-left:3px solid var(--filet);background:#fffaf0}
.cm summary{cursor:pointer;padding:.35rem .8rem;font-size:.95rem;color:var(--sepia)}
.cm summary span{font-family:"IM Fell DW Pica SC",serif;color:var(--rubrique);letter-spacing:.05em;margin-right:.3rem}
.cm__b{padding:.2rem 1rem .6rem;font-size:1rem}
.cm__b p{margin:.4rem 0;line-height:1.5}
.cm__pg{font-size:.78rem;color:var(--sepia);font-family:"IM Fell DW Pica SC",serif;margin-right:.3rem}
.cm-ch{margin:1rem 0}
.libw{border-top:2px solid var(--rubrique);padding:1rem 0 1.2rem;margin-top:1.4rem}
.libw h2{margin:.5rem 0 .2rem}
.libtoc{display:flex;flex-wrap:wrap;gap:.3rem .6rem;font-family:"IM Fell DW Pica SC",serif}
.libtoc a{color:var(--rubrique);text-decoration:none;border:1px solid var(--filet);padding:.05rem .45rem;background:#fffaf0}
@media(max-width:700px){.jx__r{grid-template-columns:1.8rem 1fr;gap:.2rem .8rem}.jx__tr{grid-column:2}.jx__la{border-bottom:1px dotted var(--filet);padding-bottom:.3rem}.cm{margin-left:1.8rem}}
/* ---------- illustrations: shown whole, captioned, credited ---------- */
.fig.art{margin:1.4rem auto 1.8rem;text-align:center;max-width:820px;width:auto;transform:none}
.fig.art img{width:auto;max-width:100%;max-height:72vh;margin:0 auto;border:1px solid var(--filet);background:#fff;padding:6px;box-sizing:border-box}
.fig.art figcaption{font-style:italic;font-size:.95rem;color:var(--sepia);margin-top:.5rem;line-height:1.4}
.art__src{font-style:normal;font-size:.8rem;color:var(--sepia);margin-left:.3rem;white-space:nowrap}
.libw{display:grid;grid-template-columns:150px 1fr;gap:1.2rem;align-items:start}
.libw:not(:has(.libw__img)){grid-template-columns:1fr}
.libw__img{width:150px;height:auto;border:1px solid var(--filet);background:#fff;padding:4px;box-sizing:border-box}
@media(max-width:560px){.libw{grid-template-columns:1fr}.libw__img{width:120px}}
/* ---------- thought for the day ---------- */
.daily{max-width:900px;margin:2.6rem auto 0;border:1px solid var(--filet);background:#fffaf0;position:relative;padding:1.6rem 1.8rem 1.3rem;box-shadow:0 10px 26px rgba(28,26,22,.08)}
.daily__k{position:absolute;top:-.85rem;left:1.4rem;background:var(--rubrique);color:#fff;font-family:"IM Fell DW Pica SC",serif;letter-spacing:.12em;font-size:.85rem;padding:.2rem .8rem}
.daily__d{float:right;font-family:"IM Fell DW Pica SC",serif;color:var(--sepia);font-size:.85rem;letter-spacing:.05em}
.daily__la{font-style:italic;font-size:1.2rem;color:var(--rubrique);margin:.2rem 0 .5rem;line-height:1.45}
.daily__tr{font-size:1.25rem;line-height:1.5;margin:0 0 .6rem}
.daily__src{margin:0;font-size:.92rem;color:var(--sepia)}
.daily__src a{color:var(--rubrique)}
/* ---------- no cropping: every photograph is shown whole ---------- */
.gal img,.duo img,.tl__it img,.mosaic img,.split img,.cards img,.join img,.now__c img,.tri img{object-fit:contain!important;background:#f4eddd}
.split img{max-height:none}
.gal figure:hover img,.mosaic figure:hover img,.tl__it:hover img,.tl__it img{transform:none!important}
.hero{background:var(--encre)}
.hero__slide{background-size:contain!important;background-repeat:no-repeat;background-position:right center!important;transform:none!important;animation:none!important}
@media(max-width:760px){.hero__slide{background-position:center top!important}}
.para{background:var(--encre)}
.para__bg{inset:0!important;background-size:contain!important;background-repeat:no-repeat;background-position:center!important;transform:none!important;opacity:.55}
/* a verse of the Rule set at the head of a page: quiet, centred, no box */
.body blockquote.rule{margin:0 auto 2.2rem;max-width:40rem;text-align:center;padding:0 1rem}
.body blockquote.rule p{font-family:"IM Fell DW Pica",serif;font-style:italic;font-size:1.25rem;line-height:1.5;margin:0 0 .4rem;color:var(--ink,#2b2622)}
.body blockquote.rule .tr{display:block;font-style:normal;font-family:inherit;font-size:1.02rem;color:var(--sepia);margin-top:.3rem}
.body blockquote.rule cite{font-family:"IM Fell DW Pica SC",serif;font-style:normal;letter-spacing:.12em;font-size:.85rem;color:var(--rubrique)}
.body ul{line-height:1.6}
/* v3.css sets .para{margin:4rem 0 0} after .bleed{margin-left:50%}: restore the half-column offset that the translateX(-50%) expects */
.body .para.bleed{margin-left:50%}
/* ================= accessibility, reflow and no-script baseline (audit of 29 September 2026) ================= */
/* a translation on the dark quotation band: #E9DCC0 on #1C1A16 is above 12:1 (the sepia was 2.5:1) */
.para .tr{color:#E9DCC0}
.para__bg{position:absolute;z-index:0}
/* visible focus everywhere, lighter on dark grounds */
:focus-visible{outline:2px solid var(--rubrique);outline-offset:2px}
.foot :focus-visible,.hero :focus-visible,.para :focus-visible,.band :focus-visible,.dia :focus-visible,.lb :focus-visible{outline-color:#F6D9B8}
#main:focus{outline:none}
.xp__list button:focus-visible{outline:2px solid var(--rubrique);outline-offset:2px}
.skip{position:absolute;left:.8rem;top:-4rem;z-index:200;background:var(--encre);color:#fff;padding:.7rem 1.1rem;font-family:"IM Fell DW Pica SC",serif;letter-spacing:.06em;text-decoration:none}
.skip:focus{top:.6rem}
.vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* long words and addresses wrap instead of pushing the page sideways */
h1,h2,h3,.ph__k,.ph__s,.sec-t,.sec-s,.hero__t,.src,.note,.jx__cr,.daily{overflow-wrap:break-word;hyphens:auto}
.jx__nav{flex-wrap:wrap}
.bleed,.tl,.band{width:calc(100vw - var(--sbw,0px))}
/* a verse or section reached by its link (#v12, #cadre) is not hidden under the sticky header */
[id]{scroll-margin-top:5.5rem}
/* footer: one column on a narrow screen */
@media(max-width:560px){.foot__in{grid-template-columns:minmax(0,1fr);gap:1.4rem;padding:2.4rem 1rem 1.4rem}.foot__b{padding:1rem}}
/* touch targets of about 44 px */
.burger{min-height:44px;min-width:44px;padding:.3rem .9rem}
@media(pointer:coarse){
 .langs a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 .2rem;box-sizing:border-box}
 .top nav a{padding:.65rem 0}
 .foot li a{display:inline-block;padding:.45rem 0}
 .libtoc a{padding:.45rem .6rem}
 .jx__nav a{display:inline-block;padding:.6rem 0}
}
/* hero: the photographs are <img> shown whole; the first is in the page, the others arrive on request */
img.hero__slide{width:100%;height:100%;max-width:none;object-fit:contain;object-position:right center;display:block;background:var(--encre)}
@media(max-width:760px){img.hero__slide{object-position:center top}}
.hero__ctl{position:absolute;left:max(1rem,calc((100vw - 1180px)/2));bottom:.9rem;z-index:3;display:flex;align-items:center;gap:.5rem;color:#fff}
.hero__b{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.75);background:rgba(20,18,15,.45);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0}
.hero__b:hover{background:rgba(20,18,15,.75)}
.hero__n{font-family:"IM Fell DW Pica SC",serif;letter-spacing:.08em;font-size:.95rem;min-width:3.2em;text-align:center;text-shadow:0 1px 6px rgba(0,0,0,.7)}
.hero__cap{max-width:45%}
.hero__card{margin-bottom:5rem}
@media(max-width:600px){.hero__card{margin-bottom:4.6rem}}
@media(prefers-reduced-motion:reduce){.hero__slide{transition:none!important}.hero__card{animation:none!important}}
/* the other controls */
.dia__nav button{width:44px;height:44px}
.dia__play{min-height:44px}
html:not(.js) .tl__nav,.dia:empty{display:none}
/* enlargement: a real link around the image */
a.zoom{display:block;cursor:zoom-in;color:inherit}
.fig.art a.zoom,.split a.zoom{display:block}
/* map: shown only when the library loads; the address and a plain link are always there */
.map[hidden]{display:none!important}
html:not(.js) .map{display:none}
.map__link{margin:.7rem 0 0;font-size:1rem;color:var(--sepia);text-align:center;overflow-wrap:anywhere}
/* illustration credits and the work cards of the library */
.art__src{white-space:normal}
.libw__fig{margin:0;width:150px}
.libw__fig figcaption{margin-top:.3rem;line-height:1.25}
.libw__fig .art__src{margin-left:0;font-size:.72rem}
@media(max-width:560px){.libw__fig{width:120px}}
/* the menu without the script, on a narrow screen: a wrapped row under the brand */
@media(max-width:1100px){html:not(.js) .top__in{padding-bottom:.6rem}}
/* reduced motion everywhere */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* The timeline started scrolled by exactly its own left padding, so its first
   item sat cut against the window edge: scroll-snap aligns items to the scroll
   edge unless scroll-padding matches the padding. Same fix as on
   www.patrimoinedesabbayes.org (6 October 2026). */
.tl__track{scroll-padding-inline:max(1.5rem,calc((100vw - 1180px)/2))}
