/* ===== 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 ===== */
/* ==========================================================================
   www.patrimoinedesabbayes.org -- the Conservatoire'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}
@media(max-width:1180px){.burger{display:block}.top nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--papier);border-bottom:1px solid var(--filet);padding:.8rem 1.5rem;max-height:75vh;overflow:auto}.top nav.open{display:block}.top nav ul{flex-direction:column;align-items:flex-start;gap:.1rem}.top nav ul ul{display:flex;position:static;border:0;box-shadow:none;padding:0 0 .3rem 1rem;min-width:0}}
.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:1.5fr 1fr 1fr 1fr;gap:2rem}
@media(max-width:820px){.foot__in{grid-template-columns:1fr 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)}
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 */
.rv{opacity:0;translate:0 28px;transition:opacity .9s cubic-bezier(.2,.7,.2,1),translate .9s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;translate:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;translate:none;transition:none}.hero__slide{animation:none!important}.frieze__track{animation:none!important}}
/* 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)}
.para>div{position:relative;z-index:2;max-width:820px;padding:3rem 1.5rem}
.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}
.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;position:relative;left:50%;transform:translateX(-50%)}
.figs{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr))}
.figs article h2{font-family:"IM Fell DW Pica",serif;font-weight:400;font-size:1.5rem;letter-spacing:0;margin:0 0 .3rem;padding:0;border:0}
.figs article h2::first-letter{color:inherit}
.foot a{overflow-wrap:anywhere}
@media(max-width:820px){.foot__in{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.foot__in{grid-template-columns:1fr}}
.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 ---------- */
.lb{position:fixed;inset:0;z-index:100;background:rgba(20,18,15,.94);display:none;align-items:center;justify-content:center;flex-direction:column;padding:2.5rem 1rem 1rem}
.lb.open{display:flex;animation:fade .3s}
@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;background:none;border:0;color:#fff;font-size:2.2rem;cursor:pointer;padding:.4rem .8rem;line-height:1;opacity:.8}
.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}
/* the 1679 roof drawing is portrait: fill the landscape frame, keeping its title and the roof frame */
.cmp--duo .cmp__old[src*="charpente-1679"]{object-fit:cover;object-position:50% 22%;background:none}
/* 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{max-width:1260px;margin:0 auto;padding:.3rem 1.5rem 0;display:flex;justify-content:flex-end;gap:.3rem;font-family:'IM Fell DW Pica SC',serif;font-size:.8rem;letter-spacing:.08em;line-height:1.2}
.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)}
/* ===== 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}
/* ===== Accessibility fixes made in the repository (report to the webmaster for _src) ===== */
/* Keyboard focus must stay visible on the custom controls, and on images that open the viewer */
.xp__list button:focus-visible,.lb button:focus-visible,img[tabindex]:focus-visible{outline:2px solid var(--rubrique);outline-offset:3px}
.cmp:focus-within{outline:2px solid var(--rubrique);outline-offset:3px}
/* Moving content stops while a keyboard user is inside it, not only under the mouse */
.frieze:focus-within .frieze__track{animation-play-state:paused}
/* Reduced motion covers every looping animation, not only the hero and the frieze */
@media (prefers-reduced-motion:reduce){*,::before,::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* --- reviewer's comments of 5 October 2026, owner's choices of 6 October ---- */

/* B1 -- larger menu text: .98rem -> 1.05rem. Measured: the full menu still
   fits on one line in all four languages down to the 1180px burger breakpoint
   (German, the longest, keeps 27px before the logo). 1.1rem would collide
   with the logo in German at 1181px. Overrides charter/css/base.css for this
   site only. */
.top nav a{font-size:1.05rem}

/* B2 -- the 1679 plan at full width: the list of places goes below the plan at
   every width (+35% map width at 1280px). The markers are placed in % of the
   plan, so they stay on their places at any size. The list reads in columns. */
.xp{grid-template-columns:1fr}
.xp__card{min-height:0}
@media(min-width:901px){.xp__list{columns:3;column-gap:2rem}.xp__list li{break-inside:avoid}}
@media(min-width:601px) and (max-width:900px){.xp__list{columns:2;column-gap:1.5rem}.xp__list li{break-inside:avoid}}

/* B3 -- the timeline started scrolled by exactly its own left padding, so its
   first item ("On the bank of the Garonne") sat cut against the window edge:
   scroll-snap aligns items to the scroll edge unless scroll-padding matches the
   padding. Same expression as .tl__track's padding. */
.tl__track{scroll-padding-inline:max(1.5rem,calc((100vw - 1180px)/2))}
