/* Join narrative: product blueprints, inspectable engineering, and specific invitations. */
/* Original engineering graphics replace all public historical photography. */
.research-artifacts .artifact img,.lab-hero-material figure img,.lab-gallery-grid img,.join-photo-stack img,
.join-fieldwork-spread figure img,.material-preview>img,.lab-point-detail .lab-detail-image { object-fit:contain; background:#202823; }
.join-photo-stack .join-photo img { filter:none; }
.material-preview { display:flex; flex-direction:column; }
.material-preview>img { flex:1; height:auto; min-height:260px; }
.material-preview .material-preview-overlay { position:relative; background:linear-gradient(125deg,#232c27,#3b352b); padding:20px 28px; }
.material-preview .material-preview-overlay strong { font-size:clamp(21px,2.5vw,34px); }
.lab-source-gallery .lab-gallery-grid img { aspect-ratio:4/3; }
#join-view .join-story-section { padding: 106px 0; scroll-margin-top: 100px; }
#join-view .join-story-heading { display:grid; grid-template-columns:1.1fr .9fr; gap:8%; align-items:end; margin-bottom:48px; }
#join-view .join-story-heading h2 { font-size:clamp(36px,4.8vw,68px); line-height:1.13; letter-spacing:-.055em; margin:23px 0 0; }
#join-view .join-story-heading h2 em { font-family:'STKaiti','KaiTi',serif; font-style:normal; font-weight:600; color:var(--join-accent,#e7aa8a); }
#join-view .join-story-heading>p { font-size:15px; line-height:1.9; max-width:470px; margin:0 0 3px; color:var(--join-muted,#c5c1bc); }
#join-view .join-story-label { display:block; font:700 11px/1.6 ui-monospace,Consolas,monospace; letter-spacing:.1em; color:var(--join-accent,#e7aa8a); }
#join-view .join-story-section a, #join-view .join-build a { text-underline-offset:5px; }
#join-view .join-story-section :is(a,button,summary):focus-visible, #join-view .join-build summary:focus-visible { outline:2px solid currentColor; outline-offset:6px; }
.join-fieldwork { --join-muted:#bab7b1; background:radial-gradient(ellipse at 100% 0,#603a2826,transparent 55%),linear-gradient(165deg,#161819,#242321); color:#f1ebe1; }
.join-fieldwork-spread { display:grid; grid-template-columns:1.3fr .7fr; gap:22px; align-items:stretch; }
.join-fieldwork-spread figure { margin:0; position:relative; overflow:hidden; min-width:0; background:#33312c; }
.join-fieldwork-spread img { display:block; width:100%; height:100%; object-fit:cover; }
.join-fieldwork-main { aspect-ratio:1.59; }
.join-fieldwork-main img { object-position:center 63%; }
.join-fieldwork-spread figcaption { position:absolute; inset:auto 0 0; display:flex; flex-wrap:wrap; gap:8px 20px; justify-content:space-between; padding:40px 20px 16px; background:linear-gradient(transparent,#101111d9); color:#fff8ef; font-size:12px; line-height:1.5; }
.join-fieldwork-spread figcaption span { font:600 10px/1.7 ui-monospace,Consolas,monospace; letter-spacing:.08em; }
.join-fieldwork-observation { align-self:center; padding:24px 18px 24px 24px; }
.join-fieldwork-observation h3 { font-size:clamp(26px,2.7vw,40px); line-height:1.3; letter-spacing:-.035em; margin:18px 0; }
.join-fieldwork-observation p { font-size:14px; line-height:1.9; color:#c2beb7; }
.join-fieldwork-observation a { display:inline-block; margin-top:17px; font-size:13px; color:#efb795; }
.join-fieldwork-detail { aspect-ratio:1.9; }
.join-fieldwork-detail img { object-position:center 44%; }
.join-fieldwork-team { aspect-ratio:1.03; }
.join-insight-map { list-style:none; padding:0; margin:40px 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #f2dfc53b; }
.join-insight-map li { padding:28px 25px 4px 0; margin-right:25px; border-right:1px solid #f2dfc529; }
.join-insight-map li:last-child { margin:0; border:0; }
.join-insight-map li>span,.join-role-grid article>span { font:700 11px/1.5 ui-monospace,Consolas,monospace; letter-spacing:.09em; color:#d7a58a; }
.join-insight-map h3 { font-size:23px; margin:17px 0 12px; letter-spacing:-.025em; }
.join-insight-map p { font-size:14px; line-height:1.8; color:#bab7b1; margin:0 0 22px; }
.join-insight-map a { font-size:12px; color:#efba9d; }
#join-view .join-editorial { padding:95px 0 105px; }
.join-build { --join-muted:#59564f; --join-accent:#9a4e36; scroll-margin-top:100px; }
.join-build .join-overline { color:#95503b; }
.join-build-list { border-top:1px solid #8d8376; }
.join-build-list details { border-bottom:1px solid #b8b0a3; }
.join-build-list summary { display:grid; grid-template-columns:145px 1fr 28px; align-items:center; gap:20px; padding:27px 4px; cursor:pointer; list-style:none; }
.join-build-list summary::-webkit-details-marker { display:none; }
.join-build-list summary>span { color:#8f503c; font:700 11px/1.5 ui-monospace,Consolas,monospace; letter-spacing:.06em; }
.join-build-list summary h3 { font-size:clamp(19px,2vw,27px); font-weight:650; margin:0; line-height:1.5; letter-spacing:-.035em; }
.join-build-list summary b { font-size:25px; font-weight:400; transition:transform .2s; }
.join-build-list details[open] summary b { transform:rotate(45deg); }
.join-build-body { padding:0 44px 28px 169px; }
.join-build-body p { display:grid; grid-template-columns:80px 1fr; gap:18px; font-size:14px; line-height:1.85; color:#4c4c46; margin:0 0 12px; }
.join-build-body p strong { font-size:12px; color:#7f4d39; }
.join-build-body>div { display:flex; flex-wrap:wrap; gap:14px 25px; justify-content:space-between; margin-top:23px; padding-top:17px; border-top:1px solid #b9afa3; }
.join-build-body code { font-size:11px; line-height:1.6; color:#716454; overflow-wrap:anywhere; }
.join-build-body a { font-size:12px; font-weight:700; color:#8c4933; }
.join-case-story { --join-accent:#a55b40; --join-muted:#615d57; color:#252725; background:radial-gradient(ellipse at 0 0,#e5d8c5a3,transparent 60%),linear-gradient(130deg,#f4f1e9,#e7e7df); }
.join-case-story .join-overline { color:#975139; }
.join-case-layout { display:grid; grid-template-columns:260px minmax(0,1fr); border:1px solid #bbb4a5; background:#ffffff24; }
.join-case-tabs { display:flex; flex-direction:column; padding:15px; border-right:1px solid #bbb4a5; gap:5px; background:#d6d4c83b; }
.join-case-tabs button { display:grid; grid-template-columns:30px 1fr; text-align:left; align-items:baseline; gap:7px 10px; border:1px solid transparent; background:none; color:#56574f; padding:21px 17px; cursor:pointer; }
.join-case-tabs button>span { grid-row:span 2; font:600 12px ui-monospace,Consolas,monospace; }
.join-case-tabs button strong { font-size:17px; font-weight:650; }
.join-case-tabs button small { font-size:12px; line-height:1.5; }
.join-case-tabs button:hover { background:#fff6; }
.join-case-tabs button[aria-selected="true"] { color:#472e23; background:#fdf9f0; border-color:#c3b29b; box-shadow:0 5px 20px #4b3f2f0a; }
.join-case-tabs button[aria-selected="true"]>span { color:#a3563a; }
.join-case-panels { display:flex; flex-direction:column; min-width:0; }
.join-case-panel { padding:40px 40px 30px; min-height:440px; }
.join-case-panel[hidden] { display:none; }
.join-case-panel h3 { font-size:clamp(27px,3vw,40px); line-height:1.25; letter-spacing:-.05em; margin:20px 0 22px; }
.join-case-panel blockquote { margin:0; font-size:15px; line-height:1.9; border-left:2px solid #ba7855; padding-left:20px; color:#4d4b45; }
.join-case-panel p,.join-case-panel li { font-size:14px; line-height:1.9; color:#5f5e56; }
.join-case-panel ol { padding-left:20px; margin:25px 0; }
.join-case-panel li { margin-bottom:12px; padding-left:6px; }
.join-case-panel>code { display:block; font-size:12px; line-height:1.7; color:#89543b; padding:18px 0 0; border-top:1px solid #c3b8a6; overflow-wrap:anywhere; }
.join-case-vitals { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:28px 0 19px; gap:12px; border-top:1px solid #c3b8a6; padding-top:20px; }
.join-case-vitals dt { font:600 11px/1.5 ui-monospace,Consolas,monospace; color:#7d6d58; }
.join-case-vitals dd { margin:8px 0 0; font:500 clamp(20px,2.2vw,30px)/1.5 Georgia,serif; white-space:nowrap; }
.join-case-vitals dd small { font:400 11px system-ui,sans-serif; }
.join-case-actions { padding:24px 40px; margin-top:auto; border-top:1px solid #c3b8a6; background:#f7f1e54a; }
.join-case-actions span { display:block; font-size:12px; color:#6f695d; line-height:1.7; }
.join-case-actions a { display:flex; align-items:center; justify-content:space-between; gap:20px; color:#914c34; font-size:14px; font-weight:700; margin-top:15px; }
.join-agent-story { color:#f1ece2; background:radial-gradient(ellipse at 10% 90%,#8d4b3124,transparent 60%),linear-gradient(150deg,#292927,#151a1b); }
.join-agent-chain { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:0; margin:0; border-top:1px solid #c8b39a57; border-left:1px solid #c8b39a38; }
.join-agent-chain li { position:relative; padding:30px 28px; border-bottom:1px solid #c8b39a38; border-right:1px solid #c8b39a38; }
.join-agent-chain li>span { color:#e7ac87; font:600 11px/1.8 ui-monospace,Consolas,monospace; letter-spacing:.02em; overflow-wrap:anywhere; }
.join-agent-chain h3 { font-size:23px; font-weight:600; margin:17px 0 12px; }
.join-agent-chain p { font-size:14px; color:#c0bfb8; margin:0; line-height:1.7; }
.join-agent-support { display:grid; grid-template-columns:1fr 1fr; gap:30px; padding:32px 0; border-bottom:1px solid #c8b39a38; }
.join-agent-support>div { padding:0 26px; border-left:2px solid #b7bf9b80; }
.join-agent-support span { font-size:11px; line-height:1.8; color:#c0c8aa; }
.join-agent-support h3 { font-size:20px; margin:13px 0; }
.join-agent-support p { color:#c0bfb8; font-size:14px; line-height:1.8; margin:0; }
.join-story-link { display:flex; justify-content:space-between; gap:22px; font-size:14px; color:#edb89b; margin-top:30px; line-height:1.8; }
.join-contribute { --join-muted:#b8b9ad; --join-accent:#e1b59a; color:#f0eee6; background:linear-gradient(160deg,#202825,#29312a 70%,#252921); border-top:1px solid #ced2bb29; }
.join-role-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #e0d7bf4d; border-left:1px solid #e0d7bf2f; }
.join-role-grid article { display:flex; flex-direction:column; padding:30px 26px; border-bottom:1px solid #e0d7bf2f; border-right:1px solid #e0d7bf2f; }
.join-role-grid h3 { font-size:23px; line-height:1.4; margin:20px 0 16px; }
.join-role-grid p,.join-role-grid dd { font-size:14px; line-height:1.85; color:#bbc0b2; margin:0; }
.join-role-grid dl { margin:26px 0; padding-top:20px; border-top:1px solid #d9d7c226; }
.join-role-grid dt { font-size:11px; line-height:1.5; color:#d2b69d; margin-bottom:9px; }
.join-role-grid button { margin-top:auto; align-self:flex-start; padding:8px 0; border:0; border-bottom:1px solid #cfb695; color:#e7c3a7; background:none; text-align:left; font:600 13px/1.5 system-ui,sans-serif; cursor:pointer; }
.join-role-grid button:hover { color:#fff1de; border-color:#fff1de; }
.join-material-note { margin-top:35px; border-top:1px solid #d9d7c238; padding-top:20px; color:#bcc0b3; }
.join-material-note summary { cursor:pointer; font-size:13px; width:fit-content; padding:5px 0; }
.join-material-note p { font-size:13px; line-height:1.95; max-width:950px; margin:20px 0 0; }
@media(max-width:1000px) {
  .join-case-layout { grid-template-columns:220px minmax(0,1fr); }
  .join-case-panel { padding:30px 25px; }
  .join-case-actions { padding:22px 25px; }
  .join-role-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .join-fieldwork-observation { padding:15px 0 15px 10px; }
  .join-build-body { padding-left:120px; }
  .join-build-list summary { grid-template-columns:100px 1fr 25px; }
}
@media(max-width:760px) {
  #join-view .join-story-section { padding:72px 0; }
  #join-view .join-story-heading { grid-template-columns:1fr; gap:25px; margin-bottom:35px; }
  #join-view .join-story-heading>p { max-width:620px; }
  #join-view .join-editorial { padding:70px 0; }
  .join-fieldwork-spread { grid-template-columns:1fr 1fr; gap:14px; }
  .join-fieldwork-main { grid-column:1/-1; }
  .join-fieldwork-observation { grid-column:1/-1; padding:17px 0 22px; }
  .join-fieldwork-observation h3 br { display:none; }
  .join-fieldwork-detail { aspect-ratio:.85; }
  .join-fieldwork-team { aspect-ratio:.85; }
  .join-fieldwork-spread figcaption { padding:40px 12px 12px; font-size:11px; }
  .join-insight-map { grid-template-columns:1fr; }
  .join-insight-map li { margin:0; padding:26px 0; border-right:0; border-bottom:1px solid #f2dfc529; }
  .join-insight-map li:last-child { padding-bottom:0; }
  .join-build-list summary { grid-template-columns:1fr 25px; gap:12px; padding:24px 0; }
  .join-build-list summary>span { grid-column:1/-1; }
  .join-build-body { padding:0 0 25px; }
  .join-case-layout { grid-template-columns:1fr; }
  .join-case-tabs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-right:0; border-bottom:1px solid #bbb4a5; padding:8px; gap:2px; }
  .join-case-tabs button { display:flex; flex-direction:column; align-items:center; gap:6px; padding:14px 3px; text-align:center; }
  .join-case-tabs button>span { font-size:11px; }
  .join-case-tabs button strong { font-size:12px; line-height:1.5; }
  .join-case-tabs button small { display:none; }
  .join-case-panel { min-height:470px; padding:28px 22px; }
  .join-agent-chain { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .join-agent-chain li { padding:24px 18px; }
  .join-agent-chain h3 { font-size:21px; }
  .join-agent-support { grid-template-columns:1fr; gap:27px; }
}
@media(max-width:480px) {
  .join-build-body p { grid-template-columns:1fr; gap:4px; margin-bottom:18px; }
  .join-role-grid { grid-template-columns:1fr; }
  .join-role-grid article { padding:28px 22px; }
  .join-case-vitals { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 12px; }
  .join-case-panel { min-height:520px; }
  .join-case-actions { padding-inline:22px; }
  .join-case-actions a { font-size:13px; }
  .join-agent-chain li { padding-inline:14px; }
}
@media(prefers-reduced-motion:reduce) {
  #join-view .join-build-list summary b { transition:none; }
}
