/* HDC Production Page v2 — process architecture.
   Structure shaped by the brainstorming skill synthesis:
   one routing model -> one system selector -> one active record -> proof -> project routing. */

body[data-page="production"]{
  --prod-ink:#0B1013;
  --prod-panel:#171D21;
  --prod-paper:#F0EFED;
  --prod-paper-2:#F7F5F1;
  --prod-muted:#A9B3B7;
  --prod-cyan:#47C1C7;
  --prod-teal:#036F86;
  --prod-line:rgba(11,16,19,.18);
  --prod-line-dark:rgba(255,255,255,.18);
  --prod-fast:180ms;
  --prod-base:320ms;
  --prod-ease:cubic-bezier(.2,.65,.22,1);
}

.prod-hero{
  position:relative;
  overflow:hidden;
  min-height:620px;
  background:var(--prod-ink);
  color:#fff;
}
.prod-hero__media,
.prod-hero__shade{
  position:absolute;
  inset:0;
}
.prod-hero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:brightness(.82) saturate(.9) contrast(1.04);
}
.prod-hero__shade{
  background:
    linear-gradient(90deg,rgba(11,16,19,.86) 0%,rgba(11,16,19,.52) 43%,rgba(11,16,19,.18) 74%,rgba(11,16,19,.28) 100%),
    linear-gradient(0deg,rgba(11,16,19,.42),transparent 58%);
}
.prod-hero__inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(22rem,1.28fr);
  gap:clamp(3rem,8vw,9rem);
  align-items:end;
  min-height:620px;
  padding-top:clamp(7rem,11vw,11rem);
  padding-bottom:clamp(4rem,7vw,7rem);
}
.prod-hero h1{
  margin:.55rem 0 0;
  max-width:7ch;
  font-family:var(--serif);
  font-size:clamp(4.6rem,8vw,8.4rem);
  font-weight:400;
  letter-spacing:-.07em;
  line-height:.86;
}
.prod-hero__lede{
  max-width:44rem;
  margin:0 0 .65rem;
  color:#D7DEDF;
  font-size:clamp(1.12rem,1.75vw,1.55rem);
  line-height:1.5;
}

.prod-routing__heading,
.prod-systems__heading,
.prod-evidence__heading,
.prod-project__grid{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(20rem,1.18fr);
  gap:clamp(3rem,8vw,9rem);
  align-items:start;
  margin-bottom:clamp(2.5rem,5vw,4.5rem);
}
.prod-routing__heading h2,
.prod-systems__heading h2,
.prod-evidence__heading h2,
.prod-project h2{
  margin:.45rem 0 0;
  max-width:10ch;
  font-size:clamp(3rem,5.3vw,5.7rem);
  line-height:.94;
  letter-spacing:-.06em;
}
.prod-routing__heading .body,
.prod-systems__heading .body,
.prod-evidence__heading .body,
.prod-project .body{
  margin:.5rem 0 0;
  max-width:42rem;
}

.prod-routing__rail{
  position:relative;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  margin:0;
  padding:0;
  list-style:none;
}
.prod-routing__rail::before{
  position:absolute;
  top:2.8rem;
  left:7%;
  right:7%;
  height:1px;
  background:var(--prod-line);
  content:"";
}
.prod-routing__rail li{position:relative;min-width:0;}
.prod-routing__rail button{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-rows:auto 1.3rem auto auto;
  width:100%;
  min-height:8.2rem;
  padding:0 .55rem;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
}
.prod-routing__rail button span{
  color:var(--prod-teal);
  font-family:var(--mono);
  font-size:.58rem;
  letter-spacing:.09em;
}
.prod-routing__rail button::before{
  align-self:center;
  width:.78rem;
  height:.78rem;
  margin-top:.6rem;
  border:1px solid rgba(11,16,19,.32);
  border-radius:50%;
  background:var(--prod-paper);
  content:"";
  transition:background-color var(--prod-fast),transform var(--prod-fast) var(--prod-ease);
}
.prod-routing__rail button[aria-pressed="true"]::before{
  border-color:var(--prod-teal);
  background:var(--prod-teal);
  transform:scale(1.08);
}
.prod-routing__rail button[aria-pressed="true"]::after{
  position:absolute;
  top:2.75rem;
  left:.55rem;
  width:calc(100% - .55rem);
  height:2px;
  background:var(--prod-teal);
  content:"";
}
.prod-routing__rail strong{
  margin-top:.7rem;
  font-size:.82rem;
}
.prod-routing__rail small{
  margin-top:.4rem;
  color:#657176;
  font-size:.68rem;
  line-height:1.35;
}
.prod-routing__readout{
  margin:1rem 0 0;
  color:#657176;
  font-family:var(--mono);
  font-size:.58rem;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.prod-systems .section-index{border-color:var(--prod-line-dark);}
.prod-system-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--prod-line-dark);
  border-left:1px solid var(--prod-line-dark);
}
.prod-system-card{
  position:relative;
  min-width:0;
  min-height:420px;
  padding:0;
  border:0;
  border-right:1px solid var(--prod-line-dark);
  border-bottom:1px solid var(--prod-line-dark);
  background:#101619;
  color:#fff;
  text-align:left;
  overflow:hidden;
}
.prod-system-card__media{
  position:absolute;
  inset:0;
}
.prod-system-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.56;
  transition:opacity var(--prod-base) ease,transform 520ms var(--prod-ease);
}
.prod-system-card__shade{
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(11,16,19,.88) 0%,rgba(11,16,19,.22) 72%,rgba(11,16,19,.15) 100%);
}
.prod-system-card__body{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  min-height:420px;
  padding:1.35rem;
}
.prod-system-card__index,
.prod-system-card__family{
  font-family:var(--mono);
  font-size:.6rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.prod-system-card__index{color:var(--prod-muted);}
.prod-system-card__family{margin-top:auto;color:var(--prod-cyan);}
.prod-system-card h3{
  margin:.7rem 0 0;
  max-width:11ch;
  font-family:var(--serif);
  font-size:clamp(2rem,3vw,3.3rem);
  font-weight:400;
  line-height:.96;
  letter-spacing:-.045em;
}
.prod-system-card p{
  margin:.8rem 0 0;
  max-width:28rem;
  color:#CBD2D4;
  font-size:.8rem;
  line-height:1.5;
}
.prod-system-card[aria-pressed="true"]{
  box-shadow:inset 0 0 0 2px var(--prod-cyan);
}
.prod-system-card[aria-pressed="true"] img{opacity:.72;}
@media (hover:hover) and (pointer:fine){
  .prod-system-card:hover img{opacity:.68;transform:scale(1.025);}
}

.prod-noscript{
  display:grid;
  gap:.75rem;
  margin-top:1rem;
  padding:1rem 0;
  border-top:1px solid var(--prod-line-dark);
}
.prod-noscript p{
  margin:0;
  color:var(--prod-muted);
  font-size:.78rem;
}
.prod-noscript a{
  width:max-content;
  max-width:100%;
  color:#fff;
  font-family:var(--mono);
  font-size:.62rem;
  letter-spacing:.07em;
  text-decoration:none;
  text-transform:uppercase;
}

.prod-specialist{
  display:grid;
  grid-template-columns:minmax(13rem,.3fr) minmax(0,.7fr);
  margin-top:1.2rem;
  border-top:1px solid var(--prod-line-dark);
  border-bottom:1px solid var(--prod-line-dark);
}
.prod-specialist__label{
  display:flex;
  align-items:center;
  padding:1rem 0;
  color:var(--prod-muted);
  font-family:var(--mono);
  font-size:.6rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.prod-specialist button{
  display:grid;
  grid-template-columns:3rem minmax(10rem,.7fr) minmax(0,1fr) auto;
  gap:1rem;
  align-items:center;
  min-height:70px;
  padding:1rem 0 1rem 1.2rem;
  border:0;
  border-left:1px solid var(--prod-line-dark);
  background:transparent;
  color:#fff;
  text-align:left;
}
.prod-specialist button span:first-child{
  color:var(--prod-cyan);
  font-family:var(--mono);
  font-size:.6rem;
}
.prod-specialist button strong{font-size:.9rem;}
.prod-specialist button small{color:var(--prod-muted);line-height:1.4;}
.prod-specialist button b{font-size:1.1rem;font-weight:400;}
.prod-specialist button[aria-pressed="true"]{background:rgba(71,193,199,.08);}

.prod-record-section{background:var(--prod-paper-2);}
.prod-record{
  display:grid;
  grid-template-columns:minmax(0,.39fr) minmax(0,.37fr) minmax(15rem,.24fr);
  border-top:1px solid var(--prod-line);
}
.prod-record__media{
  min-width:0;
  border-right:1px solid var(--prod-line);
}
.prod-record__media img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.prod-record__media-foot{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:.8rem 0;
  color:#667176;
  font-family:var(--mono);
  font-size:.56rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.prod-record__copy{
  min-width:0;
  padding:1.4rem 1.7rem;
  border-right:1px solid var(--prod-line);
}
.prod-record__copy .eyebrow{margin:0 0 .8rem;}
.prod-record__copy h2{
  margin:0;
  max-width:11ch;
  font-family:var(--serif);
  font-size:clamp(2.8rem,4.5vw,5rem);
  font-weight:400;
  letter-spacing:-.055em;
  line-height:.92;
}
.prod-record__description{
  margin:1rem 0 0;
  color:#4E595E;
  line-height:1.6;
}
.prod-record__facts{
  display:grid;
  margin-top:1.5rem;
  border-top:1px solid var(--prod-line);
}
.prod-record__facts div{
  display:grid;
  grid-template-columns:8.5rem minmax(0,1fr);
  gap:1rem;
  padding:.9rem 0;
  border-bottom:1px solid var(--prod-line);
}
.prod-record__facts b{
  font-family:var(--mono);
  font-size:.58rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.prod-record__facts span{
  color:#596469;
  font-size:.78rem;
  line-height:1.5;
}
.prod-record__aside{
  padding:1.4rem 0 0 1.5rem;
}
.prod-record__aside > b{
  display:block;
  margin-bottom:1rem;
  font-family:var(--mono);
  font-size:.58rem;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.prod-record__meta{
  border-top:1px solid var(--prod-line);
}
.prod-record__meta div{
  padding:.95rem 0;
  border-bottom:1px solid var(--prod-line);
}
.prod-record__meta small{
  display:block;
  color:#667176;
  font-family:var(--mono);
  font-size:.55rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.prod-record__meta strong{
  display:block;
  margin-top:.4rem;
  font-size:.82rem;
  font-weight:500;
  line-height:1.4;
}
.prod-record__actions{
  display:grid;
  gap:.7rem;
  margin-top:1.3rem;
}
.prod-record__actions a{width:max-content;max-width:100%;}
.prod-record__actions .text-link{font-size:.62rem;}

.prod-evidence__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.85rem;
}
.prod-evidence figure{
  margin:0;
  background:var(--prod-panel);
  color:#fff;
}
.prod-evidence figure img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.prod-evidence figcaption{
  display:grid;
  grid-template-columns:2.2rem minmax(0,1fr);
  gap:.25rem .8rem;
  padding:1rem;
}
.prod-evidence figcaption span{
  grid-row:1/3;
  color:var(--prod-cyan);
  font-family:var(--mono);
  font-size:.58rem;
}
.prod-evidence figcaption strong{font-size:.9rem;}
.prod-evidence figcaption small{color:var(--prod-muted);line-height:1.4;}

.prod-project .section-index{border-color:var(--prod-line-dark);}
.prod-project__actions{
  display:flex;
  flex-wrap:wrap;
  gap:1rem 1.4rem;
  align-items:center;
  margin-top:1.5rem;
}

body[data-page="production"] :is(button,a):focus-visible{
  outline:2px solid var(--prod-cyan);
  outline-offset:3px;
}

@media (max-width:1050px){
  .prod-system-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .prod-record{
    grid-template-columns:minmax(0,.5fr) minmax(0,.5fr);
  }
  .prod-record__aside{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:minmax(12rem,.3fr) minmax(0,.7fr);
    gap:1.5rem;
    padding:1.4rem 0;
    border-top:1px solid var(--prod-line);
  }
  .prod-record__actions{align-content:start;}
}

@media (max-width:900px){
  .prod-hero{min-height:0;}
  .prod-hero__inner{
    grid-template-columns:1fr;
    min-height:0;
    padding-top:7rem;
  }
  .prod-hero__lede{margin-top:1rem;}
  .prod-routing__heading,
  .prod-systems__heading,
  .prod-evidence__heading,
  .prod-project__grid{
    grid-template-columns:1fr;
    gap:1.8rem;
  }
  .prod-routing__rail{
    grid-template-columns:repeat(6,8.6rem);
    overflow-x:auto;
    padding-bottom:.5rem;
  }
  .prod-routing__rail::before{left:4.3rem;right:4.3rem;}
  .prod-specialist{
    grid-template-columns:1fr;
  }
  .prod-specialist button{
    border-left:0;
    border-top:1px solid var(--prod-line-dark);
  }
  .prod-evidence__grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:700px){
  .prod-system-grid{grid-template-columns:1fr;}
  .prod-system-card,
  .prod-system-card__body{min-height:330px;}
  .prod-specialist button{
    grid-template-columns:2.5rem 1fr auto;
  }
  .prod-specialist button small{grid-column:2/4;}
  .prod-record{grid-template-columns:1fr;}
  .prod-record__media,
  .prod-record__copy{border-right:0;border-bottom:1px solid var(--prod-line);}
  .prod-record__aside{
    grid-column:auto;
    grid-template-columns:1fr;
  }
  .prod-record__facts div{grid-template-columns:1fr;}
}

@media (prefers-reduced-motion:reduce){
  .prod-system-card__media img,
  .prod-routing__rail button::before{transition:none!important;transform:none!important;}
}


/* --------------------------------------------------------------------------
   FINISHING & EMBELLISHMENT TYPOGRAPHY PARITY — 2026-09-28
   Editorial hierarchy reference: finishing-embellishment.css.
   Removes micro-label density and restores the HDC serif/sans/mono roles.
   -------------------------------------------------------------------------- */

body[data-page="production"] .prod-hero h1{
  max-width:9.2ch;
  margin-top:clamp(1.8rem,4vw,4.5rem);
  font-size:clamp(3.6rem,6.6vw,7rem);
  letter-spacing:var(--display-tracking);
  line-height:var(--display-leading);
  text-wrap:balance;
}

body[data-page="production"] .prod-hero__lede{
  max-width:39rem;
  margin:0 0 .65rem;
  color:var(--paper);
  font-size:var(--type-lede);
  font-weight:400;
  letter-spacing:-.022em;
  line-height:1.48;
}

body[data-page="production"] .prod-routing__heading,
body[data-page="production"] .prod-systems__heading,
body[data-page="production"] .prod-evidence__heading,
body[data-page="production"] .prod-project__grid{
  grid-template-columns:minmax(0,1fr) minmax(18rem,.6fr);
  gap:2rem 5rem;
  align-items:end;
  margin-bottom:clamp(3rem,7vw,6rem);
}

body[data-page="production"] .prod-routing__heading h2,
body[data-page="production"] .prod-systems__heading h2,
body[data-page="production"] .prod-evidence__heading h2,
body[data-page="production"] .prod-project h2{
  margin-top:1.5rem;
  font-size:var(--type-display-lg);
  letter-spacing:var(--display-tracking);
  line-height:var(--display-leading);
}

body[data-page="production"] .prod-routing__heading h2{max-width:9ch;}
body[data-page="production"] .prod-systems__heading h2{max-width:11ch;}
body[data-page="production"] .prod-evidence__heading h2{max-width:10ch;}
body[data-page="production"] .prod-project h2{max-width:10ch;}

body[data-page="production"] .prod-routing__heading .body,
body[data-page="production"] .prod-systems__heading .body,
body[data-page="production"] .prod-evidence__heading .body,
body[data-page="production"] .prod-project .body{
  align-self:end;
  max-width:38rem;
  margin:0;
  font-size:var(--type-body);
  letter-spacing:-.012em;
  line-height:1.63;
}

/* Routing rail: keep the useful sequence, remove tiny descriptive chatter. */
body[data-page="production"] .prod-routing__rail button{
  grid-template-rows:auto 1.3rem auto;
  min-height:7.2rem;
}
body[data-page="production"] .prod-routing__rail button strong{
  margin-top:.72rem;
  font-family:var(--serif);
  font-size:clamp(1.2rem,1.65vw,1.55rem);
  font-weight:400;
  letter-spacing:-.025em;
  line-height:1.05;
}
body[data-page="production"] .prod-routing__readout{
  max-width:38rem;
  margin:1.35rem 0 0;
  color:var(--muted);
  font-family:var(--sans);
  font-size:.86rem;
  letter-spacing:-.012em;
  line-height:1.55;
  text-transform:none;
}

/* Production cards use the same serif-led register scale as Finishing. */
body[data-page="production"] .prod-system-card__body{
  padding:1.4rem;
}
body[data-page="production"] .prod-system-card__family{
  margin-top:auto;
  color:var(--mist);
  font-family:var(--mono);
  font-size:.62rem;
  letter-spacing:.11em;
  line-height:1.2;
  text-transform:uppercase;
}
body[data-page="production"] .prod-system-card h3{
  max-width:12ch;
  margin-top:.55rem;
  font-size:clamp(2rem,3vw,3.45rem);
  font-weight:400;
  letter-spacing:-.045em;
  line-height:.96;
}
body[data-page="production"] .prod-system-card p{
  max-width:25rem;
  margin-top:.7rem;
  color:var(--mist);
  font-size:.85rem;
  line-height:1.45;
}

/* Specialist route becomes one editorial row, not another micro-dashboard. */
body[data-page="production"] .prod-specialist{
  display:block;
  margin-top:1.4rem;
  border-top:1px solid var(--prod-line-dark);
  border-bottom:1px solid var(--prod-line-dark);
}
body[data-page="production"] .prod-specialist button{
  display:grid;
  grid-template-columns:minmax(12rem,.55fr) minmax(0,1fr) auto;
  gap:1.25rem;
  align-items:center;
  width:100%;
  min-height:96px;
  padding:1.35rem 0;
  border:0;
  background:transparent;
  color:#fff;
  text-align:left;
}
body[data-page="production"] .prod-specialist button strong{
  font-family:var(--serif);
  font-size:clamp(1.65rem,2.8vw,3rem);
  font-weight:400;
  letter-spacing:-.04em;
  line-height:1;
}
body[data-page="production"] .prod-specialist__copy{
  max-width:34rem;
  color:var(--mist);
  font-size:.86rem;
  line-height:1.5;
}
body[data-page="production"] .prod-specialist button b{
  font-size:1.1rem;
  font-weight:400;
}

/* Production record follows Finishing ledger/layer typography. */
body[data-page="production"] .prod-record__copy h2{
  max-width:11ch;
  margin:0;
  font-size:clamp(2.3rem,4vw,4.5rem);
  font-weight:400;
  letter-spacing:-.052em;
  line-height:.94;
}
body[data-page="production"] .prod-record__description{
  max-width:34rem;
  margin:1.5rem 0 0;
  color:var(--muted);
  font-size:1rem;
  letter-spacing:-.012em;
  line-height:1.65;
}
body[data-page="production"] .prod-record__facts{
  margin-top:2rem;
}
body[data-page="production"] .prod-record__facts div{
  grid-template-columns:9rem minmax(0,1fr);
  gap:1.2rem;
  padding:1rem 0;
}
body[data-page="production"] .prod-record__facts b{
  font-size:.62rem;
  font-weight:500;
  letter-spacing:.1em;
  line-height:1.35;
}
body[data-page="production"] .prod-record__facts span{
  color:var(--muted);
  font-size:.86rem;
  line-height:1.55;
}
body[data-page="production"] .prod-record__context{
  padding-top:.2rem;
  border-top:1px solid var(--prod-line);
}
body[data-page="production"] .prod-record__context h3{
  margin:1.25rem 0 0;
  font-family:var(--serif);
  font-size:clamp(1.65rem,2.4vw,2.5rem);
  font-weight:400;
  letter-spacing:-.035em;
  line-height:1.05;
}
body[data-page="production"] .prod-record__context p{
  max-width:28rem;
  margin:1rem 0 0;
  color:var(--muted);
  font-size:.86rem;
  line-height:1.55;
}
body[data-page="production"] .prod-record__actions{
  margin-top:2rem;
}
body[data-page="production"] .prod-record__actions .text-link{
  font-size:.64rem;
}

/* Evidence captions: editorial names + readable supporting copy. */
body[data-page="production"] .prod-evidence figcaption{
  display:grid;
  grid-template-columns:1fr;
  gap:.45rem;
  padding:1.1rem;
}
body[data-page="production"] .prod-evidence figcaption strong{
  font-family:var(--serif);
  font-size:clamp(1.25rem,2vw,1.9rem);
  font-weight:400;
  letter-spacing:-.025em;
  line-height:1.1;
}
body[data-page="production"] .prod-evidence figcaption span{
  grid-row:auto;
  color:var(--mist);
  font-family:var(--sans);
  font-size:.86rem;
  letter-spacing:-.012em;
  line-height:1.55;
}

/* Remove obsolete typography generated by the pre-parity structure. */
body[data-page="production"] .prod-system-card__index,
body[data-page="production"] .prod-specialist__label,
body[data-page="production"] .prod-record__media-foot,
body[data-page="production"] .prod-record__copy > .eyebrow,
body[data-page="production"] .prod-record__aside > b,
body[data-page="production"] .prod-record__meta{
  display:none!important;
}

@media (max-width:900px){
  body[data-page="production"] .prod-hero h1{
    max-width:9ch;
    font-size:clamp(3rem,13vw,5.2rem);
  }
  body[data-page="production"] .prod-routing__heading,
  body[data-page="production"] .prod-systems__heading,
  body[data-page="production"] .prod-evidence__heading,
  body[data-page="production"] .prod-project__grid{
    grid-template-columns:1fr;
    gap:1.8rem;
  }
  body[data-page="production"] .prod-specialist button{
    grid-template-columns:1fr auto;
    gap:.55rem 1rem;
  }
  body[data-page="production"] .prod-specialist__copy{
    grid-column:1/3;
  }
}

@media (max-width:700px){
  body[data-page="production"] .prod-record__facts div{
    grid-template-columns:1fr;
    gap:.45rem;
  }
  body[data-page="production"] .prod-specialist button strong{
    font-size:1.75rem;
  }
}
