/* Bandeau 1.0.3 inspiré de la maquette de l'association. */
.site-header{padding:20px 5% 0;flex-wrap:wrap;background:#f8f5ef;gap:22px;border:0}.site-header .brand{flex:1;min-width:280px}.brand img{width:95px;height:70px}.brand small,.brand strong,.brand-motto{display:block}.brand strong{font-size:24px}.brand-motto{font:12px/1.8 Georgia,serif}.header-message{text-align:right;font:italic 15px Georgia,serif}.header-message span{display:block;font-size:12px;margin-top:8px}.support{font-size:12px}.site-header nav{width:100%;flex:0 0 111.12%;margin:0 -5.56%;padding:15px 25px;justify-content:center;background:var(--ink);color:white;gap:28px}.site-header nav a{font:14px Georgia,serif}.site-header nav a:hover{color:#ebc7a1}.heritage-hero{position:relative;isolation:isolate;display:block;max-width:none;min-height:460px;background:#152b3b;overflow:hidden}.heritage-hero .heritage-photo{position:absolute;z-index:-3;right:0;top:0;width:64%;height:100%;max-height:none;object-fit:cover;object-position:center 25%;filter:grayscale(1)}.heritage-hero .heritage-shade{position:absolute;inset:0;z-index:-2;padding:0;background:linear-gradient(90deg,#152b3b 0%,#152b3bf2 25%,#152b3bb3 45%,#152b3b12 78%),linear-gradient(0deg,#09141cd9,transparent 70%)}.heritage-hero .hero-copy{position:relative;padding:58px 5%;width:100%;margin:auto}.heritage-hero h1{font-size:clamp(32px,3.5vw,51px);max-width:670px;line-height:1.08}.heritage-hero .hero-copy>p{font-size:15px;line-height:1.7;max-width:465px;margin:20px 0 25px}.heritage-hero .eyebrow{color:#ddcdb6;font-size:10px}.heritage-hero .hero-quote{position:absolute;bottom:45px;right:6%;margin:0;max-width:330px;text-shadow:0 2px 15px #000}.hero-quote p{font:italic 25px/1.35 Georgia,serif;margin:0 0 8px;color:white}.hero-quote cite{font:italic 16px Georgia,serif}.heritage-hero .republic-ribbon{position:absolute;z-index:-1;right:-55px;bottom:4px;width:250px;transform:rotate(-22deg);padding:0}.republic-ribbon i{height:14px;display:block;background:#9d2334}.republic-ribbon i:nth-child(2){background:#d4ae48}.republic-ribbon i:nth-child(3){background:#655074}.quick-nav{display:grid;grid-template-columns:repeat(6,1fr);gap:0;padding-top:22px;padding-bottom:22px;border-bottom:1px solid var(--line)}.quick-nav a{text-decoration:none;font:bold 14px Georgia,serif;padding:4px 15px;border-right:1px solid var(--line)}.quick-nav span{display:block;font:11px/1.5 system-ui;color:#6a7074;margin-top:7px}.quick-nav a:hover{color:var(--red)}footer{background:var(--ink)}
@media(max-width:1100px){.header-message{display:none}.site-header nav{gap:20px}.heritage-hero .hero-quote{max-width:230px;right:3%}.hero-quote p{font-size:21px}.heritage-hero .hero-copy>p{max-width:400px}.quick-nav{grid-template-columns:repeat(3,1fr);gap:18px}}
@media(max-width:850px){.site-header{padding:15px 20px 0;gap:15px}.site-header .brand{min-width:0}.brand img{width:65px;height:50px}.brand strong{font-size:18px}.brand-motto{font-size:10px}.support{display:none}.site-header .menu{display:block;padding:8px;font-size:13px}.site-header nav{flex-basis:calc(100% + 40px);width:calc(100% + 40px);margin:0 -20px;display:none;gap:10px}.site-header nav.open{display:flex;flex-direction:column;align-items:stretch;padding:20px}.site-header nav a{padding:7px 0}.heritage-hero{padding-top:220px}.heritage-hero .heritage-photo{width:100%;height:265px;object-fit:cover;object-position:center 20%}.heritage-hero .heritage-shade{background:linear-gradient(0deg,#152b3b 0%,#152b3b 49%,transparent 90%)}.heritage-hero .hero-copy{padding:20px 24px 15px}.heritage-hero h1{font-size:35px;max-width:100%}.heritage-hero .hero-copy>p{max-width:100%;font-size:14px}.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.hero-actions .ghost{margin:0}.heritage-hero .hero-quote{position:relative;right:auto;bottom:auto;margin:15px 24px 35px}.heritage-hero .republic-ribbon{width:180px;bottom:12px;right:-45px}.quick-nav{display:grid;grid-template-columns:repeat(2,1fr)}.quick-nav a{padding:4px 10px;font-size:13px}}
@media(max-width:390px){.brand strong{font-size:16px}.site-header .brand{gap:8px}.brand img{width:52px}.site-header{gap:10px}.site-header .menu{font-size:11px}.heritage-hero h1{font-size:31px}}
/* 1.0.4 — Bandeaux éditoriaux, drapeau républicain et Pont Vieux. */
.page-banner{--banner-accent:#a93640;display:grid;grid-template-columns:1.15fr 1fr;background:#152c3e;color:#fff;position:relative;isolation:isolate;overflow:hidden;border-bottom:5px solid var(--banner-accent)}
.banner-copy{position:relative;z-index:2;padding:45px 40px 40px max(28px,calc((100vw - 1180px)/2));align-self:center;min-width:0}
.page-banner .eyebrow{color:#e0c896;font-size:10px;line-height:1.7;letter-spacing:2px}.page-banner h1{font-size:clamp(30px,3.4vw,49px);line-height:1.12;overflow-wrap:anywhere;margin-bottom:22px;max-width:700px}
.banner-intro{font-size:15px;line-height:1.7;max-width:520px;color:#e2e6e7}.banner-quote{margin:24px 0 0;padding-left:20px;border-left:2px solid #e0bc62;max-width:540px}.banner-quote>p{font:italic 23px/1.4 Georgia,serif;margin:0 0 8px}.banner-quote cite{font-style:normal;font-size:12px;letter-spacing:1px}.banner-quote details{font-size:11px;margin-top:7px;color:#d5dce2}.banner-quote summary{cursor:pointer;width:fit-content}.banner-quote details p{margin:8px 0;font-style:italic}.banner-quote small{display:block;font-size:10px;margin-top:5px}
.banner-art{position:relative;min-height:355px;overflow:hidden;background:#223e4d}.bridge-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:43% 60%;filter:saturate(.65)}.art-shade{position:absolute;inset:0;background:linear-gradient(90deg,#152c3e 0%,transparent 30%),linear-gradient(0deg,#0b2333c9,transparent 55%)}
.azana-portrait{position:absolute;bottom:0;left:7%;width:52%;max-width:310px;margin:0;border:1px solid #ddd3b850;box-shadow:0 10px 35px #071b2c55;background:#142b3c}.azana-portrait img{width:100%;height:auto;display:block;filter:sepia(.16)}.azana-portrait figcaption{padding:10px 14px;font:11px/1.7 system-ui;letter-spacing:2px}.azana-portrait figcaption span{display:block;font-size:9px;letter-spacing:1px;color:#d7d1c3}
.republic-flag{position:absolute;right:7%;top:30px;width:135px;height:90px;box-shadow:0 4px 15px #0004;transform:rotate(-5deg);border:1px solid #ffffff40}.republic-flag i{display:block;height:33.3333%;background:#b92736}.republic-flag i:nth-child(2){background:#e5b834}.republic-flag i:nth-child(3){background:#6d397f}.bridge-label{position:absolute;right:6%;bottom:17px;font:9px/1.7 system-ui;letter-spacing:1.7px;max-width:100px;text-align:right;text-shadow:0 1px 5px #000}
.welcome-banner .banner-copy{padding-top:55px;padding-bottom:48px}.welcome-banner .banner-art{min-height:490px}.welcome-banner h1{font-size:clamp(35px,3.7vw,54px)}.page-banner .hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.page-banner .ghost{margin:0}.page-banner .button{font-size:12px}.welcome-banner .azana-portrait{width:63%;max-width:390px;left:0}.welcome-banner .republic-flag{width:165px;height:110px;top:40px}
.theme-events{--banner-accent:#ae383f;background:#502832}.theme-events .art-shade{background:linear-gradient(90deg,#502832,transparent 30%),linear-gradient(0deg,#23141bc4,transparent 65%)}.theme-photos{--banner-accent:#d6b35e;background:#273f43}.theme-photos .art-shade{background:linear-gradient(90deg,#273f43,transparent 30%),linear-gradient(0deg,#102426c4,transparent 65%)}.theme-press,.theme-books{--banner-accent:#a184bc;background:#322c44}.theme-press .art-shade,.theme-books .art-shade{background:linear-gradient(90deg,#322c44,transparent 30%),linear-gradient(0deg,#1c1728c4,transparent 65%)}.theme-videos{--banner-accent:#b8875c}.theme-contact{--banner-accent:#d5b45e}.variant-1 .azana-portrait{left:12%;bottom:20px}.variant-1 .republic-flag{transform:rotate(4deg)}.variant-2 .azana-portrait{left:3%;bottom:15px}.variant-2 .bridge-photo{object-position:60% 65%}.variant-2 .republic-flag{top:20px;right:12%;transform:none}
.news-section{padding-top:42px;scroll-margin-top:25px}.news-heading .eyebrow{margin-bottom:10px}.news-heading h2{font-size:36px;margin-bottom:8px}.news-heading>p{margin:0;font-size:14px;color:#687481}.news-section .event{padding-top:27px}.news-section .event-date{min-height:290px}.event aside img{height:auto;aspect-ratio:auto;object-fit:contain}.event aside small{display:block;margin:5px 0 14px}
.gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.gallery .zoom{display:flex;align-items:center;justify-content:center;background:#e9e4dc;min-width:0;border:1px solid var(--line);padding:7px}.gallery img{height:260px;object-fit:contain;background:transparent;display:block}.gallery-hint{color:#596875;font-size:14px;max-width:760px}.document-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.document-gallery img{height:370px}.card>img{height:240px}.photo-credit{font-size:10px;line-height:1.8;max-width:300px}
#lightbox{padding:40px 20px 18px;background:#102431;color:white;max-width:96vw;max-height:96vh;border-radius:4px}#lightbox>img{max-width:90vw;max-height:78vh;width:auto;height:auto;object-fit:contain;margin:auto}#lightbox .lightbox-close{color:white;background:#102431;right:8px;top:2px;position:absolute;font-size:26px}#lightbox .lightbox-controls{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:14px;font-size:12px}#lightbox .lightbox-controls button{position:static;background:#fff1;color:white;border:1px solid #fff5;font-size:18px;padding:4px 15px}#lightbox .lightbox-controls button:disabled{opacity:.3;cursor:default}.lightbox-original{font-size:11px}
@media(max-width:1000px){.banner-copy{padding:35px 25px}.page-banner{grid-template-columns:1.1fr 1fr}.page-banner h1{font-size:36px}.banner-quote>p{font-size:21px}.republic-flag{width:100px;height:67px}.gallery img{height:210px}.welcome-banner .republic-flag{width:110px;height:74px}.welcome-banner .azana-portrait{width:80%}.welcome-banner .banner-art{min-height:440px}}
@media(max-width:700px){.page-banner{display:flex;flex-direction:column}.banner-art{order:-1;min-height:225px;width:100%}.banner-copy,.welcome-banner .banner-copy{padding:28px 22px 34px}.page-banner h1,.welcome-banner h1{font-size:34px}.page-banner .eyebrow{font-size:9px}.welcome-banner .banner-art{min-height:255px}.bridge-photo{object-position:50% 60%}.art-shade,.theme-events .art-shade,.theme-photos .art-shade,.theme-press .art-shade,.theme-books .art-shade{background:linear-gradient(0deg,#142b3caa,transparent 65%)}.azana-portrait,.welcome-banner .azana-portrait{width:48%;max-width:270px;left:5%;bottom:0}.variant-1 .azana-portrait,.variant-2 .azana-portrait{left:5%;bottom:0}.azana-portrait figcaption{font-size:9px;padding:6px 10px}.azana-portrait figcaption span{display:none}.republic-flag,.welcome-banner .republic-flag{top:22px;right:7%;width:100px;height:67px}.bridge-label{max-width:135px;font-size:8px}.banner-quote{margin-top:22px}.banner-quote>p{font-size:22px}.news-heading h2{font-size:29px}.news-section{padding-top:30px}.news-section .event-date{min-height:0}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery img{height:190px}.document-gallery{grid-template-columns:1fr}.document-gallery img{height:auto;max-height:600px}.card>img{height:260px}}
@media(max-width:430px){.gallery{grid-template-columns:1fr}.gallery img{height:auto;max-height:420px}.banner-art{min-height:210px}.welcome-banner .banner-art{min-height:220px}.page-banner h1,.welcome-banner h1{font-size:31px}.hero-actions .button{width:100%;text-align:center}.lightbox-original{width:100%;text-align:center}}
/* 1.0.5 — panorama continu : portrait fondu et étoffe flottante. */
.page-banner{display:block;min-height:360px;background:#142735;border:0;border-bottom:3px solid var(--banner-accent);isolation:isolate}
.page-banner .banner-art{position:absolute;inset:0;z-index:-1;min-height:0;width:100%;height:100%;background:#142735;overflow:hidden}
.page-banner .bridge-photo{left:auto;right:0;width:57%;height:100%;object-fit:cover;object-position:40% 57%;filter:saturate(.65) brightness(.8)}
.page-banner .azana-portrait{position:absolute;left:29%;top:0;bottom:0;width:40%;max-width:none;height:100%;border:0;box-shadow:none;background:none;margin:0;mask-image:linear-gradient(90deg,transparent 0%,#000 27%,#000 68%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 27%,#000 68%,transparent 100%)}
.page-banner .azana-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:75% 24%;filter:grayscale(1) sepia(.15) brightness(.85)}
.page-banner .art-shade{z-index:2;background:linear-gradient(90deg,#142735 0%,#142735f5 25%,#1427357a 43%,transparent 61%),linear-gradient(0deg,#0a1a28bd,transparent 65%)}
.page-banner .banner-copy{padding:42px 25px 42px max(28px,calc((100vw - 1240px)/2));width:43%;position:relative;z-index:4}
.page-banner h1{font-size:clamp(29px,3.15vw,47px);line-height:1.12;max-width:550px;text-shadow:0 2px 15px #06121b80}
.page-banner .banner-intro{font-size:14px;line-height:1.65;margin-bottom:22px}
.page-banner>.banner-quote{position:absolute;right:5%;bottom:100px;width:25%;max-width:350px;border:0;padding:14px;margin:0;z-index:4;background:linear-gradient(90deg,#0b1e29ab,#0b1e2900);text-shadow:0 2px 6px #000}
.page-banner>.banner-quote>p{font-size:clamp(18px,1.8vw,26px)}.page-banner .banner-quote cite{font-size:11px}.page-banner .banner-quote details[open]{background:#102634f0;padding:8px;border-radius:2px}
.page-banner .floating-flag{position:absolute;z-index:3;right:-3%;bottom:-8%;width:40%;height:65%;object-fit:contain;object-position:right bottom;pointer-events:none}
.page-banner .bridge-label{z-index:4;bottom:15px;right:40%;max-width:none;font-size:8px;opacity:.8}
.welcome-banner{min-height:420px}.welcome-banner .banner-copy{padding-top:48px;padding-bottom:44px}.welcome-banner h1{font-size:clamp(32px,3.3vw,49px)}
.page-banner.theme-events .bridge-photo{filter:saturate(.65) brightness(.8) sepia(.1)}.page-banner.theme-press .bridge-photo,.page-banner.theme-books .bridge-photo{filter:saturate(.4) brightness(.75)}.page-banner.variant-1 .bridge-photo{object-position:35% 62%}.page-banner.variant-2 .bridge-photo{object-position:55% 57%}
@media(max-width:1050px){.page-banner .banner-copy{width:46%;padding-left:28px}.page-banner .azana-portrait{left:30%;width:43%}.page-banner>.banner-quote{right:2%;width:26%;bottom:90px;padding:10px}.page-banner h1,.welcome-banner h1{font-size:34px}.page-banner .floating-flag{width:44%;height:58%}.page-banner .hero-actions{gap:8px}.page-banner .hero-actions .button{font-size:11px;padding:10px}}
@media(max-width:700px){.page-banner,.welcome-banner{display:flex;flex-direction:column;min-height:0;padding-top:230px}.page-banner .banner-art{inset:0 0 auto;height:255px;min-height:0}.page-banner .bridge-photo{width:76%;object-position:45% 58%}.page-banner .azana-portrait{left:0;top:0;bottom:auto;width:68%;height:255px;mask-image:linear-gradient(90deg,#000 45%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 45%,transparent 100%)}.page-banner .azana-portrait img{object-position:75% center}.page-banner .art-shade{background:linear-gradient(0deg,#142735 0%,transparent 32%)}.page-banner .floating-flag{width:56%;height:67%;right:-4%;bottom:-8%}.page-banner .bridge-label{display:none}.page-banner .banner-copy,.welcome-banner .banner-copy{width:100%;padding:26px 24px 18px}.page-banner h1,.welcome-banner h1{font-size:33px;max-width:100%}.page-banner>.banner-quote{position:relative;right:auto;bottom:auto;width:auto;max-width:none;margin:0 24px 30px;padding:0 0 0 15px;border-left:2px solid #d4b45d;background:none}.page-banner>.banner-quote>p{font-size:22px}.page-banner .hero-actions .button{font-size:12px}.page-banner .banner-intro{font-size:14px}}
