/*
 * Mahymedia — Site : styles communs (variables, en-tête, pied de page, boutons, page d'accueil).
 * Chargé sur toutes les pages, après base.css du thème parent.
 * Pages sombres : sombre.css ; styles propres à une page : pages/<page>.css.
 */

/* Les blocs « Groupe » de WordPress ajoutent un espace entre leurs enfants :
   dans les pages composées, ce sont nos styles qui décident des marges. */
.mms-page :where(.is-layout-flow) > *,
.mms-page.is-layout-flow > * { margin-block: 0; }
.mms-page .wp-block-heading,
.mms-page .wp-block-list { box-sizing: border-box; }


/* Concept : la page d'accueil comme une vitrine Apple. Un fond gris perle, un en-tête fin et translucide,
   une grande promesse centrée, puis des cadres-produits (un par service) en grille 1 + 2 + 2. */
:root{
  color-scheme: light;
  --perle:#f5f5f7;     /* fond de page */
  --blanc:#ffffff;     /* cadres clairs */
  --encre:#1d1d1f;     /* texte */
  --gris:#6e6e73;      /* texte secondaire */
  --filet:#d2d2d7;
  --mahy:#0a6d99;      /* bleu du logo : boutons et liens */
  --mahy-fonce:#085a7f;
  --nuit:#06121c;      /* cadres sombres */
  --ambre:#e8961f;     /* touche d'accent (étiquettes « Nouveau ») */
  --f-titre:"Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --f-texte:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --gx:max(16px, env(safe-area-inset-left,0px));
  --gxr:max(16px, env(safe-area-inset-right,0px));
  --top:env(safe-area-inset-top,0px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--perle);color:var(--encre);font:400 17px/1.47 var(--f-texte);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--f-titre);font-weight:600;letter-spacing:-.025em;line-height:1.08;text-wrap:balance;margin:0}
p{margin:0}
:focus-visible{outline:2px solid var(--mahy);outline-offset:3px;border-radius:6px}

/* ---------- En-tête ---------- */
.gnav{position:sticky;top:0;z-index:50;padding-top:var(--top);background:rgba(245,245,247,.8);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.06)}
.gnav__in{max-width:1024px;margin-inline:auto;height:48px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-left:max(22px,var(--gx));padding-right:max(22px,var(--gxr))}
.gnav__logo img{height:22px;width:auto}
.gnav__liens{display:flex;gap:clamp(14px,2.4vw,34px);list-style:none;margin:0;padding:0}
.gnav__liens a{font-size:12.5px;color:rgba(29,29,31,.82);text-decoration:none;transition:color .2s}
.gnav__liens a:hover{color:var(--encre)}
.gnav__droite{display:flex;gap:16px;align-items:center}
.gnav__tel{font-size:12.5px;color:rgba(29,29,31,.82);white-space:nowrap}
.gnav__cta{font:500 12.5px/1 var(--f-texte);background:var(--encre);color:#fff;text-decoration:none;padding:7px 13px;border-radius:99px}
.gnav__cta:hover{background:#000}
.burger{display:none;background:none;border:0;cursor:pointer;width:40px;height:40px;position:relative;color:var(--encre)}
.burger i{position:absolute;left:12px;right:12px;height:1.5px;background:currentColor;transition:transform .35s cubic-bezier(.4,0,.2,1)}
.burger i:first-child{top:16px}.burger i:last-child{top:23px}
.menu-ouvert .burger i:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-ouvert .burger i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mnav{display:none}
@media (max-width:860px){
  .gnav__liens,.gnav__tel{display:none}
  .burger{display:block}
  .mnav{display:block;position:fixed;inset:calc(49px + var(--top)) 0 0;z-index:49;background:var(--perle);padding:24px var(--gxr) 40px var(--gx);opacity:0;pointer-events:none;transition:opacity .3s}
  .mnav a{display:block;font:600 28px/1.5 var(--f-titre);text-decoration:none;padding-inline:16px;letter-spacing:-.02em}
  .menu-ouvert .mnav{opacity:1;pointer-events:auto}
}
.ruban{text-align:center;font-size:14px;color:var(--encre);background:var(--blanc);padding-block:14px;padding-left:var(--gx);padding-right:var(--gxr)}
.ruban b{color:var(--ambre);font-weight:600;margin-right:4px}
.ruban a{color:var(--mahy);text-decoration:none;white-space:nowrap}
.ruban a:hover{text-decoration:underline}

/* ---------- Boutons ---------- */
.btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.btn{display:inline-flex;align-items:center;justify-content:center;min-width:28px;font:400 17px/1 var(--f-texte);text-decoration:none;padding:12px 22px;border-radius:99px;border:1px solid var(--mahy);transition:background .2s,color .2s}
.btn--plein{background:var(--mahy);color:#fff}
.btn--plein:hover{background:var(--mahy-fonce);border-color:var(--mahy-fonce)}
.btn--ligne{color:var(--mahy);background:transparent}
.btn--ligne:hover{background:var(--mahy);color:#fff}
.btn--petit{font-size:14px;padding:9px 16px}
.sombre .btn--ligne{color:#5cc0ee;border-color:#5cc0ee}
.sombre .btn--ligne:hover{background:#5cc0ee;color:var(--nuit)}

/* ---------- Hero ---------- */
.hero{text-align:center;padding-top:clamp(56px,7vw,92px);overflow:hidden;background:var(--perle)}
.hero__txt{display:grid;gap:14px;justify-items:center;padding-left:max(22px,var(--gx));padding-right:max(22px,var(--gxr))}
.hero__kicker{font:500 clamp(15px,1.4vw,19px)/1.3 var(--f-titre);color:var(--mahy);letter-spacing:0}
.hero__titre{display:block;font-size:clamp(44px,7.4vw,96px);font-weight:600;letter-spacing:-.035em;line-height:1.02;margin-top:6px}
.hero__titre em{font-style:normal;background:linear-gradient(90deg,var(--mahy) 0%,#2a9fd4 45%,var(--ambre) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero__sous{font:400 clamp(20px,2.2vw,28px)/1.25 var(--f-texte);letter-spacing:-.01em;max-width:30ch}
.hero__exp{color:var(--gris);font-size:clamp(16px,1.4vw,19px);max-width:56ch}
.hero .btns{margin-top:10px}
.hero__info{font-size:13px;color:var(--gris);margin-top:2px}

/* Appareils dessinés en CSS : MacBook + iPhone */
.devices{position:relative;width:min(980px,94%);margin:clamp(40px,6vw,64px) auto 0;padding-bottom:3.4%;font-size:clamp(5px,1.02vw,10px)}
.mac{position:relative;width:86%;margin-inline:auto}
.mac__ecran{background:#0d0d0f;border-radius:1.8em 1.8em .4em .4em;padding:1.6em 1.6em 1.9em;box-shadow:inset 0 0 0 .18em #2b2b2e}
.mac__vitre{aspect-ratio:16/10;border-radius:.4em;overflow:hidden;background:#fff;position:relative}
.mac__socle{height:1.6em;margin-inline:-5.5%;background:linear-gradient(#d6d6da,#a9a9ae 60%,#8d8d92);border-radius:0 0 1.6em 1.6em/0 0 1.4em 1.4em;position:relative}
.mac__socle::before{content:"";position:absolute;left:50%;top:0;width:15%;height:.55em;transform:translateX(-50%);background:#b9b9be;border-radius:0 0 .7em .7em}
.iphone{position:absolute;right:2%;bottom:0;width:19%;aspect-ratio:9/19.3;background:#111;border-radius:3.4em;padding:.75em;box-shadow:0 2em 4em -1.5em rgba(0,0,0,.45),inset 0 0 0 .2em #3a3a3d}
.iphone__vitre{height:100%;border-radius:2.7em;overflow:hidden;background:#fbf7f2;position:relative}
.iphone__vitre::before{content:"";position:absolute;top:.9em;left:50%;transform:translateX(-50%);width:32%;height:1.9em;background:#000;border-radius:99px;z-index:3}
/* Mini-site affiché à l'écran */
.ms{position:absolute;inset:0;display:grid;grid-template-rows:auto 1fr auto;background:#fbf7f2;color:#2b211b;font-family:var(--f-titre)}
.ms__nav{display:flex;justify-content:space-between;align-items:center;padding:1.4em 2.4em}
.ms__nav b{font-size:1.6em;font-weight:700;letter-spacing:-.02em}
.ms__nav span{display:flex;gap:2em;font:500 1.05em var(--f-texte);color:#6b5a4e}
.ms__hero{display:grid;grid-template-columns:1fr 1.05fr;gap:3em;align-items:center;padding:0 2.4em}
.ms__hero h4{font-size:4em;line-height:1;margin:0 0 .35em;font-weight:600;letter-spacing:-.03em}
.ms__hero p{font:400 1.3em/1.45 var(--f-texte);color:#6b5a4e;max-width:30ch}
.ms__btn{display:inline-block;margin-top:1.4em;background:#b4562d;color:#fff;font:600 1.1em var(--f-texte);padding:.8em 1.5em;border-radius:99px}
.ms__img{aspect-ratio:1/1.05;border-radius:1.4em;background:radial-gradient(circle at 35% 30%,#f2c9a0,transparent 45%),radial-gradient(circle at 70% 75%,#7a3c22,transparent 55%),linear-gradient(150deg,#d9895a,#8f4626);position:relative;overflow:hidden}
.ms__img::after{content:"";position:absolute;left:22%;right:22%;top:28%;bottom:16%;border-radius:45% 45% 38% 38%/55% 55% 40% 40%;background:linear-gradient(90deg,#c97c4f,#e8b48a 45%,#a8592f);box-shadow:inset -1em -1em 2em rgba(80,30,10,.35)}
.ms__cartes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4em;padding:2em 2.4em}
.ms__cartes i{height:4.2em;border-radius:1em;background:#efe6dc}
.ms--mobile{grid-template-rows:auto auto 1fr}
.ms--mobile .ms__nav{padding:4.2em 1.4em 1em}
.ms--mobile .ms__nav b{font-size:1.25em}
.ms--mobile .ms__img{margin:0 1.2em;aspect-ratio:1/.9;border-radius:1.2em}
.ms--mobile .ms__corps{padding:1.4em}
.ms--mobile h4{font-size:2.1em;line-height:1.02;margin:0 0 .4em;font-weight:600;letter-spacing:-.03em}
.ms--mobile .ms__btn{font-size:1em;margin-top:.8em}

/* ---------- Grille de cadres ---------- */
.cadres{display:grid;gap:12px;padding:12px;grid-template-columns:1fr}
@media (min-width:834px){.cadres{grid-template-columns:1fr 1fr}.cadre--large{grid-column:1/-1}}
.cadre{position:relative;background:var(--blanc);color:var(--encre);text-align:center;overflow:hidden;display:flex;flex-direction:column;align-items:center;padding-top:clamp(44px,5vw,58px);min-height:clamp(520px,52vw,640px)}
.cadre--large{min-height:clamp(560px,50vw,700px)}
.cadre.sombre{background:var(--nuit);color:#f5f5f7}
.cadre.gris{background:#fbfbfd}
.cadre__txt{display:grid;gap:8px;justify-items:center;padding-left:max(22px,var(--gx));padding-right:max(22px,var(--gxr));position:relative;z-index:2}
.cadre__label{font:600 13px/1 var(--f-texte);letter-spacing:.02em;color:var(--ambre);text-transform:uppercase}
.cadre h2{font-size:clamp(32px,3.6vw,48px)}
.cadre--large h2{font-size:clamp(38px,4.8vw,60px)}
.cadre__slogan{font:400 clamp(19px,1.8vw,24px)/1.25 var(--f-texte);letter-spacing:-.01em}
.cadre__desc{color:var(--gris);font-size:15px;max-width:44ch;margin-top:2px}
.sombre .cadre__desc{color:#a1a1a6}
.cadre .btns{margin-top:12px}
.cadre__visuel{margin-top:auto;width:100%;display:flex;justify-content:center;align-items:flex-end;padding:36px max(22px,var(--gx)) 0}
.cadre:hover .cadre__visuel > *{transform:translateY(-6px)}
.cadre__visuel > *{transition:transform .6s cubic-bezier(.2,.7,.1,1)}

/* Visuel : sites en éventail */
.eventail{position:relative;width:min(760px,100%);aspect-ratio:16/7.2}
.fen{position:absolute;bottom:0;width:46%;aspect-ratio:16/11;border-radius:12px 12px 0 0;overflow:hidden;background:#fff;box-shadow:0 -10px 50px -12px rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.12)}
.fen__barre{height:7%;background:#e9e9ec;display:flex;align-items:center;gap:4px;padding-inline:8px}
.fen__barre i{width:7px;height:7px;border-radius:50%;background:#c4c4c8}
.fen__site{position:absolute;inset:7% 0 0;background:var(--f);display:grid;grid-template-rows:auto 1fr;padding:6% 7%;gap:6%}
.fen__site b{font:600 clamp(11px,1.5vw,17px)/1.1 var(--f-titre);color:var(--c,#fff);letter-spacing:-.02em}
.fen__site span{display:grid;gap:6%;align-content:end}
.fen__site span i{height:clamp(4px,.5vw,6px);border-radius:3px;background:var(--c,#fff);opacity:.5}
.fen__site span i:nth-child(1){width:70%;opacity:.9;height:clamp(7px,1vw,11px)}
.fen__site span i:nth-child(2){width:55%}
.fen__site span i:nth-child(3){width:28%;height:clamp(9px,1.2vw,14px);border-radius:99px;background:var(--a,#fff);opacity:1}
.fen img{position:absolute;inset:7% 0 0;width:100%;height:93%;object-fit:cover}
.fen--1{left:0;transform-origin:bottom right;transform:rotate(-6deg) translateY(6%);z-index:1}
.fen--2{left:27%;z-index:3;width:46%}
.fen--3{right:0;transform-origin:bottom left;transform:rotate(6deg) translateY(6%);z-index:2}

/* Visuel : recherche Google */
.serp{width:min(440px,100%);background:#fff;border-radius:18px 18px 0 0;box-shadow:0 -6px 40px -10px rgba(0,0,0,.18);padding:22px 22px 26px;text-align:left;display:grid;gap:14px}
.serp__q{display:flex;align-items:center;gap:10px;border:1px solid #dfe1e5;border-radius:99px;padding:10px 16px;font-size:14px;box-shadow:0 1px 6px rgba(32,33,36,.12)}
.serp__q svg{width:16px;height:16px;color:#9aa0a6;flex:none}
.serp__r{display:grid;gap:3px;padding:10px 12px;border-radius:12px}
.serp__r small{font-size:12px;color:#4d5156}
.serp__r b{font:400 17px/1.3 var(--f-texte);color:#1a0dab}
.serp__r span{font-size:13px;color:#4d5156}
.serp__r.un{background:#f0f8fc;outline:1.5px solid rgba(10,109,153,.35)}
.serp__r.un::before{content:"1ʳᵉ position";justify-self:start;font:600 11px/1 var(--f-texte);color:#fff;background:var(--mahy);padding:4px 8px;border-radius:99px;margin-bottom:4px}
.serp__r.autre{opacity:.45}

/* Visuel : maintenance */
.maint{width:min(420px,100%);background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -6px 40px -10px rgba(0,0,0,.16);padding:24px;text-align:left;display:grid;gap:4px}
.maint__tete{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.maint__tete b{font:600 18px var(--f-titre);letter-spacing:-.02em}
.maint__tete span{font-size:12px;color:#1f8a4c;background:#e6f6ec;padding:5px 10px;border-radius:99px;display:flex;gap:6px;align-items:center}
.maint__tete span::before{content:"";width:7px;height:7px;border-radius:50%;background:#1f8a4c}
.maint__l{display:flex;justify-content:space-between;align-items:center;padding:12px 2px;border-top:1px solid #ececf0;font-size:15px}
.maint__l em{font-style:normal;color:var(--gris);font-size:13px;display:flex;gap:8px;align-items:center}
.maint__l em::after{content:"";width:18px;height:18px;border-radius:50%;background:#1f8a4c url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}

/* Visuel : vidéo */
.player{width:min(520px,100%);aspect-ratio:16/9.6;border-radius:16px 16px 0 0;overflow:hidden;position:relative;background:radial-gradient(45% 70% at 28% 65%,rgba(141,78,113,.95),transparent 70%),radial-gradient(45% 75% at 75% 40%,rgba(10,109,153,.95),transparent 70%),radial-gradient(18% 28% at 52% 8%,rgba(232,150,31,.75),transparent),#050608}
.player__scene{position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(transparent,rgba(0,0,0,.7))}
.player__scene i{position:absolute;bottom:0;width:13%;border-radius:50% 50% 0 0;background:#050608}
.player__scene i:nth-child(1){left:14%;height:78%}.player__scene i:nth-child(2){left:44%;height:95%;width:15%}.player__scene i:nth-child(3){left:74%;height:70%}
.player__rec{position:absolute;top:14px;left:16px;font:600 12px var(--f-texte);color:#fff;display:flex;gap:7px;align-items:center;letter-spacing:.04em}
.player__rec::before{content:"";width:9px;height:9px;border-radius:50%;background:#ff3b30}
.player__cams{position:absolute;top:12px;right:14px;display:flex;gap:5px}
.player__cams i{font:500 10.5px var(--f-texte);font-style:normal;color:#fff;padding:4px 7px;border-radius:5px;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.2)}
.player__cams i:first-child{border-color:#ff3b30}
.player__bar{position:absolute;left:16px;right:16px;bottom:14px;display:flex;gap:10px;align-items:center;color:#fff;font:500 12px var(--f-texte)}
.player__bar span{flex:1;height:4px;border-radius:4px;background:rgba(255,255,255,.3);overflow:hidden}
.player__bar span::before{content:"";display:block;width:38%;height:100%;background:#fff}
.player__bar b{width:0;height:0;border-left:10px solid #fff;border-block:6px solid transparent}

/* Visuel : graphisme */
.graph{width:min(500px,100%);display:grid;grid-template-columns:1.25fr 1fr;gap:12px;align-items:end}
.graph__logo{aspect-ratio:1;border-radius:18px 18px 0 0;background:#fff;box-shadow:0 -6px 40px -10px rgba(0,0,0,.14);display:grid;place-items:center;position:relative;overflow:hidden}
.graph__logo::before,.graph__logo::after{content:"";position:absolute;background:rgba(10,109,153,.18)}
.graph__logo::before{left:0;right:0;top:50%;height:1px}.graph__logo::after{top:0;bottom:0;left:50%;width:1px}
.graph__logo b{font:700 clamp(46px,6vw,72px)/1 var(--f-titre);letter-spacing:-.05em;background:linear-gradient(180deg,var(--mahy),#000);-webkit-background-clip:text;background-clip:text;color:transparent;position:relative;z-index:1}
.graph__col{display:grid;gap:12px}
.graph__nuancier{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#fff;border-radius:18px;padding:12px;box-shadow:0 6px 30px -12px rgba(0,0,0,.14)}
.graph__nuancier i{aspect-ratio:1;border-radius:10px}
.graph__type{background:#fff;border-radius:18px 18px 0 0;padding:16px;box-shadow:0 -6px 30px -12px rgba(0,0,0,.14);text-align:left}
.graph__type b{display:block;font:600 40px/1 var(--f-titre);letter-spacing:-.03em}
.graph__type span{font-size:12px;color:var(--gris)}

/* ---------- Réalisations ---------- */
.section{padding-block:clamp(72px,9vw,110px);padding-left:max(22px,var(--gx));padding-right:max(22px,var(--gxr))}
.section__tete{max-width:980px;margin:0 auto 40px;display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap}
.section__tete h2{font-size:clamp(32px,4vw,48px)}
.section__tete p{color:var(--gris);max-width:40ch}
.lien{color:var(--mahy);text-decoration:none;font-size:17px;white-space:nowrap}
.lien:hover{text-decoration:underline}
.lien::after{content:" ›"}
.projets{max-width:980px;margin-inline:auto;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr))}
.projet{display:grid;gap:12px;text-decoration:none}
.projet__img{position:relative;aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:var(--f)}
.projet__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.projet:hover .projet__img img{transform:scale(1.04)}
.projet__img b{position:absolute;left:18px;bottom:12px;font:700 64px/1 var(--f-titre);letter-spacing:-.05em;color:rgba(255,255,255,.85)}
.projet h3{font-size:19px;letter-spacing:-.015em}
.projet p{font-size:14px;color:var(--gris)}

/* ---------- Avis ---------- */
.avis{background:var(--blanc)}
.citations{max-width:980px;margin-inline:auto;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.citation{margin:0;background:var(--perle);border-radius:18px;padding:28px;display:grid;gap:18px;align-content:space-between}
.citation blockquote{margin:0;font-size:17px;line-height:1.5}
.citation figcaption{font-size:14px;color:var(--gris)}
.citation figcaption b{color:var(--encre);font-weight:600;display:block}

/* ---------- Contact ---------- */
.contact{text-align:center;display:grid;gap:16px;justify-items:center}
.contact h2{font-size:clamp(36px,5vw,64px)}
.contact p{color:var(--gris);font-size:19px;max-width:44ch}
.contact__coord{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 36px;margin-top:10px;font-size:17px}
.contact__coord span{user-select:all}

/* ---------- Pied de page ---------- */
.pied{background:var(--perle);border-top:1px solid var(--filet);font-size:12px;color:var(--gris);padding-block:28px 22px;padding-left:max(22px,var(--gx));padding-right:max(22px,var(--gxr))}
.pied__in{max-width:980px;margin-inline:auto}
.pied__note{padding-bottom:16px;border-bottom:1px solid var(--filet);line-height:1.5}
.pied__cols{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding-block:22px}
.pied__titre{font:600 12px var(--f-texte);color:var(--encre);margin:0 0 10px}
.pied ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pied a{text-decoration:none;color:var(--gris)}
.pied a:hover{text-decoration:underline;color:var(--encre)}
.pied__bas{border-top:1px solid var(--filet);padding-top:16px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center}
.pied__bas img{height:30px;width:auto}

/* Vitrine du hero : MacBook photo + vrais sites clients qui défilent */
.hero{background:#f5f5f5}
.vitrine{margin:clamp(28px,4vw,44px) auto 0;width:min(1100px,100%);padding-inline:max(8px,var(--gx)) max(8px,var(--gxr));display:grid;gap:6px;justify-items:center}
.vitrine__mac{position:relative;width:100%}
.vitrine__base{width:100%;height:auto}
.vitrine__ecran{position:absolute;left:10.667%;top:7.051%;width:78.417%;height:77.82%;overflow:hidden;background:#0c0c0c}
.vitrine__ecran img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;opacity:0;transform:scale(1.03);transition:opacity 1.1s ease,transform 6s ease-out}
.vitrine__ecran img.is-on{opacity:1;transform:none}
.vitrine__notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:12%;height:3.6%;background:#0c0c0c;border-radius:0 0 7px 7px;z-index:2}
.vitrine__legende{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:center;font-size:14px;color:var(--gris);padding-bottom:clamp(40px,5vw,64px)}
.vitrine__legende b{color:var(--encre);font-weight:600}
.vitrine__puces{display:flex;gap:8px}
.vitrine__puces button{width:8px;height:8px;border-radius:99px;border:0;padding:0;background:#c7c7cc;cursor:pointer;transition:width .4s,background .3s}
.vitrine__puces button.on{width:26px;background:var(--mahy)}
/* Captures réelles réutilisées */
.fen__shot{position:absolute;inset:7% 0 0;background-size:cover;background-position:top}
.projets--reels{grid-template-columns:1fr}
@media (min-width:700px){.projets--reels{grid-template-columns:1fr 1fr;gap:28px}}
.projet__shot{position:absolute;inset:0;background-size:cover;background-position:top;transition:transform .6s}
.projet:hover .projet__shot{transform:scale(1.03)}
.projet__img{box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.projet__tag{position:absolute;top:12px;left:12px;font:600 11px/1 var(--f-texte);background:rgba(255,255,255,.92);color:var(--encre);padding:6px 10px;border-radius:99px;letter-spacing:.02em}
.shot-cc{background-image:url("../img/carte-celine-chorel.jpg")}
.shot-ds{background-image:url("../img/carte-ds-services-paysages.jpg")}
.shot-em{background-image:url("../img/carte-emmanuelle-moine.jpg")}
.shot-md{background-image:url("../img/carte-marianne-denis.jpg")}

/* Carrousel 3D de fenêtres Safari */
.hero{background:var(--perle)}
.carrousel{position:relative;margin-top:clamp(36px,5vw,56px);padding-bottom:clamp(44px,6vw,72px);overflow:hidden}
.carrousel__scene{position:relative;width:min(760px,76vw);aspect-ratio:940/652;margin-inline:auto;perspective:1900px;transform-style:preserve-3d}
.safari{position:absolute;inset:0;border-radius:12px;overflow:hidden;background:#1e1e20;box-shadow:0 0 0 1px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.06),0 30px 70px -25px rgba(0,0,0,.45),0 12px 24px -16px rgba(0,0,0,.3);transition:transform 1s cubic-bezier(.3,.7,.2,1),opacity .8s ease,filter .8s ease;transform-origin:50% 50%;cursor:pointer;will-change:transform}
.safari[data-pos="0"]{transform:translate3d(0,0,0) rotateY(0);z-index:3;cursor:default}
.safari[data-pos="1"]{transform:translate3d(72%,0,-420px) rotateY(-38deg);z-index:2;filter:brightness(.93)}
.safari[data-pos="-1"]{transform:translate3d(-72%,0,-420px) rotateY(38deg);z-index:2;filter:brightness(.93)}
.safari[data-pos="2"]{transform:translate3d(0,0,-620px) rotateY(180deg);opacity:0;z-index:1;pointer-events:none}
.safari__barre{height:clamp(26px,3.4vw,38px);display:flex;align-items:center;gap:clamp(8px,1.4vw,16px);padding-inline:clamp(9px,1.4vw,14px);background:#2a2a2d;border-bottom:1px solid #111113;font-size:clamp(9px,1.05vw,12px);color:#d6d6db}
.safari__feux{display:flex;gap:clamp(4px,.6vw,7px)}
.safari__feux i{width:clamp(7px,.95vw,11px);aspect-ratio:1;border-radius:50%;background:#ff5f57}
.safari__feux i:nth-child(2){background:#febc2e}.safari__feux i:nth-child(3){background:#28c840}
.safari__nav{letter-spacing:.4em;color:#76767c;font-size:1.3em}
.safari__url{flex:1;max-width:58%;margin-inline:auto;display:flex;justify-content:center;align-items:center;gap:.5em;background:#3a3a3e;border-radius:7px;padding:.45em 1em;white-space:nowrap;overflow:hidden}
.safari__url svg{width:.8em;height:.9em;color:#9a9aa0;flex:none}
.safari__outils{color:#76767c;letter-spacing:.6em}
.safari img{width:100%;height:auto;display:block}
.carrousel__bas{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:28px;padding-inline:var(--gx) var(--gxr)}
.carrousel__legende{display:grid;gap:2px;text-align:center;min-width:min(320px,60vw);font-size:14px;color:var(--gris)}
.carrousel__legende b{color:var(--encre);font:600 17px var(--f-titre);letter-spacing:-.01em}
.carrousel__fleche{width:40px;height:40px;border-radius:50%;border:0;background:#e3e3e8;color:var(--encre);font-size:22px;line-height:1;cursor:pointer;transition:background .2s}
.carrousel__fleche:hover{background:#d2d2d7}
@media (max-width:640px){.carrousel__scene{width:80vw}.safari[data-pos="1"]{transform:translate3d(58%,0,-300px) rotateY(-35deg)}.safari[data-pos="-1"]{transform:translate3d(-58%,0,-300px) rotateY(35deg)}.safari__nav,.safari__outils{display:none}}
@media (prefers-reduced-motion:reduce){.safari{transition:none}}
/* Titres de cadres : le métier en grand, la chanson en accroche */
.cadre__chanson{font:500 clamp(18px,1.7vw,22px)/1.3 var(--f-titre);letter-spacing:-.01em;display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.15em .4em}
.cadre__chanson .note{color:var(--ambre)}
.cadre__chanson .artiste{font:400 13px var(--f-texte);color:var(--gris);letter-spacing:0}
.sombre .cadre__chanson .artiste{color:#a1a1a6}
.note-maquette{position:fixed;right:max(12px,var(--gxr));bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:70;font:600 11px/1.3 var(--f-texte);background:var(--encre);color:#fff;padding:8px 12px;border-radius:99px;letter-spacing:.02em}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}


/* ==========================================================================
   Intégration WordPress
   ========================================================================== */

/* Fond du site selon la page (claire / sombre) */
body { background: var(--perle); }
.mm-main { display: block; }

/* Barre d'administration (connecté) : l'en-tête reste sous elle */
.admin-bar .gnav { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { .admin-bar .gnav { top: 0; } }

/* En-tête : menu WordPress */
.gnav nav { display: contents; }
.gnav__liens li { margin: 0; }
.gnav__liens .current-menu-item > a,
.gnav__liens .current_page_item > a { color: var(--encre); }
a.gnav__tel { text-decoration: none; }
a.gnav__tel:hover { color: var(--encre); }
.mnav__liste { list-style: none; margin: 0; padding: 0; }
.custom-logo-link img, .gnav__logo img { height: 22px; width: auto; }
body.menu-ouvert { overflow: hidden; }
@media (min-width: 861px) { body.menu-ouvert { overflow: visible; } }

/* Pied de page */
.pied__titre { font: 600 12px var(--f-texte); color: var(--encre); margin: 0 0 10px; letter-spacing: 0; }
.pied address { font-style: normal; }

/* Pages hors compositions (articles, mentions légales…) : typographie du site */
body:not(.mms-composee) .mm-content > :where(h1, h2, h3, h4) { margin-block: 1.4em .5em; }
body:not(.mms-composee) .mm-content > :where(p, ul, ol) { margin-block: 0 1em; }
body:not(.mms-composee) .mm-content a { color: var(--mahy); }
.mm-page-title { font-size: clamp(34px, 5vw, 56px); }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
}


/* ==========================================================================
   Pages de l'agence (claires) : contact, à propos, réalisations, blog, pages légales
   Même vocabulaire que l'accueil : fond perle, cartes blanches arrondies, Poppins.
   ========================================================================== */
.ag { background: var(--perle); }
.ag-hero { max-width: 980px; margin-inline: auto; text-align: center; padding: clamp(56px, 7vw, 92px) max(22px, var(--gxr)) clamp(28px, 4vw, 44px) max(22px, var(--gx)); display: grid; gap: 14px; justify-items: center; }
.ag-surtitre { font: 500 clamp(15px, 1.4vw, 19px)/1.3 var(--f-titre); color: var(--mahy); letter-spacing: 0; }
.ag-surtitre a { color: inherit; text-decoration: none; }
.ag-surtitre a:hover { text-decoration: underline; }
.ag-titre { font-size: clamp(40px, 6.4vw, 80px); font-weight: 600; letter-spacing: -.035em; line-height: 1.04; }
.ag-titre--article { font-size: clamp(34px, 4.8vw, 60px); max-width: 22ch; }
.ag-chapeau { color: var(--gris); font-size: clamp(17px, 1.6vw, 21px); max-width: 52ch; }
.ag-chapeau p { margin: 0; }
.ag-hero .btns { margin-top: 8px; }
.ag-retour { font-size: 14px; }
.ag-retour a { color: var(--mahy); text-decoration: none; }
.ag-retour a:hover { text-decoration: underline; }
.ag-article-meta { font-size: 14px; color: var(--gris); }
.ag-vide { text-align: center; color: var(--gris); padding: 40px 22px 80px; }

/* Filtres (réalisations, catégories du blog) */
.ag-filtres { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; padding: 0 22px 36px; }
.ag-filtres a { font-size: 14px; text-decoration: none; color: var(--encre); background: var(--blanc); border: 1px solid var(--filet); padding: 8px 16px; border-radius: 99px; transition: background .2s, color .2s, border-color .2s; }
.ag-filtres a:hover { border-color: var(--encre); }
.ag-filtres a[aria-current] { background: var(--encre); border-color: var(--encre); color: #fff; }

/* Grilles de cartes */
.ag-grille { max-width: 1080px; margin-inline: auto; padding: 0 max(22px, var(--gxr)) clamp(56px, 7vw, 96px) max(22px, var(--gx)); display: grid; gap: 22px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.ag-carte { display: grid; text-decoration: none; background: var(--blanc); border-radius: 22px; overflow: hidden; box-shadow: 0 0 0 1px rgba(0, 0, 0, .05); transition: transform .4s cubic-bezier(.2, .7, .2, 1), box-shadow .4s; }
.ag-carte:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -18px rgba(0, 0, 0, .25), 0 0 0 1px rgba(0, 0, 0, .05); }
.ag-carte__img { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #e8e8ed; }
.ag-carte__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform .6s; }
.ag-carte:hover .ag-carte__img img { transform: scale(1.04); }
.ag-carte__tags { position: absolute; top: 12px; left: 12px; display: flex; flex-wrap: wrap; gap: 6px; }
.ag-carte__tags span { font: 600 11px/1 var(--f-texte); background: rgba(255, 255, 255, .92); color: var(--encre); padding: 6px 10px; border-radius: 99px; letter-spacing: .02em; }
.ag-carte__txt { display: grid; gap: 4px; padding: 18px 20px 22px; }
.ag-carte__titre { font-size: 20px; letter-spacing: -.015em; }
.ag-carte__secteur { font-size: 14px; color: var(--gris); }

/* Fiche réalisation */
.ag-fiche__image { max-width: 1100px; margin: 0 auto clamp(40px, 5vw, 64px); padding-inline: max(22px, var(--gx)) max(22px, var(--gxr)); }
.ag-fiche__image img { width: 100%; height: auto; border-radius: 24px; box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .35); }
.ag-texte { padding-bottom: clamp(48px, 6vw, 88px); font-size: 18px; line-height: 1.6; }
.ag-texte > * { max-width: 720px; margin-inline: auto; }
.ag-texte > :where(h2, h3, h4) { margin-block: 1.6em .5em; font-family: var(--f-titre); }
.ag-texte > h2 { font-size: clamp(26px, 3vw, 34px); }
.ag-texte > h3 { font-size: 22px; }
.ag-texte > :where(p, ul, ol) { margin-block: 0 1.1em; }
.ag-texte a { color: var(--mahy); }
.ag-texte img { border-radius: 16px; height: auto; }
.ag-texte > .wp-block-image, .ag-texte > .wp-block-gallery, .ag-texte > .wp-block-embed { max-width: 960px; margin-block: 2em; }
.ag-texte > .alignwide { max-width: 1080px; }
.ag-texte > .alignfull { max-width: none; }
.ag-texte .wp-block-image figcaption { font-size: 14px; color: var(--gris); text-align: center; }
.ag-autres { padding-top: clamp(48px, 6vw, 80px); border-top: 1px solid var(--filet); }
.ag-autres__titre { text-align: center; font-size: clamp(28px, 3.4vw, 40px); margin-bottom: 32px; }

/* Blog */
.ag-grille--blog { grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); }
.ag-article { display: flex; }
.ag-article__lien { display: grid; grid-template-rows: auto 1fr; width: 100%; text-decoration: none; background: var(--blanc); border-radius: 22px; overflow: hidden; box-shadow: 0 0 0 1px rgba(0, 0, 0, .05); transition: transform .4s cubic-bezier(.2, .7, .2, 1), box-shadow .4s; }
.ag-article__lien:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -18px rgba(0, 0, 0, .25), 0 0 0 1px rgba(0, 0, 0, .05); }
.ag-article__img { position: relative; aspect-ratio: 16 / 10; overflow: hidden; }
.ag-article__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ag-article__vide { position: absolute; inset: 0; background: linear-gradient(135deg, var(--mahy) 0%, #2a9fd4 55%, var(--ambre) 120%); opacity: .9; }
.ag-article__txt { display: grid; align-content: start; gap: 8px; padding: 18px 20px 24px; }
.ag-article__meta { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: 13px; color: var(--gris); }
.ag-article__cat { color: var(--mahy); font-weight: 600; }
.ag-article__titre { font-size: 20px; line-height: 1.2; letter-spacing: -.015em; }
.ag-article__extrait { font-size: 15px; color: var(--gris); }
.ag-pagination { padding: 0 22px 80px; text-align: center; }
.ag-pagination .page-numbers { display: inline-block; min-width: 40px; padding: 9px 14px; border-radius: 99px; background: var(--blanc); text-decoration: none; margin: 0 2px; }
.ag-pagination .page-numbers.current { background: var(--encre); color: #fff; }
.ag-fiche__image--article img { max-height: 620px; object-fit: cover; }

/* Contact */
.ct { max-width: 1080px; margin-inline: auto; padding: 0 max(22px, var(--gxr)) clamp(64px, 8vw, 110px) max(22px, var(--gx)); display: grid; gap: 28px; align-items: start; }
@media (min-width: 960px) { .ct { grid-template-columns: minmax(0, 1fr) 320px; } .ct__infos { position: sticky; top: 72px; } }
.ct__form, .ct__infos { background: var(--blanc); border-radius: 24px; padding: clamp(22px, 3vw, 36px); box-shadow: 0 0 0 1px rgba(0, 0, 0, .05); }
.ct__titre { font-size: 24px; margin-bottom: 16px; }
.ct__sous-titre { font-size: 17px; margin: 26px 0 10px; }
.ct__etapes { margin: 0; padding-left: 1.2em; display: grid; gap: 8px; font-size: 15px; color: var(--gris); }
.ct__note { font-size: 13px; color: var(--gris); margin-top: 22px; }
.ct-coord { margin: 0; display: grid; gap: 4px; font-size: 15px; }
.ct-coord dt { font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--gris); margin-top: 12px; }
.ct-coord dt:first-child { margin-top: 0; }
.ct-coord dd { margin: 0; }
.ct-coord a { color: var(--mahy); text-decoration: none; }
.ct-coord a:hover { text-decoration: underline; }
.ct-itineraire { font-size: 14px; }
.ct-form { display: grid; gap: 26px; }
.ct-groupe { border: 0; margin: 0; padding: 0; min-width: 0; }
.ct-groupe > legend { font: 600 20px/1.2 var(--f-titre); letter-spacing: -.015em; margin-bottom: 14px; padding: 0; }
.ct-grille { display: grid; gap: 14px 18px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); }
.ct-champ { margin: 0; display: grid; gap: 6px; border: 0; padding: 0; min-width: 0; }
.ct-champ--large { grid-column: 1 / -1; }
.ct-champ > label, .ct-champ > legend { font-size: 14px; font-weight: 500; padding: 0; }
.ct-champ abbr { text-decoration: none; color: var(--mahy); }
.ct-form input[type=text], .ct-form input[type=email], .ct-form input[type=tel], .ct-form select, .ct-form textarea { width: 100%; font: inherit; font-size: 16px; color: var(--encre); background: var(--perle); border: 1px solid transparent; border-radius: 12px; padding: 12px 14px; transition: border-color .2s, background .2s, box-shadow .2s; }
.ct-form textarea { resize: vertical; min-height: 120px; }
.ct-form :is(input, select, textarea):focus { outline: none; background: #fff; border-color: var(--mahy); box-shadow: 0 0 0 4px rgba(10, 109, 153, .15); }
.ct-choix { display: flex; flex-wrap: wrap; gap: 8px; }
.ct-choix label { position: relative; cursor: pointer; }
.ct-choix input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.ct-choix span { display: inline-block; font-size: 14px; padding: 9px 14px; border-radius: 99px; background: var(--perle); border: 1px solid transparent; transition: background .2s, color .2s, border-color .2s; }
.ct-choix label:hover span { border-color: var(--filet); }
.ct-choix input:checked + span { background: var(--mahy); color: #fff; }
.ct-choix input:focus-visible + span { outline: 2px solid var(--mahy); outline-offset: 2px; }
.ct-champ[data-si][hidden] { display: none; }
.has-erreur :is(input, select, textarea) { border-color: #c4314b !important; background: #fff5f6 !important; }
.ct-msg { font-size: 13px; color: #c4314b; }
.ct-erreurs { background: #fff5f6; color: #9b1c33; border-radius: 12px; padding: 12px 16px; font-size: 15px; }
.ct-rgpd { margin: 0; font-size: 14px; color: var(--gris); }
.ct-rgpd label { display: flex; gap: 10px; align-items: flex-start; }
.ct-rgpd input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--mahy); flex: none; }
.ct-rgpd a { color: var(--mahy); }
.ct-envoi { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.ct-envoi .btn { border: 0; cursor: pointer; font-size: 17px; padding: 14px 26px; }
.ct-envoi span { font-size: 13px; color: var(--gris); }
.ct-piege { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ct-merci { text-align: center; padding: clamp(28px, 5vw, 56px) 12px; }
.ct-merci__titre { font: 600 clamp(26px, 3vw, 34px)/1.15 var(--f-titre); letter-spacing: -.02em; margin-bottom: 10px; }
.ct-merci p:last-child { color: var(--gris); max-width: 44ch; margin-inline: auto; }

/* À propos */
.ap-fondateur { max-width: 1080px; margin: 0 auto; padding: clamp(24px, 4vw, 48px) max(22px, var(--gxr)) clamp(64px, 8vw, 110px) max(22px, var(--gx)); display: grid; gap: clamp(28px, 5vw, 64px); align-items: center; }
@media (min-width: 860px) { .ap-fondateur { grid-template-columns: 5fr 6fr; } }
.ap-fondateur__img { margin: 0; }
.ap-fondateur__img img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 28px; box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .35); }
.ap-fondateur__txt { display: grid; gap: 14px; font-size: 18px; line-height: 1.6; }
.ap-nom { font-size: clamp(34px, 4.4vw, 54px); }
.ap-role { color: var(--gris); font-size: 17px; margin-top: -6px; }
.ap-facon, .ap-equipe, .ap-reseau { padding: clamp(64px, 8vw, 110px) max(22px, var(--gxr)) 0 max(22px, var(--gx)); }
.ap-facon { background: var(--blanc); padding-bottom: clamp(64px, 8vw, 110px); }
.ap-section-titre { text-align: center; font-size: clamp(32px, 4.4vw, 56px); }
.ap-intro { text-align: center; color: var(--gris); font-size: clamp(17px, 1.6vw, 20px); margin-top: 10px; }
.ap-points { max-width: 1080px; margin: 40px auto 0; display: grid; gap: 18px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); }
.ap-point { background: var(--perle); border-radius: 22px; padding: 26px 24px; display: grid; gap: 8px; align-content: start; }
.ap-point h3 { font-size: 20px; letter-spacing: -.015em; }
.ap-point p { color: var(--gris); font-size: 15px; }
.ap-cartes { max-width: 1080px; margin: 40px auto 0; display: grid; gap: 22px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.ap-cartes--2 { max-width: 720px; }
.ap-carte { background: var(--blanc); border-radius: 24px; overflow: hidden; display: grid; gap: 4px; padding-bottom: 22px; text-align: center; box-shadow: 0 0 0 1px rgba(0, 0, 0, .05); }
.ap-carte__img { margin: 0 0 14px; background: #ececf0; }
.ap-carte__img img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.ap-cartes--2 .ap-carte__img img { object-fit: contain; object-position: bottom; }
.ap-carte__nom { font-size: 22px; padding-inline: 18px; }
.ap-carte__role { color: var(--gris); font-size: 14px; padding-inline: 18px; }
.ap-carte__texte { font: italic 500 17px/1.4 var(--f-titre); padding-inline: 18px; margin-top: 6px; }
.ap-carte__texte a { color: var(--mahy); font-style: normal; font-size: 15px; }
.mms-page--a-propos .section.contact { margin-top: clamp(40px, 6vw, 80px); }

/* Pages légales */
.lg { max-width: 760px; margin: 0 auto; padding: 0 max(22px, var(--gxr)) clamp(64px, 8vw, 110px) max(22px, var(--gx)); font-size: 17px; line-height: 1.65; }
.lg h2 { font-size: clamp(22px, 2.4vw, 28px); margin: 2em 0 .5em; }
.lg h2:first-child { margin-top: 0; }
.lg h3 { font-size: 19px; margin: 1.4em 0 .4em; }
.lg :where(p, ul) { margin: 0 0 1em; }
.lg ul { padding-left: 1.2em; }
.lg li { margin-bottom: .4em; }
.lg a { color: var(--mahy); }
.lg-id { display: grid; grid-template-columns: minmax(0, 15em) 1fr; gap: 6px 18px; background: var(--blanc); border-radius: 18px; padding: 20px 22px; margin: 0 0 1em; font-size: 15px; }
.lg-id dt { color: var(--gris); }
.lg-id dd { margin: 0; }
@media (max-width: 560px) { .lg-id { grid-template-columns: 1fr; } .lg-id dd { margin-bottom: 8px; } }
.lg-manque { color: #b26b00; }
.lg-date { color: var(--gris); font-size: 14px; margin-top: 2.4em !important; }
.contact__coord a { text-decoration: none; }
.contact__coord a:hover { text-decoration: underline; }

/* Fiche réalisation (champs ACF) — --client : couleur du client */
.ag--fiche, .ag-carte { --client: var(--mahy); }
.ag-fiche__types { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.ag-fiche__types span { font: 600 12px/1 var(--f-texte); letter-spacing: .03em; padding: 7px 12px; border-radius: 99px; color: #fff; background: var(--client); }
.ag-fiche__btn { background: var(--client); border-color: var(--client); }
.ag-fiche__btn:hover { background: var(--encre); border-color: var(--encre); }
.ag-fiche__image--ecran { position: relative; }
.ag-fiche__image--ecran img { border-radius: 0 0 18px 18px; }
.ag-fiche__barre { display: flex; align-items: center; gap: 7px; height: 38px; padding: 0 16px; background: #e9e9ee; border-radius: 18px 18px 0 0; box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .35); }
.ag-fiche__barre i { width: 11px; height: 11px; border-radius: 50%; background: #ff5f57; }
.ag-fiche__barre i:nth-child(2) { background: #febc2e; }
.ag-fiche__barre i:nth-child(3) { background: #28c840; }
.ag-fiche__barre b { flex: 1; text-align: center; font: 500 12px/1 var(--f-texte); color: var(--gris); margin-right: 50px; }
.ag-fiche__image--ecran img { box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .35); }
.ag-fiche__corps { max-width: 1080px; margin: 0 auto; padding: 0 max(22px, var(--gxr)) clamp(40px, 5vw, 72px) max(22px, var(--gx)); display: grid; gap: 22px; }
@media (min-width: 900px) { .ag-fiche__corps { grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); } .ag-fiche__corps > .ag-texte { grid-column: 1 / -1; } }
.ag-fiche__bloc { background: var(--blanc); border-radius: 24px; padding: clamp(24px, 3vw, 40px); box-shadow: 0 0 0 1px rgba(0, 0, 0, .05); }
.ag-fiche__titre { font-size: clamp(24px, 2.6vw, 32px); margin-bottom: 14px; }
.ag-fiche__titre::before { content: ""; display: block; width: 36px; height: 4px; border-radius: 4px; background: var(--client); margin-bottom: 14px; }
.ag-fiche__texte { font-size: 17px; line-height: 1.65; color: #3a3a3c; }
.ag-fiche__texte :where(p, ul, ol) { margin: 0 0 1em; }
.ag-fiche__texte :last-child { margin-bottom: 0; }
.ag-fiche__texte a { color: var(--mahy); }
.ag-fiche__texte img { border-radius: 12px; height: auto; }
.ag-texte--fiche { padding-bottom: 0; }
.ag-fiche__visuels { max-width: 1080px; margin: 0 auto; padding: 0 max(22px, var(--gxr)) clamp(48px, 6vw, 88px) max(22px, var(--gx)); display: grid; gap: 22px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); align-items: center; }
.ag-fiche__visuel { margin: 0; background: var(--blanc); border-radius: 24px; overflow: hidden; box-shadow: 0 0 0 1px rgba(0, 0, 0, .05); }
.ag-fiche__visuel img { width: 100%; height: auto; display: block; }
.ag-fiche__visuel--mobile { max-width: 300px; justify-self: center; border-radius: 36px; border: 8px solid #1d1d1f; }
.ag-fiche__video { max-width: 960px; margin: 0 auto; padding: 0 max(22px, var(--gxr)) clamp(48px, 6vw, 88px) max(22px, var(--gx)); text-align: center; }
.ag-fiche__lecteur { position: relative; aspect-ratio: 16 / 9; border-radius: 20px; overflow: hidden; background: #000; }
.ag-fiche__lecteur iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ag-carte__secteur { line-height: 1.45; }
