/* NOCTILUPUS / OUR STORY
   Editorial long-form design informed by Studio Nicholson's About page.
   Scoped only to .nstory; the existing site chrome remains unchanged. */
.nstory {
  background:#fff;
  color:#111;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.nstory *,
.nstory *::before,
.nstory *::after {box-sizing:border-box}
.nstory-wrap {
  width:min(100% - 96px,1060px);
  margin-inline:auto;
  padding:clamp(80px,9vw,128px) 0 clamp(105px,11vw,165px);
}
.nstory-header {
  margin:0 0 clamp(42px,5vw,70px);
}
.nstory .nstory-eyebrow {
  margin:0 0 20px;
  color:#151515;
  font:500 10px/1.6 "Helvetica Neue",Helvetica,Arial,sans-serif;
  letter-spacing:.13em;
}
.nstory .nstory-header h1 {
  margin:0;
  color:#090909;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:clamp(34px,4vw,53px);
  line-height:1.12;
  letter-spacing:-.035em;
  font-weight:500;
  text-transform:none;
}
.nstory-article {
  max-width:780px;
}
.nstory .nstory-paragraph {
  margin:0 0 26px;
  font:400 clamp(16px,1.25vw,18px)/1.78 "Helvetica Neue",Helvetica,Arial,sans-serif;
  letter-spacing:-.006em;
  color:#141414;
  text-wrap:pretty;
}
.nstory .nstory-paragraph:last-child {margin-bottom:0}
.nstory .nstory-name {
  display:flex;
  align-items:flex-start;
  flex-direction:column;
  gap:7px;
  margin:clamp(45px,6vw,74px) 0 clamp(45px,6vw,74px);
  color:#090909;
}
.nstory .nstory-name span {
  display:block;
  font:500 clamp(27px,3.1vw,37px)/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif;
  letter-spacing:-.035em;
}
.nstory .nstory-name small {
  display:block;
  font:500 11px/1.5 "Helvetica Neue",Helvetica,Arial,sans-serif;
  letter-spacing:.12em;
  color:#222;
}
/* Deliberately understated motion; never reflow or split heading letters. */
.nstory .nstory-awaiting {
  opacity:0;
  transform:translate3d(0,12px,0);
  transition:opacity .75s ease,transform .8s cubic-bezier(.22,1,.36,1);
}
.nstory .nstory-awaiting.nstory-shown {
  opacity:1;
  transform:none;
}
@media(max-width:760px) {
 .nstory-wrap {width:calc(100% - 44px);padding:74px 0 95px}
 .nstory-header {margin-bottom:38px}
 .nstory .nstory-header h1 {font-size:38px}
 .nstory .nstory-paragraph {font-size:16px;line-height:1.78;margin-bottom:23px}
 .nstory .nstory-name {margin:48px 0}
}
@media(max-width:420px) {
 .nstory-wrap{width:calc(100% - 36px)}
 .nstory .nstory-header h1{font-size:36px}
}
@media(prefers-reduced-motion:reduce){
 .nstory .nstory-awaiting{opacity:1;transform:none;transition:none}
}
