
/* ---- Masthead (E, DECISIONS.md "Exhibitor hero: masthead with contact") ----
   The logo tile takes the logo's own shape at a fixed height beside the name.
   One ruled strip under it: a link card per confirmed stand, then the details
   (zone, website, email, follow, categories). The summary is the lead of About. */
.emast{display:flex;gap:var(--gap-lg);align-items:center}
.emast h1{max-width:20ch}
.emast .ztag{margin-bottom:var(--gap-sm)}
.elogo{height:132px;flex:none;padding:16px;display:flex;align-items:center;justify-content:center;
  background:var(--logo-well);border-radius:var(--r-card)}
.elogo img{height:100%;width:auto;max-width:280px;min-width:64px;object-fit:contain;display:block}
.estrip{display:grid;grid-template-columns:auto minmax(0,1fr);margin-top:var(--gap-lg);border-block:1px solid var(--ink-hairline)}
.estrip.nostand{grid-template-columns:minmax(0,1fr)}
.estands{display:flex;gap:var(--gap-sm);align-items:center;padding:20px clamp(20px,2.4vw,36px) 20px 0;border-right:1px solid var(--ink-hairline)}
/* the stand IS the floor-plan link, so it is a link card: lifted onto navy-700 */
.estand{display:grid;gap:6px;min-width:200px;padding:18px 22px 16px;border-radius:var(--r-card);
  background:var(--navy-700);box-shadow:var(--sh-sm);text-decoration:none;color:var(--cream);
  transition:transform var(--d-fast) var(--e-enter),box-shadow var(--d-fast) var(--e-enter)}
.estand:hover{transform:translateY(-2px);box-shadow:var(--sh-lg)}
.estand .code{font-family:var(--f-mono);font-weight:800;font-size:clamp(44px,4.6vw,64px);line-height:.95;letter-spacing:-.02em}
.estand .go{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:var(--t-ui);color:var(--coral)}
.estand .go .arr{margin-left:auto;color:var(--ink-90)}
.kl{font-size:var(--t-label);letter-spacing:var(--ls-tag);text-transform:uppercase;font-weight:700;color:var(--ink-56)}
.edetails{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center}
.efact{display:grid;gap:8px;align-content:start;padding:18px clamp(20px,2.4vw,36px)}
.efact+.efact:not(:nth-child(odd)){border-left:1px solid var(--ink-hairline)}
.efact:nth-child(n+3){border-top:1px solid var(--ink-hairline)}
.efact.wide{grid-column:1/-1;border-left:0}
.estrip.nostand .efact:nth-child(odd){padding-left:0}
.zoneline{display:inline-flex;align-items:center;gap:var(--gap-xs);color:var(--ink-94);font-weight:500}
.zoneline .ico{color:var(--accent)}
/* social links are pressable: chips, on the soft fill */
.soc{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
/* ---- About: one story. A real eyebrow, the summary as its one lead, the
   description at body size in one measure. One rhythm from the strip down,
   rather than the masthead's and the band's paddings stacked. */
.exhibitor .pagehead{padding-bottom:0}
.about{padding-top:var(--gap-lg);padding-bottom:0}
.about+.band{padding-top:72px}
.about .art{max-width:var(--maxw-text)}
.about .art p:first-of-type{color:var(--cream)}
.about .lead{font-size:var(--t-lead);line-height:1.3;letter-spacing:-.02em;color:var(--cream);max-width:40ch;margin-bottom:20px}
@media (max-width:767px){
  .emast{flex-direction:column;align-items:flex-start;gap:var(--gap-md)}
  /* a full-width well on a phone, so a logo with baked-in margins still reads */
  .elogo{width:100%;height:150px;padding:14px 18px;display:grid;grid-template:minmax(0,1fr)/minmax(0,1fr)}
  .elogo img{width:100%;height:100%;max-width:none;min-width:0}
  .estrip{grid-template-columns:1fr;border-top:0}
  .estands{display:grid;gap:var(--gap-xs);padding:0 0 var(--gap-md);border-right:0;border-bottom:1px solid var(--ink-hairline)}
  .estand{min-width:0;padding:14px 18px;grid-template-columns:auto 1fr;grid-template-areas:"k k" "c g";align-items:end;column-gap:var(--gap-md)}
  .estand .kl{grid-area:k}.estand .code{grid-area:c;font-size:44px}
  .estand .go{grid-area:g;justify-self:end;padding-bottom:4px}.estand .go .arr{margin-left:0}
  .edetails{grid-template-columns:1fr}
  .efact,.estrip.nostand .efact:nth-child(odd){padding:14px 0;border-left:0;border-top:1px solid var(--ink-hairline);grid-template-columns:88px minmax(0,1fr);align-items:center}
  .efact+.efact:not(:nth-child(odd)){border-left:0}
  .efact:first-child{border-top:0}
  .about{padding-top:32px}.about+.band{padding-top:56px}
  .about .lead{font-size:22px}
}
.role{display:flex;gap:var(--gap-md);align-items:flex-start}
.role .t{font-family:var(--f-display);font-weight:700;font-size:var(--t-body-lg);
  letter-spacing:var(--ls-display-tight);line-height:1.15;color:var(--cream);margin:0}
.role p{margin:6px 0 0;font-size:var(--t-body);color:var(--ink-84);line-height:1.5}
.role .lv{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:var(--t-label);
  letter-spacing:var(--ls-tag);text-transform:uppercase;font-weight:700;color:var(--ink-56);
  margin-top:var(--gap-xs);display:block}
.sess{display:flex;gap:var(--gap-md);align-items:flex-start}
.sess .t{font-family:var(--f-display);font-weight:700;font-size:var(--t-lead);
  letter-spacing:var(--ls-display-tight);line-height:1.14;color:var(--cream);margin:0}
.sess .when{display:flex;flex-wrap:wrap;gap:var(--gap-sm);margin-top:var(--gap-xs);
  font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:12.5px;color:var(--ink-90)}
.sess .when span{display:inline-flex;align-items:center;gap:6px}
.dl{display:flex;align-items:center;gap:var(--gap-sm);padding:14px 16px;
  border-radius:var(--r-card);text-decoration:none;color:var(--ink-94);
  background:var(--navy-700);box-shadow:var(--sh-sm);
  transition:transform var(--d-fast) var(--e-enter),box-shadow var(--d-fast) var(--e-enter)}
.dl:hover{transform:translateY(-2px);box-shadow:var(--sh-lg);color:var(--cream)}
.dl .nm{font-weight:600;font-size:var(--t-body)}
.dl .fmt{margin-left:auto;font-family:var(--f-mono);font-size:var(--t-label);
  letter-spacing:var(--ls-tag);text-transform:uppercase;font-weight:700;color:var(--ink-56)}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-md);
  max-width:var(--maxw);margin:0 auto}
.pn a{display:flex;gap:var(--gap-sm);align-items:center;padding:var(--gap-md);
  border-radius:var(--r-card);text-decoration:none;color:var(--ink-94);
  background:var(--navy-700);box-shadow:var(--sh-sm);
  transition:transform var(--d-fast) var(--e-enter),box-shadow var(--d-fast) var(--e-enter)}
.pn a:hover{transform:translateY(-2px);box-shadow:var(--sh-lg)}
/* lifted onto navy-700, so quiet text steps up a rung for contrast */
.pn a,.dl,.estand{--ink-56:var(--ink-84)}
.pn .k{display:block;font-size:var(--t-label);letter-spacing:var(--ls-label);
  text-transform:uppercase;font-weight:700;color:var(--ink-56);margin-bottom:4px}
.pn .n{font-family:var(--f-display);font-weight:700;font-size:var(--t-body-lg);
  letter-spacing:var(--ls-display-tight);line-height:1.15;color:var(--cream)}
.pn .next{justify-content:flex-end;text-align:right}
.role .icowell .ico,.sess .icowell .ico{--ico:24px}
@media (max-width:640px){
  .pn{grid-template-columns:1fr}
}
