:root{--accent:#e6a23c;--cire:#3e2c14;--doux:#d2bc98;--feuille:#2a1d10;--fond:#1f160d;--miel-1:#432f15;--miel-2:#5f431c;--miel-3:#7f5924;--pied:#4a3212;--pied-doux:#e0c9a0;--pied-texte:#f7ead4;--police-texte:Seravek,"Gill Sans Nova",Ubuntu,Calibri,"DejaVu Sans",source-sans-pro,sans-serif;--police-titre:Charter,"Bitstream Charter","Sitka Text",Cambria,serif;--soutenu:#bd7c1d;--texte:#f7ead4;--trame:#30231a;--voile-3:#6a4a1e;--voile-4:#e6a23c;}
/* Ruche (t2b012) : le rayon de miel. Chaque article est une alvéole hexagonale, pointe en haut (clip-path) ; l'accueil est un
   cadre de ruche où les alvéoles s'emboîtent en rangées décalées : grille de demi-colonnes, une alvéole sur deux, rangées au pas
   de trois quarts d'alvéole par une marge basse négative (en % de la largeur de l'alvéole, donc juste à toute taille). Rangées
   de 6 et 5 sur ordinateur, de 4 et 3 sous 84 rem, de 2 en quinconce sur téléphone. La une loge dans une grande alvéole calée à
   gauche ; une demi-alvéole de cire (pseudo-élément de son élément de liste, hors du clip-path) bouche le vide qu'elle laisse.
   Tons de miel tirés de l'accent (mélanges avec le fond à 18, 32 et 48 %, puis l'accent pur), écrits dans la palette pour que
   les contrastes se vérifient ; une capture passe sous un voile du même ton, opaque à 85 %. Trame d'alvéoles en filigrane :
   segments à 30° et 150° (dégradés linéaires), côtés verticaux en dégradés coniques. Polices système, aucune ressource externe.
   Variables : --fond --accent --texte --doux --cire --feuille --trame --miel-1 --miel-2 --miel-3 --voile-3 --voile-4 --soutenu
   --pied --pied-texte --pied-doux (palette), --police-titre --police-texte (typo). */

*,*::before,*::after{box-sizing:border-box}
html{--hexa:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);--allonge:polygon(0 50%,.8rem 0,calc(100% - .8rem) 0,100% 50%,calc(100% - .8rem) 100%,.8rem 100%);-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{--a:1.75rem;--c:calc(var(--a)*.57735);--l1:linear-gradient(150deg,transparent calc(12.5% - .6px),var(--trame) 0 calc(12.5% + .6px),transparent 0);--l2:linear-gradient(30deg,transparent calc(87.5% - .6px),var(--trame) 0 calc(87.5% + .6px),transparent 0);--l3:conic-gradient(from 180deg at 1.2px calc(var(--c)*4),var(--trame) 90deg,transparent 0);margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--l1),var(--l1),var(--l2),var(--l2),var(--l3),var(--l3) var(--fond);background-size:calc(var(--a)*2) calc(var(--c)*6);background-position:0 0,var(--a) calc(var(--c)*3),0 0,var(--a) calc(var(--c)*3),-.6px calc(var(--c)*3),calc(var(--a) - .6px) 0;color:var(--texte);font-family:var(--police-texte);font-size:1rem;line-height:1.6}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--texte);outline-offset:3px}
h1,h2,h3{font-family:var(--police-titre);font-weight:700;line-height:1.2}
.vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.evitement{position:absolute;top:.75rem;left:.75rem;z-index:30;padding:.75rem 1.25rem;background:var(--texte);color:var(--fond);font-weight:700;transform:translateY(-12rem)}
.evitement:focus{transform:none}

/* En-tête : la cire du haut de cadre, bord inférieur crénelé de pointes d'alvéoles */
.cadre-haut{position:relative;z-index:2;background:var(--cire)}
.cadre-haut::after{content:"";position:absolute;top:100%;left:0;right:0;height:.722rem;background:conic-gradient(from -60deg at 50% 100%,var(--cire) 120deg,transparent 0) 0 0/2.5rem 100%;pointer-events:none}
.cadre-haut-interieur{width:min(100% - 3rem,80rem);margin:0 auto;padding:.875rem 0 .75rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 2rem}
.titre-site{margin:0;min-width:0;font-family:var(--police-titre);font-size:1.5rem;font-weight:700;line-height:1.15}
.marque{display:inline-flex;align-items:center;gap:.875rem;min-height:2.75rem;color:var(--texte);text-decoration:none}
.marque-alveole{position:relative;flex:none;display:grid;place-items:center;width:3.5rem;aspect-ratio:13/15;background:var(--accent);clip-path:var(--hexa)}
.marque-alveole::before{content:"";position:absolute;inset:3px;background:var(--feuille);clip-path:var(--hexa)}
.marque-image{position:relative;display:block;width:2.125rem;height:2.125rem}
.marque-nom{min-width:0;overflow-wrap:anywhere}
.marque:hover .marque-nom{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.2em}
.menu ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.375rem}
.menu a{font-size:.9375rem}

/* Hexagones : allongés (pointes à gauche et à droite) pour le menu, les boutons et les étiquettes ; alvéoles de la pagination et
   de la page 404. Contour d'ambre en deux couches sous le texte : l'élément lui-même n'est pas découpé et garde son contour de
   focus. */
.allonge,.page-plan_du_site nav a,.page-plan_du_site nav b{--forme:var(--allonge);display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.375rem 1.5rem;line-height:1.25;text-align:center}
.pagination-alveole,.alveole-vide{--forme:var(--hexa)}
.allonge,.pagination-alveole,.alveole-vide,.page-plan_du_site nav a,.page-plan_du_site nav b{position:relative;isolation:isolate;color:var(--texte);font-weight:700;text-decoration:none}
.allonge::before,.allonge::after,.pagination-alveole::before,.pagination-alveole::after,.alveole-vide::before,.alveole-vide::after,.page-plan_du_site nav a::before,.page-plan_du_site nav a::after,.page-plan_du_site nav b::before,.page-plan_du_site nav b::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--accent);clip-path:var(--forme)}
.allonge::after,.pagination-alveole::after,.page-plan_du_site nav a::after,.page-plan_du_site nav b::after{inset:2px;background:var(--feuille)}
[aria-current].allonge::after,[aria-current].pagination-alveole::after,.allonge-plein::after,.page-plan_du_site nav [aria-current]::after{background:var(--accent)}
[aria-current].allonge,[aria-current].pagination-alveole,.allonge-plein,.page-plan_du_site nav [aria-current]{color:var(--fond)}
a.allonge:hover,a.pagination-alveole:hover,.page-plan_du_site nav a:hover{text-decoration:underline;text-underline-offset:.2em}
a.allonge:hover::after,a.pagination-alveole:hover::after,.page-plan_du_site nav a:hover::after{background:var(--miel-1)}
a[aria-current].allonge:hover::after,a.allonge-plein:hover::after{background:var(--voile-4)}

/* Accueil : le rayon */
.principal{flex:1 0 auto;width:min(100% - 3rem,80rem);margin:0 auto;padding-top:2.75rem}
.rayon-titre{margin:0 0 1.75rem;text-align:center;font-size:1.125rem}
.rayon-titre .allonge{min-height:3rem;padding:.5rem 2.25rem}
.rayon-vide{max-width:32rem;margin:0 auto;padding:2rem;border:2px solid var(--accent);background:var(--feuille);text-align:center}
.rayon{list-style:none;margin:0;padding:0 0 3.5rem;display:grid;grid-template-columns:repeat(12,minmax(0,6.3rem));column-gap:.4rem;justify-content:center}
.alveole{--ton:var(--miel-1);--encre:var(--texte);--forme:var(--hexa);position:relative;grid-column-end:span 2;align-self:start;min-height:0;aspect-ratio:13/15;margin-bottom:calc(-28.85% + .346rem);pointer-events:none}
.alveole:nth-child(4n+2){--ton:var(--miel-2)}
.alveole:nth-child(4n+3){--ton:var(--miel-3)}
.alveole-image:nth-child(4n+3){--ton:var(--voile-3)}
.alveole:nth-child(4n){--ton:var(--accent);--encre:var(--fond)}
.alveole-image:nth-child(4n){--ton:var(--voile-4)}
.alveole-corps{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;padding:1.25rem .55rem;background:var(--ton);color:var(--encre);text-align:center;clip-path:var(--forme);pointer-events:auto}
.alveole-photo{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;object-position:50% 0;opacity:.15;filter:grayscale(1) contrast(.55) blur(1px)}
.alveole-rang{position:absolute;top:7%;left:0;right:0;font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.08em;line-height:1.2}
.alveole-titre{margin:0 -.3rem;font-size:.9rem;letter-spacing:-.01em;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.alveole-lien{color:inherit;text-decoration:none}
.alveole-lien::after{content:"";position:absolute;inset:0;z-index:1}
.alveole-corps:hover .alveole-lien{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.15em}
.alveole-lien:focus-visible{outline:0}
.alveole:focus-within::before{content:"";position:absolute;inset:-.3rem;background:var(--texte);clip-path:var(--forme)}
.alveole-date{margin:0;font-size:.75rem;font-weight:600;line-height:1.3}
.alveole-extrait{margin:0;max-width:11rem;font-size:.8125rem;line-height:1.35;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.alveole-initiale{position:absolute;bottom:6%;left:0;right:0;font-family:var(--police-titre);font-size:1.25rem;font-weight:700;line-height:1}

/* La une : grande alvéole de deux alvéoles sur deux rangées (pentes à 30° comme les autres), capture voilée en fond ; sans
   capture, l'ambre pur et l'initiale en filigrane géant */
.alveole-une{--ton:var(--accent);--encre:var(--fond);--forme:polygon(50% 0,100% 28.6%,100% 71.4%,50% 100%,0 71.4%,0 28.6%);grid-column:1/span 4;grid-row:1/span 2;aspect-ratio:26.4/26.6;margin-bottom:calc(-14.42% + .404rem)}
.alveole-une.alveole-image{--ton:var(--voile-4)}
.alveole-une .alveole-photo{filter:grayscale(1) contrast(.55) blur(1.5px)}
.alveole-une::after{content:"";position:absolute;left:calc(75% + .3rem);bottom:0;width:calc(50% - .2rem);aspect-ratio:13/15;background:var(--cire);clip-path:polygon(51.5% .8%,100% 25%,100% 75%,50% 100%,1.5% 75.8%,51.5% 50.7%)}
.alveole-une .alveole-corps{gap:.55rem;padding:3rem 2.2rem}
.alveole-une-titre{font-size:.9375rem;font-weight:700;font-variant-caps:all-small-caps;letter-spacing:.14em;line-height:1.2}
.alveole-une .alveole-titre{max-width:22rem;margin:0;font-size:2.1rem;line-height:1.08}
.alveole-une .alveole-date{font-size:.9375rem}
.alveole-une .alveole-extrait{max-width:18rem;font-size:1rem;line-height:1.5;-webkit-line-clamp:5}
.alveole-une .alveole-rang{top:5%;font-size:.875rem}
.alveole-une:not(.alveole-image) .alveole-initiale{top:50%;bottom:auto;z-index:-1;color:var(--soutenu);font-size:12rem;line-height:.8;transform:translateY(-50%)}
.alveole-une.alveole-image .alveole-initiale{bottom:4.5%;font-size:1.5rem}

/* Pagination : une rangée d'alvéoles numérotées, la courante pleine d'ambre */
.pagination{margin:1.25rem 0 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem 1rem}
.pagination-pages{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem}
.pagination-alveole{display:grid;place-items:center;width:3rem;aspect-ratio:13/15}

/* Article et pages : une feuille de cire claire bordée d'un filet d'ambre, sur la trame */
.principal-feuille{width:min(100% - 3rem,44rem)}
.feuille{padding:2.75rem 3rem 3rem;border:2px solid var(--accent);background:var(--feuille)}
.feuille-entete{margin:0 0 2rem}
.feuille-titre{margin:0;font-size:2.25rem;font-size:clamp(1.75rem,1.2rem + 1.6vw,2.5rem);line-height:1.15;overflow-wrap:anywhere}
.feuille-suite{color:var(--doux);font-weight:400}
.feuille-date{display:inline-block;margin:1.125rem 0 0;padding:.45rem 1.375rem;background:var(--miel-1);color:var(--texte);font-size:.875rem;font-weight:600;line-height:1.4;clip-path:var(--allonge)}
.texte{font-size:1.0625rem;line-height:1.7}
.texte>:first-child{margin-top:0}
.texte>:last-child{margin-bottom:0}
.texte p,.texte ul{margin:0 0 1.1em}
.texte h2{margin:2.25rem 0 .75rem;font-size:1.375rem}
.texte h2::before{content:"";display:inline-block;width:.75rem;aspect-ratio:13/15;margin-right:.625rem;background:var(--accent);clip-path:var(--hexa)}
.texte a{overflow-wrap:anywhere}
.texte img{display:block;width:100%;height:auto;margin:2rem 0;padding:.5rem;background:var(--accent);clip-path:polygon(.75rem 0,calc(100% - .75rem) 0,100% .75rem,100% calc(100% - .75rem),calc(100% - .75rem) 100%,.75rem 100%,0 calc(100% - .75rem),0 .75rem)}
.texte ul{list-style:none;padding-left:1.375rem}
.texte li{position:relative;margin:.3em 0}
.texte li::before{content:"";position:absolute;left:-1.25rem;top:.55em;width:.55rem;aspect-ratio:13/15;background:var(--accent);clip-path:var(--hexa)}
.retour{margin:2rem 0 0;text-align:center}

/* Plan du site : trois colonnes à puces hexagonales ; contact : le cadre du formulaire dans un panneau bordé d'ambre */
.page-plan_du_site{width:min(100% - 3rem,64rem)}
.page-plan_du_site .texte{font-size:.9375rem;line-height:1.5}
.page-plan_du_site .texte>ul{columns:3 15rem;column-gap:2.5rem}
.page-plan_du_site .texte>ul:first-child{columns:auto;display:flex;flex-wrap:wrap;gap:0 2.5rem}
.page-plan_du_site .texte>ul li{break-inside:avoid;margin:0;padding:.2rem 0}
.page-plan_du_site .texte>ul li::before{top:calc(.2rem + .45em)}
.page-plan_du_site nav ul{display:flex;flex-wrap:wrap;gap:.4rem;padding:0}
.page-plan_du_site nav li{margin:0}
.page-plan_du_site nav li::before{content:none}
.page-contact iframe{margin:2.5rem 0 1rem;box-shadow:0 0 0 .75rem var(--fond),0 0 0 calc(.75rem + 2px) var(--accent)}

/* 404 : une grande alvéole vide, cire pâle cernée d'ambre */
.principal-404{display:flex;justify-content:center;padding-top:3.5rem}
.alveole-vide{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;width:min(100%,28rem);aspect-ratio:13/15;padding:3.5rem 2.5rem;font-weight:400;text-align:center}
.alveole-vide::after{inset:5px;background:var(--cire)}
.vide-titre{margin:0;font-size:2.25rem;line-height:1.1}
.vide-texte{max-width:18rem;margin:0}
.vide-retour{margin:.5rem 0 0}

/* Pied : le bas du cadre, ambre foncé, bord supérieur crénelé de pointes d'alvéoles */
.cadre-bas{position:relative;margin-top:4.5rem;background:var(--pied);color:var(--pied-texte)}
.cadre-bas::before{content:"";position:absolute;bottom:100%;left:0;right:0;height:.722rem;background:conic-gradient(from 120deg at 50% 0,var(--pied) 120deg,transparent 0) 0 0/2.5rem 100%;pointer-events:none}
.cadre-bas-interieur{width:min(100% - 3rem,80rem);margin:0 auto;padding:2rem 0 2.25rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}
.cadre-bas :focus-visible{outline-color:var(--pied-texte)}
.pied-liens{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center}
.pied-liens li{display:flex;align-items:center}
.pied-liens li+li::before,.pied-domaine::before{content:"";flex:none;display:inline-block;width:.5rem;aspect-ratio:13/15;margin:0 1rem;background:var(--pied-doux);clip-path:var(--hexa)}
.pied-liens a{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--pied-texte);text-decoration:none}
.pied-liens a:hover{text-decoration:underline}
.pied-site{margin:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;color:var(--pied-doux);font-size:.875rem}
.pied-nom{min-width:0;color:var(--pied-texte);font-family:var(--police-titre);font-weight:700;overflow-wrap:anywhere}
.pied-domaine{display:flex;align-items:center;min-width:0;overflow-wrap:anywhere}
.pied-domaine::before{width:.375rem;margin:0 .625rem}

/* Ordinateur (84 rem et plus) : rangées de 6 et 5 ; à droite de la une, 4 puis 3 alvéoles */
@media (min-width:84rem){
.alveole:nth-child(6){grid-column-start:6}
.alveole:nth-child(11n+15){grid-column-start:2}
.alveole-une:nth-last-child(-n+5)::after{content:none}
}

/* Sous 84 rem : rangées de 4 et 3 ; à droite de la une, 2 puis 1 alvéole */
@media (min-width:48rem) and (max-width:83.99rem){
.rayon{grid-template-columns:repeat(8,minmax(0,6.3rem))}
.alveole:nth-child(4){grid-column-start:6}
.alveole:nth-child(7n+9){grid-column-start:2}
.alveole-une:nth-last-child(-n+3)::after{content:none}
}
@media (min-width:48rem) and (max-width:56.19rem){
.alveole-titre{font-size:clamp(.8125rem,1.6vw,.875rem)}
.alveole-extrait{-webkit-line-clamp:2}
.alveole-une .alveole-corps{padding:2.5rem 2rem}
.alveole-une .alveole-titre{font-size:1.75rem}
.alveole-une .alveole-extrait{-webkit-line-clamp:4}
}

/* Téléphone : deux alvéoles par rangée, rangées décalées d'une demi-alvéole ; la une en tête, pleine largeur */
@media (max-width:47.99rem){
.cadre-haut-interieur,.principal,.principal-feuille,.page-plan_du_site,.cadre-bas-interieur{width:min(100% - 2rem,80rem)}
.cadre-haut-interieur{padding:.75rem 0 .625rem;gap:.625rem}
.titre-site{font-size:1.125rem}
.marque{gap:.625rem}
.marque-alveole{width:2.875rem}
.marque-image{width:1.75rem;height:1.75rem}
.menu{flex:1 1 100%}
.menu ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem}
.menu a{display:flex;padding:.375rem .75rem;font-size:.875rem}
.principal{padding-top:2.25rem}
.rayon-titre{margin-bottom:1.25rem;font-size:1rem}
.rayon{grid-template-columns:repeat(5,minmax(0,7rem));column-gap:.25rem;padding-bottom:calc(13% - .25rem)}
.alveole{aspect-ratio:1/1.3;margin-bottom:calc(-32.5% + .217rem)}
.alveole:nth-child(4n+4){grid-column-start:2}
.alveole-une{--forme:var(--hexa);grid-column:1/-1;grid-row:auto;aspect-ratio:1/1.05;margin-bottom:.75rem}
.alveole-une::after{content:none}
.alveole-corps{gap:.2rem;padding:1rem .4rem}
.alveole-rang{top:6%;font-size:.6875rem}
.alveole-titre{margin:0 -.25rem;font-size:clamp(.72rem,3.2vw,.8rem)}
.alveole-date{font-size:.6875rem}
.alveole-extrait{max-width:100%;font-size:.75rem;line-height:1.3;-webkit-line-clamp:2}
.alveole-initiale{bottom:4.5%;font-size:1rem}
.alveole-une .alveole-corps{gap:.45rem;padding:2.5rem 1.25rem}
.alveole-une .alveole-titre{max-width:none;margin:0;font-size:1.4rem}
.alveole-une .alveole-date{font-size:.8125rem}
.alveole-une .alveole-extrait{max-width:15rem;font-size:.875rem;line-height:1.45;-webkit-line-clamp:4}
.alveole-une:not(.alveole-image) .alveole-initiale{font-size:9rem}
.pagination{gap:.75rem .5rem}
.pagination-pages{order:-1;flex:1 1 100%}
.pagination-alveole{width:2.75rem}
.pagination-sens{padding:.375rem 1rem;font-size:.875rem}
.feuille{padding:1.75rem 1.25rem 2rem}
.texte{font-size:1rem}
.page-plan_du_site .texte>ul li{padding:0}
.page-plan_du_site .texte>ul li::before{top:1rem}
.page-plan_du_site .texte>ul a{display:flex;align-items:center;min-height:2.75rem;padding:.6rem 0}
.page-contact iframe{box-shadow:0 0 0 .375rem var(--fond),0 0 0 calc(.375rem + 2px) var(--accent)}
.pied-liens{display:grid;grid-template-columns:repeat(2,auto);justify-content:center;gap:0 1.5rem;width:100%;text-align:left}
.pied-liens li::before,.pied-liens li+li::before{content:"";flex:none;width:.45rem;aspect-ratio:13/15;margin:0 .625rem 0 0;background:var(--pied-doux);clip-path:var(--hexa)}
.pied-liens a{display:flex;flex:1}
}
@media (min-width:30rem) and (max-width:47.99rem){
.alveole-corps{padding:1.25rem .6rem}
.alveole-titre{font-size:.875rem}
.alveole-date{font-size:.75rem}
.alveole-extrait{font-size:.8125rem;-webkit-line-clamp:3}
.alveole-une .alveole-titre{font-size:1.75rem}
.alveole-une .alveole-extrait{max-width:20rem;font-size:.9375rem}
}
@media (max-width:23.99rem){
.pied-liens{grid-template-columns:auto}
}
@media (max-width:22.49rem){
.alveole-extrait{-webkit-line-clamp:1}
.alveole-une .alveole-extrait{-webkit-line-clamp:3}
}
