/* Margot Dusé — SIMPLE · EFFICACE · IMPACT
   Noir gras sur fond blanc, typo Anton (Impact), menu déroulant à droite. */
:root{
  --paper:#ffffff;
  --ink:#000000;
  --muted:#777;
  --line:#000;
  --accent:#d8281c;          /* rouge du drapé, version punk */
  --display:"Anton","Haettenschweiler","Impact","Arial Narrow Bold",sans-serif;
  --sans:"Oswald","Helvetica Neue",Arial,sans-serif;
  --banner-h:clamp(52px,8vh,68px);
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* ---------- Bandeau ---------- */
.banner{
  position:fixed;top:0;left:0;right:0;z-index:50;
  height:var(--banner-h);
  display:flex;align-items:center;justify-content:space-between;
  gap:1rem;
  padding:0 clamp(.9rem,3vw,2rem);
  background:var(--paper);
  border-bottom:3px solid var(--ink);
}
.brand{display:flex;align-items:baseline;gap:.5rem;min-width:0;overflow:hidden}
.brand-name{
  font-family:var(--display);
  font-size:clamp(1.25rem,3.4vw,2rem);
  text-transform:uppercase;
  letter-spacing:.01em;
  line-height:1;
  white-space:nowrap;
}
.brand-sep{font-family:var(--display);color:var(--accent);font-size:clamp(1.1rem,3vw,1.7rem);line-height:1}
.brand-tag{
  font-family:var(--sans);font-weight:500;
  font-size:clamp(.58rem,1.15vw,.78rem);
  text-transform:uppercase;letter-spacing:.22em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* Bouton menu (poussé à droite) */
.menu-btn{
  font-family:var(--display);
  font-size:clamp(1rem,2.6vw,1.4rem);
  text-transform:uppercase;letter-spacing:.06em;
  background:none;border:none;color:var(--ink);cursor:pointer;
  padding:.2rem .1rem;line-height:1;flex:0 0 auto;
  position:relative;transition:color .2s;
}
.menu-btn::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:3px;
  background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .25s;
}
.menu-btn:hover{color:var(--accent)}
.menu-btn:hover::after,
body.menu-open .menu-btn::after{transform:scaleX(1);transform-origin:left}
body.menu-open .menu-btn{color:var(--accent)}

/* ---------- Menu déroulant (aligné à droite) ---------- */
.menu{
  position:fixed;top:var(--banner-h);right:0;z-index:45;
  max-width:min(560px,92vw);
  background:var(--paper);
  border-left:3px solid var(--ink);
  border-bottom:3px solid var(--ink);
  padding:clamp(1rem,2.5vw,1.6rem) clamp(1.1rem,3vw,2rem);
  text-align:right;
  opacity:0;visibility:hidden;
  transform:translateY(-8px);
  transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s;
}
body.menu-open .menu{
  opacity:1;visibility:visible;transform:none;
  transition:opacity .22s ease,transform .22s ease;
}
.menu ul{list-style:none}
.menu li{margin:.04em 0}
.menu a{
  display:flex;align-items:baseline;justify-content:flex-end;gap:.5em;
  font-family:var(--display);
  font-size:clamp(1.3rem,3.6vw,2.1rem);
  text-transform:uppercase;letter-spacing:.01em;line-height:1.12;
  color:var(--ink);
  transition:color .18s,transform .22s;
}
.menu a .dash{color:var(--accent)}
.menu a:hover,.menu a[aria-current="page"]{color:var(--accent)}
.menu a:hover{transform:translateX(-.35rem)}

/* ---------- Accueil : photo plein écran ---------- */
.poster{
  position:fixed;inset:0;z-index:1;
  background-size:cover;background-position:center;
}

/* ---------- Pages intérieures ---------- */
.is-inner{background:var(--paper)}
.page{
  position:relative;z-index:2;
  min-height:100vh;
  padding:calc(var(--banner-h) + clamp(2rem,6vh,4rem)) clamp(1.1rem,6vw,5rem) clamp(3rem,8vh,5rem);
}
.measure{max-width:64ch}
.impact-title{
  font-family:var(--display);
  font-size:clamp(2.6rem,9vw,6rem);
  text-transform:uppercase;line-height:.95;letter-spacing:.005em;
  color:var(--ink);
}
.meta{
  font-family:var(--sans);font-weight:500;
  font-size:.78rem;text-transform:uppercase;letter-spacing:.22em;
  color:var(--muted);margin-top:.7rem;
}
.work-figure{margin:1.8rem 0}
.work-figure img{width:100%;border:3px solid var(--ink)}
.lead{
  font-family:var(--sans);font-weight:400;
  font-size:clamp(1.1rem,2.2vw,1.4rem);line-height:1.5;
  margin:1.6rem 0;
}
.lead.muted{color:var(--muted)}
.prose{margin-top:1.4rem}
.prose p{
  font-weight:300;font-size:1.05rem;line-height:1.8;
  color:#1a1a1a;margin-bottom:1.05rem;
}
.prose p:last-child{margin-bottom:0}

/* navigation entre œuvres */
.work-nav{
  display:flex;justify-content:space-between;gap:1.5rem;
  margin-top:clamp(2.6rem,7vh,4rem);
  padding-top:1.4rem;border-top:3px solid var(--ink);
}
.wn{display:flex;flex-direction:column;gap:.15rem;max-width:46%}
.wn.next{text-align:right;margin-left:auto}
.wn span{font-family:var(--sans);font-weight:500;font-size:.68rem;text-transform:uppercase;letter-spacing:.2em;color:var(--muted)}
.wn strong{font-family:var(--display);font-weight:400;font-size:1.25rem;text-transform:uppercase;line-height:1.05}
.wn:hover strong{color:var(--accent)}

/* contact */
.contact-list{list-style:none;margin-top:1.8rem;display:flex;flex-direction:column;gap:1rem}
.contact-list li{display:flex;align-items:baseline;gap:1.2rem;flex-wrap:wrap}
.contact-list .ck{
  flex:0 0 7rem;font-family:var(--sans);font-weight:500;
  font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);
}
.contact-list a{font-family:var(--display);font-size:1.5rem;text-transform:uppercase;transition:color .2s}
.contact-list a:hover{color:var(--accent)}

.back-link{
  font-family:var(--display);text-transform:uppercase;
  border-bottom:3px solid var(--accent);transition:color .2s;
}
.back-link:hover{color:var(--accent)}

@media (max-width:680px){
  .brand-tag{display:none}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
}
