:root{
  --black:#0A0A0A;
  --black-raised:#121212;
  --chalk:#F4F1EA;
  --grey:#A8A39A;
  --grey-dim:#7C786F;
  --hairline:rgba(168,163,154,0.16);
  --hairline-faint:rgba(168,163,154,0.10);

  --font-display:'Cormorant Garamond','Georgia',serif;
  --font-ui:'Inter','system-ui',sans-serif;

  --maxw:1180px;
  --maxw-narrow:760px;
  --pad:clamp(1.25rem,5vw,3rem);

  --section-y:clamp(4.5rem,9vw,8rem);
}

html,body{background:var(--black);color:var(--grey)}
body{font-family:var(--font-ui);font-size:17px;line-height:1.75;font-weight:300}

::selection{background:rgba(244,241,234,0.22);color:var(--chalk)}

.skip-link{position:absolute;left:-9999px;top:0;background:var(--chalk);color:var(--black);
  padding:.6rem 1rem;z-index:100;font-family:var(--font-ui);font-size:.8rem}
.skip-link:focus{left:1rem;top:1rem}

:focus-visible{outline:1.5px solid var(--chalk);outline-offset:3px}

/* ---------- layout helpers ---------- */
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}
.wrap--narrow{max-width:var(--maxw-narrow)}
.center{text-align:center}

/* ---------- NAV ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(10,10,10,0.78);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--hairline-faint)}
.nav__inner{max-width:var(--maxw);margin-inline:auto;padding:.95rem var(--pad);
  display:flex;align-items:center;justify-content:space-between;gap:2rem}
.nav__brand{display:flex;align-items:center;gap:.6rem;color:var(--chalk);
  font-family:var(--font-ui);font-size:.7rem;font-weight:500;
  text-transform:uppercase;letter-spacing:0.16em;white-space:nowrap}
.nav__mark{color:var(--chalk);flex:none}
.nav__links{display:flex;gap:1.9rem}
.nav__links a{font-family:var(--font-ui);font-size:.66rem;font-weight:400;
  text-transform:uppercase;letter-spacing:0.16em;color:var(--grey);
  transition:color .3s ease;padding-block:.2rem}
.nav__links a:hover{color:var(--chalk)}
@media (max-width:860px){
  .nav__links{display:none}
  .nav__brand span{font-size:.64rem;letter-spacing:0.13em;white-space:normal}
}

/* ---------- chalk rule (the single graphic flourish) ---------- */
.chalk-rule{width:108px;height:8px;margin:2rem auto;position:relative}
.chalk-rule::before{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,var(--chalk) 18%,var(--chalk) 82%,transparent);
  border-radius:50%;filter:blur(0.4px);opacity:.92;
  transform:rotate(-0.6deg);
  mask:radial-gradient(120% 140% at 50% 50%,#000 60%,transparent 100%)}
.chalk-rule--footer{margin:0 0 2.4rem;width:88px}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:92vh;display:flex;align-items:center;
  justify-content:center;text-align:center;overflow:hidden;
  padding:clamp(5rem,12vh,9rem) var(--pad)}
.hero__field{position:absolute;inset:0;z-index:0}
.hero__field::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 55%,var(--black))}
.hero__content{position:relative;z-index:1;max-width:760px}
.hero__eyebrow{font-family:var(--font-ui);font-size:.72rem;font-weight:400;
  text-transform:uppercase;letter-spacing:0.3em;color:var(--grey);margin-bottom:1.6rem}
.hero__title{font-family:var(--font-display);font-style:italic;font-weight:500;
  color:var(--chalk);line-height:1.02;letter-spacing:-0.01em;
  font-size:clamp(2.9rem,8.5vw,6rem)}
.hero__lede{font-family:var(--font-display);font-style:italic;font-weight:400;
  color:var(--chalk);font-size:clamp(1.25rem,3vw,1.85rem);line-height:1.4;
  max-width:34ch;margin:0 auto .85rem;opacity:.94}
.hero__note{font-family:var(--font-ui);font-size:.72rem;font-weight:300;
  text-transform:uppercase;letter-spacing:0.22em;color:var(--grey-dim)}

/* ---------- SECTIONS ---------- */
.section{padding-block:var(--section-y)}
.section__kicker{font-family:var(--font-ui);font-size:.7rem;font-weight:500;
  text-transform:uppercase;letter-spacing:0.24em;color:var(--grey-dim);margin-bottom:1.1rem}
.section__title{font-family:var(--font-display);font-style:italic;font-weight:500;
  color:var(--chalk);font-size:clamp(1.9rem,4.4vw,3rem);line-height:1.1;
  letter-spacing:-0.005em;margin-bottom:2rem}
.section__intro{max-width:60ch;color:var(--grey);font-size:1.05rem;margin-bottom:.5rem}

.prose p{color:var(--grey);font-size:1.0625rem;line-height:1.8;
  margin-bottom:1.45rem;max-width:68ch}
.prose em{font-family:var(--font-display);font-style:italic;color:var(--chalk);
  font-size:1.12em;font-weight:500}
.prose .statement{font-family:var(--font-display);font-style:italic;
  font-size:clamp(1.35rem,2.8vw,1.75rem);line-height:1.45;color:var(--chalk);
  font-weight:500;max-width:30ch;margin-block:2.2rem;
  padding-left:1.4rem;border-left:1.5px solid var(--hairline)}

.emphatic{font-family:var(--font-display);font-style:italic;font-weight:500;
  text-align:center;color:var(--chalk);font-size:clamp(1.4rem,3.2vw,2rem);
  line-height:1.4;max-width:24ch;margin:3.2rem auto 0}

/* ---------- divider ---------- */
.divider span{display:block;height:1px;background:var(--hairline-faint)}

/* ---------- catalogue entry card ---------- */
.entry-card{margin-top:3rem;border:1px solid var(--hairline);
  background:var(--black-raised);padding:2.2rem clamp(1.4rem,4vw,2.6rem)}
.entry-card__label{font-family:var(--font-ui);font-size:.7rem;font-weight:500;
  text-transform:uppercase;letter-spacing:0.2em;color:var(--grey-dim);margin-bottom:1.5rem}
.entry-list{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem 1.5rem}
.entry-list li{font-family:var(--font-ui);font-size:.92rem;font-weight:300;
  color:var(--grey);padding-left:1.1rem;position:relative;line-height:1.4}
.entry-list li::before{content:"";position:absolute;left:0;top:.62em;
  width:5px;height:5px;border:0.8px solid var(--chalk);transform:rotate(45deg)}
@media (max-width:680px){.entry-list{grid-template-columns:repeat(2,1fr)}}
@media (max-width:420px){.entry-list{grid-template-columns:1fr}}

/* ---------- METHODOLOGY pillars ---------- */
.pillars{display:grid;grid-template-columns:repeat(2,1fr);
  gap:clamp(1.6rem,3vw,2.8rem);margin-block:1rem 3rem}
.pillar{border-top:1px solid var(--hairline);padding-top:1.8rem}
.pillar__icon{width:42px;height:42px;color:var(--chalk);margin-bottom:1.3rem;opacity:.92}
.pillar__title{font-family:var(--font-display);font-style:italic;font-weight:500;
  color:var(--chalk);font-size:1.7rem;line-height:1.1;margin-bottom:.8rem}
.pillar__body{color:var(--grey);font-size:1rem;line-height:1.75;max-width:46ch}
.pillar__body em{font-family:var(--font-display);font-style:italic;color:var(--chalk);font-weight:500}
@media (max-width:720px){.pillars{grid-template-columns:1fr}}

/* ---------- disclaimer block ---------- */
.disclaimer{border:1px solid var(--hairline);padding:1.8rem clamp(1.3rem,3vw,2rem);
  background:rgba(255,255,255,0.012)}
.disclaimer p{font-family:var(--font-ui);font-size:.9rem;font-weight:300;
  line-height:1.65;color:var(--grey-dim);max-width:64ch}
.disclaimer p+p{margin-top:1rem}

/* ---------- MEMBERS ---------- */
.member{padding-top:2.2rem;margin-top:2.2rem;border-top:1px solid var(--hairline)}
.member:first-of-type{border-top:none;padding-top:0;margin-top:0}
.member__name{font-family:var(--font-display);font-style:italic;font-weight:500;
  color:var(--chalk);font-size:1.85rem;line-height:1.1}
.member__role{font-family:var(--font-ui);font-size:.7rem;font-weight:500;
  text-transform:uppercase;letter-spacing:0.2em;color:var(--grey-dim);
  margin:.55rem 0 1.1rem}
.member__body{color:var(--grey);font-size:1.0625rem;line-height:1.8;max-width:66ch}
.members__tba{font-family:var(--font-display);font-style:italic;
  color:var(--grey);font-size:1.25rem;margin-top:2.6rem;
  padding-top:2rem;border-top:1px solid var(--hairline-faint)}

/* ---------- SUBMIT FORM ---------- */
.submit__intro{color:var(--grey);font-size:1.0625rem;line-height:1.8;
  max-width:62ch;margin-bottom:2.8rem}
.form{max-width:560px}
.field{margin-bottom:1.5rem}
.field label{display:block;font-family:var(--font-ui);font-size:.7rem;font-weight:500;
  text-transform:uppercase;letter-spacing:0.16em;color:var(--grey);margin-bottom:.6rem}
.field .opt{color:var(--grey-dim);letter-spacing:0.1em;font-weight:300;text-transform:none}
.field input,.field textarea{width:100%;background:transparent;
  border:1px solid var(--hairline);color:var(--chalk);
  padding:.85rem 1rem;font-family:var(--font-ui);font-size:1rem;font-weight:300;
  transition:border-color .3s ease,background .3s ease}
.field textarea{resize:vertical;line-height:1.6}
.field input::placeholder,.field textarea::placeholder{color:var(--grey-dim)}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--chalk);
  background:rgba(255,255,255,0.02)}
.field input:invalid:not(:placeholder-shown):not(:focus){border-color:rgba(180,120,110,0.5)}
.form__note{font-family:var(--font-ui);font-size:.85rem;font-weight:300;
  color:var(--grey-dim);line-height:1.6;margin:1.6rem 0 2rem;
  padding-left:1rem;border-left:1px solid var(--hairline)}

.btn{font-family:var(--font-ui);font-size:.74rem;font-weight:500;
  text-transform:uppercase;letter-spacing:0.18em;padding:.95rem 2.2rem;
  border:1px solid var(--chalk);color:var(--chalk);
  transition:background .35s ease,color .35s ease}
.btn--chalk:hover{background:var(--chalk);color:var(--black)}
.btn--chalk{position:relative}
.form__status{margin-top:1.3rem;font-family:var(--font-ui);font-size:.9rem;
  color:var(--chalk);min-height:1.2em;font-weight:300}

/* chalk cursor cue */
.chalk-cursor{cursor:crosshair}

/* ---------- CONTACT ---------- */
.contact__body{color:var(--grey);font-size:1.05rem;margin-bottom:1.2rem}
.contact__email{font-family:var(--font-display);font-style:italic;
  color:var(--chalk);font-size:clamp(1.4rem,3.5vw,2.1rem);
  border-bottom:1px solid var(--hairline);padding-bottom:.15rem;
  transition:border-color .3s ease}
.contact__email:hover{border-color:var(--chalk)}

/* ---------- FOOTER ---------- */
.footer{padding-block:clamp(3.5rem,7vw,5.5rem);border-top:1px solid var(--hairline-faint)}
.footer .wrap{text-align:center}
.footer__name{font-family:var(--font-display);font-style:italic;font-weight:500;
  color:var(--chalk);font-size:1.5rem;margin-bottom:.9rem}
.footer__email{margin-bottom:1.8rem}
.footer__email a{font-family:var(--font-ui);font-size:.86rem;color:var(--grey);
  letter-spacing:0.04em;border-bottom:1px solid var(--hairline);transition:color .3s}
.footer__email a:hover{color:var(--chalk)}
.footer__disclaimer{font-family:var(--font-ui);font-size:.82rem;font-weight:300;
  color:var(--grey-dim);line-height:1.65;max-width:60ch;margin:0 auto .7rem}
.footer__meta{font-family:var(--font-ui);font-size:.78rem;color:var(--grey-dim);
  letter-spacing:0.08em;margin:1.6rem 0 1rem}
.footer__links{display:flex;gap:.8rem;justify-content:center;align-items:center}
.footer__links a{font-family:var(--font-ui);font-size:.72rem;color:var(--grey-dim);
  text-transform:uppercase;letter-spacing:0.16em;transition:color .3s}
.footer__links a:hover{color:var(--grey)}
.footer__links span{color:var(--grey-dim)}

/* ---------- scroll reveal ---------- */
.reveal{opacity:0;transform:translateY(22px);
  transition:opacity 1s cubic-bezier(.22,.61,.36,1),transform 1s cubic-bezier(.22,.61,.36,1)}
.reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none}
}
