@import url('https://fonts.googleapis.com/css2?family=Allura&family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f7f6f2;--ink:#20231f;--mute:#77796f;--line:#ddded5;--accent:#65764b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}header{height:123px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-family:'Manrope',Arial,sans-serif;font-size:25px;font-weight:800;letter-spacing:-1.3px}.brand span{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:4px;margin-top:8px}.header-note{font-size:11px}.header-note span{padding-left:20px}nav{display:flex;gap:30px}nav a{font-size:12px;color:var(--mute);padding:9px 0}nav a.active{color:var(--ink);border-bottom:1px solid}.intro{padding:72px 7% 46px;display:flex;align-items:flex-end;justify-content:space-between}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:2.3px;display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';width:22px;height:1px;background:var(--accent)}h1{font-family:'Manrope',Arial,sans-serif;font-size:clamp(42px,5.2vw,78px);font-weight:500;line-height:1.12;letter-spacing:-4px;margin:22px 0 0}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.intro p{font-size:12px;color:var(--mute);line-height:1.9;max-width:260px;margin:0 0 4px}.hero{margin:0 3.5%;height:53vw;max-height:660px;min-height:330px;position:relative;background:#274c55;overflow:hidden}.hero img{height:100%;width:100%;object-fit:cover;object-position:center 52%}.hero:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.55));pointer-events:none}.hero-caption{position:absolute;bottom:42px;left:42px;right:42px;color:white;display:flex;align-items:end;justify-content:space-between;z-index:1}.hero-caption span{font-size:10px;letter-spacing:2px;text-transform:uppercase}.hero-caption h2{font-family:'Manrope',sans-serif;font-size:44px;font-weight:400;letter-spacing:-2px;margin:12px 0 0}.round{display:grid;place-items:center;width:54px;height:54px;border:1px solid #ffffff88;border-radius:50%;font-size:23px;transition:.2s}.hero:hover .round{background:white;color:var(--ink)}.series{padding:70px 7% 85px}.section-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:30px}.section-top h2{font-size:12px;font-weight:500;margin:0}.section-top span{color:var(--mute);font-size:10px}.series-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:35px}.series-card .cover{height:340px;background:#e5e7df;overflow:hidden;position:relative}.cover img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.series-card:hover img{transform:scale(1.025)}.card-meta{display:flex;justify-content:space-between;align-items:start;padding-top:18px}.card-meta h3{font-size:23px;font-weight:400;letter-spacing:-.7px;margin:0 0 7px}.card-meta p{color:var(--mute);font-size:11px;margin:0}.card-meta>span{font-size:21px}.rugby-cover{background:linear-gradient(140deg,#263b30,#778264)!important;display:grid;place-items:center}.rugby-cover:before{content:'';position:absolute;width:64%;height:170%;border:1px solid #ffffff20;transform:rotate(25deg)}.rugby-cover strong{font-family:Georgia,serif;font-weight:400;font-style:italic;color:#dce1d5;font-size:65px;z-index:1}.rubric{margin:0 7%;padding:25px 0 45px;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:11px;color:var(--mute)}footer{border-top:1px solid var(--line);margin:0 5%;padding:30px 0;display:flex;gap:20px;justify-content:space-between;align-items:center;font-size:10px;color:var(--mute)}footer .small{font-size:17px;color:var(--ink)}.breadcrumbs{padding:35px 7% 0;font-size:10px;color:var(--mute)}.breadcrumbs span{padding:0 10px}.gallery{padding:0 5% 65px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.photo{border:0;padding:0;background:#e4e6df;position:relative;aspect-ratio:1.5;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.photo:hover img{transform:scale(1.035)}.photo span{position:absolute;bottom:12px;right:14px;background:#f7f6f2e0;padding:5px 10px;font-size:13px}.album-tools{margin:0 7% 30px;display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding-bottom:20px;font-size:11px}.album-tools a,.text-link{border-bottom:1px solid var(--ink);padding-bottom:3px}.adobe{margin:0 7% 70px}.adobe summary{font-size:12px;cursor:pointer;padding:20px 0;border-top:1px solid var(--line)}.embed{height:min(65vw,700px);min-height:350px;background:#2d2d2d}.embed iframe{width:100%;height:100%;border:0}.empty{margin:0 7% 80px;min-height:360px;background:#e8ebe3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px}.empty .number{font:italic 70px Georgia,serif;color:#65764b}.empty h2{font-size:25px;font-weight:400}.empty p{font-size:12px;color:var(--mute);max-width:390px;line-height:1.9}.empty a{margin-top:18px;font-size:12px}dialog{border:0;background:#101310;color:white;width:100vw;max-width:none;height:100dvh;max-height:none;padding:24px;margin:0}dialog::backdrop{background:#101310}.viewer-top{display:flex;justify-content:space-between;font-size:12px}.viewer-top button{color:white;background:none;border:0}#large{display:block;width:calc(100% - 100px);height:calc(100% - 100px);object-fit:contain;margin:20px auto 0}dialog p{text-align:center;color:#aaa;font-size:11px}.arrow{position:absolute;top:48%;background:none;border:0;color:white;font-size:28px;padding:15px}.prev{left:10px}.next{right:10px}body:has(dialog[open]){overflow:hidden}@media(min-width:1450px){main,header,footer{max-width:1700px;margin-left:auto;margin-right:auto}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}@media(max-width:700px){header{height:auto;min-height:110px;flex-wrap:wrap;padding:23px 6%;gap:22px}.brand{font-size:22px}.header-note{display:none}nav{width:100%;gap:27px}nav a{font-size:11px}.intro{padding:44px 7% 32px;display:block}h1{letter-spacing:-2px;font-size:46px}.intro p{margin-top:25px;max-width:320px}.hero{margin:0 5%;height:65vh;max-height:570px}.hero-caption{left:22px;right:22px;bottom:27px}.hero-caption h2{font-size:34px}.round{width:43px;height:43px}.series{padding:45px 7%}.series-grid{grid-template-columns:1fr;gap:30px}.series-card .cover{height:260px}.gallery{grid-template-columns:repeat(2,1fr);gap:10px}.album-tools{align-items:start;flex-direction:column}.rubric{font-size:10px;gap:30px;line-height:1.8}footer{flex-wrap:wrap;justify-content:space-between}footer>span:first-of-type{display:none}footer .small{width:100%}#large{width:100%;height:calc(100% - 140px)}.arrow{top:auto;bottom:20px}.embed{height:65vh}}

.sport-menu{position:relative;z-index:10}.sport-menu summary{list-style:none;font-size:12px;color:var(--mute);padding:9px 0;cursor:pointer;display:flex;gap:9px;align-items:center}.sport-menu summary::-webkit-details-marker{display:none}.sport-menu summary.active{color:var(--ink);border-bottom:1px solid}.sport-menu summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.sport-menu[open] summary span{transform:rotate(180deg)}.submenu{position:absolute;top:calc(100% + 10px);left:-18px;min-width:180px;padding:10px 18px;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 24px #20231f10;display:flex;flex-direction:column;gap:2px}.submenu a{padding:12px 0}.submenu a:hover{color:var(--ink)}@media(max-width:700px){.sport-menu summary{font-size:11px}}

.brand{font-family:'Allura',cursive;font-size:52px;font-weight:400;letter-spacing:0;line-height:.95;white-space:nowrap}.brand span{font-family:'DM Sans',Arial,sans-serif;font-size:9px;letter-spacing:3.5px;margin-top:16px;line-height:1.5}footer .small{font-family:'Allura',cursive;font-size:32px;font-weight:400;letter-spacing:0}@media(max-width:700px){.brand{font-size:45px}.brand span{font-size:8px;letter-spacing:3px;margin-top:13px}}

.fresco-gallery{align-items:start}.fresco-gallery .photo{aspect-ratio:auto;background:transparent}.fresco-gallery .photo img{display:block;height:auto;object-fit:contain}
/* Galeries de fresques : colonnes compactes, cadrages conservés. */
.fresco-gallery{display:block;column-count:4;column-gap:16px;padding:0 7% 60px}
.fresco-gallery .photo{display:block;width:100%;margin:0 0 16px;break-inside:avoid;overflow:hidden}
.fresco-gallery .photo img{width:100%;height:auto;display:block}
@media(min-width:1600px){.fresco-gallery{column-count:5}}
@media(max-width:1050px){.fresco-gallery{column-count:3}}
@media(max-width:700px){.fresco-gallery{column-count:2;column-gap:10px;padding-left:5%;padding-right:5%}.fresco-gallery .photo{margin-bottom:10px}}
@media(max-width:360px){.fresco-gallery{column-count:1}}

/* En-tête compact des pages photographiques. */
.photo-page .breadcrumbs{padding-top:20px}
.photo-page .intro{padding-top:20px;padding-bottom:22px;align-items:center}
.photo-page .intro h1{font-size:clamp(34px,3.5vw,48px);line-height:1.1;letter-spacing:-1.5px;margin:0}
.photo-page .intro h1 br{display:none}
.photo-page .intro h1 br::after{content:' '}
.photo-page .intro p:empty{display:none}
.photo-page .album-tools{padding-bottom:12px;margin-bottom:20px}
@media(max-width:700px){.photo-page .breadcrumbs{padding-top:16px}.photo-page .intro{padding-top:16px;padding-bottom:18px}.photo-page .intro h1{font-size:36px}.photo-page .intro p{margin-top:12px}.photo-page .album-tools{margin-bottom:16px;padding-bottom:10px}}

/* Dissuasion de l’enregistrement natif des photographies. */
.photo, .hero, .cover, #viewer{-webkit-touch-callout:none}
.photo img, .hero img, .cover img, #large{-webkit-user-drag:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;pointer-events:none}
/* Photo d’accueil plus immersive. */
body:not(.photo-page):has(nav a[data-nav="home"].active, nav a.active[href="/"]) .hero{margin-left:1.5%;margin-right:1.5%;height:75vw;max-height:1050px;min-height:480px}
@media(max-width:700px){body:not(.photo-page):has(nav a[data-nav="home"].active, nav a.active[href="/"]) .hero{margin-left:2%;margin-right:2%;height:82vh;max-height:none;min-height:420px}}
/* Accroche d’accueil superposée à la photographie. */
body:has(nav a.active[href="/"], nav a[data-nav="home"].active):not(.photo-page) main{position:relative;padding-top:24px}
body:has(nav a.active[href="/"], nav a[data-nav="home"].active):not(.photo-page) .intro{position:absolute;z-index:2;left:6%;right:6%;bottom:80px;padding:0;pointer-events:none;align-items:flex-end;gap:30px;color:#fff}
body:has(nav a.active[href="/"], nav a[data-nav="home"].active):not(.photo-page) .intro .eyebrow{display:none}
body:has(nav a.active[href="/"], nav a[data-nav="home"].active):not(.photo-page) .intro h1{font-size:clamp(32px,3.5vw,56px);line-height:1.16;letter-spacing:-1.8px;margin:0;text-shadow:0 2px 16px #0004}
body:has(nav a.active[href="/"], nav a[data-nav="home"].active):not(.photo-page) .intro h1 em{color:#fff}
body:has(nav a.active[href="/"], nav a[data-nav="home"].active):not(.photo-page) .intro p{color:#ffffffe0;font-size:12px;text-shadow:0 1px 8px #0008}
body:has(nav a.active[href="/"], nav a[data-nav="home"].active):not(.photo-page) .hero-caption{display:none}
body:has(nav a.active[href="/"], nav a[data-nav="home"].active):not(.photo-page) .hero:after{inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72))}
@media(max-width:700px){body:has(nav a.active[href="/"], nav a[data-nav="home"].active):not(.photo-page) main{padding-top:12px}body:has(nav a.active[href="/"], nav a[data-nav="home"].active):not(.photo-page) .intro{left:8%;right:8%;bottom:35px;display:block}body:has(nav a.active[href="/"], nav a[data-nav="home"].active):not(.photo-page) .intro h1{font-size:34px;letter-spacing:-1px}body:has(nav a.active[href="/"], nav a[data-nav="home"].active):not(.photo-page) .intro p{margin:16px 0 0;max-width:290px;font-size:11px}}
/* Accroche photographique : italique, dans l’esprit des titres de galerie. */
body:has(nav a.active[href="/"], nav a[data-nav="home"].active):not(.photo-page) .intro h1{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;font-size:clamp(32px,3.8vw,60px);letter-spacing:-1px;line-height:1.2}
body:has(nav a.active[href="/"], nav a[data-nav="home"].active):not(.photo-page) .intro h1 em{font-family:inherit;font-style:inherit;font-weight:inherit}
body:has(nav a.active[href="/"], nav a[data-nav="home"].active):not(.photo-page) .intro p{display:none}
@media(max-width:700px){body:has(nav a.active[href="/"], nav a[data-nav="home"].active):not(.photo-page) .intro h1{font-size:34px;letter-spacing:-.5px}}
