/*
Theme Name: JagMar Agence Web
Theme URI: https://jagmar-agenceweb.fr/
Author: JagMar
Author URI: https://jagmar-agenceweb.fr/
Description: Thème WordPress complet pour JagMar, agence web & studio graphique à Nice. Design éditorial haute-contraste (ink + paper + tangerine "Flare"), services en custom post type, blog, contact et demande de devis. Inclut un importateur "Créer le site JagMar" qui génère automatiquement toutes les pages et contenus.
Version: 1.0.0
Requires at least: 5.8
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jagmar
Tags: agency, portfolio, business, custom-colors, custom-menu, featured-images, full-width-template, blog, translation-ready
*/

/* ============================================================
   JAGMAR — DESIGN TOKENS
   ============================================================ */
:root {
  /* Ink (warm near-black) */
  --ink-900:#14110F; --ink-800:#211C18; --ink-700:#342C26; --ink-600:#4D423A;
  --ink-500:#6E6157; --ink-400:#948578; --ink-300:#B7A99B; --ink-200:#D6CABB; --ink-100:#E8DECF;
  /* Paper (warm off-white) */
  --paper-0:#FCFAF5; --paper-100:#F6F1E7; --paper-200:#EDE6D8; --paper-300:#E1D8C6; --paper-400:#D2C6B0;
  /* Flare (signature tangerine) */
  --flare-700:#B82E06; --flare-600:#E03A0A; --flare-500:#FF4D17; --flare-400:#FF7544;
  --flare-300:#FF9D78; --flare-200:#FFC8AE; --flare-100:#FFE5D7;
  /* Marine (cool support) */
  --marine-700:#0E2A47; --marine-500:#1C5C9E; --marine-300:#5E96CF; --marine-100:#D6E6F4;
  /* Semantic */
  --green-500:#2E8056; --amber-500:#C98A11; --red-500:#C7361F; --white:#FFFFFF;

  --font-display:'Archivo','Arial Narrow',sans-serif;
  --font-sans:'Hanken Grotesk',system-ui,sans-serif;
  --font-mono:'Space Mono',ui-monospace,monospace;

  --radius-lg:20px; --radius-md:12px; --radius-sm:6px; --radius-pill:999px;
  --shadow-hard:5px 5px 0 var(--ink-900);
  --ease-out:cubic-bezier(0.22,1,0.36,1);
  --container:1240px; --container-narrow:820px;
  --gutter:clamp(18px,4vw,56px);
}

/* ============================================================
   BASE / RESET
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--paper-100);color:var(--ink-900);
  font-family:var(--font-sans);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--flare-500);color:var(--ink-900);}
.jm-container{max-width:var(--container);margin:0 auto;}
.jm-narrow{max-width:var(--container-narrow);margin:0 auto;}
.jm-screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}

/* ============================================================
   KICKER / EYEBROW
   ============================================================ */
.jm-kicker{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-mono);font-size:12px;font-weight:700;
  letter-spacing:0.18em;text-transform:uppercase;color:var(--flare-600);
}
.jm-kicker--light{color:var(--flare-400);}

/* ============================================================
   BUTTONS
   ============================================================ */
.jm-btn{
  display:inline-flex;align-items:center;gap:10px;cursor:pointer;
  font-family:var(--font-sans);font-weight:700;font-size:15px;
  padding:13px 24px;border-radius:var(--radius-pill);white-space:nowrap;
  border:2.5px solid var(--ink-900);background:var(--paper-0);color:var(--ink-900);
  transition:transform 120ms var(--ease-out),box-shadow 120ms var(--ease-out),background 120ms;
}
.jm-btn .jm-arrow{font-weight:900;}
.jm-btn--lg{font-size:17px;padding:16px 30px;}
.jm-btn--flare{background:var(--flare-500);color:var(--ink-900);border-color:var(--ink-900);}
.jm-btn--flare:hover{transform:translate(-3px,-3px);box-shadow:5px 5px 0 var(--flare-700);}
.jm-btn--ink{background:var(--ink-900);color:var(--paper-0);border-color:var(--ink-900);}
.jm-btn--ink:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--flare-500);}
.jm-btn--ghost{background:transparent;color:var(--paper-0);border-color:var(--paper-0);}
.jm-btn--ghost:hover{transform:translate(-3px,-3px);box-shadow:5px 5px 0 var(--flare-500);}
.jm-btn--block{width:100%;justify-content:center;}

/* ============================================================
   HEADER
   ============================================================ */
.jm-header{position:sticky;top:0;z-index:60;background:var(--ink-900);border-bottom:1.5px solid var(--ink-700);}
.jm-header__inner{
  max-width:var(--container);margin:0 auto;display:flex;align-items:center;justify-content:space-between;
  gap:24px;padding:13px var(--gutter);
}
.jm-logo{display:flex;align-items:center;gap:11px;flex:none;}
.jm-logo img{width:36px;height:36px;}
.jm-logo__word{
  font-family:var(--font-display);font-weight:900;font-size:23px;letter-spacing:-0.02em;
  text-transform:uppercase;color:var(--paper-0);
}
.jm-logo__word .dot{color:var(--flare-500);}
.jm-nav{display:flex;align-items:center;gap:2px;}
.jm-nav__link{
  background:none;border:none;cursor:pointer;font-family:var(--font-mono);font-size:12px;font-weight:700;
  letter-spacing:0.07em;text-transform:uppercase;padding:9px 13px;color:var(--ink-300);transition:color 120ms;
}
.jm-nav__link:hover{color:var(--paper-0);}
.jm-nav__link.current{color:var(--flare-400);}
.jm-nav__cta{
  margin-left:14px;background:var(--flare-500);color:var(--ink-900);border:2.5px solid var(--paper-0);
  border-radius:var(--radius-pill);cursor:pointer;font-family:var(--font-sans);font-weight:700;font-size:13px;
  padding:9px 18px;display:inline-flex;align-items:center;gap:8px;
  transition:transform 120ms var(--ease-out),box-shadow 120ms var(--ease-out),background 120ms;
}
.jm-nav__cta:hover{transform:translate(-2px,-2px);box-shadow:3px 3px 0 var(--flare-500);background:var(--flare-400);}
.jm-burger{display:none;background:none;border:1.5px solid var(--ink-600);border-radius:8px;cursor:pointer;color:var(--paper-0);font-size:20px;line-height:1;padding:7px 11px;}
.jm-mobile-menu{display:none;border-top:1.5px solid var(--ink-700);padding:10px var(--gutter) 18px;flex-direction:column;gap:2px;}
.jm-mobile-menu.open{display:flex;}
.jm-mobile-menu a{font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:0.07em;text-transform:uppercase;padding:12px 4px;color:var(--ink-300);border-bottom:1px solid var(--ink-800);}
.jm-mobile-menu a.current{color:var(--flare-400);}
.jm-mobile-menu .jm-mobile-cta{margin-top:12px;background:var(--flare-500);color:var(--ink-900);border:2.5px solid var(--ink-900);border-radius:var(--radius-pill);font-weight:700;font-size:14px;padding:12px 18px;text-align:center;font-family:var(--font-sans);}

@media (max-width:880px){
  .jm-nav{display:none;}
  .jm-burger{display:block;}
}

/* ============================================================
   SECTIONS
   ============================================================ */
.jm-section{padding:clamp(56px,8vw,110px) var(--gutter);}
.jm-section--ink{background:var(--ink-900);color:var(--paper-0);}
.jm-section--paper0{background:var(--paper-0);}
.jm-section--paper{background:var(--paper-100);}
.jm-section--flare{background:var(--flare-500);}
.jm-section--border-top{border-top:2.5px solid var(--ink-900);}

/* Headings */
.jm-h1{font-family:var(--font-display);font-weight:900;font-size:clamp(2.5rem,7vw,5.75rem);line-height:0.96;letter-spacing:-0.03em;text-transform:uppercase;margin:24px 0 0;}
.jm-h2{font-family:var(--font-display);font-weight:900;font-size:clamp(2rem,5vw,3.75rem);line-height:0.96;letter-spacing:-0.03em;text-transform:uppercase;margin:16px 0 0;}
.jm-lede{font-family:var(--font-sans);font-size:clamp(1.05rem,2vw,1.32rem);line-height:1.6;color:var(--ink-600);max-width:54ch;margin:26px 0 0;}
.jm-section--ink .jm-lede{color:var(--ink-300);}
.jm-highlight{display:inline-block;color:var(--ink-900);background:var(--flare-500);padding:0.04em 0.16em;margin-top:0.12em;line-height:0.92;}

/* ============================================================
   HERO
   ============================================================ */
.jm-hero{background:var(--ink-900);color:var(--paper-0);padding:clamp(40px,5.5vw,72px) var(--gutter) clamp(36px,4vw,52px);position:relative;overflow:hidden;}
.jm-hero__texture{position:absolute;inset:0;z-index:1;pointer-events:none;background-image:radial-gradient(circle at 1px 1px, rgba(252,250,245,0.06) 1px, transparent 0);background-size:26px 26px;}
.jm-hero__glow{position:absolute;top:-12%;right:-6%;width:min(46vw,560px);height:min(46vw,560px);z-index:1;pointer-events:none;border-radius:999px;background:radial-gradient(circle, rgba(255,77,23,0.16) 0%, rgba(255,77,23,0.05) 42%, transparent 68%);filter:blur(8px);}
#jm-hero-rotator{display:inline-block;transform-origin:left center;transition:transform 360ms cubic-bezier(.2,.7,.2,1),opacity 360ms cubic-bezier(.2,.7,.2,1);}
@media (prefers-reduced-motion: reduce){#jm-hero-rotator{transition:none;}}
.jm-hero__inner{max-width:var(--container);margin:0 auto;position:relative;z-index:2;}
.jm-hero .jm-h1{max-width:22ch;margin-top:16px;}
.jm-hero__h1-eyebrow{display:block;font-family:var(--font-display);font-weight:800;font-size:clamp(1.1rem,2.2vw,1.55rem);letter-spacing:0.01em;text-transform:uppercase;color:var(--flare-400);margin-bottom:10px;}
.jm-hero__h1-main{display:block;font-size:clamp(2.1rem,4.8vw,4rem);line-height:0.98;}
.jm-hero .jm-lede{color:var(--ink-300);margin-top:24px;max-width:56ch;}
.jm-hero__actions{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap;}
.jm-hero__stats{display:flex;gap:clamp(22px,5vw,64px);margin-top:34px;flex-wrap:wrap;border-top:1.5px solid var(--ink-700);padding-top:26px;}
.jm-stat__value{font-family:var(--font-display);font-weight:900;font-size:clamp(2.1rem,4vw,3rem);line-height:0.92;letter-spacing:-0.03em;color:var(--paper-0);}
.jm-stat__value.flare{color:var(--flare-500);}
.jm-stat__label{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-400);margin-top:8px;}

/* ============================================================
   MARQUEE
   ============================================================ */
@keyframes jm-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.jm-marquee{background:var(--flare-500);border-top:2.5px solid var(--ink-900);border-bottom:2.5px solid var(--ink-900);overflow:hidden;padding:14px 0;}
.jm-marquee__track{display:flex;white-space:nowrap;width:max-content;animation:jm-marquee 28s linear infinite;}
.jm-marquee__item{display:inline-flex;align-items:center;gap:20px;padding-right:20px;font-family:var(--font-display);font-weight:800;font-size:22px;text-transform:uppercase;letter-spacing:-0.01em;color:var(--ink-900);}

/* ============================================================
   SECTION HEADER (title + cta row)
   ============================================================ */
.jm-section-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;}
.jm-section-head .jm-h2{max-width:13ch;}

/* ============================================================
   SERVICE CARDS (home grid)
   ============================================================ */
.jm-grid{display:grid;gap:20px;margin-top:48px;}
.jm-grid--services{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));}
.jm-grid--3{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));}
.jm-service-card{
  background:var(--paper-0);border:2.5px solid var(--ink-900);border-radius:var(--radius-lg);padding:28px;
  cursor:pointer;display:flex;flex-direction:column;
  transition:transform 220ms var(--ease-out),box-shadow 220ms var(--ease-out);
}
.jm-service-card:hover{transform:translate(-4px,-4px);box-shadow:6px 6px 0 var(--ink-900);}
.jm-service-card__top{display:flex;justify-content:space-between;align-items:flex-start;}
.jm-service-card__num{font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:0.1em;color:var(--flare-600);}
.jm-service-card__arrow{font-weight:900;font-size:18px;color:var(--ink-300);}
.jm-service-card h3{font-family:var(--font-display);font-weight:800;font-size:24px;text-transform:uppercase;letter-spacing:-0.02em;margin:18px 0 0;}
.jm-service-card p{font-family:var(--font-sans);font-size:15px;line-height:1.6;color:var(--ink-600);margin:12px 0 18px;}
.jm-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;}
.jm-tag{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;background:var(--paper-200);color:var(--ink-800);padding:4px 10px;border-radius:var(--radius-pill);}
.jm-tag--flare{background:var(--flare-500);color:var(--ink-900);}

/* ============================================================
   METHOD / PROCESS
   ============================================================ */
.jm-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));border-top:1.5px solid var(--ink-700);margin-top:8px;}
.jm-step{padding:30px 26px 30px 0;border-right:1.5px solid var(--ink-700);}
.jm-step__n{font-family:var(--font-display);font-weight:900;font-size:54px;line-height:1;color:var(--flare-500);letter-spacing:-0.03em;}
.jm-step h3{font-family:var(--font-display);font-weight:800;font-size:21px;text-transform:uppercase;letter-spacing:-0.01em;margin:18px 0 8px;}
.jm-step p{font-family:var(--font-sans);font-size:14px;line-height:1.6;color:var(--ink-300);margin:0;}

/* ============================================================
   WORK / REALISATIONS
   ============================================================ */
.jm-work-card{border:2.5px solid var(--ink-900);border-radius:var(--radius-lg);overflow:hidden;background:var(--paper-0);transition:transform 220ms var(--ease-out),box-shadow 220ms var(--ease-out);}
.jm-work-card:hover{transform:translate(-4px,-4px);box-shadow:6px 6px 0 var(--ink-900);}
.jm-work-card__head{height:188px;display:flex;flex-direction:column;justify-content:space-between;padding:22px;}
.jm-work-card__cat{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;opacity:0.85;}
.jm-work-card__result{font-family:var(--font-display);font-weight:900;font-size:30px;line-height:0.95;text-transform:uppercase;letter-spacing:-0.02em;}
.jm-work-card__foot{padding:18px 22px;display:flex;justify-content:space-between;align-items:center;gap:12px;}
.jm-work-card__foot>div{display:flex;flex-direction:column;}
.jm-work-card__client{font-family:var(--font-sans);font-weight:700;font-size:17px;}
.jm-work-card__url{font-family:var(--font-mono);font-size:11px;color:var(--ink-400);}

/* ============================================================
   WHY US
   ============================================================ */
.jm-why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:36px;margin-top:34px;}
.jm-why{border-top:3px solid var(--ink-900);padding-top:22px;}
.jm-why h3{font-family:var(--font-display);font-weight:900;font-size:26px;text-transform:uppercase;letter-spacing:-0.02em;margin:0 0 12px;}
.jm-why p{font-family:var(--font-sans);font-size:16px;line-height:1.65;color:var(--ink-600);margin:0;}

/* ============================================================
   CTA BAND
   ============================================================ */
.jm-cta-band{background:var(--flare-500);padding:clamp(56px,8vw,100px) var(--gutter);border-top:2.5px solid var(--ink-900);}
.jm-cta-band__inner{max-width:1040px;margin:0 auto;text-align:center;}
.jm-cta-band .jm-h2{margin:18px auto 22px;color:var(--ink-900);max-width:18ch;font-size:clamp(2.4rem,6.5vw,5rem);line-height:0.92;}
.jm-cta-band .jm-kicker{color:var(--ink-900);}
.jm-cta-band p{font-family:var(--font-sans);font-size:17px;line-height:1.6;color:var(--ink-900);max-width:48ch;margin:0 auto 30px;opacity:0.78;}

/* ============================================================
   SERVICES LIST (overview page)
   ============================================================ */
.jm-page-hero{background:var(--ink-900);color:var(--paper-0);padding:clamp(48px,7vw,90px) var(--gutter) clamp(40px,5vw,60px);}
.jm-page-hero__inner{max-width:var(--container);margin:0 auto;}
.jm-page-hero .jm-h1{font-size:clamp(2.6rem,7vw,5.5rem);line-height:0.9;max-width:16ch;}
.jm-page-hero .jm-lede{color:var(--ink-300);}

.jm-service-list{max-width:var(--container);margin:0 auto;display:flex;flex-direction:column;border-top:2px solid var(--ink-900);}
.jm-service-row{display:grid;grid-template-columns:90px 1fr auto;gap:clamp(16px,3vw,48px);align-items:center;padding:clamp(24px,3vw,40px) 8px;border-bottom:2px solid var(--ink-900);cursor:pointer;transition:background 160ms,padding-left 220ms var(--ease-out);}
.jm-service-row:hover{background:var(--paper-0);padding-left:20px;}
.jm-service-row__num{font-family:var(--font-display);font-weight:900;font-size:clamp(2rem,4vw,3.2rem);line-height:1;color:var(--flare-500);letter-spacing:-0.03em;}
.jm-service-row h2{font-family:var(--font-display);font-weight:900;font-size:clamp(1.5rem,3.5vw,2.4rem);text-transform:uppercase;letter-spacing:-0.02em;margin:0 0 8px;}
.jm-service-row p{font-family:var(--font-sans);font-size:16px;line-height:1.55;color:var(--ink-600);margin:0;max-width:60ch;}
.jm-service-row__arrow{font-family:var(--font-display);font-weight:900;font-size:30px;color:var(--ink-900);justify-self:end;}

/* ============================================================
   SERVICE DETAIL
   ============================================================ */
.jm-back{background:none;border:none;cursor:pointer;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-300);padding:0;margin-bottom:26px;display:inline-block;}
.jm-detail-hero .jm-h1{font-size:clamp(2.4rem,6.5vw,5rem);line-height:0.92;max-width:18ch;margin-top:20px;}
.jm-detail-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px;}
.jm-blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;}
.jm-block{background:var(--paper-0);border:2.5px solid var(--ink-900);border-radius:var(--radius-lg);padding:30px;}
.jm-block__n{font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:0.1em;color:var(--flare-600);}
.jm-block h3{font-family:var(--font-display);font-weight:800;font-size:23px;text-transform:uppercase;letter-spacing:-0.02em;margin:14px 0 12px;}
.jm-block p{font-family:var(--font-sans);font-size:15.5px;line-height:1.65;color:var(--ink-600);margin:0;}
.jm-related{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:24px;}
.jm-related-card{background:var(--paper-100);border:2.5px solid var(--ink-900);border-radius:16px;padding:22px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;transition:transform 180ms var(--ease-out),box-shadow 180ms var(--ease-out);}
.jm-related-card:hover{transform:translate(-3px,-3px);box-shadow:5px 5px 0 var(--ink-900);}
.jm-related-card span:first-child{font-family:var(--font-display);font-weight:800;font-size:19px;text-transform:uppercase;letter-spacing:-0.01em;}

/* ============================================================
   AGENCE / TEAM
   ============================================================ */
.jm-domains{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:26px;}
.jm-domain{background:var(--paper-0);border:2.5px solid var(--ink-900);border-radius:var(--radius-lg);padding:30px;}
.jm-domain h2{font-family:var(--font-display);font-weight:900;font-size:22px;text-transform:uppercase;letter-spacing:-0.02em;margin:0 0 18px;}
.jm-domain ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.jm-domain li{display:flex;gap:11px;align-items:flex-start;font-family:var(--font-sans);font-size:15px;line-height:1.5;color:var(--ink-700);}
.jm-domain li::before{content:"/";color:var(--flare-600);font-weight:900;}
.jm-team{display:grid;grid-template-columns:repeat(2,minmax(0,330px));gap:22px;}
.jm-member{border:2.5px solid var(--ink-900);border-radius:var(--radius-lg);overflow:hidden;background:var(--paper-0);}
.jm-member__photo{aspect-ratio:1/1;overflow:hidden;}
.jm-member__photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.04);}
.jm-member__body{padding:22px;border-top:2.5px solid var(--ink-900);}
.jm-member__body h3{font-family:var(--font-display);font-weight:900;font-size:24px;text-transform:uppercase;letter-spacing:-0.02em;margin:0;}
.jm-member__role{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--flare-600);margin:6px 0 12px;}
.jm-member__body p{font-family:var(--font-sans);font-size:14.5px;line-height:1.6;color:var(--ink-600);margin:0;}
.jm-quote{max-width:1040px;margin:0 auto;}
.jm-quote h2{font-family:var(--font-display);font-weight:900;font-size:clamp(1.8rem,4.5vw,3rem);line-height:1.05;letter-spacing:-0.03em;text-transform:uppercase;margin:0;max-width:24ch;}
.jm-quote p{font-family:var(--font-sans);font-size:17px;line-height:1.65;color:var(--ink-300);max-width:60ch;margin:28px 0 0;}

/* Testimonials (avis clients) */
.jm-tcard{margin:0;background:var(--paper-0);border:2.5px solid var(--ink-900);border-radius:var(--radius-lg);padding:30px;display:flex;flex-direction:column;gap:20px;}
.jm-tcard__stars{color:var(--flare-500);font-size:18px;letter-spacing:2px;}
.jm-tcard__quote{margin:0;font-family:var(--font-display);font-weight:500;font-size:clamp(1.15rem,2.2vw,1.35rem);line-height:1.18;letter-spacing:-0.01em;color:var(--ink-900);}
.jm-tcard__by{display:flex;align-items:center;gap:12px;margin-top:auto;}
.jm-tcard__avatar{width:44px;height:44px;flex:none;border-radius:999px;border:2px solid var(--ink-900);background:var(--flare-100);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:900;color:var(--flare-700);}
.jm-tcard__id{display:flex;flex-direction:column;}
.jm-tcard__name{font-family:var(--font-sans);font-weight:700;font-size:14px;}
.jm-tcard__role{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:var(--ink-400);}

/* Pricing (repères tarifaires) */
.jm-price{border:1.5px solid var(--ink-700);border-radius:var(--radius-lg);padding:28px;display:flex;flex-direction:column;}
.jm-price__t{font-family:var(--font-display);font-weight:800;font-size:20px;text-transform:uppercase;letter-spacing:-0.02em;margin:0;}
.jm-price__p{font-family:var(--font-display);font-weight:900;font-size:clamp(1.8rem,3.5vw,2.4rem);letter-spacing:-0.03em;color:var(--flare-500);margin:16px 0 14px;}
.jm-price__d{font-family:var(--font-sans);font-size:14.5px;line-height:1.6;color:var(--ink-300);margin:0;}
.jm-price__note{font-family:var(--font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-400);margin:26px 0 0;}

/* ============================================================
   BLOG
   ============================================================ */
.jm-featured{display:grid;grid-template-columns:0.85fr 1.15fr;gap:0;border:2.5px solid var(--ink-900);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:40px;background:var(--paper-0);transition:transform 220ms var(--ease-out),box-shadow 220ms var(--ease-out);}
.jm-featured:hover{transform:translate(-4px,-4px);box-shadow:7px 7px 0 var(--ink-900);}
.jm-featured__art{min-height:240px;display:flex;flex-direction:column;justify-content:space-between;padding:28px;}
.jm-featured__art .cat{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-900);}
.jm-featured__art .num{font-family:var(--font-display);font-weight:900;font-size:clamp(4rem,9vw,7rem);line-height:0.8;color:var(--ink-900);letter-spacing:-0.04em;}
.jm-featured__body{padding:clamp(26px,3vw,42px);display:flex;flex-direction:column;justify-content:center;}
.jm-featured__body .date{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-400);}
.jm-featured__body h2{font-family:var(--font-display);font-weight:900;font-size:clamp(1.6rem,3.5vw,2.6rem);line-height:1;text-transform:uppercase;letter-spacing:-0.02em;margin:14px 0;}
.jm-featured__body p{font-family:var(--font-sans);font-size:16px;line-height:1.6;color:var(--ink-600);margin:0 0 18px;max-width:52ch;}
.jm-read{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--flare-700);}

.jm-posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;}
.jm-post-card{background:var(--paper-0);border:2.5px solid var(--ink-900);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:transform 200ms var(--ease-out),box-shadow 200ms var(--ease-out);}
.jm-post-card:hover{transform:translate(-4px,-4px);box-shadow:6px 6px 0 var(--ink-900);}
.jm-post-card__head{height:120px;display:flex;align-items:flex-end;justify-content:space-between;padding:16px;}
.jm-post-card__head .cat{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;}
.jm-post-card__head .num{font-family:var(--font-display);font-weight:900;font-size:40px;line-height:0.8;opacity:0.5;}
.jm-post-card__body{padding:20px;display:flex;flex-direction:column;flex:1;border-top:2.5px solid var(--ink-900);}
.jm-post-card__body .date{font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;color:var(--ink-400);}
.jm-post-card__body h3{font-family:var(--font-display);font-weight:800;font-size:19px;line-height:1.05;text-transform:uppercase;letter-spacing:-0.01em;margin:10px 0 0;}
.jm-post-card__body .jm-read{margin-top:16px;}

/* Featured image fills card head if present */
.jm-card-img{width:100%;height:100%;object-fit:cover;}

/* ============================================================
   ARTICLE
   ============================================================ */
.jm-article-hero{background:var(--ink-900);color:var(--paper-0);padding:clamp(48px,7vw,84px) var(--gutter) clamp(40px,5vw,60px);}
.jm-article-hero__inner{max-width:820px;margin:0 auto;}
.jm-article-meta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--flare-400);}
.jm-article-meta .sep{color:var(--ink-500);}
.jm-article-meta .date{color:var(--ink-400);}
.jm-article-hero h1{font-family:var(--font-display);font-weight:900;font-size:clamp(2rem,5.5vw,4rem);line-height:0.95;letter-spacing:-0.03em;text-transform:uppercase;margin:18px 0 0;}
.jm-article-body{background:var(--paper-0);padding:clamp(48px,7vw,84px) var(--gutter) clamp(56px,8vw,100px);}
.jm-article-body__inner{max-width:720px;margin:0 auto;}
.jm-article-lede{font-family:var(--font-sans);font-size:clamp(1.15rem,2.2vw,1.4rem);line-height:1.6;color:var(--ink-800);margin:0 0 40px;font-weight:500;}
.jm-article-body__inner h2{font-family:var(--font-display);font-weight:900;font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.05;text-transform:uppercase;letter-spacing:-0.02em;margin:40px 0 14px;}
.jm-article-body__inner h3{font-family:var(--font-display);font-weight:800;font-size:1.3rem;text-transform:uppercase;letter-spacing:-0.01em;margin:32px 0 12px;}
.jm-article-body__inner p{font-family:var(--font-sans);font-size:17px;line-height:1.7;color:var(--ink-700);margin:0 0 16px;}
.jm-article-body__inner ul,.jm-article-body__inner ol{font-size:17px;line-height:1.7;color:var(--ink-700);}
.jm-article-body__inner a{color:var(--flare-700);text-decoration:underline;}
.jm-article-body__inner blockquote{border-left:3px solid var(--flare-500);margin:24px 0;padding:4px 0 4px 20px;font-style:italic;color:var(--ink-800);}
.jm-article-foot{margin-top:48px;padding-top:28px;border-top:2.5px solid var(--ink-900);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
.jm-article-foot span{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-500);}

/* ============================================================
   FORMS (contact + devis)
   ============================================================ */
.jm-form-split{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:0.9fr 1.1fr;gap:clamp(28px,5vw,56px);align-items:start;}
.jm-contact-info{display:flex;flex-direction:column;gap:18px;margin-top:32px;}
.jm-contact-info .row{border-top:2px solid var(--ink-900);padding-top:14px;}
.jm-contact-info .label{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-400);}
.jm-contact-info .val{font-family:var(--font-sans);font-size:18px;font-weight:600;margin-top:4px;}
.jm-form-card{background:var(--paper-0);border:2.5px solid var(--ink-900);border-radius:var(--radius-lg);box-shadow:7px 7px 0 var(--ink-900);padding:clamp(24px,3vw,36px);}
.jm-form-card--wide{max-width:820px;margin:0 auto;box-shadow:8px 8px 0 var(--ink-900);padding:clamp(24px,4vw,44px);}
.jm-form{display:flex;flex-direction:column;gap:16px;}
.jm-form--devis{gap:22px;}
.jm-field{display:flex;flex-direction:column;gap:7px;}
.jm-field label,.jm-field-label{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-600);}
.jm-field input,.jm-field textarea{width:100%;font-family:var(--font-sans);font-size:16px;color:var(--ink-900);background:var(--paper-0);border:2px solid var(--paper-400);border-radius:6px;padding:12px 14px;outline:none;transition:border-color 120ms,box-shadow 120ms;}
.jm-field input:focus,.jm-field textarea:focus{border-color:var(--ink-900);box-shadow:3px 3px 0 var(--ink-900);}
.jm-field textarea{resize:vertical;}
.jm-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.jm-row2--devis{gap:16px;}
.jm-chips{display:flex;gap:10px;flex-wrap:wrap;}
.jm-chip{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;padding:10px 16px;border-radius:var(--radius-pill);cursor:pointer;border:2px solid var(--ink-900);background:var(--paper-0);color:var(--ink-900);transition:transform 120ms var(--ease-out),background 120ms;}
.jm-chip:hover{transform:translate(-1px,-1px);}
.jm-chip.selected{background:var(--ink-900);color:var(--paper-0);}
.jm-chip--flare.selected{background:var(--flare-500);color:var(--ink-900);}
.jm-fineprint{font-family:var(--font-mono);font-size:10.5px;letter-spacing:0.04em;color:var(--ink-400);text-align:center;margin:0;}
.jm-form-success{text-align:center;padding:42px 0;}
.jm-form-success__title{font-family:var(--font-display);font-weight:900;font-size:40px;text-transform:uppercase;color:var(--ink-900);letter-spacing:-0.02em;}
.jm-form-success p{font-family:var(--font-sans);color:var(--ink-600);margin-top:12px;max-width:40ch;margin-left:auto;margin-right:auto;}
.jm-form-error{background:var(--red-500);color:#fff;font-family:var(--font-sans);font-weight:600;font-size:14px;padding:12px 16px;border-radius:8px;}

/* ============================================================
   FOOTER
   ============================================================ */
.jm-footer{background:var(--ink-900);color:var(--paper-0);padding:clamp(48px,6vw,80px) var(--gutter) 34px;}
.jm-footer__inner{max-width:var(--container);margin:0 auto;}
.jm-footer__top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:36px;border-bottom:1.5px solid var(--ink-700);padding-bottom:42px;}
.jm-footer__brand{max-width:360px;}
.jm-footer__brand .jm-logo__word{font-size:27px;}
.jm-footer__brand p{font-family:var(--font-sans);font-size:15px;line-height:1.6;color:var(--ink-300);margin-top:18px;}
.jm-footer__cols{display:flex;gap:clamp(32px,5vw,72px);flex-wrap:wrap;}
.jm-footer__col h4{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--flare-400);margin:0 0 16px;}
.jm-footer__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.jm-footer__col a,.jm-footer__col span{font-family:var(--font-sans);font-size:15px;color:var(--ink-200);}
.jm-footer__col a:hover{color:var(--flare-400);}
.jm-footer__bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:24px;font-family:var(--font-mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-400);}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:860px){
  .jm-form-split{grid-template-columns:1fr;}
  .jm-featured{grid-template-columns:1fr;}
  .jm-team{grid-template-columns:1fr;}
  .jm-service-row{grid-template-columns:60px 1fr;}
  .jm-service-row__arrow{display:none;}
  .jm-row2{grid-template-columns:1fr;}
}

/* ============================================================
   HERO TRUST LINE (credibility)
   ============================================================ */
.jm-trust{display:flex;align-items:center;gap:14px;margin-top:24px;flex-wrap:wrap;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-400);}
.jm-trust__stars{color:var(--flare-400);letter-spacing:0.1em;}

/* ============================================================
   SEO LOCAL (Nice / Côte d'Azur)
   ============================================================ */
.jm-local{display:grid;grid-template-columns:1.1fr 0.9fr;gap:clamp(28px,5vw,64px);align-items:start;max-width:var(--container);margin:0 auto;}
.jm-local .jm-h2{font-size:clamp(2rem,5vw,3.5rem);max-width:16ch;}
.jm-local__intro{font-family:var(--font-sans);font-size:17px;line-height:1.65;color:var(--ink-300);max-width:52ch;margin:0 0 18px;}
.jm-local__panel{border:1.5px solid var(--ink-700);border-radius:var(--radius-lg);padding:clamp(24px,3vw,34px);}
.jm-local__panel-label{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--flare-400);margin-bottom:18px;}
.jm-zones{display:flex;flex-wrap:wrap;gap:9px;}
.jm-zone{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;border:1.5px solid var(--ink-600);color:var(--paper-0);padding:8px 14px;border-radius:var(--radius-pill);}
.jm-local__note{font-family:var(--font-sans);font-size:14.5px;line-height:1.6;color:var(--ink-400);margin:22px 0 0;border-top:1.5px solid var(--ink-700);padding-top:18px;}

/* ============================================================
   FAQ (accordion via <details>)
   ============================================================ */
.jm-faq{display:flex;flex-direction:column;border-top:2px solid var(--ink-900);max-width:920px;margin:36px 0 0;}
.jm-faq__item{border-bottom:2px solid var(--ink-900);}
.jm-faq__item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 4px;font-family:var(--font-display);font-weight:800;font-size:clamp(1.05rem,2.4vw,1.45rem);text-transform:uppercase;letter-spacing:-0.01em;color:var(--ink-900);}
.jm-faq__item summary::-webkit-details-marker{display:none;}
.jm-faq__item summary::after{content:"+";flex:none;font-family:var(--font-display);font-weight:900;font-size:30px;color:var(--flare-600);line-height:1;}
.jm-faq__item[open] summary::after{content:"\2013";}
.jm-faq__item p{font-family:var(--font-sans);font-size:16.5px;line-height:1.65;color:var(--ink-600);margin:0;padding:0 40px 26px 4px;max-width:64ch;}

/* ============================================================
   SERVICE DETAIL — problem / benefits / deliverables
   ============================================================ */
.jm-split{display:grid;grid-template-columns:0.8fr 1.2fr;gap:clamp(24px,5vw,56px);align-items:start;margin-bottom:clamp(40px,5vw,64px);}
.jm-split h2{font-family:var(--font-display);font-weight:900;font-size:clamp(1.6rem,3.5vw,2.4rem);line-height:1.02;text-transform:uppercase;letter-spacing:-0.02em;margin:14px 0 0;max-width:18ch;}
.jm-split__text{font-family:var(--font-sans);font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.6;color:var(--ink-700);margin:0;max-width:58ch;}
.jm-approach-label{display:block;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--flare-600);margin-bottom:24px;}
.jm-ben-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:clamp(28px,5vw,56px);align-items:start;max-width:var(--container);margin:0 auto;}
.jm-benefits{display:flex;flex-direction:column;gap:14px;}
.jm-benefit{display:flex;gap:14px;align-items:flex-start;font-family:var(--font-sans);font-size:17px;line-height:1.5;color:var(--ink-200);}
.jm-benefit::before{content:"\2192";color:var(--flare-500);font-weight:900;font-size:20px;line-height:1.2;}
.jm-deliverables{border:1.5px solid var(--ink-700);border-radius:var(--radius-lg);padding:clamp(24px,3vw,34px);}
.jm-deliverables__label{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--flare-400);margin-bottom:20px;}
.jm-deliverable{display:flex;gap:12px;align-items:center;font-family:var(--font-sans);font-size:15.5px;color:var(--paper-0);padding:13px 0;border-bottom:1.5px solid var(--ink-800);}
.jm-deliverable::before{content:"/";color:var(--flare-500);font-weight:900;}

/* ============================================================
   CASE STUDIES (réalisations détaillées)
   ============================================================ */
.jm-work-card__cta{flex:none;font-family:var(--font-display);font-weight:900;font-size:22px;line-height:1;color:var(--flare-600);}
.jm-case-hero{background:var(--ink-900);color:var(--paper-0);padding:clamp(48px,7vw,90px) var(--gutter) clamp(44px,6vw,72px);}
.jm-case-hero__inner{max-width:var(--container);margin:0 auto;}
.jm-case-hero h1{font-family:var(--font-display);font-weight:900;font-size:clamp(2.4rem,6vw,4.6rem);line-height:0.94;letter-spacing:-0.03em;text-transform:uppercase;margin:20px 0 0;max-width:18ch;}
.jm-case-tags{display:flex;align-items:center;gap:12px;margin-top:20px;font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;flex-wrap:wrap;}
.jm-case-tags .client{background:var(--flare-500);color:var(--ink-900);padding:6px 14px;border-radius:var(--radius-pill);}
.jm-case-tags .url{color:var(--ink-400);}
.jm-case-stats{display:flex;gap:clamp(22px,5vw,64px);margin-top:44px;flex-wrap:wrap;border-top:1.5px solid var(--ink-700);padding-top:32px;}
.jm-case-stat__v{font-family:var(--font-display);font-weight:900;font-size:clamp(2.2rem,5vw,3.4rem);line-height:0.92;letter-spacing:-0.03em;color:var(--flare-500);}
.jm-case-stat__l{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-400);margin-top:10px;}
.jm-case-body{max-width:920px;margin:0 auto;display:flex;flex-direction:column;gap:clamp(32px,4vw,48px);}
.jm-case-context{font-family:var(--font-sans);font-size:clamp(1.1rem,2.2vw,1.35rem);line-height:1.6;color:var(--ink-800);margin:14px 0 0;font-weight:500;}
.jm-case-2col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,32px);}
.jm-case-card{border:2.5px solid var(--ink-900);border-radius:var(--radius-lg);padding:30px;}
.jm-case-card--paper{background:var(--paper-0);}
.jm-case-card--ink{background:var(--ink-900);color:var(--paper-0);}
.jm-case-card__label{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--flare-600);}
.jm-case-card--ink .jm-case-card__label{color:var(--flare-400);}
.jm-case-card p{font-family:var(--font-sans);font-size:16px;line-height:1.65;color:var(--ink-700);margin:14px 0 0;}
.jm-case-card--ink p{color:var(--ink-200);}
.jm-case-work{display:flex;flex-direction:column;margin-top:18px;border-top:2px solid var(--ink-900);}
.jm-case-work__item{display:flex;gap:14px;align-items:center;font-family:var(--font-sans);font-size:16.5px;color:var(--ink-800);padding:15px 0;border-bottom:2px solid var(--ink-900);}
.jm-case-work__item::before{content:"/";color:var(--flare-600);font-weight:900;}
.jm-case-result{background:var(--flare-500);border:2.5px solid var(--ink-900);border-radius:var(--radius-lg);padding:clamp(26px,3vw,40px);}
.jm-case-result__label{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-900);}
.jm-case-result p{font-family:var(--font-display);font-weight:800;font-size:clamp(1.3rem,3vw,1.9rem);line-height:1.15;text-transform:uppercase;letter-spacing:-0.02em;color:var(--ink-900);margin:14px 0 0;}
.jm-cases-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px;max-width:var(--container);margin:0 auto;}

/* ============================================================
   RGPD consent checkbox
   ============================================================ */
.jm-consent{display:flex;gap:12px;align-items:flex-start;cursor:pointer;}
.jm-consent input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--flare-500);cursor:pointer;}
.jm-consent span{font-family:var(--font-sans);font-size:13px;line-height:1.55;color:var(--ink-500);}

/* ============================================================
   RESPONSIVE — new sections
   ============================================================ */
@media (max-width:860px){
  .jm-local{grid-template-columns:1fr;}
  .jm-split{grid-template-columns:1fr;}
  .jm-ben-grid{grid-template-columns:1fr;}
  .jm-case-2col{grid-template-columns:1fr;}
}

/* WordPress core alignment / caption helpers for editor content */
.alignleft{float:left;margin:6px 24px 12px 0;}
.alignright{float:right;margin:6px 0 12px 24px;}
.aligncenter{display:block;margin-left:auto;margin-right:auto;}
.wp-caption-text{font-family:var(--font-mono);font-size:12px;color:var(--ink-400);}
