/*
Theme Name: Negurah
Theme URI: https://negurah-studio.com
Author: A.S.A
Description: Theme sur mesure pour Negurah (Studio + Promotion + Communiques). Gravure ancienne, blackletter, sérigraphie or sur noir.
Version: 1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: negurah
*/

/* ============================================================
   FONTS (self-hosted, no third-party request, no consent needed)
   ============================================================ */
@font-face{font-family:'Pirata One';font-style:normal;font-weight:400;font-display:swap;
  src:url('assets/fonts/pirata-one-latin-ext-400-normal.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Pirata One';font-style:normal;font-weight:400;font-display:swap;
  src:url('assets/fonts/pirata-one-latin-400-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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:'EB Garamond';font-style:normal;font-weight:400;font-display:swap;
  src:url('assets/fonts/eb-garamond-latin-ext-400-normal.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400;font-display:swap;
  src:url('assets/fonts/eb-garamond-latin-400-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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:'EB Garamond';font-style:italic;font-weight:400;font-display:swap;
  src:url('assets/fonts/eb-garamond-latin-ext-400-italic.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:400;font-display:swap;
  src:url('assets/fonts/eb-garamond-latin-400-italic.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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:'EB Garamond';font-style:normal;font-weight:500;font-display:swap;
  src:url('assets/fonts/eb-garamond-latin-ext-500-normal.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:500;font-display:swap;
  src:url('assets/fonts/eb-garamond-latin-500-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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:'EB Garamond';font-style:italic;font-weight:500;font-display:swap;
  src:url('assets/fonts/eb-garamond-latin-ext-500-italic.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:500;font-display:swap;
  src:url('assets/fonts/eb-garamond-latin-500-italic.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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:'Cinzel';font-style:normal;font-weight:400;font-display:swap;
  src:url('assets/fonts/cinzel-latin-ext-400-normal.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Cinzel';font-style:normal;font-weight:400;font-display:swap;
  src:url('assets/fonts/cinzel-latin-400-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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:'Cinzel';font-style:normal;font-weight:600;font-display:swap;
  src:url('assets/fonts/cinzel-latin-ext-600-normal.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Cinzel';font-style:normal;font-weight:600;font-display:swap;
  src:url('assets/fonts/cinzel-latin-600-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* ============================================================
   TOKENS
   ============================================================ */
:root{
  --ink:#0A0A09;
  --ink-raised:#12110E;
  --gold:#C4A24C;
  --gold-bright:#E0C87C;
  --parchment:#E8E0C8;
  --muted:#8A8271;
  --rule:rgba(196,162,76,.32);
  --rule-faint:rgba(196,162,76,.14);

  --accent:var(--gold);
  --accent-bright:var(--gold-bright);
  --accent-rule:var(--rule);
  --accent-rule-faint:var(--rule-faint);

  --slate:#7E9CAA;
  --slate-bright:#AFC8D2;
  --bone:#9A9683;
  --bone-bright:#DCD8BC;

  --display:'Pirata One', cursive;
  --body:'EB Garamond', Georgia, serif;
  --utility:'Cinzel', serif;

  --col:900px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}

body{
  margin:0;
  background:var(--ink);
  color:var(--parchment);
  font-family:var(--body);
  font-size:19px;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:2;
  opacity:.35;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}

/* ============================================================
   FRAME
   ============================================================ */
.plate-frame{
  position:fixed;
  inset:18px;
  border:1px solid var(--rule);
  pointer-events:none;
  z-index:3;
}
.plate-frame::after{
  content:"";
  position:absolute;
  inset:5px;
  border:1px solid var(--rule-faint);
}
.corner{position:absolute;width:15px;height:15px;border:0 solid var(--gold);z-index:4;}
.corner.tl{top:-1px;left:-1px;border-top-width:2px;border-left-width:2px;}
.corner.tr{top:-1px;right:-1px;border-top-width:2px;border-right-width:2px;}
.corner.bl{bottom:-1px;left:-1px;border-bottom-width:2px;border-left-width:2px;}
.corner.br{bottom:-1px;right:-1px;border-bottom-width:2px;border-right-width:2px;}

/* ============================================================
   LAYOUT
   ============================================================ */
.shell{max-width:var(--col);margin:0 auto;padding:0 40px;position:relative;z-index:1;}

.sitenav{
  position:relative;
  z-index:5;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:2.2rem;
  padding:2.6rem 40px 0;
  font-family:var(--utility);
  font-size:.62rem;
  letter-spacing:.3em;
  text-transform:uppercase;
}
.sitenav a{color:var(--muted);border-bottom:none;padding-bottom:.35rem;}
.sitenav a:hover{color:var(--gold-bright);}
.sitenav a.is-current{color:var(--gold);border-bottom:1px solid var(--gold);}
.sitenav .lang{
  color:var(--muted);
  opacity:.65;
  padding-left:2.2rem;
  border-left:1px solid var(--rule-faint);
}
.sitenav .lang a{padding:0;}

.section{padding:5.5rem 0;border-top:1px solid var(--accent-rule-faint);}
.section.first{border-top:none;}

.accent-slate{
  --accent:var(--slate);
  --accent-bright:var(--slate-bright);
  --accent-rule:rgba(126,156,170,.34);
  --accent-rule-faint:rgba(126,156,170,.15);
}
.accent-bone{
  --accent:var(--bone);
  --accent-bright:var(--bone-bright);
  --accent-rule:rgba(154,150,131,.34);
  --accent-rule-faint:rgba(154,150,131,.15);
}

/* ============================================================
   TYPE
   ============================================================ */
p{margin:0 0 1.15rem;}
p:last-child{margin-bottom:0;}
a{color:var(--gold-bright);text-decoration:none;border-bottom:1px solid var(--rule);}
a:hover{color:var(--parchment);border-bottom-color:var(--gold-bright);}
a:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px;}
strong{color:var(--accent-bright);font-weight:500;}
em{font-style:italic;}

.eyebrow{
  font-family:var(--utility);
  font-size:.63rem;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:var(--accent);
  margin:0 0 1.5rem;
}

h2.section-head{
  font-family:var(--display);
  font-weight:400;
  font-size:clamp(2.1rem,5vw,3.1rem);
  line-height:1;
  color:var(--accent-bright);
  margin:0 0 .4rem;
  letter-spacing:.01em;
}

.lede{font-size:1.22rem;line-height:1.62;}

/* ============================================================
   HERO
   ============================================================ */
.hero{
  min-height:82vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:4rem 40px 5rem;
}
.hero.tall{min-height:94vh;padding-top:6rem;}
.hero.short{min-height:auto;padding:5rem 40px 3rem;}
.mark{width:104px;height:auto;margin-bottom:2rem;}
.mark.lg{width:118px;margin-bottom:2.2rem;}
.wordmark{
  font-family:var(--display);
  font-weight:400;
  font-size:clamp(3rem,9vw,5.6rem);
  line-height:.92;
  color:var(--parchment);
  margin:0;
  letter-spacing:.02em;
}
.wordmark.xl{font-size:clamp(3.4rem,10vw,6.4rem);}
.hero-rule{width:200px;height:1px;background:var(--rule);margin:2rem 0 1.6rem;position:relative;}
.hero-rule::after{
  content:"";position:absolute;left:50%;top:50%;
  width:5px;height:5px;transform:translate(-50%,-50%) rotate(45deg);background:var(--gold);
}
.hero-sub{
  font-family:var(--utility);
  font-size:.74rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--gold);
  margin:0 0 .9rem;
  line-height:2;
}
.hero-loc{
  font-family:var(--utility);
  font-size:.62rem;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--muted);
  margin:0;
}

/* ============================================================
   PLATES (records, arguments, proof)
   ============================================================ */
.plate,.arg,.proof{
  border:1px solid var(--accent-rule);
  background:var(--ink-raised);
  padding:2.2rem 2.2rem 2rem;
  margin-bottom:1.4rem;
  position:relative;
}
.plate::after,.arg::after,.proof::after{
  content:"";position:absolute;inset:5px;
  border:1px solid var(--accent-rule-faint);pointer-events:none;
}
.proof{margin-top:2.4rem;margin-bottom:0;}

.plate-band{
  font-family:var(--utility);
  font-size:.6rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--muted);
  padding-bottom:.9rem;
  margin-bottom:1.3rem;
  border-bottom:1px solid var(--accent-rule-faint);
}
.plate-title{
  font-family:var(--display);
  font-size:2.15rem;
  line-height:1.04;
  color:var(--accent-bright);
  margin:0 0 .3rem;
  font-weight:400;
}
.plate-title em{font-family:var(--body);font-size:1.7rem;}
.plate-meta{
  font-family:var(--utility);
  font-size:.68rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--parchment);
  margin:0 0 1.1rem;
}
.plate-role{color:var(--accent);font-size:1.02rem;margin:0 0 1rem;}
.plate-note{
  font-size:1.02rem;color:var(--parchment);margin:0;
  padding-left:1.1rem;border-left:2px solid var(--accent);
}
.plate-note.quiet{border-left-color:var(--accent-rule);color:var(--muted);}

.arg h3{
  font-family:var(--display);
  font-weight:400;
  font-size:1.75rem;
  line-height:1.1;
  color:var(--accent-bright);
  margin:0 0 .9rem;
}
.arg p{font-size:1.04rem;margin-bottom:.8rem;}
.arg p:last-child{margin-bottom:0;}

.plate-grid{display:grid;grid-template-columns:190px 1fr;gap:2rem;align-items:start;}
.cover{border:1px solid var(--accent-rule);padding:8px;background:var(--ink);}
.cover img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border:1px solid var(--accent-rule-faint);}
.player{margin-top:1.5rem;padding-top:1.4rem;border-top:1px solid var(--accent-rule-faint);}
.player iframe{display:block;width:100%;border:0;}
.player-hint{
  font-family:var(--utility);font-size:.58rem;letter-spacing:.24em;
  text-transform:uppercase;color:var(--accent);margin:0 0 .8rem;
}

/* ============================================================
   SERVICES
   ============================================================ */
.svc{padding:2.1rem 0;border-bottom:1px solid var(--accent-rule-faint);}
.svc:last-of-type{border-bottom:none;}
.svc-label{
  font-family:var(--utility);font-size:.64rem;letter-spacing:.26em;
  text-transform:uppercase;color:var(--accent);margin:0 0 .6rem;
}
.svc h3{
  font-family:var(--display);font-weight:400;font-size:1.9rem;
  line-height:1.05;color:var(--accent-bright);margin:0 0 .7rem;
}
.svc p{font-size:1.04rem;margin-bottom:.7rem;}
.svc ul{list-style:none;margin:.6rem 0 0;padding:0;}
.svc li{font-size:1rem;color:var(--parchment);padding:.2rem 0 .2rem 1.3rem;position:relative;}
.svc li::before{
  content:"";position:absolute;left:0;top:.82em;width:5px;height:5px;
  transform:rotate(45deg);background:var(--accent);opacity:.75;
}

/* ============================================================
   STEPS
   ============================================================ */
.steps{margin-top:2.4rem;}
.step{
  display:grid;grid-template-columns:72px 1fr;gap:1.6rem;
  padding:1.6rem 0;border-bottom:1px solid var(--accent-rule-faint);align-items:start;
}
.step:last-child{border-bottom:none;}
.step-num{
  font-family:var(--display);font-size:2.3rem;line-height:1;
  color:var(--accent);text-align:right;opacity:.8;
}
.step h3{
  font-family:var(--utility);font-weight:600;font-size:.74rem;
  letter-spacing:.2em;text-transform:uppercase;color:var(--accent-bright);
  margin:.45rem 0 .5rem;
}
.step p{font-size:1.02rem;margin:0;}

/* ============================================================
   PRESS QUOTES
   ============================================================ */
.press-item{padding:1.7rem 0;border-bottom:1px solid var(--accent-rule-faint);}
.press-item:last-child{border-bottom:none;}
.press-quote{
  font-size:1.28rem;line-height:1.5;color:var(--accent-bright);
  font-style:italic;margin:0 0 .7rem;
}
.press-src{
  font-family:var(--utility);font-size:.63rem;letter-spacing:.24em;
  text-transform:uppercase;color:var(--muted);margin:0;
}
.press-src a{border-bottom-color:var(--accent-rule-faint);color:var(--muted);}
.press-src a:hover{color:var(--accent);}

/* ============================================================
   GEAR + CREDITS
   ============================================================ */
.gear-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:2rem 3rem;margin-top:2.4rem;
}
.gear-label{
  font-family:var(--utility);font-size:.63rem;letter-spacing:.26em;
  text-transform:uppercase;color:var(--accent);margin:0 0 .5rem;
  padding-bottom:.5rem;border-bottom:1px solid var(--accent-rule-faint);
}
.gear-body{font-size:1.02rem;color:var(--parchment);margin:0;}

.credit-block{margin-top:2.6rem;}
.credit-head{
  font-family:var(--utility);font-size:.66rem;letter-spacing:.26em;
  text-transform:uppercase;color:var(--accent);margin:0 0 1.1rem;
  padding-bottom:.5rem;border-bottom:1px solid var(--accent-rule-faint);
}
.credits{list-style:none;margin:0;padding:0;columns:2;column-gap:3rem;}
.credits li{break-inside:avoid;padding:.32rem 0;font-size:1.02rem;}
.credits .who{
  font-family:var(--utility);font-size:.68rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--accent-bright);display:block;
}
.credits .what{color:var(--muted);font-style:italic;}

/* ============================================================
   ILLUSTRATIONS
   ============================================================ */
.illo{margin:3rem 0 0;border:1px solid var(--accent-rule);padding:14px;background:var(--ink-raised);}
.illo img{display:block;width:100%;height:auto;border:1px solid var(--accent-rule-faint);}
.illo figcaption{
  font-family:var(--utility);font-size:.58rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--accent);text-align:center;padding-top:.9rem;
}

/* ============================================================
   PARTNER / ENDORSE
   ============================================================ */
.partner,.endorse{
  text-align:center;padding:3.4rem 0;
  border-top:1px solid var(--accent-rule-faint);
  border-bottom:1px solid var(--accent-rule-faint);
  margin-top:2.6rem;
}
.partner-name,.endorse-names{
  font-family:var(--display);font-size:2rem;color:var(--gold-bright);
  margin:.5rem 0 .6rem;line-height:1.3;
}

/* ============================================================
   COMMUNIQUES (press releases)
   ============================================================ */
.release-list{list-style:none;margin:2.6rem 0 0;padding:0;}
.release-row{
  display:grid;grid-template-columns:120px 1fr;gap:1.8rem;
  padding:1.8rem 0;border-bottom:1px solid var(--accent-rule-faint);align-items:baseline;
}
.release-row:first-child{border-top:1px solid var(--accent-rule-faint);}
.release-date{
  font-family:var(--utility);font-size:.62rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--muted);
}
.release-title{
  font-family:var(--display);font-weight:400;font-size:1.6rem;
  line-height:1.15;margin:0 0 .4rem;
}
.release-title a{color:var(--accent-bright);border-bottom:none;}
.release-title a:hover{color:var(--parchment);}
.release-meta{
  font-family:var(--utility);font-size:.6rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--accent);margin:0 0 .5rem;
}
.release-excerpt{font-size:1rem;color:var(--muted);margin:0;}

.release-body{max-width:68ch;}
.release-body h2{
  font-family:var(--display);font-weight:400;font-size:1.8rem;
  color:var(--accent-bright);margin:2.4rem 0 .8rem;
}
.release-body h3{
  font-family:var(--utility);font-weight:600;font-size:.76rem;
  letter-spacing:.2em;text-transform:uppercase;color:var(--accent);
  margin:2rem 0 .7rem;
}
.release-body ul,.release-body ol{padding-left:1.3rem;margin:0 0 1.15rem;}
.release-body li{margin-bottom:.35rem;}
.release-body blockquote{
  margin:1.6rem 0;padding-left:1.2rem;border-left:2px solid var(--accent);
  font-style:italic;color:var(--accent-bright);
}
.release-body img{max-width:100%;height:auto;border:1px solid var(--accent-rule-faint);}
.release-body hr{border:none;border-top:1px solid var(--accent-rule-faint);margin:2.4rem 0;}

.release-head{padding:2.4rem 0 0;}
.release-head h1{
  font-family:var(--display);font-weight:400;
  font-size:clamp(2.2rem,5.5vw,3.4rem);line-height:1.02;
  color:var(--parchment);margin:.6rem 0 1rem;
}
.release-nav{
  display:flex;justify-content:space-between;gap:2rem;
  margin-top:4rem;padding-top:1.8rem;
  border-top:1px solid var(--accent-rule-faint);
  font-family:var(--utility);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;
}

.pager{
  display:flex;justify-content:center;gap:2rem;margin-top:3rem;
  font-family:var(--utility);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;
}
.pager .page-numbers{color:var(--muted);border-bottom:none;padding:.3rem .5rem;}
.pager .page-numbers.current{color:var(--gold);border-bottom:1px solid var(--gold);}

.empty-state{
  border:1px solid var(--accent-rule);background:var(--ink-raised);
  padding:2.4rem;margin-top:2.6rem;text-align:center;color:var(--muted);
}

/* ============================================================
   CONTACT + FOOTER
   ============================================================ */
.contact{text-align:center;padding:6rem 0 7rem;}
.contact-mail{
  font-family:var(--display);font-size:clamp(1.7rem,4.6vw,2.7rem);
  color:var(--gold-bright);border-bottom:1px solid var(--rule);
  display:inline-block;margin:1.4rem 0 2rem;word-break:break-word;
}
.contact-links{
  font-family:var(--utility);font-size:.66rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--muted);line-height:2.3;
}
.contact-links a{color:var(--muted);border-bottom-color:var(--rule-faint);}
.contact-links a:hover{color:var(--gold-bright);}

.site-footer{
  text-align:center;padding:2.5rem 0 3.5rem;
  border-top:1px solid var(--rule-faint);
  font-family:var(--utility);font-size:.58rem;letter-spacing:.28em;
  text-transform:uppercase;color:#827C69;position:relative;z-index:1;
}
.site-footer a{color:#827C69;border-bottom:none;}
.site-footer a:hover{color:var(--gold);}

/* ============================================================
   MOTION + A11Y
   ============================================================ */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .8s ease,transform .8s ease;}
.reveal.seen{opacity:1;transform:none;}

.skip-link{
  position:absolute;left:-9999px;top:0;z-index:99;
  background:var(--ink-raised);color:var(--gold-bright);
  padding:.8rem 1.2rem;border:1px solid var(--gold);
  font-family:var(--utility);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;
}
.skip-link:focus{left:20px;top:20px;}

.screen-reader-text{
  border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);
  height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;transition:none;}
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:680px){
  body{font-size:17px;}
  .shell{padding:0 26px;}
  .sitenav{gap:1.2rem;padding:2rem 20px 0;font-size:.55rem;letter-spacing:.2em;}
  .sitenav .lang{padding-left:1.2rem;}
  .hero{padding:3rem 26px 4rem;}
  .hero.tall{padding-top:4rem;}
  .plate-frame{inset:10px;}
  .plate,.arg,.proof,.empty-state{padding:1.7rem 1.4rem;}
  .plate-grid{grid-template-columns:1fr;gap:1.5rem;}
  .cover{max-width:220px;}
  .credits{columns:1;}
  .section{padding:4rem 0;}
  .step{grid-template-columns:44px 1fr;gap:1rem;}
  .step-num{font-size:1.7rem;}
  .release-row{grid-template-columns:1fr;gap:.5rem;}
}

/* ============================================================
   BLOCK EDITOR CONTENT
   The page body is written in Gutenberg with core blocks that
   carry the theme's own class names. These rules make the core
   block output land on the existing design.
   ============================================================ */

.negurah-content > .wp-block-group:first-child,
.negurah-content > .section:first-child{border-top:none;}

/* Core adds its own list padding; the themed lists manage their own. */
.negurah-content ul.credits,
.negurah-content .svc ul{padding-left:0;}
.negurah-content .svc ul{list-style:none;}

/* Headings keep their themed sizes whether or not the editor adds wp-block-heading. */
.negurah-content h2.section-head{margin-top:0;}
.negurah-content .arg h3,
.negurah-content .svc h3{margin-top:0;}

/* Groups should not inherit core's block gap as extra vertical space. */
.negurah-content .wp-block-group.arg > *:last-child,
.negurah-content .wp-block-group.svc > *:last-child,
.negurah-content .wp-block-group.proof > *:last-child,
.negurah-content .wp-block-group.section > *:last-child{margin-bottom:0;}

/* The step pattern nests a group for the text column. */
.negurah-content .step > .wp-block-group{min-width:0;}
.negurah-content .step .step-num{margin:0;}

/* Contact mail, wrapped in a paragraph by the editor. */
.negurah-content .contact{text-align:center;}
.negurah-content .contact-mail-wrap{margin:1.4rem 0 2rem;}

/* Ordinary prose inside a section keeps a readable measure. */
.negurah-content .section > p{max-width:68ch;}
.negurah-content .section > p.eyebrow{max-width:none;}

/* Images dropped into the content get the printed frame. */
.negurah-content .wp-block-image{margin:3rem 0;border:1px solid var(--accent-rule);padding:14px;background:var(--ink-raised);}
.negurah-content .wp-block-image img{display:block;width:100%;height:auto;border:1px solid var(--accent-rule-faint);}
.negurah-content .wp-block-image figcaption{
  font-family:var(--utility);font-size:.58rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--accent);text-align:center;padding-top:.9rem;margin:0;
}

/* Embeds (Bandcamp, YouTube) sit inside the content column. */
.negurah-content .wp-block-embed{margin:2rem 0;}
.negurah-content .wp-block-embed iframe{display:block;width:100%;border:0;}

/* Credits written as a normal editor list: the client name in bold, the
   work in italics. Both are native formats, so they survive editing. */
.credits li strong,
.negurah-content .credits li strong{
  font-family:var(--utility);font-size:.68rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--accent-bright);display:block;font-weight:600;
}
.credits li em,
.negurah-content .credits li em{color:var(--muted);font-style:italic;}


/* WordPress wraps a group's children in .wp-block-group__inner-container.
   Grid layouts need the children, not that wrapper, as grid items. */
.negurah-content .step > .wp-block-group__inner-container,
.negurah-content .plate-grid > .wp-block-group__inner-container,
.negurah-content .release-row > .wp-block-group__inner-container,
.negurah-content .svc > .wp-block-group__inner-container{display:contents;}
.negurah-content .step .wp-block-group__inner-container .wp-block-group__inner-container{display:block;}

/* Round ink illustration beside each step of "The work". */
.negurah-content .step{grid-template-columns:56px 112px 1fr;gap:1.6rem;align-items:center;}
.negurah-content .step .step-num{align-self:center;}
.step-art{
  display:block;width:104px;height:104px;margin:0 auto;border-radius:50%;overflow:hidden;
  border:2px solid var(--gold);box-shadow:0 0 0 5px var(--ink),0 0 0 6px var(--rule);
}
.step-art img{display:block;width:100%;height:100%;object-fit:cover;filter:sepia(.2) contrast(1.05);}
.step-art-empty{border:0;box-shadow:none;}
@media (max-width:680px){
  .negurah-content .step{grid-template-columns:32px 72px 1fr;gap:.9rem;}
  .step-art{width:68px;height:68px;box-shadow:0 0 0 3px var(--ink),0 0 0 4px var(--rule);}
}

/* ============================================================
   NEGURAH — PAGE PROMOTION
   À coller à la fin de style.css du thème, en remplacement de
   toutes les règles existantes sur .svc, .svc-cut, .svc-body,
   .plate-opening et la section Track record.

   Ne touche pas à .step ni à .step-art : leur réglage actuel
   est la référence, les autres blocs s'alignent dessus.

   Testé en direct sur la page puis rendu en 1440 px et 390 px.
   ============================================================ */

/* ------------------------------------------------------------
   1. HERO : l'image en fond, décalée à droite
   Le même dispositif que l'arbre de la page Studio.
   Supprime le bloc image encadré qui était sous l'intro.
   ------------------------------------------------------------ */

.hero{
  position:relative;
  overflow:hidden;
  align-items:flex-start;
  text-align:left;
  padding-left:76px;
  min-height:80vh;
}
.hero-bg{
  position:absolute;
  inset:0;
  z-index:0;
  background-image:url('assets/cuts/hero-owl.jpg');
  background-size:contain;
  background-repeat:no-repeat;
  background-position:88% 44%;
  opacity:.62;
  /* Le dégradé de masque fait fondre l'image dans le noir :
     pas de bord net, donc pas de cartouche. */
  -webkit-mask-image:radial-gradient(ellipse 60% 78% at 76% 46%,#000 30%,transparent 76%);
  mask-image:radial-gradient(ellipse 60% 78% at 76% 46%,#000 30%,transparent 76%);
}
.hero > *:not(.hero-bg){position:relative;z-index:1;}
.hero .hero-rule{margin-left:0;}

/* ------------------------------------------------------------
   2. SERVICES : le médaillon des étapes, en plus grand
   ------------------------------------------------------------ */

.svc{
  display:grid;
  grid-template-columns:148px 1fr;
  gap:2.8rem;
  /* Centré et non aligné en haut : un service fait ~460 px de
     haut, une vignette calée en haut laissait 350 px de vide. */
  align-items:center;
  position:relative;
}
.svc-cut{
  margin:0;
  width:148px;height:148px;
  border-radius:50%;
  border:2px solid var(--gold);
  overflow:hidden;
  background:transparent;
  box-shadow:0 0 0 5px var(--ink), 0 0 0 6px var(--rule);
}
.svc-cut img{
  display:block;
  width:144px;height:144px;
  object-fit:cover;
  border-radius:0;
  filter:sepia(.2) contrast(1.05);
}
.svc-body{min-width:0;}
.svc-body > *:first-child{margin-top:0;}
.svc-body > *:last-child{margin-bottom:0;}

/* ------------------------------------------------------------
   3. TRACK RECORD
   ------------------------------------------------------------ */

/* La ligne de chiffres, lisible en une seconde. */
.tally{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  margin:2.6rem 0 0;
  background:var(--accent-rule-faint);
  border:1px solid var(--accent-rule-faint);
}
.tally div{background:var(--ink);padding:1.5rem 1rem;text-align:center;}
.tally b{
  display:block;
  font-family:var(--display);font-weight:700;font-size:2.5rem;line-height:1;
  color:var(--accent-bright);
}
.tally span{
  display:block;margin-top:.6rem;
  font-family:var(--utility);font-size:.6rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--bone);line-height:1.7;
}

/* Le résultat marquant : un bandeau sous filet, pas un encadré.
   C'était le seul cadre de la page, il attirait l'œil comme une
   erreur de mise en page. */
.headline{margin:2.6rem 0 0;padding:1.6rem 0 0;border-top:1px solid var(--accent-rule);}
.headline p{font-size:1.16rem;line-height:1.5;margin:0;max-width:64ch;}
.headline strong{color:var(--accent-bright);}
.headline .src{
  display:block;margin-top:.9rem;
  font-family:var(--utility);font-size:.58rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--muted);
}

/* Les clients groupés PAR CLIENT et non par service : chacun
   apparaît une fois, avec ce qui a été fait pour lui. C'est ce
   qui démontre l'argument de la page, la chaîne complète chez
   un seul interlocuteur. */
.roster{margin-top:2.8rem;}
.roster h3{
  font-family:var(--utility);font-weight:600;letter-spacing:.26em;
  text-transform:uppercase;
  margin:0 0 1.3rem;padding-bottom:.6rem;
}
.roster ul{
  list-style:none;margin:0 0 2.4rem;padding:0;
  display:grid;grid-template-columns:1fr 1fr;gap:1.55rem 2.6rem;
}
.roster li{break-inside:avoid;}

/* Le nom du client porte le bloc. Les trois niveaux etaient tous en
   petit corps dans la meme bande de valeurs, donc aucun ne dominait.
   Ce n'est pas un probleme de rapport de contraste : des capitales de
   .72 rem restent discretes meme a 15:1, c'est la taille qui manquait.
   D'ou le passage au corps serif et l'ecart de 1.22 / .9 / .58 rem. */
.roster .who{
  display:block;
  font-family:var(--body);font-size:1.22rem;line-height:1.2;
  letter-spacing:0;text-transform:none;color:var(--parchment);
}
.roster .what{
  display:block;font-size:.9rem;color:var(--muted);
  font-style:italic;margin-top:.15rem;
}
.roster .did{
  display:block;margin-top:.4rem;
  font-family:var(--utility);font-size:.58rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--accent);opacity:1;
}

/* Les deux blocs ne se valent pas. Les clients passent devant, les
   sorties maison viennent en appui : c'est ce que la page vend. */
.roster--clients h3{
  font-size:.78rem;color:var(--accent-bright);
  border-bottom:1px solid var(--accent-rule);
}
.roster--own{margin-top:3.6rem;}
.roster--own h3{
  font-size:.64rem;color:var(--muted);
  border-bottom:1px solid var(--accent-rule-faint);
}
.roster--own .who{font-size:1.06rem;color:var(--bone);}

/* ------------------------------------------------------------
   4. MÉDAILLON DE SECTION (Photography by, Get in touch)
   92 px et non 148 : ce sont des ponctuations de fin de page,
   elles ne doivent pas peser autant que les services.
   ------------------------------------------------------------ */

.seal{
  width:92px;height:92px;
  border-radius:50%;
  border:2px solid var(--gold);
  overflow:hidden;
  margin:0 auto 1.3rem;
  box-shadow:0 0 0 5px var(--ink), 0 0 0 6px var(--rule);
}
.seal img{
  display:block;width:88px;height:88px;
  object-fit:cover;
  filter:sepia(.2) contrast(1.05);
}

/* ------------------------------------------------------------
   5. MOBILE
   ------------------------------------------------------------ */

@media (max-width:680px){
  .hero{padding-left:26px;}
  .svc{grid-template-columns:1fr;gap:1.2rem;justify-items:start;}
  .svc-cut{width:104px;height:104px;}
  .svc-cut img{width:100px;height:100px;}
  .tally{grid-template-columns:1fr 1fr;}
  .roster ul{grid-template-columns:1fr;}
}

/* ------------------------------------------------------------
   6. PIED DE PAGE
   #4A463C sur #0A0A09 donne 2.11:1. Le seuil WCAG AA est a 4.5:1
   pour du texte courant et a 3:1 pour du grand texte : le pied de
   page etait le seul element de la page a echouer, et il echouait
   aux deux. #827C69 donne 4.75:1 en restant discret.
   A corriger dans style.css, pas seulement ici.
   ------------------------------------------------------------ */

.site-footer{color:#827C69;}
.site-footer a{color:#827C69;}
.site-footer a:hover{color:var(--gold);}

/* The generic framed .wp-block-image must not wrap the service medallions. */
.negurah-content .wp-block-image.svc-cut{margin:0;padding:0;border:2px solid var(--gold);background:transparent;}
.negurah-content .wp-block-image.svc-cut img{border:0;width:144px;height:144px;}
@media (max-width:680px){.negurah-content .wp-block-image.svc-cut img{width:100px;height:100px;}}
.hero .hero-bg{pointer-events:none;}
