/* ═══ FLY LAB × ARTIP — la section « Votre site web à Auch » (07/09/2026) ═══════════════════
   Reproduction fidèle de la section « Tout ce que comprend FLY LAB » de flylab.fr (V11 « Poste de
   commande ») posée sur le site d'ARTIP : nuit FLY LAB, Michroma + Space Grotesk, bleu roi pour
   l'action, ciel pour les repères, quatre consoles, seize prestations. Chaque console est un lien
   vers flylab.fr — un clic sur ARTIP est un clic sur FLY LAB.
   Autonome : préfixe « flp- », polices locales dans assets/flylab/fonts/, aucun style en ligne,
   aucune dépendance au JavaScript (rien n'est masqué par défaut).
   Ce fichier porte aussi les cadres photo de l'équipe et la tuile FLY LAB du mur de références. */

@font-face{font-family:"Michroma FL";src:url("../flylab/fonts/michroma.woff2") format("woff2");font-weight:400;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Michroma FL";src:url("../flylab/fonts/michroma-latin-ext.woff2") format("woff2");font-weight:400;font-display:swap;
  unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Space Grotesk FL";src:url("../flylab/fonts/space-grotesk.woff2") format("woff2");font-weight:300 700;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Space Grotesk FL";src:url("../flylab/fonts/space-grotesk-latin-ext.woff2") format("woff2");font-weight:300 700;font-display:swap;
  unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ── jetons FLY LAB (les mêmes valeurs que v11.css) ─────────────────────────────────────── */
.flp{
  --flp-vide:#02060F;--flp-nuit:#050B1C;--flp-panneau:#0A1836;--flp-panneau-bas:#071230;
  --flp-encre:#F4F8FF;--flp-douce:#C7D6EE;--flp-ciel:#8FDCFF;
  --flp-roi:#1246E8;--flp-roi-2:#2A5FE8;--flp-roi-h:#0E39C8;--flp-roi-h2:#1F56E0;
  --flp-bord:#5B8FC0;--flp-preuve:#34E39B;
  --flp-display:"Michroma FL","Michroma",Impact,sans-serif;
  --flp-texte:"Space Grotesk FL","Space Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --flp-h2:clamp(1.7rem,1.25rem + 2.1vw,3.1rem);
  --flp-h3:clamp(1.1rem,1.02rem + .42vw,1.42rem);
  --flp-chapo:clamp(1.02rem,.97rem + .34vw,1.22rem);
  --flp-ui:.875rem;--flp-sur:.75rem;
  --flp-r:14px;
  --flp-presse:130ms;--flp-etat:200ms;--flp-voile:300ms;
  --flp-sortie:cubic-bezier(.22,1,.36,1);--flp-doux:cubic-bezier(.4,0,.2,1);--flp-vif:cubic-bezier(.2,.9,.3,1);
}

/* ── la section elle-même : un morceau de flylab.fr posé dans la page ARTIP ─────────────── */
section.flp.sec{
  position:relative;overflow:clip;isolation:isolate;
  color:var(--flp-encre);background:var(--flp-nuit);
  border-top:1px solid rgb(143 220 255/.18);border-bottom:1px solid rgb(143 220 255/.18);
  font-family:var(--flp-texte);font-size:1.0625rem;line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
section.flp.sec::before{color:rgb(143 220 255/.07)}
.flp__ciel{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(1.6px 1.6px at 8% 22%,rgb(255 255 255/.9) 60%,transparent 62%),
    radial-gradient(1.2px 1.2px at 19% 71%,rgb(255 255 255/.7) 60%,transparent 62%),
    radial-gradient(1.4px 1.4px at 27% 12%,rgb(255 255 255/.85) 60%,transparent 62%),
    radial-gradient(1px 1px at 33% 48%,rgb(255 255 255/.6) 60%,transparent 62%),
    radial-gradient(1.8px 1.8px at 41% 86%,rgb(255 255 255/.8) 60%,transparent 62%),
    radial-gradient(1.2px 1.2px at 52% 31%,rgb(255 255 255/.7) 60%,transparent 62%),
    radial-gradient(1px 1px at 58% 64%,rgb(255 255 255/.55) 60%,transparent 62%),
    radial-gradient(1.6px 1.6px at 66% 9%,rgb(255 255 255/.9) 60%,transparent 62%),
    radial-gradient(1.2px 1.2px at 71% 42%,rgb(255 255 255/.65) 60%,transparent 62%),
    radial-gradient(1px 1px at 77% 79%,rgb(255 255 255/.6) 60%,transparent 62%),
    radial-gradient(1.8px 1.8px at 84% 25%,rgb(255 255 255/.85) 60%,transparent 62%),
    radial-gradient(1.2px 1.2px at 90% 58%,rgb(255 255 255/.7) 60%,transparent 62%),
    radial-gradient(1px 1px at 95% 91%,rgb(255 255 255/.55) 60%,transparent 62%),
    radial-gradient(1.4px 1.4px at 13% 93%,rgb(255 255 255/.75) 60%,transparent 62%),
    radial-gradient(1px 1px at 47% 55%,rgb(255 255 255/.5) 60%,transparent 62%),
    radial-gradient(1.2px 1.2px at 62% 88%,rgb(255 255 255/.65) 60%,transparent 62%),
    radial-gradient(70% 55% at 88% -4%,rgb(18 70 232/.30),transparent 70%),
    radial-gradient(55% 45% at -6% 104%,rgb(143 220 255/.10),transparent 70%),
    linear-gradient(180deg,var(--flp-vide),var(--flp-nuit) 18%,var(--flp-nuit) 82%,var(--flp-vide));
}
.flp__wrap{position:relative;z-index:2}

/* ── en-tête de la section : logo, repère, titre, chapô, actions, pastilles ─────────────── */
.flp__tete{max-width:66ch}
.flp__marque{display:inline-flex;align-items:center;margin-bottom:1.6rem;text-decoration:none}
.flp__marque img{height:38px;width:auto;display:block;
  filter:drop-shadow(0 0 18px rgb(42 95 232/.55)) drop-shadow(0 1px 2px rgb(2 6 15/.9))}
.flp__sur{display:flex;align-items:center;gap:.9rem;margin:0 0 .9rem;
  font:600 var(--flp-sur)/1.3 var(--flp-texte);letter-spacing:.18em;text-transform:uppercase;color:var(--flp-ciel)}
.flp__sur::before{content:"";width:3.5rem;height:2px;flex:none;background:linear-gradient(90deg,var(--flp-ciel),transparent)}
.flp__h2{margin:0;font-family:var(--flp-display);font-weight:400;font-size:var(--flp-h2);line-height:1.1;
  letter-spacing:-.018em;text-transform:none;color:var(--flp-encre);text-wrap:balance}
.flp__chapo{margin:1rem 0 0;font-size:var(--flp-chapo);line-height:1.6;color:var(--flp-douce);max-width:66ch}
.flp__chapo strong{color:var(--flp-encre);font-weight:500}
.flp__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.75rem 0 0}
.flp__btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:48px;padding:.85rem 1.4rem;border-radius:var(--flp-r);border:0;cursor:pointer;overflow:hidden;
  font:600 var(--flp-ui)/1 var(--flp-texte);letter-spacing:.015em;white-space:nowrap;text-decoration:none;
  text-transform:none;transition:translate var(--flp-presse) var(--flp-vif),box-shadow var(--flp-etat) var(--flp-doux),
  background var(--flp-etat) var(--flp-doux),border-color var(--flp-etat) var(--flp-doux)}
.flp__btn--plein{color:#fff;background:linear-gradient(135deg,var(--flp-roi),var(--flp-roi-2));
  box-shadow:0 10px 30px rgb(18 70 232/.38),inset 0 1px 0 rgb(255 255 255/.22)}
.flp__btn--plein::after{content:"";position:absolute;inset:0;opacity:0;
  background:linear-gradient(135deg,var(--flp-roi-h),var(--flp-roi-h2));transition:opacity var(--flp-voile) var(--flp-doux)}
.flp__btn--plein > *{position:relative;z-index:1}
.flp__btn--vide{color:var(--flp-encre);background:transparent;border:1px solid var(--flp-bord)}
.flp__btn:hover{translate:0 -2px}
.flp__btn--plein:hover::after{opacity:1}
.flp__btn--vide:hover{background:rgb(143 220 255/.10);border-color:var(--flp-ciel);color:var(--flp-encre)}
.flp__btn:active{translate:0 0}
.flp__btn .flp__ic{width:16px;height:16px;color:currentColor;margin:0}
.flp__pastilles{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0 0;padding:0;list-style:none}
.flp__pastilles li{display:flex;align-items:center;gap:.55rem;padding:.5rem .85rem;border-radius:999px;
  border:1px solid var(--flp-bord);font:500 13px/1 var(--flp-texte);color:var(--flp-encre)}
.flp__pastilles li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--flp-preuve);
  box-shadow:0 0 10px rgb(52 227 155/.8);flex:none}

/* ── les quatre consoles, chacune un lien vers flylab.fr ────────────────────────────────── */
.flp__consoles{display:grid;gap:0;margin-top:clamp(2.2rem,1.6rem + 2.4vw,3.6rem)}
.flp__console{
  position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);
  gap:clamp(1.5rem,1rem + 3vw,4rem);align-items:start;
  padding:clamp(2.5rem,2rem + 2vw,4rem) clamp(.4rem,.2rem + .8vw,1rem);margin-inline:calc(clamp(.4rem,.2rem + .8vw,1rem) * -1);
  border-top:1px solid rgb(143 220 255/.14);border-radius:10px;
  color:inherit;text-decoration:none;
  transition:background var(--flp-etat) var(--flp-doux)}
.flp__console:first-child{border-top:0}
.flp__console:hover,.flp__console:focus-visible{background:rgb(143 220 255/.045)}
.flp__console:focus-visible{outline:3px solid var(--flp-ciel);outline-offset:-3px}
.flp__console > *{position:relative;z-index:1}
.flp__console-tete{display:flex;flex-direction:column;min-height:100%}
.flp__num{margin:0 0 .5rem;font-family:var(--flp-display);font-weight:400;
  font-size:clamp(2.4rem,1.8rem + 2.4vw,3.6rem);line-height:.9;color:var(--flp-ciel)}
.flp__console-titre{margin:0 0 .8rem;font-family:var(--flp-display);font-weight:400;text-transform:uppercase;
  font-size:clamp(1.35rem,1.15rem + .9vw,2rem);line-height:1.08;letter-spacing:-.012em;color:var(--flp-encre);
  transition:color var(--flp-etat) var(--flp-doux)}
.flp__console-titre::after{content:"";display:block;width:2.5rem;height:2px;margin-top:.7rem;
  background:linear-gradient(90deg,var(--flp-ciel),transparent)}
.flp__console:hover .flp__console-titre{color:var(--flp-ciel)}
.flp__console-chapo{margin:0;font-size:var(--flp-chapo);line-height:1.6;color:var(--flp-douce)}
.flp__filigrane{display:block;margin-top:auto;padding-top:1.25rem;font-family:var(--flp-display);
  font-size:clamp(6rem,3rem + 7vw,10.5rem);line-height:.82;letter-spacing:-.04em;color:transparent;
  -webkit-text-stroke:1.5px rgb(143 220 255/.18);translate:-.05em .1em;pointer-events:none;user-select:none}
.flp__filigrane::before{content:attr(data-num)}
.flp__console::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(180deg,rgb(143 220 255/0) 0,rgb(143 220 255/.085) 6%,rgb(143 220 255/0) 12%) no-repeat;
  translate:0 -100%;animation:flp-balayage 11s linear infinite}
.flp__console:nth-child(2)::after{animation-delay:-2.7s}
.flp__console:nth-child(3)::after{animation-delay:-5.4s}
.flp__console:nth-child(4)::after{animation-delay:-8.1s}
@keyframes flp-balayage{from{translate:0 -100%}to{translate:0 100%}}

.flp__prestations{list-style:none;margin:0;padding:0;display:grid;gap:0}
.flp__prestation{display:grid;grid-template-columns:auto 1fr;gap:.9rem;padding:1rem 0;
  border-top:1px solid var(--flp-bord);transition:border-color var(--flp-etat) var(--flp-doux)}
.flp__prestation:first-child{border-top:0}
.flp__ic{width:20px;height:20px;color:var(--flp-ciel);margin-top:.2rem;flex:none;
  transition:filter var(--flp-etat) var(--flp-doux),scale var(--flp-etat) var(--flp-vif)}
.flp__prestation div{transition:translate var(--flp-etat) var(--flp-vif)}
.flp__prestation h4{margin:0 0 .2rem;font-family:var(--flp-texte);font-weight:600;font-size:var(--flp-h3);
  line-height:1.28;letter-spacing:0;text-transform:none;color:var(--flp-encre);transition:color var(--flp-etat) var(--flp-doux)}
.flp__prestation p{margin:0;font-size:.98rem;line-height:1.5;color:var(--flp-douce)}
.flp__prestation:hover{border-top-color:var(--flp-ciel)}
.flp__prestation:hover .flp__ic{filter:drop-shadow(0 0 9px rgb(143 220 255/.95));scale:1.12}
.flp__prestation:hover div{translate:6px 0}
.flp__prestation:hover h4{color:var(--flp-ciel)}
.flp__neuf{display:inline-block;margin-left:.55em;padding:.24em .5em;border-radius:3px;vertical-align:middle;
  font:600 .62rem/1 var(--flp-texte);letter-spacing:.12em;text-transform:uppercase;color:var(--flp-vide);background:var(--flp-ciel)}
.flp__ouvrir{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.1rem;
  font:600 13px/1 var(--flp-texte);letter-spacing:.04em;text-transform:uppercase;color:var(--flp-ciel)}
.flp__ouvrir .flp__ic{width:16px;height:16px;margin:0;transition:translate var(--flp-etat) var(--flp-vif)}
.flp__console:hover .flp__ouvrir .flp__ic{translate:4px 0}

/* ── la note de bas de section ──────────────────────────────────────────────────────────── */
.flp__pied{margin:clamp(1.8rem,1.4rem + 1.6vw,2.8rem) 0 0;padding-top:1.4rem;border-top:1px solid rgb(143 220 255/.14);
  font-size:.95rem;line-height:1.6;color:var(--flp-douce);max-width:72ch}
.flp__pied a{color:var(--flp-ciel);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.flp__pied a:hover{color:var(--flp-encre)}
.flp__sprite{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* ── mobile ─────────────────────────────────────────────────────────────────────────────── */
@media (max-width:900px){
  .flp__console{grid-template-columns:1fr;gap:1.25rem;padding-inline:0;margin-inline:0;border-radius:0}
  .flp__filigrane{display:none}
  .flp__marque img{height:32px}
}
@media (max-width:520px){
  .flp__btn{white-space:normal;text-align:center;width:100%}
  .flp__actions{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  .flp__console::after{animation:none;display:none}
  .flp__btn,.flp__prestation div,.flp__ic,.flp__ouvrir .flp__ic{transition:none}
}

/* ═══ L'ÉQUIPE — des cadres, prêts à recevoir les photos ═══════════════════════════════════
   Tant que la photo n'existe pas sur le disque, le cadre porte les initiales : jamais un cadre vide.
   Dès que assets/img/equipe/<prenom-nom>.webp existe, build.py y met la photo, à la même place. */
.pers .ini,.pers .pers__photo{
  width:88px;height:88px;border-radius:24px;margin-bottom:18px;
  box-shadow:0 0 0 3px #0b0f0a,0 0 0 5px rgba(139,203,51,.55),0 16px 34px rgba(0,0,0,.38)}
.pers .ini{display:grid;place-items:center;font-family:'Anton',Impact,sans-serif;font-size:1.55rem;letter-spacing:.02em;
  color:#0b0f0a;background:linear-gradient(145deg,#8BCB33,#4C7A17)}
.pers .pers__photo{display:block;object-fit:cover;background:#0b0f0a}
.pers:hover .ini,.pers:hover .pers__photo{box-shadow:0 0 0 3px #0b0f0a,0 0 0 5px rgba(139,203,51,.95),0 20px 40px rgba(0,0,0,.45)}
@media (max-width:640px){
  .pers .ini,.pers .pers__photo{width:64px;height:64px;border-radius:18px;margin-bottom:12px}
  .pers .ini{font-size:1.15rem}
}

/* ═══ MUR DE RÉFÉRENCES — la tuile FLY LAB, partenaire web ═══════════════════════════════ */
.logogrid li.logo--flylab{position:relative;background:linear-gradient(145deg,#0A1836,#050B1C);
  border-color:rgb(143 220 255/.35);box-shadow:0 18px 44px rgba(0,0,0,.34),inset 0 1px 0 rgb(143 220 255/.18)}
.logogrid li.logo--flylab::after{background:#1246E8}
.logogrid li.logo--flylab:hover{border-color:rgb(143 220 255/.8)}
.logogrid li.logo--flylab img{max-height:36px;filter:drop-shadow(0 0 14px rgb(42 95 232/.55))}
.logogrid__cap{position:absolute;left:14px;top:11px;margin:0;
  font:700 9.5px/1 "Space Grotesk FL","Space Grotesk",sans-serif;letter-spacing:.3em;text-transform:uppercase;color:#8FDCFF}
@media (max-width:640px){.logogrid__cap{left:10px;top:8px;font-size:8.5px;letter-spacing:.22em}}

/* ═══ L'ÉQUIPE — deux rangées de trois au lieu de cinq + une orpheline ═════════════════════ */
@media (min-width:900px){.equipe{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}

/* ═══ PIED — les liens vers les pages locales et les fabrications (07/09/2026) ══════════════ */
.ft__liens{margin:14px 0 0;font-size:.76rem;line-height:1.9;color:var(--gris)}
.ft__liens+.ft__liens{margin-top:4px}
.ft__liens b{display:inline-block;margin-right:8px;font-family:'Space Grotesk',sans-serif;font-size:.64rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gris-clair)}
.ft__liens a{color:var(--gris);font-size:.76rem;transition:color .2s}
.ft__liens a:hover{color:var(--vert-vif)}
.ft__grid+.ft__liens{padding-top:22px}

/* ═══ PAGES « SITE WEB À <VILLE> » — les sept sites FLY LAB en vignettes (07/09/2026) ═════════ */
.vsites{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(160px,45%),1fr));list-style:none;margin:0;padding:0}
.vsites li{margin:0}
.vsites a{display:block;border-radius:14px;overflow:hidden;background:#0b0f0a;border:1px solid rgba(255,255,255,.10);
  box-shadow:0 18px 44px rgba(0,0,0,.28);transition:border-color .25s,transform .25s}
.vsites a:hover{border-color:rgba(139,203,51,.5);transform:translateY(-3px)}
.vsites img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:top;transition:transform .35s}
.vsites a:hover img{transform:scale(1.03)}
.vsites figcaption{padding:10px 12px 12px;font-size:.78rem;line-height:1.4;color:#aeb7aa}
.vsites figcaption b{display:block;color:var(--blanc);font-size:.86rem;margin-bottom:2px}
.vautour li b{display:block;color:var(--blanc)}
.vautour li span+em{display:block}
.vautour--machines li{flex-direction:column;align-items:flex-start;gap:4px}
.vautour--machines li span{color:var(--gris);font-size:var(--t-pet);letter-spacing:.03em}

/* ═══ VERSION COURTE DE L'ACCUEIL (10/09/2026) — une section au lieu de trois ═══════════════ */
section.flp.flp--court.sec{padding-block:clamp(56px,7vw,100px)}
.flpc{display:grid;gap:clamp(1.6rem,1rem + 2.4vw,3.2rem);align-items:center}
.flpc__tete .flp__marque{margin-bottom:1.1rem}
.flpc__tete .flp__marque img{height:32px}
.flpc__tete .flp__chapo{max-width:52ch}
.flpc__tout{margin:1rem 0 0}
.flpc__tout a{color:var(--flp-ciel);font:600 .86rem/1.3 var(--flp-texte);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.flpc__tout a:hover{color:var(--flp-encre)}
.flpc__etapes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.flpc__etapes li{margin:0;list-style:none}
.flpc__etape{display:grid;gap:.3rem;height:100%;padding:1rem 1.05rem;border:1px solid rgb(143 220 255/.18);border-radius:12px;
  background:linear-gradient(160deg,rgb(18 70 232/.14),rgb(5 11 28/.4));color:inherit;text-decoration:none;
  transition:border-color var(--flp-etat) var(--flp-doux),translate var(--flp-presse) var(--flp-vif)}
.flpc__etape:hover{border-color:var(--flp-ciel);translate:0 -2px}
.flpc__etape:focus-visible{outline:3px solid var(--flp-ciel);outline-offset:2px}
.flpc__num{font-family:var(--flp-display);font-size:1.35rem;line-height:1;color:var(--flp-ciel)}
.flpc__t{font:600 1rem/1.25 var(--flp-texte);color:var(--flp-encre);text-transform:none;letter-spacing:0}
.flpc__d{font:400 .88rem/1.45 var(--flp-texte);color:var(--flp-douce)}
@media (min-width:900px){.flpc{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}}
@media (max-width:520px){.flpc__etapes{gap:.55rem}.flpc__etape{padding:.8rem .8rem}.flpc__num{font-size:1.1rem}.flpc__t{font-size:.95rem}.flpc__d{font-size:.82rem}}
@media (max-width:340px){.flpc__etapes{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.flpc__etape{transition:none}}
