/* Nexus｜泊 · v7 campus index deck
   Compact, editorial, and product-like without turning into a generic admin table. */

:root{
  --bg:#F6F5EF;
  --paper:#FFFDF7;
  --card:#FFFFFF;
  --ink:#151922;
  --ink-2:#283241;
  --muted:#66707D;
  --faint:#9AA3AE;
  --line:#DFE2DB;
  --line-2:#CDD4CB;
  --blue:#2463EB;
  --green:#0B8F6B;
  --gold:#B4832A;
  --red:#B42335;
  --purple:#6E1677;
  --g-pro:var(--blue);
  --g-fun:var(--green);
  --g-adv:var(--gold);
  --maxw:1160px;
  --pagew:1780px;
  --radius:8px;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Helvetica Neue","Noto Sans SC",sans-serif;
  --serif:"Noto Serif SC","Songti SC",STSong,serif;
  --mono:"SF Mono",ui-monospace,Menlo,Consolas,monospace;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  min-height:100vh;
  color:var(--ink);
  background:
    linear-gradient(90deg,rgba(21,25,34,.035) 1px,transparent 1px) 0 0/64px 64px,
    linear-gradient(rgba(21,25,34,.026) 1px,transparent 1px) 0 0/64px 64px,
    radial-gradient(circle at 15% 12%,rgba(36,99,235,.06),transparent 28%),
    var(--bg);
  font-family:var(--sans);
  font-size:15px;
  line-height:1.56;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
img,svg{display:block;max-width:100%}
::selection{background:rgba(36,99,235,.18)}
.wrap{width:min(calc(100% - 48px),var(--maxw));margin:0 auto}
.mono,.tnum{font-family:var(--mono);font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}

/* Navigation */
.nav{
  position:sticky;
  top:0;
  z-index:40;
  border-bottom:1px solid rgba(223,226,219,.86);
  background:rgba(246,245,239,.88);
  backdrop-filter:saturate(160%) blur(18px);
}
.nav .wrap{
  min-height:72px;
  display:flex;
  align-items:center;
  gap:18px;
}
.brand-lockup{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  min-width:0;
  margin-right:auto;
  padding:0;
  border-radius:0;
  background:none;
  box-shadow:none;
}
.brand{
  --brand-mark-size:34px;
  --brand-mark-gap:11px;
  display:flex;
  align-items:center;
  gap:var(--brand-mark-gap);
  line-height:1;
  white-space:nowrap;
  color:var(--ink);
}
.brand::before{
  content:"";
  width:var(--brand-mark-size);
  height:var(--brand-mark-size);
  flex:0 0 auto;
  border-radius:8px;
  background:url("nexus-mark-brandgrid.svg") center/contain no-repeat;
  box-shadow:none;
}
.brand .en{
  font-family:"Avenir Next","SF Pro Display","Helvetica Neue",var(--sans);
  font-size:22px;
  font-weight:820;
  letter-spacing:0;
  transform:translateY(.5px);
}
.brand .bar{
  width:1px;
  height:27px;
  margin:0 9px 0 10px;
  border-radius:999px;
  background:#AEB6C1;
  box-shadow:none;
}
.brand .zh{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:26px;
  height:31px;
  border-radius:0;
  background:none;
  color:#111823;
  font-family:"PingFang SC","Hiragino Sans GB","Noto Serif CJK SC","Songti SC",serif;
  font-size:24px;
  font-weight:720;
  letter-spacing:0;
  transform:translateY(.5px);
  box-shadow:none;
}
.brand .zh::after{
  display:none;
}
.brand:hover .en{letter-spacing:0}
.brand-slogan{
  display:block;
  min-width:0;
  margin-left:0;
  color:#7A828D;
  font-size:11px;
  font-weight:560;
  line-height:1.25;
  white-space:nowrap;
}
.brand-slogan::before{
  display:none;
}
.nav-links{
  display:flex;
  align-items:center;
  gap:2px;
  margin-left:auto;
  color:var(--muted);
  font-size:13.5px;
}
.nav-links a{
  position:relative;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  padding:6px 11px;
  border-radius:999px;
  white-space:nowrap;
  transition:background .16s,color .16s;
}
.nav-links a:hover{background:rgba(21,25,34,.052);color:var(--ink)}
.nav-links a.on{background:rgba(36,99,235,.1);color:var(--blue);font-weight:760}
.nav-links a.nav-feature{
  margin-left:4px;
  border:1px solid rgba(180,131,42,.28);
  background:linear-gradient(135deg,rgba(180,131,42,.13),rgba(255,253,247,.72) 62%,rgba(176,31,46,.05));
  color:#875A18;
  font-weight:780;
  box-shadow:0 10px 24px -22px rgba(180,131,42,.78);
}
.nav-links a.nav-feature::after{
  content:"";
  width:6px;
  height:6px;
  margin-left:7px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--gold),var(--red));
  box-shadow:0 0 0 4px rgba(180,131,42,.1);
}
.nav-links a.nav-feature:hover{
  border-color:rgba(180,131,42,.42);
  background:linear-gradient(135deg,rgba(180,131,42,.18),rgba(255,253,247,.82) 58%,rgba(176,31,46,.08));
  color:#653C0D;
}
.nav-links a.nav-feature.on{
  border-color:transparent;
  background:linear-gradient(135deg,#B4832A,#8F3D18);
  color:#FFFDF7;
  box-shadow:0 16px 30px -24px rgba(143,61,24,.85);
}
.nav-links a.nav-feature.on::after{
  background:#FFFDF7;
  box-shadow:0 0 0 4px rgba(255,253,247,.16);
}
.auth{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--muted);
  font-size:13.5px;
  white-space:nowrap;
}
.auth .login,.auth .lo{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:6px 13px;
  border-radius:999px;
  background:rgba(21,25,34,.055);
  color:var(--ink);
  font-weight:760;
  transition:background .16s;
}
.auth .login:hover,.auth .lo:hover{background:rgba(21,25,34,.1)}

/* Home */
.hero{
  position:relative;
  padding:58px 0 22px;
}
.hero .ship{display:none}
.hero .wrap{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,760px) 1fr;
  gap:44px;
  align-items:start;
}
.hero .wrap>*{grid-column:1}
.hero .wrap::after{
  content:"目录概览\A 学生社群 65 个\A 活动专项群 24 个\A MBA俱乐部 23 个\A 学校社团 154 个\A 学生分享会 19 场";
  white-space:pre;
  justify-self:end;
  width:280px;
  margin-top:54px;
  grid-column:2;
  grid-row:1 / span 8;
  padding:20px 22px;
  border:1px solid rgba(21,25,34,.12);
  border-top:3px solid var(--ink);
  background:rgba(255,253,247,.72);
  color:var(--ink-2);
  font-family:var(--mono);
  font-size:12px;
  line-height:2;
  letter-spacing:.06em;
  box-shadow:0 18px 40px -34px rgba(21,25,34,.45);
}
.kicker,.eg,.eyebrow,.stag{
  color:var(--faint);
  font-family:var(--mono);
  font-size:11.5px;
  letter-spacing:.08em;
}
.kicker{
  display:flex;
  align-items:center;
  gap:14px;
  max-width:760px;
  margin-bottom:13px;
}
.kicker .state{margin-left:auto;color:var(--green);letter-spacing:.04em;white-space:nowrap}
.brand-line{
  display:inline-flex;
  max-width:760px;
  margin:0 0 14px;
  color:#4C5666;
  font-size:18px;
  font-weight:720;
  line-height:1.6;
}
.hero h1{
  max-width:760px;
  margin:0 0 12px;
  font-size:54px;
  line-height:1.05;
  font-weight:860;
}
.hero h1 .soft{display:inline;color:inherit;font-weight:860}
.hero h1 .dot,.top h1 .dot{color:var(--blue)}
.hero .lede,.top .lede,.section .lede{
  max-width:760px;
  margin:0 0 10px;
  color:var(--muted);
  font-size:17px;
  line-height:1.78;
}
.hero .note,.top .note{
  max-width:760px;
  margin:0 0 20px;
  color:var(--faint);
  font-size:13.5px;
  line-height:1.76;
}
.home-search{max-width:620px;margin:20px 0 12px}
.hero .cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  border:0;
  border-radius:var(--radius);
  padding:9px 16px;
  background:var(--ink);
  color:#fff;
  font-weight:780;
  cursor:pointer;
  transition:background .16s,transform .16s;
}
.hero .cta:hover{background:#293241;transform:translateY(-1px)}
.hero .or{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  margin-left:12px;
  color:var(--muted);
  font-weight:720;
  border-bottom:1px solid var(--line-2);
}
.hero .or:hover{color:var(--blue);border-color:var(--blue)}

/* Search */
.sbox{
  display:flex;
  align-items:center;
  gap:11px;
  min-height:49px;
  border:1px solid var(--line-2);
  border-radius:var(--radius);
  background:rgba(255,255,255,.9);
  padding:10px 14px;
  box-shadow:0 1px 2px rgba(21,25,34,.045);
  transition:border-color .18s,box-shadow .18s,background .18s;
}
.sbox:focus-within{
  border-color:rgba(36,99,235,.58);
  background:#fff;
  box-shadow:0 0 0 4px rgba(36,99,235,.1);
}
.sbox svg{color:var(--faint);flex:0 0 auto}
.sbox input{
  flex:1;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--ink);
  font-size:14.5px;
  font-weight:680;
}
.sbox input::placeholder{color:var(--faint)}
.sbox .scount{color:var(--faint);font-family:var(--mono);font-size:11.5px;white-space:nowrap}

/* Home stats */
.stats{padding:18px 0 22px}
.stats .wrap{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.stat{
  min-height:82px;
  padding:15px 17px;
  border:1px solid rgba(223,226,219,.95);
  border-radius:var(--radius);
  background:rgba(255,255,255,.82);
}
.stat .n{font-family:var(--mono);font-size:23px;line-height:1;font-weight:840}
.stat .l{margin-top:8px;color:var(--faint);font-size:12px}
.entries{padding:34px 0 68px}
.entry-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:18px;
}
.entry{
  --gc:var(--blue);
  min-height:158px;
  display:flex;
  flex-direction:column;
  gap:9px;
  padding:18px 19px;
  border:1px solid rgba(223,226,219,.95);
  border-left:3px solid var(--gc);
  border-radius:var(--radius);
  background:rgba(255,255,255,.88);
  transition:border-color .18s,box-shadow .18s,transform .18s;
}
.entry:nth-child(2){--gc:var(--green)}
.entry:nth-child(3){--gc:var(--gold)}
.entry:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--gc) 32%,var(--line));
  box-shadow:0 18px 36px -28px color-mix(in srgb,var(--gc) 55%,#000);
}
.entry h3{font-size:19px;line-height:1.25;font-weight:840}
.entry p{flex:1;color:var(--muted);font-size:13.5px;line-height:1.7}
.entry .go{align-self:flex-start;color:var(--blue);font-size:12.5px;font-weight:840}

/* Directory pages */
.section{padding:42px 0 70px}
.section.alt{background:#fff}
.section>.wrap,
.toolbar>.wrap{
  width:min(calc(100% - 96px),var(--pagew));
}
.section>.wrap:first-child{
  display:block;
}
.section>.wrap:first-child .back{
  margin:0 0 10px;
}
.section-head{
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin:0 0 16px;
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
}
.section-head::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:128px;
  height:2px;
  background:linear-gradient(90deg,var(--blue),var(--green));
}
.section-head h2{margin-top:7px;font-size:36px;line-height:1.08;font-weight:870}
.count{color:var(--faint);font-family:var(--mono);font-size:12.5px;white-space:nowrap}
.back{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  color:var(--blue);
  font-size:12.5px;
  font-weight:780;
}
.back::before{
  content:"←";
  width:auto;
  height:auto;
  margin-right:6px;
  background:none;
}
.back:hover{text-decoration:underline;text-underline-offset:4px}

/* Toolbar */
.toolbar{
  position:sticky;
  top:58px;
  z-index:22;
  margin:26px 0 26px;
  padding:11px 0;
  border-top:1px solid rgba(223,226,219,.86);
  border-bottom:1px solid rgba(223,226,219,.86);
  background:rgba(246,245,239,.91);
  backdrop-filter:saturate(160%) blur(16px);
}
.filters{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.search{
  order:-1;
  flex:1 1 340px;
  max-width:440px;
  min-height:40px;
  border:1px solid var(--line-2);
  border-radius:var(--radius);
  background:#fff;
  color:var(--ink);
  padding:8px 12px;
  outline:0;
  font-size:13.5px;
}
.search::placeholder{color:var(--faint)}
.search:focus{border-color:rgba(36,99,235,.58);box-shadow:0 0 0 4px rgba(36,99,235,.1)}
.chip{
  min-height:30px;
  border:1px solid var(--line-2);
  border-radius:999px;
  background:rgba(255,255,255,.82);
  color:var(--muted);
  padding:5px 10px;
  font-size:12.5px;
  font-weight:720;
  cursor:pointer;
  transition:background .16s,border-color .16s,color .16s,transform .16s;
}
.chip:hover{color:var(--ink);border-color:#BAC4B8;transform:translateY(-1px)}
.chip.on{color:#fff;border-color:var(--ink);background:var(--ink)}

/* Directory cards */
.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(312px,1fr));
  gap:14px;
  align-items:start;
}
.gcard{
  --accent:var(--blue);
  position:relative;
  min-height:318px;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:16px 17px 15px;
  border:1px solid rgba(223,226,219,.95);
  border-radius:var(--radius);
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.88));
  box-shadow:0 1px 0 rgba(21,25,34,.035);
  overflow:hidden;
  transition:border-color .18s,box-shadow .18s,transform .18s;
}
.gcard::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:var(--accent);
}
.gcard::after{
  content:attr(data-nature);
  position:absolute;
  right:16px;
  top:14px;
  color:rgba(102,112,125,.46);
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.04em;
  pointer-events:none;
}
.gcard:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--accent) 30%,var(--line));
  box-shadow:0 18px 38px -30px color-mix(in srgb,var(--accent) 60%,#000);
}
.gcard .card-meta{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:16px;
  padding-right:84px;
  color:var(--faint);
  font-family:var(--mono);
  font-size:10.5px;
}
.gcard .card-meta .fresh{
  color:var(--green);
  font-family:var(--sans);
  font-weight:760;
}
.gcard .top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  min-width:0;
}
.gcard h4{
  flex:1 1 auto;
  min-width:0;
  max-width:100%;
  margin:0;
  color:var(--ink);
  font-size:18px;
  line-height:1.28;
  font-weight:850;
  word-break:break-all;
}
.gcard .mem{
  flex:0 0 auto;
  min-width:58px;
  text-align:right;
  color:var(--ink);
  font-family:var(--mono);
  font-size:18px;
  font-weight:840;
}
.gcard .mem em{
  display:block;
  margin-top:1px;
  color:var(--faint);
  font-style:normal;
  font-size:10px;
  font-weight:540;
}
.gcard .nature{display:none}
.summary{
  padding:10px 11px;
  border:1px solid rgba(223,226,219,.82);
  border-radius:7px;
  background:rgba(250,251,247,.72);
}
.summary .topic{
  margin-bottom:6px;
}
.summary p{
  color:var(--ink-2);
  font-size:12.4px;
  line-height:1.58;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.score-row{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:10px;
  align-items:center;
}
.score{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:44px;
  border-radius:7px;
  background:rgba(36,99,235,.06);
  color:var(--blue);
  text-align:center;
}
.score b{
  font-family:var(--mono);
  font-size:18px;
  line-height:1;
  font-weight:860;
}
.score span{
  margin-top:4px;
  font-size:9.5px;
  font-weight:760;
}
.activity{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:center;
  gap:5px;
  min-height:34px;
  color:var(--faint);
  font-family:var(--mono);
  font-size:10px;
}
.activity .meter{
  position:relative;
  height:6px;
  overflow:hidden;
  border-radius:999px;
  background:var(--line);
}
.activity .meter i{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--green),var(--blue));
}
.activity em{
  min-width:0;
  color:var(--muted);
  font-style:normal;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.topic{
  align-self:flex-start;
  min-height:22px;
  padding:2px 8px;
  border:1px solid rgba(36,99,235,.18);
  border-radius:999px;
  background:rgba(36,99,235,.055);
  color:var(--blue);
  font-size:11px;
  font-weight:760;
}
.summary .topic{
  display:inline-flex;
  align-items:center;
}
.intro{
  color:var(--ink-2);
  font-size:12.5px;
  line-height:1.58;
  display:block;
  overflow:visible;
}
.intro b{
  margin-right:7px;
  color:var(--faint);
  font-family:var(--mono);
  font-size:9.5px;
  font-weight:720;
  letter-spacing:.04em;
}
.rail{
  display:flex;
  height:4px;
  overflow:hidden;
  border-radius:999px;
  background:var(--line);
}
.rail i{display:block;height:100%}
.rail .t{background:var(--purple)}
.rail .p{background:var(--red)}
.rail-wrap{
  display:grid;
  gap:6px;
}
.rail-legend{
  display:flex;
  justify-content:space-between;
  gap:12px;
  color:var(--faint);
  font-size:10.8px;
}
.rail-legend b{font-weight:780}
.rail-legend .lt{color:var(--purple)}
.rail-legend .lp{color:var(--red)}
.tags{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.tag{
  display:inline-flex;
  align-items:center;
  min-height:21px;
  padding:2px 7px;
  border:1px solid var(--line-2);
  border-radius:999px;
  background:#FAFBF7;
  color:var(--muted);
  font-size:10.5px;
}
.tag.prog{
  color:var(--blue);
  border-color:rgba(36,99,235,.24);
  background:rgba(36,99,235,.055);
}
.primary-rec{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:8px;
  align-items:center;
  min-height:30px;
  padding:6px 8px;
  border-radius:7px;
  background:rgba(21,25,34,.035);
  color:var(--ink-2);
  font-size:11.5px;
}
.primary-rec b{
  color:var(--faint);
  font-family:var(--mono);
  font-size:9.5px;
  font-weight:720;
  letter-spacing:.04em;
}
.primary-rec span{
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-weight:720;
}
.details{
  border:1px solid rgba(223,226,219,.9);
  border-radius:7px;
  background:rgba(255,255,255,.56);
  overflow:hidden;
}
.details summary{
  min-height:32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:7px 9px;
  color:var(--muted);
  cursor:pointer;
  list-style:none;
  font-size:11.5px;
  font-weight:760;
}
.details summary::-webkit-details-marker{display:none}
.details summary i{
  color:var(--blue);
  font-style:normal;
  font-size:0;
}
.details summary i::after{
  content:"展开";
  font-size:10.5px;
}
.details[open] summary{
  border-bottom:1px solid var(--line);
}
.details[open] summary i::after{content:"收起"}
.facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  padding:9px;
}
.fact{
  min-width:0;
  padding:7px 8px;
  border-radius:6px;
  background:rgba(250,251,247,.8);
}
.fact b{
  display:block;
  margin-bottom:3px;
  color:var(--faint);
  font-family:var(--mono);
  font-size:9px;
  letter-spacing:.04em;
}
.fact em{
  display:block;
  color:var(--muted);
  font-style:normal;
  font-size:10.5px;
  line-height:1.35;
}
.detail-block{
  padding:0 9px 9px;
  color:var(--muted);
  font-size:11px;
  line-height:1.48;
}
.detail-block b{
  display:block;
  margin-bottom:3px;
  color:var(--faint);
  font-family:var(--mono);
  font-size:9px;
  letter-spacing:.04em;
}
.detail-block p{margin:0}
.insights{
  display:grid;
  gap:6px;
  padding-top:2px;
}
.insight{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:8px;
  color:var(--muted);
  font-size:11.2px;
  line-height:1.45;
}
.insight b{
  color:var(--faint);
  font-family:var(--mono);
  font-size:9.5px;
  font-weight:720;
  letter-spacing:.04em;
  white-space:nowrap;
}
.insight span{
  min-width:0;
  display:block;
  overflow:visible;
}
.rec{
  display:block;
}
.rec+.rec{
  margin-top:5px;
}
.rec strong{
  display:inline;
  color:var(--ink-2);
  font-size:11.5px;
  font-weight:760;
}
.rec .rec-copy{
  margin-left:6px;
  padding:2px 7px;
  min-height:0;
  font-size:10px;
  vertical-align:1px;
}
.rec em{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-style:normal;
}
.copy-wx{
  border:0;
  background:transparent;
  cursor:pointer;
  padding:0;
}
.gcard .owner{
  margin-top:auto;
  padding-top:10px;
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
  color:var(--muted);
  font-size:11.5px;
}
.gcard .owner b{
  display:block;
  margin-bottom:1px;
  color:var(--faint);
  font-family:var(--mono);
  font-size:9.5px;
  font-weight:650;
  letter-spacing:.08em;
}
.gcard .wxid{
  color:var(--blue);
  font-family:var(--mono);
  font-size:10.8px;
  text-align:right;
  justify-self:end;
}
.gcard .wxid .tv{margin-left:4px;color:var(--faint);font-style:normal;font-size:9.5px}
.gcard .wxid.none{color:var(--faint);font-family:var(--sans)}
.copy-wx .copy-label{
  display:inline-flex;
  align-items:center;
  min-height:18px;
  margin-left:6px;
  padding:1px 6px;
  border:1px solid rgba(36,99,235,.22);
  border-radius:999px;
  color:var(--blue);
  font-family:var(--sans);
  font-size:10px;
  font-style:normal;
  font-weight:760;
}
.copy-wx:hover .copy-label,.copy-wx.copied .copy-label{
  background:rgba(36,99,235,.1);
}

/* Club intro */
.club-intro{
  max-width:none;
  margin:16px 0 0;
  padding:16px 18px;
  border:1px solid var(--line);
  border-left:3px solid var(--green);
  border-radius:var(--radius);
  background:rgba(255,255,255,.82);
}
.club-intro h4{margin:0 0 6px;font-size:17px;font-weight:840}
.club-intro p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.72}
.club-intro a{color:var(--blue);font-weight:780}

/* MBA club guide */
.club-guide-brief{
  max-width:none;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
  gap:18px;
  margin:16px 0 0;
  padding:18px;
  border:1px solid var(--line);
  border-left:3px solid var(--blue);
  border-radius:var(--radius);
  background:rgba(255,255,255,.84);
}
.club-guide-brief h4{margin:0 0 6px;font-size:18px;font-weight:850}
.club-guide-brief p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.75}
.club-lanes{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.club-lanes span{
  min-height:58px;
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#FAFBF7;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}
.club-lanes b{
  display:block;
  margin-bottom:2px;
  color:var(--ink);
  font-size:13px;
  font-weight:850;
}
.club-guide-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:14px;
  align-items:stretch;
}
.club-card{
  --accent:var(--blue);
  min-height:380px;
  position:relative;
  display:flex;
  flex-direction:column;
  gap:11px;
  padding:17px 18px 15px;
  border:1px solid rgba(223,226,219,.95);
  border-left:3px solid var(--accent);
  border-radius:var(--radius);
  background:rgba(255,255,255,.9);
  color:inherit;
  box-shadow:0 1px 0 rgba(21,25,34,.035);
  transition:border-color .18s,box-shadow .18s,transform .18s;
}
.club-card:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--accent) 34%,var(--line));
  box-shadow:0 18px 40px -30px color-mix(in srgb,var(--accent) 58%,#000);
}
.club-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:var(--faint);
  font-family:var(--mono);
  font-size:10.5px;
}
.club-no{color:var(--accent);font-weight:850}
.club-kind{
  padding:2px 8px;
  border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));
  border-radius:999px;
  background:color-mix(in srgb,var(--accent) 7%,#fff);
  color:var(--accent);
  font-family:var(--sans);
  font-size:11.5px;
  font-weight:800;
}
.club-title-row{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  align-items:start;
}
.club-initial{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));
  border-radius:var(--radius);
  background:color-mix(in srgb,var(--accent) 8%,#fff);
  color:var(--accent);
  font-size:20px;
  font-weight:870;
}
.club-card h3{
  margin:0;
  color:var(--ink);
  font-size:19px;
  line-height:1.28;
  font-weight:870;
}
.club-en{
  margin:3px 0 0;
  color:var(--faint);
  font-family:var(--mono);
  font-size:10px;
  line-height:1.4;
}
.club-desc{
  color:var(--ink-2);
  font-size:13px;
  line-height:1.68;
}
.club-tags,.detail-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.club-tags span,.detail-tags span{
  display:inline-flex;
  align-items:center;
  min-height:23px;
  padding:3px 8px;
  border:1px solid var(--line-2);
  border-radius:999px;
  background:#FAFBF7;
  color:var(--muted);
  font-size:10.8px;
  font-weight:700;
}
.club-signal{
  display:grid;
  gap:7px;
  padding:11px 0 0;
  border-top:1px solid var(--line);
}
.club-signal div{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:10px;
  color:var(--muted);
  font-size:11.5px;
  line-height:1.45;
}
.club-signal b{
  color:var(--faint);
  font-family:var(--mono);
  font-size:9.5px;
  font-weight:760;
}
.club-community-pills{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  color:var(--muted);
  font-size:11.5px;
  line-height:1.4;
}
.club-community-pills b{
  width:100%;
  color:var(--faint);
  font-size:10px;
  font-weight:820;
}
.club-community-pills span{
  max-width:100%;
  padding:4px 8px;
  border:1px solid var(--line-2);
  border-radius:999px;
  background:#FAFBF7;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.club-activity{
  margin:0;
  padding:0 0 0 16px;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}
.club-open{
  margin-top:auto;
  align-self:flex-start;
  color:var(--blue);
  font-size:12.5px;
  font-weight:850;
}

/* Club detail */
.club-detail-hero{
  --accent:var(--blue);
  padding:42px 0 34px;
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.42);
}
.club-detail-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:36px;
  align-items:start;
  margin-top:20px;
}
.club-detail-hero h1{
  margin:9px 0 8px;
  color:var(--ink);
  font-size:40px;
  line-height:1.12;
  font-weight:880;
}
.club-detail-en{
  margin:0 0 12px;
  color:var(--faint);
  font-family:var(--mono);
  font-size:11px;
}
.club-detail-desc{
  max-width:760px;
  margin:0 0 14px;
  color:var(--muted);
  font-size:15px;
  line-height:1.8;
}
.club-detail-stats{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
.club-detail-stats div{
  min-height:94px;
  padding:14px 15px;
  border:1px solid var(--line);
  border-top:3px solid var(--accent);
  border-radius:var(--radius);
  background:rgba(255,255,255,.86);
}
.club-detail-stats b{
  display:block;
  color:var(--ink);
  font-family:var(--mono);
  font-size:23px;
  line-height:1;
  font-weight:860;
}
.club-detail-stats span{
  display:block;
  margin-top:9px;
  color:var(--faint);
  font-size:12px;
}
.club-detail-body{padding:26px 0 70px}
.club-detail-sections{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);
  gap:14px;
  align-items:start;
}
.club-panel{
  padding:18px 19px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(255,255,255,.9);
}
.club-panel.span2{grid-column:1 / -1}
.panel-k{
  margin-bottom:12px;
  color:var(--faint);
  font-family:var(--mono);
  font-size:10.5px;
  font-weight:840;
}
.mentor-line{
  margin:0 0 13px;
  color:var(--ink-2);
  font-size:13.5px;
  line-height:1.75;
}
.mentor-line b{color:var(--ink);font-weight:850}
.activity-list{
  margin:0;
  padding-left:18px;
  color:var(--muted);
  font-size:13.5px;
  line-height:1.8;
}
.club-panel p{
  margin:0;
  color:var(--muted);
  font-size:13.5px;
  line-height:1.76;
}
.club-contacts,.club-community-list,.club-notes{
  display:grid;
  gap:8px;
}
.club-contacts{margin-top:13px}
.club-public-accounts,
.club-source-links{
  display:grid;
  gap:8px;
}
.club-public-accounts+.club-source-links{margin-top:12px}
.club-public-account{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 12px;
  align-items:start;
  padding:10px 0;
  border-top:1px solid var(--line);
}
.club-public-account:first-child{border-top:0}
.club-public-account div{
  display:flex;
  min-width:0;
  flex-wrap:wrap;
  gap:6px 9px;
  align-items:baseline;
}
.club-public-account b{
  color:var(--ink);
  font-size:13.5px;
  font-weight:850;
}
.club-public-account span{
  color:var(--faint);
  font-size:11.5px;
}
.club-public-account em{
  padding:4px 7px;
  border:1px solid rgba(15,23,42,.1);
  border-radius:999px;
  background:rgba(15,23,42,.035);
  color:var(--ink-2);
  font-size:11px;
  font-style:normal;
  font-weight:760;
  white-space:nowrap;
}
.club-public-account p{
  grid-column:1 / -1;
  margin:0;
  color:var(--muted);
  font-size:12.5px;
  line-height:1.65;
}
.club-source-link{
  display:grid;
  gap:3px;
  padding:9px 0;
  border-top:1px solid var(--line);
  text-decoration:none;
}
.club-source-link:first-child{border-top:0}
.club-source-link span{
  color:var(--faint);
  font-family:var(--mono);
  font-size:10.5px;
  font-weight:820;
}
.club-source-link b{
  color:var(--ink-2);
  font-size:12.8px;
  line-height:1.45;
  font-weight:780;
}
.club-source-link:hover b{color:var(--blue)}
.club-contact{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  min-height:36px;
  padding:7px 0;
  border-top:1px solid var(--line);
  color:var(--ink-2);
  font-size:12.5px;
}
.club-contact:first-child{border-top:0}
.club-contact em{color:var(--faint);font-style:normal}
.mini-copy{
  border:1px solid rgba(36,99,235,.22);
  border-radius:999px;
  background:rgba(36,99,235,.06);
  color:var(--blue);
  padding:4px 9px;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.mini-copy:hover,.mini-copy.copied{background:rgba(36,99,235,.12)}
.club-community{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  padding:13px 0;
  border-top:1px solid var(--line);
}
.club-community:first-child{border-top:0;padding-top:0}
.club-community h4{margin:0 0 5px;font-size:14.5px;font-weight:850}
.club-community p{font-size:12.3px;line-height:1.65}
.club-community-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:7px;
  color:var(--faint);
  font-size:11px;
  white-space:nowrap;
}
.club-community-meta b{color:var(--ink);font-family:var(--mono);font-size:14px}
.club-community-primary{
  border-left:3px solid var(--blue);
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.9));
}
.club-community-primary .panel-k{
  color:var(--blue);
}
.club-community-primary .club-community-list{
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:12px;
}
.club-community-primary .club-community{
  min-height:190px;
  align-content:start;
  padding:15px 16px;
  border:1px solid var(--line);
  border-top:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:0 1px 0 rgba(21,25,34,.035);
}
.club-community-primary .club-community:first-child{
  padding-top:15px;
  border-top:1px solid var(--line);
}
.club-community-primary .club-community h4{
  margin-bottom:7px;
  font-size:16px;
  line-height:1.35;
}
.club-community-primary .club-community p{
  color:var(--ink-2);
  font-size:12.8px;
}
.community-topic{
  display:flex;
  flex-wrap:wrap;
  gap:6px 10px;
  margin:0 0 9px;
  color:var(--faint);
  font-size:11.5px;
  line-height:1.4;
}
.community-topic b{
  color:var(--blue);
  font-weight:850;
}
.community-fine-profile{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  margin:0 0 10px;
}
.community-fine-profile span{
  min-width:0;
  padding:6px 7px;
  border-radius:7px;
  background:#F6F9F8;
  color:var(--muted);
  font-size:11px;
  line-height:1.35;
}
.community-fine-profile b{
  display:block;
  margin-bottom:2px;
  color:var(--ink);
  font-size:10px;
  font-weight:850;
}
.club-community-primary .club-community p.community-summary{
  margin:0 0 6px;
  color:var(--muted);
  font-size:12.2px;
  line-height:1.55;
}
.community-summary b{
  margin-right:7px;
  color:var(--ink);
  font-weight:850;
}
.club-community-primary .club-community p.community-contact{
  margin:8px 0 0;
  color:var(--faint);
  font-size:11.5px;
  line-height:1.5;
}
.club-community-primary .club-community-meta{
  align-items:flex-end;
}
.club-community-primary .mini-copy{
  margin-top:auto;
  padding:5px 11px;
  background:rgba(36,99,235,.08);
}
.club-note{
  display:grid;
  grid-template-columns:132px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  min-height:38px;
  padding:8px 0;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:12.5px;
}
.club-note:first-child{border-top:0}
.club-note:hover{color:var(--blue)}
.club-note span{
  color:var(--gold);
  font-family:var(--mono);
  font-size:10px;
  font-weight:800;
}
.club-note b{color:inherit;font-size:13px;font-weight:800}
.club-note em{color:var(--faint);font-style:normal;font-size:11.5px;white-space:nowrap}

/* Salon */
.salons{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(312px,1fr));
  gap:14px;
}
.scard{
  min-height:186px;
  display:flex;
  flex-direction:column;
  padding:18px 19px;
  border:1px solid var(--line);
  border-left:3px solid var(--gold);
  border-radius:var(--radius);
  background:rgba(255,255,255,.9);
  transition:border-color .18s,box-shadow .18s,transform .18s;
}
.scard:hover{transform:translateY(-2px);border-color:rgba(180,131,42,.4);box-shadow:0 18px 38px -30px rgba(180,131,42,.58)}
.scard .stag{color:var(--gold);font-size:10.5px;font-weight:840}
.scard h3{margin:10px 0 5px;font-size:21px;line-height:1.25;font-weight:850}
.scard .meta{color:var(--faint);font-size:12px;margin-bottom:10px}
.scard p{flex:1;color:var(--muted);font-size:13.5px;line-height:1.68}
.scard .cnt{
  margin-top:15px;
  padding-top:11px;
  border-top:1px solid var(--line);
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  color:var(--muted);
  font-size:12px;
}
.scard .cnt .big{color:var(--ink);font-family:var(--mono);font-size:21px;font-weight:840}
.scard.soon{opacity:.72}
.salon-hero{
  padding:44px 0 32px;
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.42);
}
.salon-hero .stag{color:var(--gold);font-weight:840}
.salon-hero h1{margin:11px 0 8px;font-size:40px;line-height:1.12;font-weight:870}
.salon-hero .host{color:var(--faint);font-size:13px}
.salon-hero .desc{max-width:760px;margin-top:14px;color:var(--muted);font-size:15.5px;line-height:1.78}
.salon-hero .hstats{display:flex;gap:12px;margin-top:20px}
.salon-hero .hstats>div{
  min-width:126px;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(255,255,255,.84);
}
.salon-hero .hstats .n{font-family:var(--mono);font-size:23px;font-weight:840}
.salon-hero .hstats .l{color:var(--faint);font-size:12px}
.timeline{display:flex;flex-direction:column;gap:12px}
.period{
  display:grid;
  grid-template-columns:122px 1fr;
  gap:20px;
  padding:18px 19px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(255,255,255,.9);
}
.period .pno .n{color:var(--faint);font-family:var(--mono);font-size:10.5px;font-weight:800;letter-spacing:.08em}
.period .pno .big{margin-top:4px;font-family:var(--mono);font-size:32px;line-height:1;font-weight:850}
.period .pno .d{margin-top:6px;color:var(--faint);font-size:12px}
.period h3{margin:0 0 12px;font-size:19px;line-height:1.34;font-weight:840}
.notes{display:flex;flex-direction:column;gap:6px}
.note{display:flex;align-items:center;gap:10px;min-height:31px;color:var(--muted);font-size:13.5px}
.note:hover{color:var(--blue)}
.note .pt{
  flex:0 0 auto;
  min-width:38px;
  padding:2px 7px;
  border-radius:999px;
  background:var(--ink);
  color:#fff;
  font-family:var(--mono);
  font-size:10px;
  text-align:center;
}
.note .pt.alt{background:rgba(36,99,235,.1);color:var(--blue)}
.note .t{display:grid;flex:1;gap:2px;min-width:0}
.note .t b{overflow:hidden;color:#28313A;font-size:13.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.note .t small{color:#7B8790;font-size:11.5px;line-height:1.35;font-weight:720}
.note .arrow{color:var(--faint)}
.empty{padding:30px 0;color:var(--muted);font-size:14px}

/* Reusable generated headings */
.grp-head{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  padding-bottom:11px;
  border-bottom:1px solid var(--line);
}
.grp-head::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:110px;
  height:2px;
  background:linear-gradient(90deg,var(--gc,var(--blue)),transparent);
}
.grp-head .dot{
  width:8px;
  height:8px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--gc,var(--blue));
  box-shadow:0 0 14px color-mix(in srgb,var(--gc,var(--blue)) 48%,transparent);
}
.grp-head h2{margin:0;font-size:25px;line-height:1.22;font-weight:850}
.grp-head .sp{flex:1}
.grp-head .cnt{color:var(--faint);font-family:var(--mono);font-size:11.5px}
.grp-sub{margin:12px 0 0;color:var(--muted);font-size:13.5px;line-height:1.72}
.no-result{
  display:none;
  width:min(calc(100% - 48px),var(--maxw));
  margin:0 auto;
  padding:36px 0;
  color:var(--muted);
  text-align:center;
  font-size:14px;
}
mark{background:rgba(36,99,235,.16);border-radius:3px;padding:0 1px}
.nexus-user-mark{
  background:linear-gradient(180deg,rgba(36,99,235,.18),rgba(36,99,235,.18));
  border-radius:3px;
  padding:0 1px;
  text-decoration:underline;
  text-decoration-color:rgba(180,131,42,.78);
  text-decoration-thickness:2px;
  text-underline-offset:.16em;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
.nexus-selection-tools{
  --selection-tip-left:50%;
  position:fixed;
  left:50%;
  top:0;
  z-index:190;
  isolation:isolate;
  display:flex;
  align-items:center;
  min-height:48px;
  padding:0 8px;
  border:1px solid rgba(255,253,247,.08);
  border-radius:13px;
  background:linear-gradient(180deg,#2E2925,#231F1C);
  color:#F7F1E9;
  box-shadow:0 16px 34px -22px rgba(21,25,34,.72),0 8px 18px -14px rgba(0,0,0,.82);
  transform:translateX(-50%) translateY(6px) scale(.98);
  opacity:0;
  pointer-events:none;
  transition:opacity .14s ease,transform .14s ease;
  user-select:none;
}
.nexus-selection-tools[hidden]{display:none}
.nexus-selection-tools.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0) scale(1);
}
.nexus-selection-tools::after{
  content:"";
  position:absolute;
  left:clamp(22px,var(--selection-tip-left),calc(100% - 22px));
  bottom:-8px;
  width:16px;
  height:16px;
  background:#28231F;
  border-right:1px solid rgba(255,253,247,.08);
  border-bottom:1px solid rgba(255,253,247,.08);
  transform:translateX(-50%) rotate(45deg);
  box-shadow:8px 8px 16px -14px rgba(0,0,0,.85);
}
.nexus-selection-tools.is-below::after{
  top:-8px;
  bottom:auto;
  border:0;
  border-left:1px solid rgba(255,253,247,.08);
  border-top:1px solid rgba(255,253,247,.08);
  box-shadow:-8px -8px 16px -14px rgba(0,0,0,.85);
}
.nexus-selection-tools button{
  position:relative;
  z-index:1;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:inherit;
  padding:6px 10px;
  font-size:14px;
  font-weight:840;
  line-height:1;
  cursor:pointer;
  white-space:nowrap;
  transition:background .14s,color .14s,transform .14s;
}
.nexus-selection-tools button+button{
  border-left:1px solid rgba(247,241,233,.2);
  border-radius:0 8px 8px 0;
}
.nexus-selection-tools button:hover{
  background:rgba(255,253,247,.08);
  color:#FFFFFF;
  transform:translateY(-1px);
}
.selection-tool-icon{
  width:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#F6EEE3;
  font-size:19px;
  font-weight:400;
  line-height:1;
}
.nexus-selection-toast{
  z-index:260;
}
.toast{
  position:fixed;
  left:50%;
  bottom:24px;
  z-index:200;
  transform:translateX(-50%) translateY(8px);
  pointer-events:none;
  opacity:0;
  border-radius:999px;
  background:var(--ink);
  color:#fff;
  padding:9px 16px;
  font-size:12px;
  font-weight:740;
  box-shadow:0 12px 30px -8px rgba(0,0,0,.42);
  transition:opacity .2s,transform .2s;
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

@media (max-width:640px){
  .nexus-selection-tools{
    width:min(calc(100vw - 20px),330px);
    min-height:48px;
    justify-content:space-between;
    padding:0 6px;
    border-radius:13px;
  }
  .nexus-selection-tools button{
    flex:1 1 0;
    justify-content:center;
    gap:4px;
    min-width:0;
    min-height:34px;
    padding:6px 4px;
    font-size:13px;
  }
  .selection-tool-icon{
    width:17px;
    font-size:18px;
  }
}

@media (prefers-reduced-motion:reduce){
  .nexus-selection-tools,
  .nexus-selection-tools button,
  .toast{
    transition:none;
  }
}

/* Footer */
.foot{
  border-top:1px solid var(--line);
  padding:36px 0 48px;
  color:var(--muted);
  background:linear-gradient(180deg,rgba(255,253,247,.42),rgba(246,245,239,.86));
}
.foot .wrap{
  display:grid;
  gap:22px;
}
.foot-main{
  display:grid;
  grid-template-columns:minmax(260px,.74fr) minmax(0,1.26fr);
  gap:26px;
  align-items:start;
}
.foot-copy{min-width:0}
.foot .fbrand{margin-bottom:7px;color:var(--ink);font-size:16px;font-weight:840}
.foot .matrix{max-width:38em;color:var(--faint);font-size:12.5px;line-height:1.8}
.brand-matrix{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.matrix-link{
  position:relative;
  min-width:0;
  min-height:88px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:22px 10px 10px;
  border:1px solid rgba(21,25,34,.08);
  border-radius:8px;
  background:rgba(255,255,255,.58);
  transition:background .16s,border-color .16s,transform .16s,box-shadow .16s;
}
.matrix-link::before{
  position:absolute;
  top:8px;
  left:10px;
  color:color-mix(in srgb,var(--brand-accent,#2463EB) 66%,#66707D);
  font-family:var(--mono);
  font-size:9.5px;
  line-height:1;
  font-weight:680;
  letter-spacing:.05em;
  white-space:nowrap;
  opacity:.86;
}
.matrix-link.nexus::before{content:"找社群"}
.matrix-link.drift::before{content:"找人"}
.matrix-link.crux::before{content:"找课"}
.matrix-link.locus::before{content:"找活动"}
.matrix-link:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--brand-accent,#2463EB) 30%,rgba(21,25,34,.1));
  background:rgba(255,255,255,.84);
  box-shadow:0 18px 38px -34px color-mix(in srgb,var(--brand-accent,#2463EB) 52%,#101820);
}
.matrix-logo{
  position:relative;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:8px;
  background:var(--brand-bg,#FFFFFF);
  color:var(--brand-accent,#2463EB);
  font-family:var(--serif);
  font-size:20px;
  font-weight:860;
  line-height:1;
  box-shadow:inset 0 0 0 1px rgba(21,25,34,.07);
}
.matrix-logo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.matrix-link > span:last-child{
  min-width:0;
  display:grid;
  gap:3px;
}
.matrix-link b,
.matrix-link em{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.matrix-link b{
  color:var(--ink);
  font-size:12.5px;
  line-height:1.18;
  font-weight:820;
}
.matrix-link em{
  color:var(--faint);
  font-size:11px;
  line-height:1.2;
  font-style:normal;
  font-weight:560;
}
.matrix-link.nexus{
  --brand-accent:#D6B46A;
  --brand-bg:#121D1B;
  order:3;
  border-color:rgba(214,180,106,.24);
}
.nexus-lockup{
  min-width:0;
  max-width:100%;
  display:grid;
  grid-template-columns:minmax(0,72px) 1px max-content;
  align-items:center;
  column-gap:7px;
  overflow:visible;
}
.matrix-link.nexus .nexus-lockup{overflow:visible}
.matrix-link.nexus .matrix-logo{
  width:34px;
  height:34px;
  border-radius:8px;
}
.nexus-wordmark-img{
  width:72px;
  max-width:100%;
  height:auto;
  min-width:0;
  display:block;
}
.nexus-divider{
  width:1px;
  height:22px;
  margin:0 1px;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(214,180,106,.2),rgba(166,91,125,.72),rgba(214,180,106,.2));
}
.nexus-zh{
  min-width:1.05em;
  display:block;
  color:#101820;
  font-family:"PingFang SC","Hiragino Sans GB","Noto Serif CJK SC","Songti SC",serif;
  font-size:21px;
  line-height:1;
  font-weight:760;
}
.matrix-link.nexus em{
  color:#687783;
  font-size:10.5px;
  line-height:1.2;
  font-weight:560;
}
.matrix-link.drift{
  --brand-accent:#9D2233;
  --brand-bg:#FFFDF7;
  order:1;
  grid-template-columns:36px minmax(0,1fr);
  border-color:rgba(157,34,51,.12);
}
.matrix-link.drift .matrix-logo{
  display:grid;
  width:36px;
  height:36px;
  border-radius:9px;
  background:#F3EEE3;
}
.matrix-link.drift .matrix-logo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.matrix-link.drift b{
  display:flex;
  align-items:baseline;
  min-width:0;
  max-width:100%;
  gap:1px;
  font-size:12.4px;
  line-height:1.16;
}
.matrix-link.drift .dp-wordmark{
  min-width:0;
  max-width:calc(100% - 28px);
  display:block;
  flex:0 1 auto;
  overflow:hidden;
  text-overflow:clip;
  white-space:nowrap;
  color:#151922;
  font-family:"Avenir Next","SF Pro Display","Helvetica Neue",var(--sans);
  font-weight:820;
  letter-spacing:0;
}
.matrix-link.drift .dp-t{
  color:#9D2233;
  font-weight:860;
}
.matrix-link.drift .dp-p,
.matrix-link.drift .dp-dot{
  color:#71308B;
  font-weight:860;
}
.matrix-link.drift .dp-sep{
  flex:0 0 auto;
  margin:0 1px 0 3px;
  color:#151922;
  font-weight:520;
}
.matrix-link.drift .dp-zh{
  flex:0 0 auto;
  color:#151922;
  font-family:var(--serif);
  font-weight:620;
}
.matrix-link.drift em{
  color:#7B7470;
  font-family:var(--serif);
  font-size:10.5px;
  font-weight:520;
  letter-spacing:.08em;
}
.matrix-link.crux{
  --brand-accent:#66703F;
  --brand-bg:#F7F3E7;
  order:2;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  border-color:rgba(102,112,63,.16);
}
.matrix-link.crux .matrix-logo{
  font-family:"Avenir Next","SF Pro Display","Helvetica Neue",var(--sans);
  font-size:21px;
  font-weight:720;
}
.matrix-link.crux .matrix-logo img{
  object-fit:contain;
}
.matrix-link.crux .crux-wordmark{
  min-width:0;
  display:flex;
  align-items:baseline;
  gap:1px;
  overflow:hidden;
  color:#151922;
  font-family:"Avenir Next","SF Pro Display","Helvetica Neue",var(--sans);
  font-size:13.5px;
  line-height:1.15;
  font-weight:500;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.matrix-link.crux .crux-x{
  color:#66703F;
  font-weight:650;
}
.matrix-link.crux .crux-sep{
  margin:0 2px 0 4px;
  color:#A3A89D;
  font-weight:300;
}
.matrix-link.crux .crux-zh{
  font-family:var(--serif);
  font-weight:520;
}
.matrix-link.crux em{
  color:#79806F;
  font-weight:520;
}
.matrix-link.locus{--brand-accent:#087D62;--brand-bg:#F4FBF8;order:4}
.matrix-link.locus .matrix-logo img{
  object-fit:contain;
}
.foot-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.credit-pill{
  flex:0 1 auto;
  min-width:0;
  min-height:34px;
  display:block;
  max-width:min(100%,680px);
  padding:7px 18px;
  border:1px solid rgba(157,149,138,.12);
  border-radius:999px;
  background:rgba(239,234,226,.66);
  color:#9B958D;
  font-size:13px;
  line-height:1.45;
  font-weight:460;
  text-align:center;
  box-shadow:none;
}
.credit-pill b{
  color:#7A746B;
  font-weight:680;
}
.foot .beian{
  flex:0 1 44em;
  max-width:44em;
  color:var(--faint);
  font-size:12px;
  line-height:1.8;
  text-align:right;
}
footer:not(.foot){
  width:min(calc(100% - 48px),var(--maxw));
  margin:0 auto;
  padding:24px 0 48px;
  border-top:1px solid var(--line);
  color:var(--faint);
  font-size:12px;
  line-height:1.8;
  display:flex;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
}
footer:not(.foot) b{color:var(--ink);font-weight:840}

@media(max-width:980px){
  .nav .wrap{min-height:auto;padding:10px 0;flex-wrap:wrap;gap:10px}
  .brand{font-size:18px}
  .brand-lockup{max-width:calc(100% - 76px)}
  .brand-slogan{font-size:11.5px}
  .nav-links{order:3;width:100%;margin-left:0;overflow:auto;padding-bottom:2px}
  .auth{margin-left:auto}
  .hero{padding:44px 0 20px}
  .hero .wrap{display:block}
  .hero .wrap::after{display:none}
  .kicker{display:block}
  .kicker .state{display:block;margin:7px 0 0}
  .hero h1{font-size:44px}
  .hero .lede,.top .lede,.section .lede{font-size:15.5px}
  .stats .wrap{grid-template-columns:repeat(2,1fr)}
  .entry-grid{grid-template-columns:1fr}
  .section>.wrap:first-child{display:block}
  .section>.wrap:first-child .section-head,
  .section>.wrap:first-child .lede,
  .section>.wrap:first-child .club-intro,
  .section>.wrap:first-child .club-guide-brief{grid-column:auto}
  .club-guide-brief{grid-template-columns:1fr}
  .club-detail-grid{grid-template-columns:1fr}
  .club-detail-sections{grid-template-columns:1fr}
  .club-panel.span2{grid-column:auto}
  .toolbar{top:92px}
  .filters{display:flex;flex-wrap:wrap}
  .search{flex:1 1 100%;min-width:100%}
  .foot-main{grid-template-columns:1fr}
  .brand-matrix{grid-template-columns:repeat(4,minmax(0,1fr))}
  .foot-bottom{
    display:grid;
    align-items:flex-start;
  }
  .foot .beian{
    max-width:none;
    text-align:left;
  }
}

@media(max-width:680px){
  .wrap,.no-result,footer:not(.foot){width:calc(100% - 32px)}
  .section>.wrap,
  .toolbar>.wrap{width:calc(100% - 32px)}
  body{font-size:14px}
  .brand{--brand-mark-size:31px;--brand-mark-gap:8px}
  .brand .en{font-size:20px}
  .brand .bar{height:25px;margin:0 7px}
  .brand .zh{height:29px;min-width:24px;font-size:22px}
  .brand-lockup{width:100%;max-width:none;gap:4px;padding:0}
  .brand-slogan{
    display:block;
    width:100%;
    color:#66707D;
    font-size:11px;
    line-height:1.45;
    white-space:normal;
  }
  .nav-links{gap:3px;font-size:13px}
  .nav-links a{padding:5px 9px}
  .auth{font-size:13px}
  .hero h1{font-size:37px}
  .hero .cta,.hero .or{width:100%;margin:9px 0 0}
  .sbox{min-height:46px}
  .sbox .scount{display:none}
  .stats .wrap{grid-template-columns:1fr}
  .stat{min-height:auto}
  .section{padding:34px 0 58px}
  .section-head{align-items:flex-start;flex-direction:column}
  .section-head h2{font-size:30px}
  .toolbar{position:relative;top:auto}
  .grid,.salons{grid-template-columns:1fr}
  .club-guide-grid{grid-template-columns:1fr}
  .club-guide-brief{padding:15px}
  .club-lanes{grid-template-columns:1fr}
  .club-card{min-height:0}
  .club-detail-hero{padding:34px 0 28px}
  .club-detail-hero h1{font-size:32px}
  .club-detail-stats{grid-template-columns:1fr 1fr}
  .club-community{grid-template-columns:1fr}
  .club-community-meta{align-items:flex-start}
  .club-note{grid-template-columns:1fr;gap:4px}
  .club-contact{grid-template-columns:1fr}
  .gcard{min-height:0}
  .facts{grid-template-columns:1fr}
  .insight{grid-template-columns:1fr;gap:2px}
  .gcard .owner{grid-template-columns:1fr;gap:6px}
  .gcard .wxid{text-align:left}
  .salon-hero{padding:38px 0 30px}
  .salon-hero h1{font-size:34px}
  .salon-hero .hstats{flex-direction:column}
  .period{grid-template-columns:1fr}
  .period .pno{display:flex;align-items:baseline;gap:10px}
  .period .pno .big{font-size:28px}
  .foot .wrap{display:grid}
  .foot-main{grid-template-columns:1fr}
  .brand-matrix{grid-template-columns:1fr}
  .foot-bottom{display:grid}
  .credit-pill{
    min-width:0;
    padding:8px 14px;
    border-radius:16px;
    font-size:12.5px;
    line-height:1.58;
  }
  .foot .beian{
    max-width:none;
    margin-top:0;
    text-align:left;
  }
}

/* 2026-06-27 interface refresh: sharper directory hierarchy, data-led cards. */
:root{
  --bg:#F7F4EC;
  --paper:#FFFCF4;
  --card:#FFFFFF;
  --ink:#111722;
  --ink-2:#2E3847;
  --muted:#657181;
  --faint:#98A1AC;
  --line:#E0DED3;
  --line-2:#CFCABD;
  --blue:#1F5FEA;
  --green:#087D62;
  --gold:#A77622;
  --red:#B42335;
  --purple:#6E1677;
  --shadow:0 26px 58px -44px rgba(20,24,32,.55);
  --shadow-soft:0 16px 38px -30px rgba(20,24,32,.35);
}

body{
  background:
    linear-gradient(90deg,rgba(17,23,34,.032) 1px,transparent 1px) 0 0/72px 72px,
    linear-gradient(rgba(17,23,34,.024) 1px,transparent 1px) 0 0/72px 72px,
    linear-gradient(180deg,#FAF8F2 0%,#F6F3EA 42%,#F8F6EF 100%);
}

.nav{
  border-bottom:1px solid rgba(214,211,200,.92);
  background:rgba(250,248,242,.86);
  box-shadow:0 8px 24px -24px rgba(17,23,34,.42);
}

.nav .wrap{min-height:76px}
.brand .en,.brand:hover .en{letter-spacing:0}
.brand .zh{letter-spacing:0}
.brand::before{
  border-radius:8px;
  box-shadow:none;
}
.brand-slogan{color:#6B7280}
.nav-links{
  gap:5px;
  padding:4px;
  border:1px solid rgba(207,202,189,.7);
  border-radius:8px;
  background:rgba(255,252,244,.62);
}
.nav-links a{
  min-height:36px;
  border-radius:6px;
  padding:7px 12px;
}
.nav-links a.on{
  background:#111722;
  color:#fff;
}
.auth .login,.auth .lo{
  border-radius:6px;
  background:#ECE8DC;
}

.directory-section{
  padding:0 0 76px;
}
.section.directory-section>.wrap,
.section.directory-section .toolbar>.wrap{
  width:min(calc(100% - 96px),var(--pagew));
}
.directory-hero{
  padding:46px 0 0;
}
.directory-hero .section-head{
  margin-bottom:18px;
  padding-bottom:16px;
}
.directory-hero .section-head h2{
  margin-top:10px;
  font-size:42px;
  line-height:1.02;
  letter-spacing:0;
}
.directory-hero .count{
  padding:7px 10px;
  border:1px solid rgba(207,202,189,.72);
  border-radius:6px;
  background:rgba(255,252,244,.72);
  color:#7D8794;
}
.intro-grid{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(420px,.72fr);
  gap:28px;
  align-items:stretch;
}
.directory-copy{
  max-width:46em;
  margin:0;
  padding:18px 20px;
  border:1px solid rgba(224,222,211,.92);
  border-left:3px solid var(--green);
  border-radius:8px;
  background:rgba(255,252,244,.78);
  box-shadow:var(--shadow-soft);
}
.directory-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.hero-stat{
  min-height:112px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:13px 14px;
  border:1px solid rgba(224,222,211,.96);
  border-radius:8px;
  background:#fff;
  box-shadow:var(--shadow-soft);
}
.hero-stat span{
  color:var(--faint);
  font-family:var(--mono);
  font-size:10.5px;
  font-weight:780;
}
.hero-stat b{
  color:var(--ink);
  font-family:var(--mono);
  font-size:25px;
  line-height:1;
  font-weight:880;
}
.hero-stat em{
  color:var(--muted);
  font-style:normal;
  font-size:11.5px;
}

.toolbar{
  top:76px;
  margin:24px 0 30px;
  padding:0;
  border:0;
  background:transparent;
  backdrop-filter:none;
}
.toolbar-card{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:14px;
  align-items:start;
  padding:13px;
  border:1px solid rgba(207,202,189,.82);
  border-radius:8px;
  background:rgba(255,252,244,.9);
  box-shadow:0 18px 42px -34px rgba(17,23,34,.52);
  backdrop-filter:saturate(150%) blur(16px);
}
.toolbar-title{
  min-height:42px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:2px;
  padding:0 6px;
}
.toolbar-title span{
  color:var(--ink);
  font-size:13px;
  font-weight:850;
}
.toolbar-title em{
  color:var(--faint);
  font-family:var(--mono);
  font-style:normal;
  font-size:10.5px;
}
.filters{
  gap:7px;
}
.search{
  max-width:none;
  min-height:44px;
  flex:1 1 360px;
  border-radius:7px;
  border-color:rgba(207,202,189,.92);
  background:#fff;
  padding:9px 13px;
  font-size:13.5px;
  font-weight:660;
}
.chip{
  min-height:34px;
  border-radius:7px;
  background:#fff;
}
.chip.on{
  border-color:#111722;
  background:#111722;
  color:#fff;
  box-shadow:0 12px 24px -20px rgba(17,23,34,.62);
}

.grid{
  grid-template-columns:repeat(auto-fill,minmax(360px,1fr));
  gap:18px;
}
.gcard{
  min-height:346px;
  gap:12px;
  padding:19px 20px 17px;
  border:1px solid rgba(224,222,211,.98);
  border-top:3px solid var(--accent);
  border-radius:8px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.94)),
    var(--card);
  box-shadow:var(--shadow-soft);
}
.gcard::before{
  inset:0;
  width:auto;
  border-radius:8px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent 36%);
  pointer-events:none;
}
.gcard::after{
  right:18px;
  top:17px;
  max-width:132px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:rgba(101,113,129,.42);
}
.gcard.is-priority{
  box-shadow:0 26px 62px -42px color-mix(in srgb,var(--accent) 42%,#111722);
}
.gcard:hover{
  transform:translateY(-3px);
  box-shadow:0 34px 72px -48px color-mix(in srgb,var(--accent) 45%,#111722);
}
.gcard .card-meta{
  padding-right:122px;
  gap:7px;
  color:#98A1AC;
}
.gcard .card-meta .fresh{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:2px 7px;
  border-radius:6px;
  background:color-mix(in srgb,var(--accent) 10%,#fff);
  color:var(--accent);
}
.category-pill{
  display:inline-flex;
  min-height:20px;
  align-items:center;
  padding:2px 7px;
  border-radius:6px;
  background:#F6F3EA;
  color:#6F7885;
  font-family:var(--sans);
  font-weight:760;
}
.gcard h4{
  font-size:19px;
  letter-spacing:0;
  overflow-wrap:anywhere;
}
.gcard .mem{
  min-width:58px;
  font-size:20px;
}
.gcard .mem em{
  letter-spacing:0;
}
.summary{
  padding:0;
  border:0;
  background:transparent;
}
.summary .topic{
  border-color:color-mix(in srgb,var(--accent) 26%,#E0DED3);
  background:color-mix(in srgb,var(--accent) 8%,#fff);
  color:var(--accent);
}
.summary p{
  margin-top:7px;
  color:#394454;
  font-size:13px;
  line-height:1.64;
}
.score-row{
  grid-template-columns:64px minmax(0,1fr);
  padding:10px;
  border:1px solid rgba(224,222,211,.78);
  border-radius:8px;
  background:#FAF8F2;
}
.score{
  min-height:52px;
  border-radius:7px;
  background:color-mix(in srgb,var(--accent) 10%,#fff);
  color:var(--accent);
}
.score b{font-size:20px}
.activity .meter{
  height:7px;
  background:#E2DFD4;
}
.activity .meter i{
  background:linear-gradient(90deg,var(--green),var(--accent));
}
.rail{
  height:5px;
  background:#E4E1D7;
}
.tag{
  border-radius:6px;
  background:#FAF8F2;
}
.tag.prog{
  border-color:color-mix(in srgb,var(--accent) 24%,#E0DED3);
  background:color-mix(in srgb,var(--accent) 7%,#fff);
  color:var(--accent);
}
.details{
  border-radius:8px;
  background:rgba(255,252,244,.72);
}
.details summary{
  min-height:36px;
}
.gcard .owner{
  padding-top:12px;
  border-top-color:#E4E1D7;
}
.gcard .wxid{
  color:var(--accent);
}
.copy-wx .copy-label{
  border-radius:6px;
  border-color:color-mix(in srgb,var(--accent) 28%,#E0DED3);
  color:var(--accent);
}
.copy-wx:hover .copy-label,.copy-wx.copied .copy-label{
  background:color-mix(in srgb,var(--accent) 9%,#fff);
}

/* School org guide */
.school-page .school-copy{
  border-left-color:var(--gold);
}
.school-page .school-copy h4{
  margin:0 0 7px;
  color:var(--ink);
  font-size:18px;
  font-weight:860;
}
.school-page .school-copy p{
  margin:0;
  color:var(--muted);
  font-size:13.5px;
  line-height:1.78;
}
.school-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(410px,1fr));
  gap:18px;
  align-items:start;
}
.school-card{
  --accent:var(--blue);
  position:relative;
  display:flex;
  flex-direction:column;
  gap:13px;
  min-height:330px;
  padding:19px 20px 18px;
  border:1px solid rgba(224,222,211,.98);
  border-top:3px solid var(--accent);
  border-radius:8px;
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--accent) 6%,transparent),transparent 36%),
    rgba(255,255,255,.96);
  box-shadow:var(--shadow-soft);
  transition:border-color .18s,box-shadow .18s,transform .18s;
}
.school-card.has-community{
  box-shadow:0 30px 70px -48px color-mix(in srgb,var(--accent) 42%,#111722);
}
.school-card:hover{
  transform:translateY(-3px);
  border-color:color-mix(in srgb,var(--accent) 34%,var(--line));
  box-shadow:0 34px 72px -48px color-mix(in srgb,var(--accent) 45%,#111722);
}
.school-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:var(--faint);
  font-family:var(--mono);
  font-size:10.5px;
}
.school-no{
  color:var(--accent);
  font-weight:860;
}
.school-source{
  padding:2px 8px;
  border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));
  border-radius:6px;
  background:color-mix(in srgb,var(--accent) 7%,#fff);
  color:var(--accent);
  font-family:var(--sans);
  font-size:11px;
  font-weight:820;
}
.school-title-row{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
}
.school-mark{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));
  border-radius:8px;
  background:color-mix(in srgb,var(--accent) 8%,#fff);
  color:var(--accent);
  font-size:20px;
  font-weight:880;
}
.school-title-row h3{
  margin:0;
  color:var(--ink);
  font-size:20px;
  line-height:1.28;
  font-weight:880;
}
.school-title-row p{
  margin:4px 0 0;
  color:var(--faint);
  font-size:12px;
  line-height:1.45;
}
.school-community-count{
  min-width:70px;
  text-align:right;
  color:var(--faint);
  font-size:10.5px;
}
.school-community-count b{
  display:block;
  color:var(--ink);
  font-family:var(--mono);
  font-size:22px;
  line-height:1;
  font-weight:880;
}
.school-community-count span,
.school-community-count em{
  display:block;
  margin-top:4px;
  font-style:normal;
}
.school-desc{
  color:#394454;
  font-size:13.2px;
  line-height:1.72;
}
.school-tags span{
  border-radius:6px;
  background:#FAF8F2;
}
.school-mentor,
.school-activity,
.school-join{
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:10px;
  padding:10px 0 0;
  border-top:1px solid #E4E1D7;
  color:var(--muted);
  font-size:12.5px;
  line-height:1.62;
}
.school-mentor{
  display:block;
  color:var(--ink-2);
}
.school-mentor b{color:var(--ink);font-weight:850}
.school-activity b,
.school-join b{
  color:var(--faint);
  font-family:var(--mono);
  font-size:9.5px;
  font-weight:800;
  letter-spacing:.04em;
}
.school-contact-list{
  display:grid;
  gap:4px;
  padding-top:2px;
}
.school-public-account-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:7px;
  padding-top:2px;
}
.school-public-account{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:7px 8px;
  border:1px solid rgba(16,24,32,.07);
  border-radius:8px;
  background:#FAFBF7;
}
.school-public-account span{
  min-width:0;
  display:grid;
  gap:2px;
  color:#52616A;
  font-size:11.5px;
  line-height:1.25;
}
.school-public-account span b{
  color:#7D8A92;
  font-size:10px;
  font-weight:820;
}
.school-public-account span em{
  overflow:hidden;
  color:#8B969D;
  font-size:10px;
  font-style:normal;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.school-public-account .mini-copy{
  max-width:128px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.school-contact-list .club-contact{
  min-height:32px;
  padding:5px 0;
}
.school-wx-list{
  display:grid;
  gap:10px;
  margin-top:auto;
  padding-top:12px;
  border-top:1px solid #E4E1D7;
}
.school-wx-card{
  display:grid;
  gap:9px;
  padding:12px 13px;
  border-left:3px solid var(--accent);
  background:linear-gradient(180deg,#FFFCF4,#FAF8F2);
}
.school-wx-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.school-wx-head b{
  display:block;
  color:var(--ink);
  font-size:14px;
  line-height:1.35;
  font-weight:860;
}
.school-wx-head span{
  display:block;
  margin-top:2px;
  color:var(--faint);
  font-size:11px;
}
.school-wx-head em{
  color:var(--accent);
  font-family:var(--mono);
  font-style:normal;
  font-size:13px;
  font-weight:860;
  white-space:nowrap;
}
.school-wx-card p{
  margin:0;
  color:var(--ink-2);
  font-size:12.4px;
  line-height:1.6;
}
.school-wx-meter{
  display:grid;
  grid-template-columns:auto minmax(86px,1fr);
  gap:7px 9px;
  align-items:center;
  color:var(--faint);
  font-size:10.5px;
}
.school-wx-meter span{
  color:var(--muted);
  font-size:11px;
}
.school-wx-meter span b{
  color:var(--accent);
  font-family:var(--mono);
  font-size:15px;
}
.school-wx-meter i{
  height:6px;
  overflow:hidden;
  border-radius:999px;
  background:#E2DFD4;
}
.school-wx-meter u{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--green),var(--accent));
  text-decoration:none;
}
.school-wx-meter em{
  grid-column:1 / -1;
  min-width:0;
  overflow:hidden;
  color:var(--muted);
  font-style:normal;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.school-wx-owner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  color:var(--muted);
  font-size:11.5px;
}
.school-wx-owner b{
  display:block;
  margin-bottom:1px;
  color:var(--faint);
  font-family:var(--mono);
  font-size:9.5px;
  font-weight:760;
}
.school-copy-wx{
  border-radius:6px;
  white-space:nowrap;
}
.school-no-wx{
  color:var(--faint);
  font-size:11.5px;
  white-space:nowrap;
}
.school-wx-details{
  border:1px solid rgba(224,222,211,.86);
  border-radius:7px;
  background:rgba(255,255,255,.58);
  overflow:hidden;
}
.school-wx-details summary{
  min-height:32px;
  display:flex;
  align-items:center;
  padding:7px 9px;
  color:var(--muted);
  cursor:pointer;
  list-style:none;
  font-size:11.5px;
  font-weight:780;
}
.school-wx-details summary::-webkit-details-marker{display:none}
.school-wx-details[open] summary{border-bottom:1px solid var(--line)}
.school-wx-detail{
  padding:8px 9px;
  color:var(--muted);
  font-size:11px;
  line-height:1.5;
}
.school-wx-detail+.school-wx-detail{border-top:1px solid rgba(224,222,211,.72)}
.school-wx-detail b{
  display:block;
  margin-bottom:3px;
  color:var(--faint);
  font-family:var(--mono);
  font-size:9px;
  letter-spacing:.04em;
}
.school-rec{
  display:block;
}
.school-rec+.school-rec{margin-top:5px}
.school-rec b{
  display:inline;
  color:var(--ink-2);
  font-family:var(--sans);
  font-size:11.5px;
}
.school-rec .school-rec-copy{
  margin-left:6px;
  padding:2px 7px;
  min-height:0;
  font-size:10px;
  vertical-align:1px;
}
.school-rec em{
  display:block;
  margin-top:1px;
  color:var(--muted);
  font-style:normal;
}
.school-empty-wx{
  padding:10px 0 0;
  color:var(--faint);
  font-size:12px;
  line-height:1.65;
}

@media(max-width:1200px){
  .directory-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:980px){
  .intro-grid{grid-template-columns:1fr}
  .toolbar{top:116px}
  .toolbar-card{grid-template-columns:1fr}
  .toolbar-title{min-height:0;padding:0}
  .grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
  .school-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}
}

@media(max-width:680px){
  .nav-links{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    overflow:visible;
    gap:4px;
  }
  .nav-links a{
    justify-content:center;
    min-width:0;
    white-space:nowrap;
  }
  .section.directory-section>.wrap,
  .section.directory-section .toolbar>.wrap{width:calc(100% - 32px)}
  .directory-hero{padding-top:32px}
  .directory-hero .section-head h2{font-size:32px}
  .directory-copy{padding:15px}
  .directory-stats{grid-template-columns:1fr 1fr}
  .hero-stat{min-height:94px}
  .hero-stat b{font-size:22px}
  .toolbar{position:relative;top:auto;margin:18px 0 22px}
  .toolbar-card{padding:10px}
  .search{flex:1 1 100%;min-width:100%}
  .grid{grid-template-columns:1fr;gap:14px}
  .school-grid{grid-template-columns:1fr;gap:14px}
  .school-card{min-height:0;padding:17px 16px}
  .school-title-row{grid-template-columns:40px minmax(0,1fr)}
  .school-community-count{grid-column:1 / -1;text-align:left;display:flex;align-items:baseline;gap:8px}
  .school-community-count b,.school-community-count span,.school-community-count em{display:inline;margin-top:0}
  .school-activity,.school-join{grid-template-columns:1fr;gap:3px}
  .school-wx-owner{grid-template-columns:1fr;align-items:start}
  .school-wx-meter{grid-template-columns:1fr}
  .school-wx-meter em{white-space:normal}
  .gcard{min-height:0;padding:17px 16px}
  .gcard::after{display:none}
  .gcard .card-meta{padding-right:0;flex-wrap:wrap}
  .score-row{grid-template-columns:58px minmax(0,1fr)}
}

/* registry-polish-20260627
   Direction: a quiet harbor registry, not an admin dashboard. */
:root{
  --bg:#F4F7F7;
  --paper:#FBFCFB;
  --card:#FFFFFF;
  --ink:#101820;
  --ink-2:#26323C;
  --muted:#5F6D77;
  --faint:#9AA6AE;
  --line:#D9E2E4;
  --line-2:#C6D2D4;
  --blue:#0D5C64;
  --green:#006B61;
  --gold:#A97732;
  --red:#A43A45;
  --purple:#66506E;
  --harbor:#006B61;
  --harbor-dark:#0A3135;
  --surface-glass:rgba(255,255,255,.78);
  --radius:16px;
  --shadow:none;
  --shadow-soft:0 22px 55px -48px rgba(12,31,35,.45);
  --sans:"Avenir Next","PingFang SC","Hiragino Sans GB","Noto Sans SC",sans-serif;
  --display:"Songti SC","STSong","Noto Serif CJK SC",serif;
}

body{
  background:
    linear-gradient(180deg,#FAFBFA 0%,#F2F7F6 48%,#EEF4F3 100%);
  color:var(--ink);
  font-family:var(--sans);
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,107,97,.055),transparent 26%);
}

.nav{
  top:12px;
  width:min(calc(100% - 48px),1180px);
  margin:12px auto 0;
  border:1px solid rgba(16,24,32,.08);
  border-radius:22px;
  background:rgba(251,252,251,.88);
  box-shadow:0 18px 48px -42px rgba(10,49,53,.58);
}
.nav .wrap{
  width:100%;
  min-height:64px;
  padding:8px 12px;
  gap:14px;
}
.brand-lockup{
  min-width:238px;
  padding:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.brand{
  --brand-mark-size:36px;
  --brand-mark-gap:10px;
}
.brand::before{
  border-radius:9px;
  box-shadow:none;
}
.brand .en{
  font-size:22px;
  letter-spacing:0;
}
.brand .bar{
  height:26px;
  margin:0 7px 0 8px;
  background:#AEB6C1;
}
.brand .zh{
  min-width:30px;
  height:32px;
  border-radius:0;
  background:transparent;
  color:var(--harbor-dark);
  box-shadow:none;
}
.brand .zh::after{display:none}
.brand-slogan{
  color:#6B7880;
  font-size:11px;
  font-weight:560;
}
.nav-links{
  flex:1;
  justify-content:flex-end;
  gap:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.nav-links a{
  min-height:38px;
  border-radius:999px;
  padding:8px 12px;
  color:#58666F;
  font-size:13px;
  font-weight:680;
}
.nav-links a:hover{
  background:rgba(0,107,97,.06);
  color:var(--harbor-dark);
}
.nav-links a.on{
  background:var(--harbor-dark);
  color:#fff;
  font-weight:760;
}
.auth .login,.auth .lo{
  min-height:38px;
  border-radius:999px;
  background:#E7EEEE;
  color:var(--harbor-dark);
}

.hero{
  padding:92px 0 28px;
}
.hero .wrap{
  grid-template-columns:minmax(0,740px) minmax(250px,1fr);
}
.hero .wrap::after{
  width:260px;
  margin-top:34px;
  border:0;
  border-left:1px solid var(--line);
  background:transparent;
  box-shadow:none;
  color:#53636B;
}
.kicker,.eg,.eyebrow,.stag{
  letter-spacing:.06em;
}
.hero h1{
  font-family:var(--display);
  font-size:62px;
  font-weight:760;
  letter-spacing:0;
}
.hero h1 .dot,.top h1 .dot{color:var(--harbor)}
.brand-line{
  color:var(--harbor-dark);
  font-weight:720;
}
.sbox{
  min-height:54px;
  border-color:rgba(16,24,32,.1);
  border-radius:999px;
  background:rgba(255,255,255,.82);
  box-shadow:none;
}
.hero .cta{
  border-radius:999px;
  background:var(--harbor-dark);
}
.hero .or{
  border-bottom-color:rgba(0,107,97,.22);
}
.stat,.entry{
  border-color:rgba(16,24,32,.08);
  border-radius:18px;
  background:rgba(255,255,255,.72);
  box-shadow:none;
}
.entry{
  border-left:1px solid rgba(16,24,32,.08);
}
.entry:hover{
  border-color:rgba(0,107,97,.22);
  box-shadow:0 28px 60px -52px rgba(10,49,53,.52);
}

.directory-section{
  padding:28px 0 88px;
}
.section.directory-section>.wrap,
.section.directory-section .toolbar>.wrap{
  width:min(calc(100% - 96px),1320px);
}
.directory-hero{
  padding:58px 0 0;
}
.back{
  color:var(--harbor);
}
.section-head{
  margin:0 0 26px;
  padding-bottom:22px;
  border-bottom:1px solid rgba(16,24,32,.09);
}
.section-head::after{
  width:70px;
  height:2px;
  background:var(--harbor);
}
.eyebrow{
  color:var(--harbor);
  font-size:11px;
  font-weight:760;
}
.directory-hero .section-head h2,
.section-head h2{
  margin-top:10px;
  color:var(--ink);
  font-family:var(--display);
  font-size:54px;
  line-height:1.02;
  font-weight:760;
  letter-spacing:0;
}
.directory-hero .count,
.count{
  align-self:center;
  border:1px solid rgba(16,24,32,.08);
  border-radius:999px;
  background:rgba(255,255,255,.66);
  color:#65737B;
  padding:8px 12px;
}
.intro-grid{
  grid-template-columns:minmax(0,1fr) minmax(390px,.58fr);
  gap:46px;
  align-items:start;
}
.directory-copy{
  max-width:54em;
  padding:4px 0 0 22px;
  border:0;
  border-left:2px solid var(--harbor);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#53636B;
  font-size:17px;
  line-height:1.95;
}
.directory-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  border-top:1px solid rgba(16,24,32,.1);
  border-bottom:1px solid rgba(16,24,32,.1);
}
.hero-stat{
  min-height:88px;
  padding:17px 18px;
  border:0;
  border-right:1px solid rgba(16,24,32,.08);
  border-bottom:1px solid rgba(16,24,32,.08);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.hero-stat:nth-child(2n){border-right:0}
.hero-stat:nth-last-child(-n+2){border-bottom:0}
.hero-stat span{
  color:#809099;
  font-size:10px;
  letter-spacing:.05em;
}
.hero-stat b{
  color:var(--ink);
  font-size:26px;
  font-weight:780;
}
.hero-stat em{
  color:#6D7B83;
  font-size:11.5px;
}

.toolbar{
  top:88px;
  margin:30px 0 32px;
}
.toolbar-card{
  grid-template-columns:150px minmax(0,1fr);
  gap:18px;
  padding:12px 14px;
  border:1px solid rgba(16,24,32,.09);
  border-radius:20px;
  background:rgba(255,255,255,.78);
  box-shadow:0 18px 50px -46px rgba(10,49,53,.5);
  backdrop-filter:saturate(145%) blur(14px);
}
.toolbar-title span{
  color:var(--ink);
  font-size:12.5px;
}
.toolbar-title em{
  color:#829099;
}
.search{
  min-height:44px;
  border:0;
  border-radius:999px;
  background:#F2F6F5;
  color:var(--ink);
  box-shadow:inset 0 0 0 1px rgba(16,24,32,.07);
}
.search:focus{
  box-shadow:inset 0 0 0 1px rgba(0,107,97,.42),0 0 0 4px rgba(0,107,97,.09);
}
.chip{
  min-height:34px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#64727A;
  padding:6px 11px;
}
.chip:hover{
  border-color:transparent;
  background:rgba(0,107,97,.07);
  color:var(--harbor-dark);
}
.chip.on{
  border-color:transparent;
  background:var(--harbor-dark);
  color:#fff;
  box-shadow:none;
}

.grid,
.club-guide-grid,
.school-grid,
.salons{
  gap:18px;
}
.grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.gcard,
.club-card,
.school-card,
.scard{
  border:1px solid rgba(16,24,32,.08);
  border-radius:20px;
  background:rgba(255,255,255,.82);
  box-shadow:none;
  transition:transform .5s cubic-bezier(.2,.8,.2,1),border-color .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s cubic-bezier(.2,.8,.2,1);
}
.gcard{
  min-height:0;
  padding:22px 24px 20px;
  border-top:1px solid rgba(16,24,32,.08);
}
.gcard::before,
.gcard::after{
  display:none;
}
.gcard:hover,
.club-card:hover,
.school-card:hover,
.scard:hover{
  transform:translateY(-2px);
  border-color:rgba(0,107,97,.22);
  box-shadow:0 30px 72px -58px rgba(10,49,53,.55);
}
.gcard .card-meta{
  padding-right:0;
  gap:10px;
  color:#829099;
}
.gcard .card-meta .fresh,
.category-pill{
  min-height:0;
  padding:0;
  border-radius:0;
  background:transparent;
  color:var(--harbor);
  font-size:11px;
  font-weight:760;
}
.category-pill{
  color:#829099;
}
.gcard .top{
  align-items:baseline;
  padding-bottom:4px;
}
.gcard h4{
  color:var(--ink);
  font-size:21px;
  line-height:1.32;
  font-weight:820;
}
.gcard .mem{
  min-width:auto;
  color:var(--ink);
  font-size:23px;
  font-weight:780;
}
.gcard .mem em{
  margin-top:2px;
  color:#8B989F;
}
.summary{
  padding:0;
  border:0;
  background:transparent;
}
.summary .topic,
.topic{
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--harbor);
  font-size:12px;
  font-weight:760;
}
.summary p{
  margin-top:8px;
  color:#4D5C64;
  font-size:13.5px;
  line-height:1.75;
  -webkit-line-clamp:2;
}
.score-row{
  display:flex;
  align-items:baseline;
  gap:12px;
  padding:10px 0 0;
  border:0;
  border-top:1px solid rgba(16,24,32,.07);
  border-radius:0;
  background:transparent;
}
.score{
  min-height:0;
  min-width:0;
  display:block;
  border-radius:0;
  background:transparent;
  color:var(--harbor);
  text-align:left;
}
.score b{
  font-size:18px;
  font-weight:780;
}
.score span{
  display:inline;
  margin-left:4px;
  color:#7A8990;
  font-size:11px;
}
.activity{
  min-height:0;
  display:block;
  color:#78878E;
}
.activity .meter,
.rail{
  display:none;
}
.activity em{
  white-space:normal;
}
.rail-wrap{
  margin-top:-2px;
}
.rail-legend{
  justify-content:flex-start;
  gap:16px;
  color:#8A989F;
}
.rail-legend .lt,
.rail-legend .lp{
  color:#7E8D95;
}
.tags{
  gap:6px;
}
.tag{
  min-height:24px;
  border:1px solid rgba(16,24,32,.08);
  border-radius:999px;
  background:#F6F9F8;
  color:#607078;
}
.tag.prog{
  border-color:rgba(0,107,97,.16);
  background:#F0F7F5;
  color:var(--harbor);
}
.details{
  border:0;
  border-top:1px solid rgba(16,24,32,.08);
  border-radius:0;
  background:transparent;
}
.details summary{
  padding:9px 0 0;
  color:#65747B;
}
.details[open] summary{
  border-bottom:0;
}
.facts{
  padding:10px 0 0;
}
.fact{
  border-radius:12px;
  background:#F5F8F7;
}
.detail-block{
  padding:8px 0 0;
}
.gcard .owner{
  padding-top:13px;
  border-top:1px solid rgba(16,24,32,.08);
}
.gcard .owner b{
  color:#8B989F;
}
.gcard .wxid{
  color:var(--harbor);
}
.copy-wx .copy-label,
.mini-copy,
.school-copy-wx{
  border:0;
  border-radius:999px;
  background:#EAF3F1;
  color:var(--harbor-dark);
}

.club-guide-brief,
.club-intro{
  border:1px solid rgba(16,24,32,.08);
  border-left:0;
  border-radius:20px;
  background:rgba(255,255,255,.72);
  box-shadow:none;
}
.club-lanes span{
  border-color:rgba(16,24,32,.08);
  border-radius:16px;
  background:#F6F9F8;
}
.club-card{
  min-height:0;
  border-left:1px solid rgba(16,24,32,.08);
}
.club-kind,
.club-open,
.club-no{
  color:var(--harbor);
}
.club-kind{
  border-color:rgba(0,107,97,.16);
  background:#F0F7F5;
}
.club-initial{
  border-radius:14px;
  background:#F0F7F5;
  color:var(--harbor);
}

.school-page .school-copy,
.school-card{
  border-left:0;
}
.school-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.school-card{
  min-height:0;
  padding:22px 24px;
  border-top:1px solid rgba(16,24,32,.08);
}
.school-card.has-community{
  box-shadow:none;
}
.school-source,
.school-mark{
  border-color:rgba(0,107,97,.16);
  background:#F0F7F5;
  color:var(--harbor);
}
.school-wx-card{
  border-left:0;
  border-radius:16px;
  background:#F6F9F8;
}
.school-wx-meter i{
  display:none;
}
.school-wx-details{
  border:0;
  border-top:1px solid rgba(16,24,32,.07);
  border-radius:0;
  background:transparent;
}

.scard{
  min-height:230px;
}
.scard .stag,
.scard .cnt .big{
  color:var(--harbor);
}

@media(max-width:980px){
  .nav{
    top:0;
    width:calc(100% - 24px);
    margin:10px auto 0;
  }
  .nav .wrap{
    flex-wrap:wrap;
  }
  .brand-lockup{
    min-width:0;
    max-width:calc(100% - 84px);
  }
  .nav-links{
    order:3;
    width:100%;
    justify-content:flex-start;
    overflow:auto;
    padding-bottom:2px;
  }
  .hero h1{font-size:46px}
  .intro-grid{grid-template-columns:1fr}
  .directory-stats{max-width:620px}
  .toolbar{top:88px}
  .toolbar-card{grid-template-columns:1fr}
  .grid,.school-grid,.club-guide-grid{grid-template-columns:1fr}
}

@media(max-width:680px){
  .nav{
    border-radius:18px;
  }
  .brand-lockup{
    width:auto;
    max-width:calc(100% - 76px);
  }
  .auth{
    margin-left:auto;
  }
  .nav-links{
    display:flex;
    gap:4px;
    overflow-x:auto;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .nav-links::-webkit-scrollbar{display:none}
  .nav-links a{
    flex:0 0 auto;
    justify-content:center;
    min-width:0;
    white-space:nowrap;
  }
  .section.directory-section>.wrap,
  .section.directory-section .toolbar>.wrap{
    width:calc(100% - 32px);
  }
  .directory-hero{
    padding-top:34px;
  }
  .directory-hero .section-head h2,
  .section-head h2{
    font-size:36px;
  }
  .section-head{
    align-items:flex-start;
  }
  .directory-copy{
    padding-left:16px;
    font-size:15.5px;
  }
  .directory-stats{
    grid-template-columns:1fr 1fr;
  }
  .hero-stat{
    min-height:82px;
    padding:14px;
  }
  .toolbar{
    position:relative;
    top:auto;
    margin:22px 0 24px;
  }
  .toolbar-card{
    padding:10px;
    border-radius:18px;
  }
  .search{
    width:100%;
    min-width:100%;
  }
  .gcard,
  .school-card{
    padding:18px 16px;
  }
  .score-row{
    display:block;
  }
  .activity{
    margin-top:4px;
  }
}

/* registry-polish-20260627-b
   Pass 2: tighter first screen rhythm, stronger registry cards, and a real mobile nav. */
body *{
  letter-spacing:0 !important;
}

.directory-section{
  padding-top:16px;
}
.directory-hero{
  padding-top:34px;
}
.directory-copy{
  max-width:49em;
}
.directory-stats{
  position:relative;
}
.directory-stats::before{
  content:"";
  position:absolute;
  inset:0 auto 0 50%;
  width:1px;
  background:rgba(16,24,32,.045);
  pointer-events:none;
}

.gcard,
.school-card,
.club-card,
.scard{
  background:
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(250,253,252,.88));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.86),
    0 18px 58px -54px rgba(10,49,53,.54);
}
.gcard{
  position:relative;
  gap:12px;
  padding:23px 25px 21px;
}
.gcard::before{
  display:block;
  content:"";
  position:absolute;
  inset:0 0 auto;
  width:auto;
  height:2px;
  background:linear-gradient(90deg,var(--harbor),rgba(0,107,97,.14) 34%,transparent 78%);
  opacity:.72;
  pointer-events:none;
}
.gcard .card-meta{
  min-height:18px;
}
.gcard .top{
  padding-bottom:2px;
}
.gcard h4{
  max-width:calc(100% - 74px);
  font-size:22px;
}
.gcard .mem{
  padding-left:14px;
  border-left:1px solid rgba(16,24,32,.08);
  text-align:right;
}
.summary p{
  min-height:47px;
}
.score-row{
  margin-top:auto;
}
.rail-legend{
  padding-top:2px;
}
.tags{
  padding-top:1px;
}
.chip-row{
  display:flex;
  flex:1 1 auto;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  min-width:0;
}

@media(max-width:980px){
  .directory-section{
    padding-top:10px;
  }
  .directory-hero{
    padding-top:28px;
  }
  .nav-links{
    flex:0 0 100%;
    margin-left:0;
  }
}

@media(max-width:680px){
  .nav{
    width:calc(100% - 20px);
    margin-top:8px;
  }
  .nav .wrap{
    min-height:0;
    padding:8px;
    gap:8px 10px;
    align-items:center;
  }
  .brand-lockup{
    flex:1 1 auto;
    max-width:calc(100% - 68px);
  }
  .brand{
    --brand-mark-size:34px;
    --brand-mark-gap:8px;
  }
  .brand .en{
    font-size:21px;
  }
  .brand .bar{
    height:24px;
    margin:0 5px;
  }
  .brand .zh{
    min-width:28px;
    height:30px;
    font-size:22px;
  }
  .brand-slogan{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .auth{
    order:2;
    flex:0 0 auto;
    margin-left:0;
    gap:6px;
  }
  .auth .who{
    display:none;
  }
  .auth .login,
  .auth .lo{
    min-height:34px;
    padding:6px 12px;
  }
  .nav-links{
    order:3;
    flex:0 0 100%;
    width:100%;
    margin:0;
    padding:8px 0 0;
    border-top:1px solid rgba(16,24,32,.07);
    gap:6px;
  }
  .nav-links a{
    min-height:32px;
    padding:6px 10px;
  }
  .directory-hero{
    padding-top:22px;
  }
  .section-head{
    margin-bottom:20px;
    padding-bottom:18px;
  }
  .directory-hero .section-head h2,
  .section-head h2{
    font-size:34px;
  }
  .directory-hero .count,
  .count{
    align-self:flex-start;
    margin-top:10px;
  }
  .intro-grid{
    gap:24px;
  }
  .directory-copy{
    line-height:1.85;
  }
  .toolbar{
    margin-top:16px;
    margin-bottom:18px;
  }
  .toolbar-card{
    gap:9px;
    padding:9px;
  }
  .toolbar-title{
    display:none;
  }
  .directory-stats{
    grid-template-columns:1fr 1fr;
  }
  .hero-stat{
    min-height:66px;
    padding:10px 13px;
  }
  .hero-stat b{
    font-size:23px;
  }
  .hero-stat em{
    font-size:10.5px;
  }
  .filters{
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
    overflow:hidden;
  }
  .search{
    grid-row:1;
    min-height:40px;
  }
  .chip-row{
    grid-row:2;
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:1px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .chip-row::-webkit-scrollbar{
    display:none;
  }
  .chip{
    flex:0 0 auto;
    min-height:32px;
    padding:5px 10px;
  }
  .grid,
  .school-grid,
  .club-guide-grid,
  .salons{
    gap:14px;
  }
  .gcard{
    padding:18px 16px 17px;
  }
  .gcard h4{
    max-width:none;
    font-size:20px;
  }
  .gcard .top{
    align-items:flex-start;
    gap:12px;
  }
  .gcard .mem{
    padding-left:10px;
  }
  .summary p{
    min-height:0;
  }
}

/* registry-polish-20260627-d
   Type-first registry: more editorial typography and differentiated cells while keeping density. */
:root{
  --sans:"Avenir Next","Manrope","HarmonyOS Sans SC","MiSans","PingFang SC","Hiragino Sans GB","Noto Sans SC",sans-serif;
  --display:"Hiragino Mincho ProN","Songti SC","STSong","Noto Serif CJK SC","Source Han Serif SC",serif;
  --num:"DIN Alternate","Avenir Next Condensed","Bahnschrift","SF Mono",ui-monospace,monospace;
  --serif-latin:"Iowan Old Style","Georgia",serif;
  --motion:cubic-bezier(.32,.72,0,1);
}

body{
  font-family:var(--sans);
  background:
    linear-gradient(180deg,#FAFBFA 0%,#F3F8F7 45%,#EEF4F3 100%),
    #F4F7F7;
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.18;
  background-image:
    linear-gradient(rgba(16,24,32,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(16,24,32,.022) 1px,transparent 1px);
  background-size:28px 28px,28px 28px;
  mask-image:linear-gradient(180deg,transparent 0,#000 15%,#000 82%,transparent 100%);
}
.brand .en{
  font-family:"Avenir Next Condensed","Avenir Next",var(--sans);
  font-size:24px;
  font-weight:900;
}
.brand .zh{
  font-family:var(--display);
  font-weight:900;
}
.brand-slogan,
.nav-links a,
.auth .login,
.auth .lo{
  font-family:var(--sans);
}
.eyebrow,
.back,
.toolbar-title span,
.toolbar-title em,
.card-meta,
.card-folio,
.topic,
.score span,
.activity,
.rail-legend,
.tag,
.owner b,
.wxid,
.chip,
.count,
.hero-stat span,
.hero-stat em{
  font-family:var(--num);
}
.directory-hero .section-head h2,
.section-head h2{
  font-family:var(--display);
  font-size:clamp(50px,5.1vw,76px);
  line-height:.96;
  font-weight:900;
  text-wrap:balance;
}
.directory-hero .section-head h2::first-letter{
  color:var(--harbor-dark);
}
.directory-copy{
  font-family:var(--display);
  font-size:18px;
  font-weight:600;
  color:#40515A;
}
.hero-stat b,
.gcard .mem,
.score b,
.school-card-count b,
.cnt .big{
  font-family:var(--num);
}

.grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  align-items:start;
}
.masonry-col{
  display:flex;
  flex-direction:column;
  gap:20px;
  min-width:0;
}
.masonry-col:nth-child(2){
  padding-top:18px;
}
.gcard{
  --wash:rgba(0,107,97,.065);
  --paper-a:rgba(255,255,255,.98);
  --paper-b:rgba(248,251,250,.92);
  width:100%;
  min-height:0;
  margin:0;
  break-inside:avoid;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:24px 26px 22px;
  border-color:color-mix(in srgb,var(--accent) 16%,rgba(16,24,32,.08));
  border-radius:26px;
  background:
    radial-gradient(circle at 92% 8%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 24%),
    linear-gradient(145deg,var(--paper-a),var(--paper-b));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 0 -1px 0 rgba(16,24,32,.035),
    0 30px 82px -70px color-mix(in srgb,var(--accent) 42%,#102126);
  overflow:hidden;
  transition:
    transform .75s var(--motion),
    border-color .75s var(--motion),
    box-shadow .75s var(--motion),
    background .75s var(--motion);
}
.gcard::before{
  height:3px;
  background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 35%,transparent) 46%,transparent 82%);
  opacity:.86;
}
.gcard::after{
  content:attr(data-stamp);
  display:block;
  position:absolute;
  right:19px;
  top:58px;
  color:color-mix(in srgb,var(--accent) 13%,transparent);
  font-family:var(--num);
  font-size:74px;
  font-weight:900;
  line-height:.82;
  pointer-events:none;
}
.gcard:hover{
  transform:translateY(-4px);
  border-color:color-mix(in srgb,var(--accent) 32%,rgba(16,24,32,.09));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    0 34px 92px -62px color-mix(in srgb,var(--accent) 54%,#102126);
}
.gcard:nth-child(4n+2){
  margin-top:0;
}
.gcard:nth-child(6n+4){
  margin-top:0;
}
.gcard.size-feature{
  min-height:378px;
}
.gcard.size-tall{
  min-height:342px;
}
.gcard.size-compact{
  min-height:260px;
}
.gcard.size-feature{
  padding-bottom:28px;
}
.gcard.size-feature .summary p{
  -webkit-line-clamp:3;
}
.gcard.size-compact .summary p{
  -webkit-line-clamp:1;
}
.gcard.size-compact .details{
  display:none;
}
.gcard.size-compact .tags .tag:nth-child(n+4){
  display:none;
}
.gcard.tone-life{--wash:rgba(0,107,97,.08)}
.gcard.tone-career{--wash:rgba(49,92,146,.09)}
.gcard.tone-interest{--wash:rgba(160,106,43,.09)}
.gcard.tone-course{--wash:rgba(122,90,47,.09)}
.gcard.tone-council{--wash:rgba(107,76,120,.09)}
.gcard.tone-class{--wash:rgba(166,66,77,.09)}
.gcard.tone-life .card-folio,
.gcard.tone-career .card-folio,
.gcard.tone-interest .card-folio,
.gcard.tone-course .card-folio,
.gcard.tone-council .card-folio,
.gcard.tone-class .card-folio{
  color:color-mix(in srgb,var(--accent) 78%,#102126);
}
.card-folio{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  min-height:22px;
  color:var(--accent);
}
.card-folio span{
  font-size:12px;
  font-weight:900;
}
.card-folio em{
  font-style:normal;
  font-size:10px;
  font-weight:900;
}
.gcard .card-meta{
  padding-right:0;
  color:#7D8B92;
  font-size:11px;
}
.gcard .card-meta .fresh{
  position:relative;
  color:var(--accent);
}
.gcard .card-meta .fresh::before{
  content:"";
  display:inline-block;
  width:6px;
  height:6px;
  margin-right:6px;
  border-radius:50%;
  background:var(--accent);
  vertical-align:1px;
}
.gcard .top{
  align-items:start;
  gap:18px;
  padding:2px 0 5px;
}
.gcard h4{
  max-width:none;
  color:#0E1720;
  font-family:var(--display);
  font-size:25px;
  line-height:1.22;
  font-weight:900;
  text-wrap:balance;
}
.gcard .mem{
  min-width:86px;
  padding:0 0 0 16px;
  border-left:1px solid color-mix(in srgb,var(--accent) 16%,rgba(16,24,32,.08));
  color:#111A22;
  font-size:30px;
  line-height:1;
}
.gcard .mem em{
  margin-top:7px;
  font-family:var(--sans);
}
.summary{
  position:relative;
  z-index:1;
  padding:14px 15px;
  border:1px solid color-mix(in srgb,var(--accent) 12%,rgba(16,24,32,.07));
  border-radius:18px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,.18)),
    var(--wash);
}
.summary .topic,
.topic{
  color:var(--accent);
  font-size:11px;
  font-weight:900;
}
.summary p{
  min-height:auto;
  color:#465760;
  font-size:14px;
  line-height:1.82;
}
.score-row{
  padding-top:12px;
}
.score{
  color:var(--accent);
}
.score b{
  font-size:22px;
}
.tag{
  border-color:color-mix(in srgb,var(--accent) 16%,rgba(16,24,32,.08));
  background:rgba(255,255,255,.54);
}
.tag.prog{
  border-color:color-mix(in srgb,var(--accent) 22%,rgba(16,24,32,.08));
  background:var(--wash);
  color:color-mix(in srgb,var(--accent) 82%,#17222A);
}
.details,
.gcard .owner{
  position:relative;
  z-index:1;
}
.copy-wx .copy-label,
.mini-copy,
.school-copy-wx{
  background:color-mix(in srgb,var(--accent) 12%,#FFFFFF);
  color:color-mix(in srgb,var(--accent) 78%,#102126);
}

.school-grid{
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-auto-flow:dense;
}
.school-card{
  grid-column:span 6;
  border-radius:26px;
  background:
    radial-gradient(circle at 91% 12%,rgba(0,107,97,.09),transparent 24%),
    linear-gradient(145deg,rgba(255,255,255,.96),rgba(250,253,252,.9));
}
.school-card:nth-child(5n+1){
  grid-column:span 5;
}
.school-card:nth-child(5n+2){
  grid-column:span 7;
}
.school-card:nth-child(4n+3){
  margin-top:18px;
}
.school-card h3,
.club-card h3{
  font-family:var(--display);
  font-weight:900;
}

@media(max-width:980px){
  .grid,
  .school-grid{
    grid-template-columns:1fr;
  }
  .grid{
    display:block;
  }
  .masonry-col{display:block;padding-top:0}
  .gcard,
  .gcard.size-feature,
  .gcard.size-tall,
  .gcard.size-compact,
  .school-card,
  .school-card:nth-child(5n+1),
  .school-card:nth-child(5n+2){
    grid-column:1;
    min-height:0;
    margin-top:0;
  }
}

@media(max-width:680px){
  .directory-hero .section-head h2,
  .section-head h2{
    font-size:38px;
  }
  .directory-copy{
    font-family:var(--sans);
    font-size:15.5px;
    font-weight:560;
  }
  .gcard{
    padding:18px 16px 17px;
    border-radius:22px;
  }
  .gcard::after{
    right:15px;
    top:62px;
    font-size:44px;
  }
  .card-folio{
    min-height:18px;
  }
  .gcard h4{
    font-size:22px;
  }
  .gcard .mem{
    min-width:72px;
    font-size:25px;
  }
  .summary{
    padding:12px 13px;
    border-radius:16px;
  }
}

/* poetic-inkmark-brandgrid-20260628: quieter ink mark and tight brand lockup. */
.brand-lockup{
  gap:2px;
  padding:0;
  background:transparent;
  box-shadow:none;
}
.brand{
  --brand-mark-size:28px;
  --brand-mark-gap:0;
  gap:0;
}
.brand::before{
  border-radius:8px;
  margin-right:7px;
  background:url("nexus-mark-brandgrid.svg") center/contain no-repeat;
  box-shadow:none;
}
.brand .en{
  width:90px;
  height:29px;
  overflow:hidden;
  color:transparent;
  font-size:0;
  line-height:0;
  background:url("nexus-wordmark.svg?v=qingbei-brandtight-20260627") center/contain no-repeat;
  transform:translateY(.5px);
}
.brand .bar{
  width:1px;
  height:22px;
  margin:0 5px 0 3px;
  border-radius:999px;
  background:linear-gradient(180deg,#7B2F88 0%,#B01F2E 100%);
  opacity:.55;
  box-shadow:none;
}
.brand .zh{
  width:28px;
  min-width:28px;
  height:33px;
  overflow:hidden;
  border-radius:0;
  background:url("bo-wordmark.svg?v=qingbei-brandtight-20260627") center/contain no-repeat;
  color:transparent;
  font-size:0;
  line-height:0;
  box-shadow:none;
}
.brand .zh::after{display:none}
.brand-slogan{
  color:#6B7280;
  font-family:var(--sans);
  font-size:10.5px;
  font-weight:560;
  line-height:1.2;
  white-space:nowrap;
}

@media(max-width:680px){
  .brand{
    --brand-mark-size:27px;
    --brand-mark-gap:0;
    gap:0;
  }
  .brand::before{margin-right:6px}
  .brand .en{width:84px;height:27px}
  .brand .bar{height:21px;margin:0 4px 0 2px}
  .brand .zh{
    width:26px;
    min-width:26px;
    height:31px;
  }
  .brand-slogan{font-size:10px}
}

/* home-atlas-20260627: homepage as a navigable social atlas, not a text brochure. */
body:has(.home-atlas){
  overflow-x:hidden;
  background:
    radial-gradient(circle at 78% 18%,rgba(126,47,136,.09),transparent 28%),
    radial-gradient(circle at 20% 76%,rgba(176,31,46,.07),transparent 26%),
    linear-gradient(180deg,#FAFBFA 0%,#F3F8F7 48%,#EEF4F3 100%);
}
body:has(.home-atlas)::before{
  background:
    linear-gradient(90deg,rgba(10,49,53,.045) 1px,transparent 1px) 0 0/72px 72px,
    linear-gradient(rgba(10,49,53,.028) 1px,transparent 1px) 0 0/72px 72px;
  mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 78%,transparent 100%);
}
.home-atlas{
  min-height:calc(100dvh - 96px);
  display:flex;
  align-items:center;
  padding:54px 0 24px;
}
.home-atlas .home-shell{
  width:min(calc(100% - 96px),1320px);
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(420px,.76fr);
  gap:54px;
  align-items:center;
}
.home-atlas .home-shell > *{
  grid-column:auto;
}
.home-atlas .home-copy{
  grid-column:1;
  grid-row:1;
}
.home-atlas .home-visual{
  grid-column:2;
  grid-row:1;
}
.home-atlas .wrap::after{
  display:none;
}
.home-copy{
  position:relative;
  z-index:1;
}
.home-copy::before{
  content:"泊";
  position:absolute;
  left:-24px;
  top:-92px;
  z-index:-1;
  color:rgba(0,107,97,.055);
  font-family:var(--display);
  font-size:238px;
  font-weight:900;
  line-height:1;
  pointer-events:none;
}
.home-kicker{
  width:min(100%,760px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:22px;
  color:#6D7B83;
  font-family:var(--num);
  font-size:11px;
  font-weight:900;
}
.home-kicker span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 12px;
  border:1px solid rgba(0,107,97,.16);
  border-radius:999px;
  background:rgba(255,255,255,.62);
  color:var(--harbor-dark);
}
.home-kicker i{
  font-style:normal;
  color:#9A5361;
}
.home-atlas .brand-line{
  margin:0 0 16px;
  color:var(--harbor);
  font-family:var(--num);
  font-size:16px;
  font-weight:900;
}
.home-atlas h1{
  max-width:820px;
  margin:0 0 24px;
  color:#0E1720;
  font-family:var(--display);
  font-size:clamp(58px,6.7vw,108px);
  line-height:.94;
  font-weight:900;
  text-wrap:balance;
}
.home-atlas h1 .dot{
  color:#B01F2E;
}
.home-atlas .lede{
  max-width:690px;
  margin:0 0 30px;
  color:#42555D;
  font-size:18px;
  line-height:1.86;
}
.home-atlas .home-search{
  max-width:720px;
  min-height:64px;
  margin:0 0 18px;
  padding:10px 11px 10px 18px;
  border:1px solid rgba(10,49,53,.12);
  border-radius:999px;
  background:rgba(255,255,255,.78);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 24px 72px -62px rgba(10,49,53,.55);
  backdrop-filter:saturate(140%) blur(14px);
}
.home-atlas .home-search svg{
  color:var(--harbor);
}
.home-atlas .home-search input{
  font-size:16px;
  font-weight:720;
}
.home-atlas .home-search .scount{
  min-width:46px;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#0A3135;
  color:#fff;
  font-size:13px;
}
.home-actions{
  display:flex;
  align-items:center;
  gap:12px;
}
.home-atlas .cta{
  min-height:48px;
  gap:12px;
  padding:7px 8px 7px 20px;
  border-radius:999px;
  background:#0A3135;
  box-shadow:0 18px 46px -34px rgba(10,49,53,.8);
  transition:transform .65s var(--motion),box-shadow .65s var(--motion),background .65s var(--motion);
}
.home-atlas .cta .arrow{
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(255,255,255,.12);
  transition:transform .65s var(--motion),background .65s var(--motion);
}
.home-atlas .cta:hover{
  transform:translateY(-2px);
  background:#08282D;
  box-shadow:0 22px 58px -34px rgba(10,49,53,.9);
}
.home-atlas .cta:hover .arrow{
  transform:translateX(2px);
  background:rgba(255,255,255,.2);
}
.home-atlas .or{
  min-height:48px;
  margin:0;
  padding:0 16px;
  border:0;
  border-radius:999px;
  color:#5F6D77;
  transition:background .55s var(--motion),color .55s var(--motion),transform .55s var(--motion);
}
.home-atlas .or:hover{
  background:rgba(0,107,97,.07);
  color:#0A3135;
  transform:translateY(-1px);
}

.home-visual{
  position:relative;
}
.home-visual::before{
  content:"";
  position:absolute;
  inset:22px -14px -16px 26px;
  border-radius:38px;
  background:rgba(0,107,97,.08);
  filter:blur(28px);
}
.atlas-board{
  position:relative;
  min-height:560px;
  padding:18px;
  border:1px solid rgba(10,49,53,.1);
  border-radius:34px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.86),rgba(246,250,249,.72));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 34px 92px -72px rgba(10,49,53,.75);
  overflow:hidden;
}
.atlas-board::before{
  content:"";
  position:absolute;
  inset:8px;
  border:1px solid rgba(10,49,53,.08);
  border-radius:27px;
  pointer-events:none;
}
.atlas-board::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 22% 24%,rgba(0,107,97,.1),transparent 24%),
    radial-gradient(circle at 78% 76%,rgba(176,31,46,.08),transparent 28%);
  pointer-events:none;
}
.atlas-top,
.atlas-bottom{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#65737B;
  font-family:var(--num);
  font-size:11px;
  font-weight:900;
}
.atlas-top{
  padding:4px 6px 0;
}
.atlas-top b{
  color:#0A3135;
}
.atlas-bottom{
  position:absolute;
  left:24px;
  right:24px;
  bottom:22px;
}
.atlas-map{
  position:absolute;
  inset:70px 24px 62px;
  z-index:1;
}
.atlas-ring{
  position:absolute;
  inset:14%;
  border:1px solid rgba(10,49,53,.09);
  border-radius:50%;
}
.atlas-ring.r2{
  inset:27%;
  border-color:rgba(176,31,46,.12);
}
.atlas-axis{
  position:absolute;
  left:50%;
  top:2%;
  bottom:2%;
  width:1px;
  background:linear-gradient(180deg,transparent,rgba(10,49,53,.16),transparent);
  transform-origin:center;
}
.atlas-axis.a2{
  transform:rotate(90deg);
}
.atlas-core{
  position:absolute;
  left:50%;
  top:50%;
  width:142px;
  height:142px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid rgba(10,49,53,.12);
  border-radius:32px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.94),rgba(244,249,248,.86));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 28px 68px -54px rgba(10,49,53,.72);
  transform:translate(-50%,-50%) rotate(-4deg);
}
.atlas-core span{
  color:#0A3135;
  font-family:var(--num);
  font-size:12px;
  font-weight:900;
}
.atlas-core b{
  color:#0A3135;
  font-family:var(--display);
  font-size:54px;
  line-height:.86;
}
.atlas-node{
  position:absolute;
  min-width:128px;
  min-height:74px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  padding:12px 14px;
  border:1px solid color-mix(in srgb,var(--node,#006B61) 22%,rgba(10,49,53,.1));
  border-radius:20px;
  background:rgba(255,255,255,.78);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 22px 60px -52px color-mix(in srgb,var(--node,#006B61) 42%,#0A3135);
  transition:transform .75s var(--motion),border-color .75s var(--motion),box-shadow .75s var(--motion);
}
.atlas-node::before{
  content:"";
  position:absolute;
  width:8px;
  height:8px;
  left:14px;
  top:12px;
  border-radius:50%;
  background:var(--node,#006B61);
}
.atlas-node b{
  padding-left:16px;
  color:#0E1720;
  font-family:var(--num);
  font-size:28px;
  line-height:1;
}
.atlas-node span{
  padding-left:16px;
  color:#5B6B73;
  font-size:12px;
  font-weight:760;
}
.atlas-node:hover{
  transform:translateY(-4px) rotate(0deg);
  border-color:color-mix(in srgb,var(--node,#006B61) 38%,rgba(10,49,53,.12));
  box-shadow:0 30px 74px -48px color-mix(in srgb,var(--node,#006B61) 52%,#0A3135);
}
.atlas-node.n1{--node:#006B61;left:2%;top:10%;transform:rotate(-3deg)}
.atlas-node.n2{--node:#315C92;right:4%;top:18%;transform:rotate(3deg)}
.atlas-node.n3{--node:#A06A2B;left:7%;bottom:14%;transform:rotate(2deg)}
.atlas-node.n4{--node:#7B2F88;right:0;bottom:18%;transform:rotate(-2deg)}
.atlas-node.n5{--node:#B01F2E;left:50%;top:4%;transform:translateX(-50%) rotate(1deg)}

body:has(.home-atlas) .stats{
  margin-top:-18px;
  padding:0 0 30px;
}
body:has(.home-atlas) .stats .wrap{
  width:min(calc(100% - 96px),1320px);
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  border-top:1px solid rgba(10,49,53,.09);
  border-bottom:1px solid rgba(10,49,53,.09);
}
body:has(.home-atlas) .stat{
  min-height:92px;
  border:0;
  border-right:1px solid rgba(10,49,53,.08);
  border-radius:0;
  background:transparent;
}
body:has(.home-atlas) .stat:last-child{
  border-right:0;
}
body:has(.home-atlas) .stat .n{
  color:#0E1720;
  font-family:var(--num);
  font-size:30px;
}
body:has(.home-atlas) .stat .l{
  color:#6B7880;
}
body:has(.home-atlas) .entries{
  padding:34px 0 82px;
}
body:has(.home-atlas) .entries>.wrap{
  width:min(calc(100% - 96px),1320px);
}
body:has(.home-atlas) .grp-head{
  border-bottom-color:rgba(10,49,53,.1);
}
body:has(.home-atlas) .grp-head h2{
  font-family:var(--display);
  font-size:38px;
  font-weight:900;
}
body:has(.home-atlas) .grp-sub{
  max-width:720px;
  color:#53636B;
  font-size:15px;
}
body:has(.home-atlas) .entry-grid{
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-auto-flow:dense;
  gap:18px;
}
body:has(.home-atlas) .entry{
  --gc:#006B61;
  position:relative;
  grid-column:span 4;
  min-height:230px;
  padding:24px;
  border:1px solid color-mix(in srgb,var(--gc) 16%,rgba(10,49,53,.1));
  border-radius:28px;
  background:
    radial-gradient(circle at 88% 18%,color-mix(in srgb,var(--gc) 13%,transparent),transparent 30%),
    linear-gradient(145deg,rgba(255,255,255,.88),rgba(248,252,251,.78));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 26px 72px -64px color-mix(in srgb,var(--gc) 42%,#0A3135);
}
body:has(.home-atlas) .entry:nth-child(1){grid-column:span 5}
body:has(.home-atlas) .entry:nth-child(2){--gc:#315C92;grid-column:span 4}
body:has(.home-atlas) .entry:nth-child(3){--gc:#A06A2B;grid-column:span 3}
body:has(.home-atlas) .entry:nth-child(4){--gc:#7B2F88;grid-column:span 7;min-height:190px}
body:has(.home-atlas) .entry:nth-child(5){--gc:#B01F2E;grid-column:span 5;min-height:190px}
body:has(.home-atlas) .entry-no{
  color:var(--gc);
  font-family:var(--num);
  font-size:12px;
  font-weight:900;
}
body:has(.home-atlas) .entry h3{
  margin-top:8px;
  color:#0E1720;
  font-family:var(--display);
  font-size:28px;
  font-weight:900;
}
body:has(.home-atlas) .entry p{
  font-size:14px;
  line-height:1.76;
}
body:has(.home-atlas) .entry .go{
  margin-top:auto;
  color:color-mix(in srgb,var(--gc) 82%,#0A3135);
}

@media(max-width:980px){
  .home-atlas{
    padding:34px 0 22px;
  }
  .home-atlas .home-shell{
    width:calc(100% - 40px);
    grid-template-columns:1fr;
    gap:28px;
  }
  .home-copy::before{
    left:auto;
    right:-18px;
    top:-58px;
    font-size:150px;
  }
  .home-visual{
    max-width:620px;
  }
  .atlas-board{
    min-height:500px;
  }
  body:has(.home-atlas) .stats .wrap,
  body:has(.home-atlas) .entries>.wrap{
    width:calc(100% - 40px);
  }
  body:has(.home-atlas) .entry-grid{
    grid-template-columns:1fr;
  }
  body:has(.home-atlas) .entry,
  body:has(.home-atlas) .entry:nth-child(n){
    grid-column:1;
    min-height:190px;
  }
}

@media(max-width:680px){
  html:has(.home-atlas),
  body:has(.home-atlas){
    overflow-x:hidden;
  }
  body:has(.home-atlas) .nav{
    overflow:hidden;
  }
  .home-atlas{
    min-height:auto;
    padding:22px 0 16px;
  }
  .home-atlas .home-shell{
    width:calc(100% - 32px);
  }
  .home-kicker{
    align-items:flex-start;
    flex-direction:column;
    margin-bottom:16px;
  }
  .home-atlas h1{
    font-size:43px;
    line-height:1.04;
  }
  .home-atlas .lede{
    font-size:15.5px;
    line-height:1.82;
  }
  .home-atlas .home-search{
    min-height:56px;
    padding-left:14px;
  }
  .home-actions{
    flex-wrap:wrap;
  }
  .home-visual{
    display:none;
  }
  body:has(.home-atlas) .stats{
    margin-top:0;
  }
  body:has(.home-atlas) .stats .wrap{
    width:calc(100% - 32px);
    grid-template-columns:1fr 1fr;
  }
  body:has(.home-atlas) .stat{
    min-height:78px;
    border-right:1px solid rgba(10,49,53,.08);
    border-bottom:1px solid rgba(10,49,53,.08);
    padding:13px;
  }
  body:has(.home-atlas) .stat:nth-child(2n){
    border-right:0;
  }
  body:has(.home-atlas) .stat:nth-last-child(-n+2){
    border-bottom:0;
  }
  body:has(.home-atlas) .stat .n{
    font-size:24px;
  }
  body:has(.home-atlas) .entries>.wrap{
    width:calc(100% - 32px);
  }
  body:has(.home-atlas) .grp-head h2{
    font-size:31px;
  }
  body:has(.home-atlas) .entry{
    padding:20px;
    border-radius:22px;
  }
  body:has(.home-atlas) .entry h3{
    font-size:24px;
  }
}

/* home-atlas-polish-20260627: deliberate title rhythm, atlas depth, and calmer product density. */
body:has(.home-atlas){
  background:
    radial-gradient(ellipse at 72% 18%,rgba(126,47,136,.07),transparent 31%),
    radial-gradient(ellipse at 18% 78%,rgba(0,107,97,.08),transparent 32%),
    linear-gradient(180deg,#FBFCFB 0%,#F5F9F8 44%,#EFF5F4 100%);
}
body:has(.home-atlas)::before{
  background:
    linear-gradient(90deg,rgba(10,49,53,.045) 1px,transparent 1px) 0 0/68px 68px,
    linear-gradient(rgba(10,49,53,.028) 1px,transparent 1px) 0 0/68px 68px,
    linear-gradient(90deg,transparent 0 49%,rgba(10,49,53,.035) 49% 51%,transparent 51% 100%) 0 0/340px 100%;
}
.home-atlas{
  padding:48px 0 20px;
}
.home-atlas .home-shell{
  grid-template-columns:minmax(0,1fr) minmax(430px,.72fr);
  gap:62px;
}
.home-copy::before{
  left:-28px;
  top:-102px;
  color:rgba(0,107,97,.048);
  font-size:256px;
}
.home-kicker{
  max-width:790px;
  margin-bottom:20px;
  letter-spacing:0;
}
.home-kicker span{
  min-height:30px;
  padding:0 13px;
  border-color:rgba(0,107,97,.2);
  background:rgba(255,255,255,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.home-kicker span::before{
  content:"";
  width:6px;
  height:6px;
  margin-right:8px;
  border-radius:50%;
  background:#006B61;
  box-shadow:0 0 0 4px rgba(0,107,97,.08);
}
.home-kicker i{
  padding-left:14px;
  border-left:1px solid rgba(176,31,46,.18);
  color:#9A5361;
}
.home-atlas .brand-line{
  margin-bottom:13px;
  color:#006B61;
  font-size:15px;
}
.home-atlas h1{
  max-width:790px;
  margin-bottom:26px;
  font-family:"Hiragino Mincho ProN","Songti SC","Source Han Serif SC",var(--display);
  font-size:clamp(58px,5.35vw,82px);
  line-height:.98;
  font-weight:900;
  letter-spacing:0;
  text-wrap:initial;
}
.home-atlas h1 .title-line{
  display:block;
  white-space:nowrap;
}
.home-atlas h1 .title-line:nth-child(2){
  margin-left:.42em;
}
.home-atlas h1 .dot{
  color:#B01F2E;
  font-family:var(--serif-latin);
}
.home-atlas .lede{
  max-width:730px;
  margin-bottom:28px;
  color:#3F535B;
  font-size:17.5px;
  line-height:1.88;
}
.home-atlas .home-search{
  max-width:700px;
  min-height:66px;
  border-color:rgba(10,49,53,.15);
  background:rgba(255,255,255,.84);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.94),
    0 20px 66px -56px rgba(10,49,53,.68);
}
.home-atlas .home-search:focus-within{
  border-color:rgba(0,107,97,.36);
  box-shadow:
    0 0 0 4px rgba(0,107,97,.09),
    0 24px 70px -58px rgba(10,49,53,.74);
}
.home-atlas .home-search .scount{
  min-width:44px;
  min-height:44px;
  background:linear-gradient(145deg,#0A3135,#083D3E);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
}
.home-atlas .cta{
  min-height:50px;
  padding-left:22px;
}
.home-atlas .or{
  color:#556872;
}
.home-visual{
  transform:translateY(8px);
}
.home-visual::before{
  inset:28px -18px -22px 34px;
  background:linear-gradient(135deg,rgba(0,107,97,.11),rgba(126,47,136,.06));
  filter:blur(30px);
}
.atlas-board{
  min-height:580px;
  border-color:rgba(10,49,53,.12);
  border-radius:32px;
  background:
    linear-gradient(160deg,rgba(255,255,255,.94),rgba(247,251,250,.82) 57%,rgba(242,248,248,.78));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -1px 0 rgba(10,49,53,.04),
    0 36px 96px -72px rgba(10,49,53,.78);
}
.atlas-board::before{
  inset:11px;
  border-color:rgba(10,49,53,.09);
  border-radius:25px;
  background:
    linear-gradient(90deg,rgba(10,49,53,.035) 1px,transparent 1px) 0 0/42px 42px,
    linear-gradient(rgba(10,49,53,.025) 1px,transparent 1px) 0 0/42px 42px;
  mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 88%,transparent 100%);
}
.atlas-top,
.atlas-bottom{
  font-size:11.5px;
  letter-spacing:0;
}
.atlas-map::before,
.atlas-map::after{
  content:"";
  position:absolute;
  pointer-events:none;
}
.atlas-map::before{
  inset:7%;
  border-radius:50%;
  background:
    conic-gradient(from 228deg,transparent 0 17deg,rgba(0,107,97,.18) 17deg 26deg,transparent 26deg 90deg,rgba(176,31,46,.16) 90deg 99deg,transparent 99deg 188deg,rgba(49,92,146,.14) 188deg 198deg,transparent 198deg 360deg);
  opacity:.78;
  mask-image:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px),#000 calc(100% - 1px),transparent 100%);
}
.atlas-map::after{
  left:50%;
  top:50%;
  width:64%;
  height:64%;
  border:1px dashed rgba(10,49,53,.13);
  border-radius:50%;
  transform:translate(-50%,-50%) rotate(-16deg);
}
.atlas-ring,
.atlas-axis{
  z-index:0;
}
.atlas-core,
.atlas-node{
  z-index:2;
}
.atlas-core{
  width:152px;
  height:152px;
  border-radius:36px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(244,250,249,.88));
}
.atlas-core::after{
  content:"ANCHOR";
  position:absolute;
  left:50%;
  bottom:18px;
  color:rgba(10,49,53,.42);
  font-family:var(--num);
  font-size:9px;
  font-weight:900;
  transform:translateX(-50%);
}
.atlas-core b{
  font-size:56px;
  transform:translateY(-2px);
}
.atlas-node{
  min-width:136px;
  min-height:78px;
  padding:15px 15px 13px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.7)),
    color-mix(in srgb,var(--node,#006B61) 7%,transparent);
}
.atlas-node em{
  position:absolute;
  right:13px;
  top:10px;
  color:color-mix(in srgb,var(--node,#006B61) 72%,#102126);
  font-family:var(--num);
  font-size:10px;
  font-style:normal;
  font-weight:900;
}
.atlas-node b{
  padding-left:17px;
  font-size:30px;
}
.atlas-node span{
  padding-left:17px;
  color:#4F626B;
  font-size:12.5px;
}
.atlas-node.n1{left:1%;top:11%;border-radius:18px 26px 22px 26px}
.atlas-node.n2{right:2%;top:18%;border-radius:26px 18px 26px 22px}
.atlas-node.n3{left:6%;bottom:12%;border-radius:24px 22px 18px 28px}
.atlas-node.n4{right:0;bottom:18%;border-radius:22px 28px 24px 18px}
.atlas-node.n5{top:3%;border-radius:26px 26px 18px 18px}
body:has(.home-atlas) .stats{
  margin-top:-10px;
  padding-bottom:36px;
}
body:has(.home-atlas) .stat{
  position:relative;
  overflow:hidden;
}
body:has(.home-atlas) .stat::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:2px;
  background:linear-gradient(90deg,#006B61,rgba(0,107,97,.08));
}
body:has(.home-atlas) .stat .n,
body:has(.home-atlas) .stat .l{
  position:relative;
  z-index:1;
}
body:has(.home-atlas) .entry{
  position:relative;
  overflow:hidden;
}
body:has(.home-atlas) .entry::before{
  content:"";
  position:absolute;
  inset:14px;
  border:1px solid color-mix(in srgb,var(--gc) 10%,transparent);
  border-radius:21px;
  pointer-events:none;
}
body:has(.home-atlas) .entry::after{
  content:attr(data-sector);
  position:absolute;
  right:22px;
  bottom:16px;
  color:color-mix(in srgb,var(--gc) 10%,transparent);
  font-family:var(--num);
  font-size:58px;
  font-weight:900;
  line-height:.8;
  pointer-events:none;
}
body:has(.home-atlas) .entry-no,
body:has(.home-atlas) .entry h3,
body:has(.home-atlas) .entry p,
body:has(.home-atlas) .entry .go{
  position:relative;
  z-index:1;
}
body:has(.home-atlas) .entry:hover{
  transform:translateY(-4px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    0 34px 92px -62px color-mix(in srgb,var(--gc) 50%,#102126);
}

@media(max-width:980px){
  .home-atlas .home-shell{
    grid-template-columns:1fr;
    gap:30px;
  }
  .home-atlas h1{
    max-width:760px;
    font-size:clamp(52px,8vw,72px);
  }
  .home-atlas h1 .title-line:nth-child(2){
    margin-left:0;
  }
  .home-atlas .home-visual{
    transform:none;
  }
}

@media(max-width:680px){
  .home-atlas{
    padding-top:24px;
  }
  .home-copy::before{
    right:-24px;
    top:-68px;
    font-size:164px;
  }
  .home-kicker i{
    padding-left:0;
    border-left:0;
  }
  .home-atlas h1{
    font-size:clamp(38px,10vw,44px);
    line-height:1.06;
  }
  .home-atlas h1 .title-line{
    white-space:normal;
  }
  .home-atlas .lede{
    font-size:15.5px;
    line-height:1.82;
  }
  .home-atlas .home-search{
    min-height:58px;
    padding-right:8px;
  }
  .home-atlas .home-search .scount{
    min-width:40px;
    min-height:40px;
  }
  body:has(.home-atlas) .entry::before{
    inset:10px;
    border-radius:17px;
  }
  body:has(.home-atlas) .entry::after{
    right:17px;
    bottom:13px;
    font-size:42px;
  }
}

/* home-atlas-refined-20260627: less poster, more crafted product surface. */
body:has(.home-atlas){
  background:
    radial-gradient(ellipse at 74% 20%,rgba(126,47,136,.045),transparent 32%),
    radial-gradient(ellipse at 16% 78%,rgba(0,107,97,.055),transparent 35%),
    linear-gradient(180deg,#FCFDFD 0%,#F6FAF9 45%,#F1F7F6 100%);
}
body:has(.home-atlas)::before{
  opacity:.82;
  background:
    linear-gradient(90deg,rgba(10,49,53,.032) 1px,transparent 1px) 0 0/68px 68px,
    linear-gradient(rgba(10,49,53,.022) 1px,transparent 1px) 0 0/68px 68px,
    linear-gradient(90deg,transparent 0 49.7%,rgba(10,49,53,.025) 49.7% 50.3%,transparent 50.3% 100%) 0 0/340px 100%;
}
body:has(.home-atlas) .nav{
  border-bottom-color:rgba(10,49,53,.08);
  background:rgba(252,253,253,.78);
}
body:has(.home-atlas) .nav .wrap{
  min-height:64px;
}
body:has(.home-atlas) .nav-links{
  font-size:13px;
}
body:has(.home-atlas) .nav-links a{
  min-height:31px;
  padding:5px 10px;
}
.home-atlas{
  min-height:calc(100dvh - 82px);
  padding:34px 0 18px;
}
.home-atlas .home-shell{
  width:min(calc(100% - 112px),1280px);
  grid-template-columns:minmax(0,.98fr) minmax(392px,.62fr);
  gap:76px;
}
.home-copy::before{
  left:-34px;
  top:-74px;
  color:rgba(0,107,97,.034);
  font-size:226px;
}
.home-kicker{
  max-width:720px;
  margin-bottom:18px;
  font-size:10.5px;
}
.home-kicker span{
  min-height:28px;
  padding:0 12px;
  border-color:rgba(0,107,97,.15);
  background:rgba(255,255,255,.66);
}
.home-kicker span::before{
  width:5px;
  height:5px;
  margin-right:7px;
  box-shadow:0 0 0 3px rgba(0,107,97,.07);
}
.home-kicker i{
  color:#A25B67;
  font-size:10.5px;
}
.home-atlas .brand-line{
  margin-bottom:10px;
  font-size:14px;
  font-weight:820;
}
.home-atlas h1{
  max-width:720px;
  margin-bottom:24px;
  color:#101922;
  font-size:clamp(44px,4.35vw,64px);
  line-height:1.12;
  font-weight:620;
  text-shadow:0 1px 0 rgba(255,255,255,.86);
}
.home-atlas h1 .title-line:nth-child(2){
  margin-left:.28em;
}
.home-atlas h1 .dot{
  display:inline-block;
  margin-left:.05em;
  font-size:.8em;
  transform:translateY(-.01em);
}
.home-atlas .lede{
  max-width:680px;
  margin-bottom:26px;
  color:#465C63;
  font-size:16.5px;
  line-height:1.92;
}
.home-atlas .home-search{
  max-width:650px;
  min-height:58px;
  padding:8px 9px 8px 17px;
  border-color:rgba(10,49,53,.105);
  background:rgba(255,255,255,.82);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 18px 54px -48px rgba(10,49,53,.5);
}
.home-atlas .home-search input{
  color:#31454E;
  font-size:15px;
  font-weight:660;
}
.home-atlas .home-search input::placeholder{
  color:#9AA7AE;
}
.home-atlas .home-search .scount{
  min-width:40px;
  min-height:40px;
  font-size:12px;
}
.home-actions{
  gap:14px;
}
.home-atlas .cta{
  min-height:43px;
  padding:6px 7px 6px 18px;
  background:#0B3A3D;
  color:#FAFFFF;
  font-size:14px;
  font-weight:760;
  box-shadow:0 16px 42px -34px rgba(10,49,53,.72);
}
.home-atlas .cta .arrow{
  width:29px;
  height:29px;
  background:rgba(255,255,255,.13);
}
.home-atlas .or{
  min-height:43px;
  padding:0 11px;
  color:#61737B;
  font-size:14px;
}
.home-visual{
  transform:translateY(3px);
}
.home-visual::before{
  inset:30px -8px -18px 30px;
  background:linear-gradient(135deg,rgba(0,107,97,.08),rgba(126,47,136,.035));
  filter:blur(24px);
}
.atlas-board{
  min-height:528px;
  padding:16px;
  border-color:rgba(10,49,53,.09);
  border-radius:28px;
  background:
    linear-gradient(160deg,rgba(255,255,255,.92),rgba(249,252,251,.8) 58%,rgba(244,250,249,.72));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.94),
    inset 0 -1px 0 rgba(10,49,53,.025),
    0 30px 86px -72px rgba(10,49,53,.66);
}
.atlas-board::before{
  inset:9px;
  border-color:rgba(10,49,53,.065);
  border-radius:22px;
  background:
    linear-gradient(90deg,rgba(10,49,53,.024) 1px,transparent 1px) 0 0/38px 38px,
    linear-gradient(rgba(10,49,53,.018) 1px,transparent 1px) 0 0/38px 38px;
}
.atlas-board::after{
  opacity:.72;
  background:
    radial-gradient(circle at 23% 24%,rgba(0,107,97,.055),transparent 27%),
    radial-gradient(circle at 78% 76%,rgba(176,31,46,.04),transparent 31%);
}
.atlas-map{
  inset:62px 22px 58px;
}
.atlas-top,
.atlas-bottom{
  color:#6A7A82;
  font-size:10.5px;
  font-weight:820;
}
.atlas-map::before{
  opacity:.48;
}
.atlas-map::after{
  border-color:rgba(10,49,53,.095);
}
.atlas-ring{
  border-color:rgba(10,49,53,.065);
}
.atlas-ring.r2{
  border-color:rgba(176,31,46,.085);
}
.atlas-axis{
  background:linear-gradient(180deg,transparent,rgba(10,49,53,.09),transparent);
}
.atlas-core{
  width:126px;
  height:126px;
  gap:5px;
  border-color:rgba(10,49,53,.095);
  border-radius:29px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.94),
    0 22px 58px -50px rgba(10,49,53,.62);
}
.atlas-core span{
  font-size:10.5px;
}
.atlas-core b{
  font-size:47px;
  font-weight:760;
}
.atlas-core::after{
  bottom:14px;
  color:rgba(10,49,53,.34);
  font-size:8px;
}
.atlas-node{
  min-width:118px;
  min-height:66px;
  padding:12px 13px 11px;
  border-color:color-mix(in srgb,var(--node,#006B61) 18%,rgba(10,49,53,.08));
  border-radius:18px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.66)),
    color-mix(in srgb,var(--node,#006B61) 5%,transparent);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 18px 46px -44px color-mix(in srgb,var(--node,#006B61) 35%,#0A3135);
}
.atlas-node::before{
  width:7px;
  height:7px;
  left:13px;
  top:12px;
}
.atlas-node em{
  right:11px;
  top:10px;
  font-size:9px;
  font-weight:820;
}
.atlas-node b{
  padding-left:15px;
  font-size:25px;
  font-weight:780;
}
.atlas-node span{
  padding-left:15px;
  color:#566A72;
  font-size:11.4px;
  font-weight:680;
}
.atlas-node:hover{
  transform:translateY(-3px) rotate(0deg);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 24px 56px -42px color-mix(in srgb,var(--node,#006B61) 44%,#0A3135);
}
.atlas-node.n1{left:3%;top:13%;border-radius:17px 22px 20px 22px}
.atlas-node.n2{right:3%;top:20%;border-radius:22px 17px 22px 20px}
.atlas-node.n3{left:6%;bottom:14%;border-radius:21px 19px 17px 23px}
.atlas-node.n4{right:1%;bottom:20%;border-radius:20px 23px 21px 17px}
.atlas-node.n5{top:5%;border-radius:22px 22px 17px 17px}
body:has(.home-atlas) .stats{
  margin-top:-2px;
  padding-bottom:34px;
}
body:has(.home-atlas) .stat{
  min-height:78px;
  padding:14px 18px;
}
body:has(.home-atlas) .stat::before{
  height:1px;
}
body:has(.home-atlas) .stat .n{
  font-size:26px;
  font-weight:780;
}
body:has(.home-atlas) .stat .l{
  margin-top:6px;
  color:#77858C;
  font-size:11.5px;
}
body:has(.home-atlas) .entries{
  padding-top:30px;
}
body:has(.home-atlas) .grp-head h2{
  font-size:34px;
  font-weight:760;
}
body:has(.home-atlas) .entry{
  min-height:206px;
  padding:22px;
  border-radius:22px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 22px 66px -64px color-mix(in srgb,var(--gc) 36%,#0A3135);
}
body:has(.home-atlas) .entry::before{
  inset:12px;
  border-radius:17px;
}
body:has(.home-atlas) .entry::after{
  right:19px;
  bottom:14px;
  font-size:48px;
  font-weight:780;
}
body:has(.home-atlas) .entry h3{
  font-size:25px;
  font-weight:780;
}
body:has(.home-atlas) .entry p{
  color:#5A6B72;
  font-size:13.5px;
}

/* home-pulse-stats-20260628: compact activity strip for the top empty grid band. */
.home-atlas .home-shell{
  column-gap:76px;
  row-gap:24px;
}

.home-atlas .home-pulse-stats{
  position:relative;
  z-index:3;
  grid-column:1 / -1;
  grid-row:1;
  justify-self:center;
  width:min(100%,560px);
  min-height:72px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:center;
  margin:0 0 -4px;
  padding:8px 18px;
  border:1px solid rgba(43,55,59,.08);
  border-radius:24px;
  background:
    linear-gradient(180deg,rgba(255,252,244,.95),rgba(248,243,234,.9)),
    radial-gradient(circle at 12% 18%,rgba(216,162,58,.12),transparent 28%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.88),
    0 20px 54px -46px rgba(16,24,32,.52);
  backdrop-filter:saturate(130%) blur(12px);
}

.home-atlas .home-pulse-stat{
  position:relative;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:3px 8px;
  text-align:center;
}

.home-atlas .home-pulse-stat + .home-pulse-stat::before{
  content:"";
  position:absolute;
  left:0;
  top:18%;
  bottom:18%;
  width:1px;
  background:linear-gradient(180deg,transparent,rgba(43,55,59,.12),transparent);
}

.home-atlas .home-pulse-stat b{
  color:#151922;
  font-family:var(--num);
  font-size:27px;
  font-weight:780;
  line-height:1;
  letter-spacing:0;
  font-variant-numeric:tabular-nums;
}

.home-atlas .home-pulse-stat span{
  margin-top:6px;
  color:#6D6760;
  font-size:12px;
  font-weight:760;
  line-height:1.2;
  letter-spacing:0;
  white-space:nowrap;
}

.home-atlas .home-copy,
.home-atlas .home-visual{
  grid-row:2;
}

@media(max-width:980px){
  .home-atlas .home-shell{
    width:calc(100% - 44px);
    grid-template-columns:1fr;
    gap:22px;
  }
  .home-atlas .home-pulse-stats,
  .home-atlas .home-copy,
  .home-atlas .home-visual{
    grid-column:1;
  }
  .home-atlas .home-pulse-stats{
    width:min(100%,560px);
    justify-self:center;
    margin-bottom:2px;
  }
  .home-atlas h1{
    font-size:clamp(42px,6.8vw,58px);
  }
  .atlas-board{
    min-height:500px;
  }
}

@media(max-width:680px){
  body:has(.home-atlas) .nav .wrap{
    min-height:62px;
  }
  .home-atlas .home-shell{
    width:calc(100vw - 34px);
    max-width:calc(100vw - 34px);
  }
  .home-atlas .home-pulse-stats{
    width:100%;
    max-width:100%;
    justify-self:stretch;
    min-height:auto;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
    padding:10px 12px;
    border-radius:20px;
  }
  .home-atlas .home-pulse-stat{
    min-height:56px;
    padding:5px 8px;
  }
  .home-atlas .home-pulse-stat:nth-child(odd)::before{
    display:none;
  }
  .home-atlas .home-pulse-stat:nth-child(n+3){
    border-top:1px solid rgba(43,55,59,.08);
  }
  .home-atlas .home-pulse-stat b{
    font-size:24px;
  }
  .home-atlas .home-pulse-stat span{
    margin-top:5px;
    font-size:11.5px;
  }
  .home-atlas{
    min-height:auto;
    display:block;
    padding-top:22px;
  }
  .home-copy::before{
    top:-54px;
    right:-18px;
    font-size:132px;
  }
  .home-kicker{
    margin-bottom:14px;
  }
  .home-atlas .brand-line{
    font-size:13.5px;
  }
  .home-atlas h1{
    font-size:clamp(34px,8.7vw,38px);
    line-height:1.14;
  }
  .home-atlas .lede{
    margin-bottom:24px;
    font-size:15px;
    line-height:1.84;
  }
  .home-atlas .home-search{
    min-height:56px;
    padding-left:14px;
  }
  .home-atlas .home-search input{
    font-size:14.5px;
  }
  .home-actions{
    align-items:center;
    flex-wrap:wrap;
  }
  .home-atlas .cta,
  .home-atlas .or{
    width:auto;
    margin:0;
  }
  .home-atlas .cta{
    min-height:44px;
    padding:6px 7px 6px 17px;
  }
  .home-atlas .or{
    min-height:44px;
  }
  body:has(.home-atlas) .stat{
    min-height:74px;
    padding:12px 14px;
  }
  body:has(.home-atlas) .entry,
  body:has(.home-atlas) .entry:nth-child(n){
    min-height:172px;
    padding:18px;
    border-radius:18px;
  }
  body:has(.home-atlas) .entry h3{
    font-size:22px;
  }
}

/* home-entry-balance-20260628: fix the directory grid from uneven bento to centered 3+2 rhythm. */
body:has(.home-atlas) .entry-grid{
  grid-template-columns:repeat(6,minmax(0,1fr));
  grid-auto-flow:row;
  gap:22px;
  align-items:stretch;
}
body:has(.home-atlas) .entry,
body:has(.home-atlas) .entry:nth-child(n){
  grid-column:span 2;
  min-height:214px;
  padding:22px 24px;
  border-radius:24px;
}
body:has(.home-atlas) .entry:nth-child(n+4){
  grid-column:span 3;
  min-height:204px;
}
body:has(.home-atlas) .entry:nth-child(1){--gc:#006B61}
body:has(.home-atlas) .entry:nth-child(2){--gc:#315C92}
body:has(.home-atlas) .entry:nth-child(3){--gc:#A06A2B}
body:has(.home-atlas) .entry:nth-child(4){--gc:#7B2F88}
body:has(.home-atlas) .entry:nth-child(5){--gc:#B01F2E}
body:has(.home-atlas) .entry{
  background:
    radial-gradient(circle at 88% 17%,color-mix(in srgb,var(--gc) 9%,transparent),transparent 29%),
    linear-gradient(145deg,rgba(255,255,255,.9),rgba(249,252,251,.76));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 24px 68px -66px color-mix(in srgb,var(--gc) 35%,#0A3135);
}
body:has(.home-atlas) .entry::before{
  inset:13px;
  border-color:color-mix(in srgb,var(--gc) 8%,transparent);
  border-radius:18px;
}
body:has(.home-atlas) .entry::after{
  right:18px;
  bottom:14px;
  color:color-mix(in srgb,var(--gc) 8%,transparent);
  font-size:46px;
}
body:has(.home-atlas) .entry h3{
  margin-top:34px;
  font-size:24px;
  line-height:1.2;
}
body:has(.home-atlas) .entry p{
  max-width:56ch;
  color:#5A6B72;
  font-size:13.5px;
  line-height:1.76;
}
body:has(.home-atlas) .entry:nth-child(n+4) h3{
  margin-top:26px;
}

@media(max-width:980px){
  body:has(.home-atlas) .entry-grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  body:has(.home-atlas) .entry,
  body:has(.home-atlas) .entry:nth-child(n){
    grid-column:1;
    min-height:180px;
  }
}

@media(max-width:680px){
  body:has(.home-atlas) .entry,
  body:has(.home-atlas) .entry:nth-child(n){
    min-height:166px;
    padding:18px;
    border-radius:18px;
  }
  body:has(.home-atlas) .entry h3,
  body:has(.home-atlas) .entry:nth-child(n+4) h3{
    margin-top:24px;
    font-size:22px;
  }
}

/* directory-sort-rules-20260627: compact menu for registry sorting. */
.sort-control{
  position:relative;
  isolation:isolate;
  flex:0 0 auto;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:0 34px 0 14px;
  border-radius:999px;
  background:#F2F6F5;
  color:#607078;
  box-shadow:inset 0 0 0 1px rgba(16,24,32,.07);
  cursor:pointer;
}
.sort-control::after{
  content:"";
  position:absolute;
  z-index:1;
  right:15px;
  top:50%;
  width:7px;
  height:7px;
  margin-top:-5px;
  border-right:1.5px solid #6D7B83;
  border-bottom:1.5px solid #6D7B83;
  transform:rotate(45deg);
  pointer-events:none;
}
.sort-label{
  position:relative;
  z-index:1;
  color:#829099;
  font-family:var(--num);
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
  pointer-events:none;
}
.sort-value{
  position:relative;
  z-index:1;
  color:var(--harbor-dark);
  font-family:var(--sans);
  font-size:13px;
  font-weight:820;
  line-height:1;
  white-space:nowrap;
  pointer-events:none;
}
.sort-select{
  position:absolute;
  z-index:2;
  inset:0;
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  height:100%;
  min-width:0;
  max-width:none;
  border:0;
  outline:0;
  background:transparent;
  color:transparent;
  font-family:var(--sans);
  font-size:16px;
  font-weight:820;
  cursor:pointer;
  opacity:.01;
}
.sort-control:focus-within{
  box-shadow:inset 0 0 0 1px rgba(0,107,97,.42),0 0 0 4px rgba(0,107,97,.09);
}

@media(max-width:680px){
  .sort-control{
    grid-row:2;
    width:100%;
    justify-content:space-between;
    min-height:40px;
    padding-left:13px;
  }
  .sort-select{
    max-width:none;
    min-width:0;
  }
  .chip-row{
    grid-row:3;
  }
}


/* navrail-20260627: designed registry navigation rail. */
.nav .wrap{
  position:relative;
  min-height:78px;
  padding:8px 22px;
  border:1px solid rgba(10,49,53,.1);
  border-radius:26px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.82),rgba(248,251,250,.64)),
    radial-gradient(circle at 8% 120%,rgba(0,107,97,.08),transparent 28%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 20px 48px -42px rgba(10,49,53,.5);
}
.nav-links{
  flex:0 1 auto;
  justify-content:flex-end;
  gap:2px;
  margin-left:auto;
  padding:4px;
  border:1px solid rgba(10,49,53,.08);
  border-radius:14px;
  background:rgba(244,248,247,.62);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.nav-links a{
  position:relative;
  min-height:34px;
  padding:7px 14px;
  border-radius:10px;
  color:#5B6870;
  font-size:13px;
  font-weight:820;
  line-height:1;
  letter-spacing:0;
  transition:color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
.nav-links a::before{
  content:"";
  position:absolute;
  left:50%;
  top:4px;
  width:18px;
  height:2px;
  border-radius:999px;
  background:#D8A23A;
  opacity:0;
  transform:translateX(-50%) scaleX(.45);
  transition:opacity .16s ease,transform .16s ease;
}
.nav-links a:hover{
  background:rgba(255,255,255,.62);
  color:#0A3135;
  transform:translateY(-1px);
}
.nav-links a.on{
  background:#0A3135;
  color:#FFFDF7;
  box-shadow:0 10px 22px -18px rgba(10,49,53,.72);
}
.nav-links a.on::before{
  opacity:1;
  transform:translateX(-50%) scaleX(1);
}
.auth{
  gap:8px;
  margin-left:8px;
  color:#6B7880;
  font-size:13px;
  font-weight:680;
}
.auth .who{
  padding-left:12px;
  border-left:1px solid rgba(10,49,53,.14);
}
.auth .login,
.auth .lo{
  min-height:38px;
  padding:7px 15px;
  border:1px solid rgba(10,49,53,.08);
  border-radius:13px;
  background:#EAF1F0;
  color:#0A3135;
  font-size:13px;
  font-weight:880;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}
.auth .login:hover,
.auth .lo:hover{
  background:#DDEBE8;
}

@media(max-width:980px){
  .nav .wrap{
    padding:8px 12px;
    gap:9px 10px;
  }
  .nav-links{
    order:3;
    flex:0 0 100%;
    width:100%;
    justify-content:flex-start;
    overflow:auto;
  }
}

@media(max-width:680px){
  .nav .wrap{
    border-radius:20px;
    padding:8px;
  }
  .nav-links{
    gap:3px;
    padding:4px;
    scrollbar-width:none;
  }
  .nav-links::-webkit-scrollbar{display:none}
  .nav-links a{
    min-height:32px;
    padding:7px 11px;
    font-size:12.5px;
  }
  .auth{
    margin-left:auto;
  }
  .auth .who{
    display:none;
  }
  .auth .login,
  .auth .lo{
    min-height:34px;
    border-radius:11px;
    padding:6px 12px;
  }
}

/* school-registry-layout-20260627
   Final pass for the school directory: calmer nav, stricter grid, quieter cards. */
:root{
  --pagew:1360px;
  --harbor:#006B61;
  --harbor-dark:#083A3C;
  --brass:#A77622;
  --paper:#FFFCF4;
  --soft:#F5F7F2;
}

body{
  background:
    linear-gradient(90deg,rgba(17,23,34,.028) 1px,transparent 1px) 0 0/72px 72px,
    linear-gradient(rgba(17,23,34,.022) 1px,transparent 1px) 0 0/72px 72px,
    linear-gradient(180deg,#FAF9F4 0%,#F2F6F3 54%,#F6F3EA 100%);
}

body::after{display:none}

.wrap,
.section.directory-section>.wrap,
.section.directory-section .toolbar>.wrap,
.toolbar>.wrap{
  width:min(calc(100% - 64px),var(--pagew));
}

.nav{
  top:0;
  width:100%;
  margin:0;
  border-bottom:1px solid rgba(16,24,32,.09);
  border-radius:0;
  background:rgba(250,249,244,.9);
  box-shadow:0 12px 34px -32px rgba(16,24,32,.42);
}

.nav .wrap{
  min-height:72px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.brand-lockup{
  max-width:360px;
}

.brand::before{
  width:34px;
  height:34px;
  border-radius:8px;
}

.brand .en{
  font-family:"Avenir Next","SF Pro Display","Helvetica Neue",var(--sans);
  font-size:23px;
  font-weight:860;
}

.brand .zh{
  font-family:"Songti SC","Noto Serif CJK SC",serif;
  font-size:24px;
  font-weight:820;
}

.brand-slogan{
  color:#69757D;
  font-family:var(--sans);
  font-size:11px;
  font-weight:560;
}

.nav-links{
  gap:3px;
  margin-left:auto;
  padding:3px;
  border:1px solid rgba(16,24,32,.08);
  border-radius:8px;
  background:rgba(255,252,244,.7);
  box-shadow:none;
}

.nav-links a{
  min-height:34px;
  padding:7px 12px;
  border-radius:6px;
  color:#5C6973;
  font-size:13px;
  font-weight:760;
}

.nav-links a::before{display:none}

.nav-links a:hover{
  background:#EEF4F1;
  color:var(--harbor-dark);
  transform:none;
}

.nav-links a.on{
  background:var(--harbor-dark);
  color:#FFFDF7;
  box-shadow:none;
}

.auth{
  margin-left:10px;
  flex:0 0 176px;
  min-width:176px;
  justify-content:flex-end;
  font-size:13px;
}

.auth .who{
  padding-left:12px;
  border-left:1px solid rgba(16,24,32,.1);
}

.auth .login,
.auth .lo{
  min-height:34px;
  padding:6px 13px;
  border:1px solid rgba(16,24,32,.08);
  border-radius:8px;
  background:#EAF1F0;
  color:var(--harbor-dark);
  box-shadow:none;
}

.auth:empty::before,
.auth:empty::after{
  visibility:hidden;
}

.auth:empty::before{
  content:"已登录 · 清北同学";
  padding-left:12px;
  border-left:1px solid rgba(16,24,32,.1);
  white-space:nowrap;
}

.auth:empty::after{
  content:"退出";
  min-height:34px;
  display:inline-flex;
  align-items:center;
  padding:6px 13px;
  border:1px solid rgba(16,24,32,.08);
  border-radius:8px;
  white-space:nowrap;
}

.nav.is-pending .nav-links a,
.nav.is-pending .nav-links a::before,
.nav.is-pending .auth .login,
.nav.is-pending .auth .lo{
  transition:none;
}

.nav.is-pending .nav-links a:hover{
  transform:none;
}

.directory-section{
  padding:28px 0 72px;
}

.directory-hero{
  padding:18px 0 0;
}

.section-head,
.directory-hero .section-head{
  align-items:flex-end;
  margin:0 0 18px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(16,24,32,.1);
}

.section-head::after,
.directory-hero .section-head::after{
  width:88px;
  height:2px;
  background:linear-gradient(90deg,var(--harbor),var(--brass));
}

.eyebrow{
  color:var(--harbor);
  font-family:var(--num);
  font-size:11px;
  font-weight:820;
}

.directory-hero .section-head h2,
.section-head h2{
  margin-top:6px;
  color:#121A22;
  font-family:"Songti SC","Noto Serif CJK SC",serif;
  font-size:44px;
  line-height:1.06;
  font-weight:820;
}

.directory-hero .section-head h2::first-letter,
.section-head h2::first-letter{
  color:inherit;
}

.directory-hero .count,
.count{
  align-self:auto;
  padding:6px 10px;
  border:1px solid rgba(16,24,32,.08);
  border-radius:8px;
  background:rgba(255,252,244,.72);
  color:#66727B;
  font-family:var(--num);
  font-size:12px;
}

.intro-grid{
  grid-template-columns:minmax(0,1fr) 420px;
  gap:24px;
  align-items:stretch;
}

.directory-copy{
  max-width:none;
  padding:16px 18px;
  border:1px solid rgba(16,24,32,.08);
  border-left:3px solid var(--brass);
  border-radius:8px;
  background:rgba(255,252,244,.72);
  box-shadow:none;
  color:#52616A;
  font-family:var(--sans);
  font-size:14px;
  font-weight:560;
  line-height:1.78;
}

.school-page .school-copy h4{
  margin:0 0 6px;
  color:#16202A;
  font-size:17px;
  font-weight:850;
}

.school-page .school-copy p{
  color:#5E6B75;
  font-size:13.5px;
  line-height:1.75;
}

.directory-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  border:0;
}

.directory-stats::before{display:none}

.hero-stat{
  min-height:86px;
  padding:13px 14px;
  border:1px solid rgba(16,24,32,.08);
  border-radius:8px;
  background:rgba(255,255,255,.78);
  box-shadow:none;
}

.hero-stat:nth-child(2n),
.hero-stat:nth-last-child(-n+2){
  border-right:1px solid rgba(16,24,32,.08);
  border-bottom:1px solid rgba(16,24,32,.08);
}

.hero-stat span,
.hero-stat em{
  color:#75838B;
  font-family:var(--num);
}

.hero-stat b{
  color:#13202A;
  font-family:var(--num);
  font-size:24px;
  font-weight:820;
}

.community-insights-wrap{
  margin-top:22px;
}

.community-insights{
  min-height:326px;
  padding:16px 18px 18px;
  border:1px solid rgba(16,24,32,.09);
  border-left:3px solid var(--harbor);
  border-radius:8px;
  background:linear-gradient(180deg,rgba(255,252,244,.94),rgba(255,255,255,.86));
  box-shadow:0 20px 52px -44px rgba(16,24,32,.44);
}

.insight-loading{
  min-height:288px;
  display:grid;
  place-items:center;
  color:#7D8A92;
  font-size:13px;
}

@media (min-width:981px){
  .community-insights{
    min-height:526px;
  }

  .insight-loading{
    min-height:488px;
  }
}

.insight-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:end;
  padding-bottom:14px;
  border-bottom:1px solid rgba(16,24,32,.08);
}

.insight-head h3{
  margin-top:4px;
  color:#121A22;
  font-family:"Songti SC","Noto Serif CJK SC",serif;
  font-size:28px;
  line-height:1.18;
  font-weight:850;
}

.insight-kpis{
  display:grid;
  grid-template-columns:repeat(3,minmax(78px,1fr));
  gap:8px;
}

.insight-kpis span{
  min-height:58px;
  display:grid;
  align-content:center;
  gap:3px;
  padding:9px 10px;
  border:1px solid rgba(16,24,32,.08);
  border-radius:8px;
  background:rgba(255,255,255,.72);
  color:#7A8790;
}

.insight-kpis b{
  color:#13202A;
  font-family:var(--num);
  font-size:22px;
  line-height:1;
  font-weight:850;
}

.insight-kpis em{
  font-size:10.5px;
  font-style:normal;
  font-weight:760;
  white-space:nowrap;
}

.insight-grid{
  display:grid;
  grid-template-columns:1.08fr 1fr 1fr;
  gap:0;
  margin-top:16px;
}

.insight-panel{
  min-width:0;
  padding:0 16px;
}

.insight-panel:first-child{
  padding-left:0;
}

.insight-panel:last-child{
  padding-right:0;
}

.insight-panel+.insight-panel{
  border-left:1px solid rgba(16,24,32,.08);
}

.insight-panel-title{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

.insight-panel-title span{
  color:#16212A;
  font-size:13px;
  font-weight:860;
}

.insight-panel-title em{
  color:#859198;
  font-family:var(--num);
  font-size:10px;
  font-style:normal;
  font-weight:760;
  white-space:nowrap;
}

.insight-list{
  display:grid;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}

.insight-list li{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  padding-top:8px;
  border-top:1px solid rgba(16,24,32,.07);
}

.insight-list li:first-child{
  padding-top:0;
  border-top:0;
}

.insight-index{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid rgba(0,107,97,.2);
  border-radius:8px;
  background:rgba(0,107,97,.07);
  color:var(--harbor-dark);
  font-family:var(--num);
  font-size:10.5px;
  font-weight:900;
}

.insight-list b{
  min-width:0;
  display:block;
  color:#17212A;
  font-size:13px;
  line-height:1.35;
  font-weight:850;
  overflow:hidden;
  overflow-wrap:anywhere;
}

.insight-list b a{
  color:inherit;
  width:100%;
  max-width:100%;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  overflow-wrap:anywhere;
  text-decoration:none;
}

.insight-list b a:hover{
  color:var(--harbor-dark);
  text-decoration:underline;
  text-underline-offset:3px;
}

.insight-list p{
  margin-top:4px;
  color:#4F5D66;
  font-size:12.5px;
  line-height:1.62;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.insight-list em{
  display:block;
  margin-top:6px;
  color:#7B878F;
  font-size:11px;
  font-style:normal;
  line-height:1.45;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.insight-empty{
  color:#89949B;
}

.toolbar{
  position:sticky;
  top:72px;
  z-index:24;
  margin:22px 0 26px;
  padding:0;
  border:0;
  background:transparent;
  backdrop-filter:none;
}

.toolbar-card{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:10px;
  border:1px solid rgba(16,24,32,.09);
  border-radius:8px;
  background:rgba(255,252,244,.92);
  box-shadow:0 18px 42px -38px rgba(16,24,32,.42);
  backdrop-filter:saturate(140%) blur(12px);
}

.toolbar-title{
  min-height:40px;
  padding:0 6px;
}

.toolbar-title span{
  color:#17212B;
  font-size:13px;
  font-weight:850;
}

.toolbar-title em{
  color:#7D8A92;
  font-family:var(--num);
  font-size:10.5px;
}

.filters{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}

.search{
  order:-1;
  flex:1 1 420px;
  max-width:none;
  min-height:42px;
  border:1px solid rgba(16,24,32,.09);
  border-radius:8px;
  background:#FFFFFF;
  box-shadow:none;
  color:#18232D;
  font-family:var(--sans);
  font-size:13.5px;
  font-weight:650;
}

.search:focus{
  border-color:rgba(0,107,97,.38);
  box-shadow:0 0 0 4px rgba(0,107,97,.08);
}

.chip-row{
  display:flex;
  flex:1 1 100%;
  flex-wrap:wrap;
  gap:6px;
  min-width:0;
}

.chip{
  min-height:31px;
  padding:5px 10px;
  border:1px solid rgba(16,24,32,.08);
  border-radius:8px;
  background:rgba(255,255,255,.68);
  color:#64727A;
  font-family:var(--sans);
  font-size:12px;
  font-weight:750;
}

.chip:hover{
  border-color:rgba(0,107,97,.18);
  background:#EEF6F3;
  color:var(--harbor-dark);
}

.chip.on{
  border-color:var(--harbor-dark);
  background:var(--harbor-dark);
  color:#fff;
  box-shadow:none;
}

.school-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-flow:row;
  gap:16px;
  align-items:start;
}

.school-card,
.school-card:nth-child(5n+1),
.school-card:nth-child(5n+2){
  grid-column:auto;
  min-height:0;
  margin-top:0;
}

.school-card,
.club-card,
.gcard,
.scard{
  border-radius:8px;
}

.school-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:18px 18px 16px;
  border:1px solid rgba(16,24,32,.09);
  border-left:4px solid var(--accent);
  background:rgba(255,255,255,.86);
  box-shadow:0 16px 46px -42px rgba(16,24,32,.38);
  overflow:hidden;
}

.school-card.has-community{
  box-shadow:0 18px 52px -42px color-mix(in srgb,var(--accent) 28%,#111722);
}

.school-card:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--accent) 22%,rgba(16,24,32,.09));
  border-left-color:var(--accent);
  box-shadow:0 24px 62px -48px color-mix(in srgb,var(--accent) 38%,#111722);
}

.school-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:linear-gradient(90deg,var(--accent),transparent 58%);
  pointer-events:none;
}

.school-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#7D8A92;
  font-family:var(--num);
  font-size:10px;
}

.school-no{
  color:var(--accent);
  font-weight:850;
}

.school-source{
  max-width:170px;
  padding:2px 7px;
  border:1px solid color-mix(in srgb,var(--accent) 18%,rgba(16,24,32,.08));
  border-radius:6px;
  background:color-mix(in srgb,var(--accent) 7%,#fff);
  color:color-mix(in srgb,var(--accent) 82%,#17222A);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.school-title-row{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) minmax(58px,auto);
  gap:11px;
  align-items:start;
}

.school-mark{
  width:42px;
  height:42px;
  border:1px solid color-mix(in srgb,var(--accent) 24%,rgba(16,24,32,.08));
  border-radius:8px;
  background:color-mix(in srgb,var(--accent) 7%,#fff);
  color:var(--accent);
  font-family:var(--sans);
  font-size:19px;
  font-weight:880;
}

.school-title-row h3,
.club-card h3{
  margin:0;
  color:#111A22;
  font-family:"Songti SC","Noto Serif CJK SC",serif;
  font-size:22px;
  line-height:1.24;
  font-weight:820;
  text-wrap:balance;
}

.school-title-row p{
  margin:4px 0 0;
  color:#7A8790;
  font-size:12px;
  line-height:1.42;
}

.school-community-count{
  min-width:58px;
  padding-left:10px;
  border-left:1px solid rgba(16,24,32,.08);
  color:#87939A;
  text-align:right;
}

.school-community-count b{
  color:#101922;
  font-family:var(--num);
  font-size:24px;
  font-weight:820;
}

.school-community-count span,
.school-community-count em{
  margin-top:3px;
  font-size:10.5px;
}

.school-desc{
  color:#43515A;
  font-size:13px;
  line-height:1.68;
}

.school-tags span,
.tag{
  min-height:23px;
  border:1px solid rgba(16,24,32,.08);
  border-radius:6px;
  background:#F8F8F3;
  color:#64717A;
  font-size:10.5px;
}

.school-mentor,
.school-activity,
.school-join{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:10px;
  padding-top:10px;
  border-top:1px solid rgba(16,24,32,.08);
  color:#5B6972;
  font-size:12.5px;
  line-height:1.58;
}

.school-mentor{
  display:block;
}

.school-activity b,
.school-join b{
  color:#89949B;
  font-family:var(--num);
  font-size:9.5px;
  font-weight:780;
}

.school-wx-list{
  display:grid;
  gap:9px;
  margin-top:auto;
  padding-top:12px;
  border-top:1px solid rgba(16,24,32,.08);
}

.school-wx-card{
  display:grid;
  gap:8px;
  padding:12px;
  border:1px solid color-mix(in srgb,var(--accent) 14%,rgba(16,24,32,.08));
  border-left:3px solid var(--accent);
  border-radius:8px;
  background:linear-gradient(180deg,#FFFFFF,#F5F8F6);
}

.school-wx-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.school-wx-head b{
  color:#14202A;
  font-size:14px;
  line-height:1.32;
  font-weight:840;
}

.school-wx-head span{
  color:#7D8A92;
  font-size:11px;
}

.school-wx-head em{
  color:#18232D;
  font-family:var(--num);
  font-size:13px;
  font-weight:820;
}

.school-wx-card p{
  color:#4D5A63;
  font-size:12.2px;
  line-height:1.58;
}

.school-wx-meter{
  display:grid;
  grid-template-columns:auto minmax(88px,1fr);
  gap:6px 9px;
  align-items:center;
}

.school-wx-meter span{
  color:#66747C;
  font-size:11px;
}

.school-wx-meter span b{
  color:var(--accent);
  font-family:var(--num);
  font-size:15px;
}

.school-wx-meter i{
  display:block;
  height:5px;
  border-radius:999px;
  background:#DDE5E2;
}

.school-wx-meter u{
  background:linear-gradient(90deg,var(--harbor),var(--accent));
}

.school-wx-meter em{
  grid-column:1 / -1;
  color:#65727B;
  font-size:11px;
}

.school-wx-owner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  color:#64717A;
  font-size:11.5px;
}

.school-wx-owner b{
  color:#8A949B;
  font-family:var(--num);
  font-size:9.5px;
}

.school-copy-wx,
.mini-copy{
  border:1px solid color-mix(in srgb,var(--accent) 18%,rgba(16,24,32,.08));
  border-radius:8px;
  background:color-mix(in srgb,var(--accent) 8%,#fff);
  color:color-mix(in srgb,var(--accent) 82%,#17222A);
  white-space:nowrap;
}

.school-wx-details{
  border:1px solid rgba(16,24,32,.07);
  border-radius:8px;
  background:rgba(255,255,255,.58);
}

.school-wx-details summary{
  min-height:30px;
  padding:6px 8px;
  color:#69757D;
  font-size:11.5px;
}

.school-wx-detail{
  padding:8px;
}

.school-empty-wx{
  padding:9px 0 0;
  color:#87939A;
  font-size:12px;
  line-height:1.62;
}

.no-result{
  width:min(calc(100% - 64px),var(--pagew));
}

@media(max-width:1100px){
  .intro-grid{
    grid-template-columns:1fr;
  }

  .directory-stats{
    max-width:none;
  }

  .insight-head{
    grid-template-columns:1fr;
    align-items:start;
  }

  .insight-kpis{
    width:100%;
  }

  .insight-grid{
    grid-template-columns:1fr;
    gap:14px;
  }

  .insight-panel,
  .insight-panel:first-child,
  .insight-panel:last-child{
    padding:0;
  }

  .insight-panel+.insight-panel{
    padding-top:14px;
    border-top:1px solid rgba(16,24,32,.08);
    border-left:0;
  }

  .school-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:980px){
  .wrap,
  .section.directory-section>.wrap,
  .section.directory-section .toolbar>.wrap,
  .toolbar>.wrap{
    width:min(calc(100% - 40px),var(--pagew));
  }

  .nav .wrap{
    min-height:auto;
    padding:10px 0;
    flex-wrap:wrap;
    gap:10px;
  }

  .brand-lockup{
    max-width:calc(100% - 96px);
  }

  .auth{
    flex:0 0 auto;
    min-width:0;
  }

  .nav-links{
    order:3;
    flex:0 0 100%;
    width:100%;
    justify-content:flex-start;
    overflow-x:auto;
    scrollbar-width:none;
  }

  .nav-links::-webkit-scrollbar{display:none}

  .toolbar{
    top:112px;
  }

  .toolbar-card{
    grid-template-columns:1fr;
  }

  .toolbar-title{
    display:none;
  }
}

@media(max-width:680px){
  .wrap,
  .section.directory-section>.wrap,
  .section.directory-section .toolbar>.wrap,
  .toolbar>.wrap,
  .no-result{
    width:calc(100% - 28px);
  }

  .nav{
    width:100%;
    margin:0;
    border-radius:0;
  }

  .nav .wrap{
    padding:8px 0;
  }

  .brand-lockup{
    max-width:calc(100% - 72px);
  }

  .brand-slogan{
    white-space:nowrap;
  }

  .auth:empty::before{
    display:none;
  }

  .auth:empty::after{
    min-height:34px;
    padding:6px 12px;
    border-radius:11px;
  }

  .directory-section{
    padding-top:20px;
  }

  .directory-hero{
    padding-top:8px;
  }

  .section-head,
  .directory-hero .section-head{
    align-items:flex-start;
    margin-bottom:16px;
  }

  .directory-hero .section-head h2,
  .section-head h2{
    font-size:34px;
  }

  .directory-hero .count,
  .count{
    margin-top:6px;
  }

  .directory-copy{
    padding:14px;
  }

  .directory-stats{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .hero-stat{
    min-height:72px;
    padding:10px 11px;
  }

  .hero-stat b{
    font-size:21px;
  }

  .community-insights-wrap{
    margin-top:16px;
  }

  .community-insights{
    padding:14px;
  }

  .insight-head h3{
    font-size:23px;
  }

  .insight-kpis{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
  }

  .insight-kpis span{
    min-height:54px;
    padding:8px;
  }

  .insight-kpis b{
    font-size:19px;
  }

  .insight-kpis em{
    font-size:9.5px;
  }

  .insight-panel-title{
    align-items:flex-start;
    flex-direction:column;
    gap:2px;
  }

  .toolbar{
    position:relative;
    top:auto;
    margin:16px 0 18px;
  }

  .toolbar-card{
    padding:9px;
  }

  .filters{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }

  .search{
    width:100%;
    min-width:0;
    flex-basis:auto;
  }

  .chip-row{
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:none;
  }

  .chip-row::-webkit-scrollbar{display:none}

  .chip{
    flex:0 0 auto;
  }

  .school-card{
    padding:16px 14px 14px;
  }

  .school-title-row{
    grid-template-columns:40px minmax(0,1fr);
  }

  .school-community-count{
    grid-column:1 / -1;
    display:flex;
    align-items:baseline;
    gap:7px;
    padding-left:0;
    border-left:0;
    text-align:left;
  }

  .school-community-count b,
  .school-community-count span,
  .school-community-count em{
    display:inline;
    margin-top:0;
  }

  .school-activity,
  .school-join{
    grid-template-columns:1fr;
    gap:3px;
  }

  .school-wx-owner,
  .school-wx-meter{
    grid-template-columns:1fr;
  }

  .school-wx-meter em{
    white-space:normal;
  }
}

/* school-registry-layout-20260627-b: compact the first screen after screenshot review. */
@media(min-width:1101px){
  .intro-grid{
    grid-template-columns:minmax(0,1fr) 520px;
    align-items:start;
  }

  .directory-stats{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .hero-stat{
    min-height:76px;
    padding:11px 12px;
  }

  .hero-stat b{
    font-size:22px;
  }
}

.school-contact-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.school-contact-list .club-contact{
  min-width:0;
  padding:7px 8px;
  border:1px solid rgba(16,24,32,.07);
  border-radius:8px;
  background:#FAFBF7;
}

.school-desc,
.school-activity span,
.school-join span,
.school-wx-card p{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.school-desc{
  -webkit-line-clamp:2;
}

.school-activity span,
.school-join span,
.school-wx-card p{
  -webkit-line-clamp:2;
}

.school-wx-card .tags .tag:nth-child(n+4){
  display:none;
}

@media(max-width:680px){
  .school-contact-list{
    grid-template-columns:1fr;
  }

  .school-desc,
  .school-activity span,
  .school-join span,
  .school-wx-card p{
    -webkit-line-clamp:3;
  }
}

/* salon-posters-20260627: real poster marks for salon cards and detail pages. */
.scard{
  position:relative;
  overflow:hidden;
  border-left:1px solid rgba(16,24,32,.08);
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--salon-accent,#0B8F6B) 10%,transparent),transparent 42%),
    linear-gradient(180deg,rgba(255,255,255,.97),rgba(250,253,252,.9));
}
.scard::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:linear-gradient(90deg,var(--salon-accent,#0B8F6B),var(--salon-accent-2,#2463EB),transparent 82%);
  opacity:.82;
  pointer-events:none;
}
.scard:hover{
  border-color:color-mix(in srgb,var(--salon-accent,#0B8F6B) 26%,rgba(16,24,32,.08));
  box-shadow:0 30px 72px -58px color-mix(in srgb,var(--salon-accent,#0B8F6B) 72%,#0A3135);
}
.scard-head{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  min-height:46px;
}
.scard .stag{
  max-width:36%;
  padding-top:4px;
  color:var(--salon-accent,#0B8F6B);
  text-align:right;
}
.salon-logo{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-width:0;
  color:var(--salon-accent,#0B8F6B);
}
.salon-logo.poster-logo{
  width:min(248px,60%);
  height:68px;
  flex:0 1 248px;
  display:block;
  overflow:hidden;
  padding:6px 8px;
  border:1px solid rgba(255,255,255,.78);
  border-radius:8px;
  background:color-mix(in srgb,var(--salon-accent,#0B8F6B) 8%,#fff);
  box-shadow:0 16px 38px -32px color-mix(in srgb,var(--salon-accent,#0B8F6B) 75%,#0A3135);
}
.salon-logo.poster-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.salon-logo.poster-logo.hero-logo{
  width:min(360px,100%);
  height:118px;
  flex-basis:auto;
  padding:8px 10px;
  border-color:rgba(255,255,255,.82);
  box-shadow:0 20px 48px -38px color-mix(in srgb,var(--salon-accent,#0B8F6B) 70%,#0A3135);
}
.salon-logo-mark{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--salon-accent,#0B8F6B) 24%,rgba(255,255,255,.74));
  border-radius:8px;
  background:
    radial-gradient(circle at 26% 18%,rgba(255,255,255,.72),transparent 30%),
    linear-gradient(135deg,var(--salon-accent,#0B8F6B),var(--salon-accent-2,#2463EB));
  color:#fff;
  font-family:var(--display);
  font-size:21px;
  font-weight:860;
  line-height:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 12px 28px -24px currentColor;
}

.salon-logo-mark.long-mark{
  font-size:15px;
  letter-spacing:0;
}
.salon-logo-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:1px;
  padding-top:2px;
  line-height:1.08;
}
.salon-logo-copy b{
  color:#142026;
  font-size:14px;
  font-weight:880;
  white-space:nowrap;
}
.salon-logo-copy em{
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:9.5px;
  font-style:normal;
  font-weight:820;
  text-transform:uppercase;
  white-space:nowrap;
}
.scard h3,
.scard .meta,
.scard p,
.scard .cnt{
  position:relative;
  z-index:1;
}
.scard h3{
  margin-top:14px;
}
.scard .cnt .big{
  color:var(--salon-accent,#0B8F6B);
}
.salon-hero{
  position:relative;
  overflow:hidden;
}
.salon-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 12% 8%,color-mix(in srgb,var(--salon-accent,#0B8F6B) 13%,transparent),transparent 32%),
    linear-gradient(90deg,color-mix(in srgb,var(--salon-accent,#0B8F6B) 8%,transparent),transparent 58%);
  pointer-events:none;
}
.salon-hero .wrap{
  position:relative;
  z-index:1;
}
.salon-hero-brand{
  margin:16px 0 13px;
}
.salon-logo.hero-logo{
  gap:13px;
}
.salon-logo.hero-logo .salon-logo-mark{
  width:58px;
  height:58px;
  flex-basis:58px;
  font-size:29px;
}

.salon-logo.hero-logo .salon-logo-mark.long-mark{
  font-size:18px;
}
.salon-logo.hero-logo .salon-logo-copy b{
  font-size:20px;
}
.salon-logo.hero-logo .salon-logo-copy em{
  font-size:10.5px;
}
.salon-hero .stag{
  color:var(--salon-accent,#0B8F6B);
}
.salon-hero .hstats .n{
  color:var(--salon-accent,#0B8F6B);
}

/* salon-dossier-20260627: verified poster assets, richer dossier pages, and shareable note cards. */

.salon-hero-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,392px);
  gap:34px;
  align-items:start;
}

.salon-hero-copy{
  position:relative;
  min-width:0;
  padding-right:88px;
}

.salon-hero-aside{
  min-width:0;
}

.salon-hero-share{
  position:absolute;
  top:0;
  right:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:34px;
  padding:0 11px 0 13px;
  border:1px solid rgba(26,26,26,.12);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:var(--salon-accent,#0B8F6B);
  font-size:12px;
  font-weight:850;
  cursor:pointer;
  box-shadow:0 14px 34px -28px color-mix(in srgb,var(--salon-accent,#0B8F6B) 60%,#071F24);
  transition:transform .16s,border-color .16s,background .16s,color .16s;
}

.salon-hero-share i{
  font-family:var(--mono);
  font-size:15px;
  font-style:normal;
  line-height:1;
}

.salon-hero-share:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--salon-accent,#0B8F6B) 48%,rgba(26,26,26,.12));
  background:#FFFFFF;
}

.salon-dossier-card{
  overflow:hidden;
  border:1px solid rgba(16,24,32,.08);
  border-radius:8px;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(250,252,249,.9));
  box-shadow:0 28px 70px -58px color-mix(in srgb,var(--salon-accent,#0B8F6B) 62%,#071F24);
}

.salon-dossier-poster{
  display:block;
  height:250px;
  overflow:hidden;
  background:#F5F7F2;
}

.salon-dossier-poster img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}

.salon-dossier-copy{
  padding:16px 17px 17px;
}

.salon-dossier-copy>b{
  display:block;
  color:var(--salon-accent,#0B8F6B);
  font-size:12px;
  font-weight:900;
}

.salon-dossier-copy p{
  margin-top:7px;
  color:#4E5D66;
  font-size:13px;
  line-height:1.72;
}

.salon-dossier-copy ul{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(16,24,32,.08);
  list-style:none;
}

.salon-dossier-copy li{
  position:relative;
  padding-left:13px;
  color:#65727B;
  font-size:12.5px;
  line-height:1.58;
}

.salon-dossier-copy li::before{
  content:"";
  position:absolute;
  left:0;
  top:.68em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--salon-accent,#0B8F6B);
}

.salon-source{
  display:grid;
  gap:3px;
  margin-top:13px;
  padding-top:12px;
  border-top:1px solid rgba(16,24,32,.08);
}

.salon-source span{
  color:#96A0A7;
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
}

.salon-source em{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  color:#53616A;
  font-size:12px;
  font-style:normal;
  font-weight:760;
}

.salon-source-link{
  display:inline-flex;
  align-items:center;
  color:color-mix(in srgb,var(--salon-accent,#0B8F6B) 78%,#27343C);
  font-size:11.5px;
  font-weight:850;
}

.salon-source-link:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}

.salon-groups-section{
  padding-top:24px;
  padding-bottom:0;
}

.salon-groups-panel{
  position:relative;
  overflow:hidden;
  padding:20px;
  border:1px solid color-mix(in srgb,var(--salon-accent,#0B8F6B) 18%,rgba(16,24,32,.12));
  border-radius:8px;
  background:
    radial-gradient(circle at 92% 10%,color-mix(in srgb,var(--salon-accent,#0B8F6B) 12%,transparent),transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.94),rgba(250,252,248,.74));
  box-shadow:0 28px 70px -62px color-mix(in srgb,var(--salon-accent,#0B8F6B) 62%,#071F24);
}

.salon-groups-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,380px);
  gap:16px;
  align-items:end;
  padding-bottom:14px;
  border-bottom:1px solid rgba(16,24,32,.09);
}

.salon-groups-head h2{
  margin-top:7px;
  color:#172027;
  font-size:20px;
  line-height:1.2;
  font-weight:880;
}

.salon-groups-head p{
  color:#65727B;
  font-size:13.5px;
  line-height:1.75;
}

.salon-groups-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  justify-content:stretch;
  gap:14px;
  margin-top:14px;
}

.salon-groups-grid.full-community{
  grid-template-columns:1fr;
}

.salon-group-full{
  min-width:0;
  width:100%;
  max-width:none;
}

.salon-group-context{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:10px;
  padding:9px 10px;
  border:1px solid color-mix(in srgb,var(--group-accent,#0B8F6B) 20%,rgba(16,24,32,.1));
  border-radius:7px;
  background:color-mix(in srgb,var(--group-accent,#0B8F6B) 5%,#FFFFFF);
}

.salon-group-context span{
  flex:0 0 auto;
  color:var(--group-accent,#0B8F6B);
  font-size:11.5px;
  font-weight:820;
}

.salon-group-context p{
  margin:0;
  color:#53636D;
  font-size:12.5px;
  line-height:1.55;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.salon-groups-grid .gcard,
.salon-groups-grid .gcard.size-feature,
.salon-groups-grid .gcard.size-tall,
.salon-groups-grid .gcard.size-compact{
  min-height:0;
}

.salon-groups-grid.full-community .gcard{
  min-height:0;
}

.salon-groups-grid.full-community .gcard .summary p,
.salon-groups-grid.full-community .gcard .activity em{
  display:block;
  overflow:visible;
  white-space:normal;
  text-overflow:clip;
  -webkit-line-clamp:initial;
  -webkit-box-orient:initial;
}

.salon-groups-grid.full-community .gcard .details{
  margin-top:2px;
}

@media(max-width:1100px){
  .salon-groups-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

.salon-group-card{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:14px;
  align-items:start;
  padding:17px;
  border:1px solid color-mix(in srgb,var(--group-accent,#0B8F6B) 20%,rgba(16,24,32,.12));
  border-radius:8px;
  background:rgba(255,255,255,.72);
}

.salon-group-index{
  color:var(--group-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:15px;
  font-weight:900;
}

.salon-group-kicker{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  color:var(--group-accent,#0B8F6B);
  font-size:11px;
  font-weight:860;
}

.salon-group-kicker em{
  color:#87929A;
  font-style:normal;
  font-family:var(--mono);
}

.salon-group-card h3{
  margin:8px 0 7px;
  color:#172027;
  font-size:20px;
  line-height:1.25;
  font-weight:890;
}

.salon-group-card p{
  color:#53636D;
  font-size:13.5px;
  line-height:1.72;
}

.salon-group-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:11px;
}

.salon-group-tags span{
  padding:5px 8px;
  border:1px solid rgba(16,24,32,.1);
  border-radius:6px;
  color:#66737D;
  font-size:11.5px;
  font-weight:760;
}

.salon-group-side{
  display:grid;
  justify-items:end;
  gap:3px;
  min-width:82px;
}

.salon-group-side b{
  color:#172027;
  font-family:var(--mono);
  font-size:25px;
  line-height:1;
}

.salon-group-side span,
.salon-group-side em{
  color:#87929A;
  font-size:11px;
  font-style:normal;
  font-weight:760;
}

.salon-group-side a{
  margin-top:8px;
  color:var(--group-accent,#0B8F6B);
  font-size:12px;
  font-weight:850;
}

.salon-group-foot{
  grid-column:2 / 4;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:10px;
  padding-top:12px;
  border-top:1px solid rgba(16,24,32,.08);
  color:#7A858D;
  font-size:12px;
}

.salon-group-muted{
  color:#8A949B;
  font-size:12px;
}

.share-notes{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(315px,1fr));
  gap:14px;
}

.salon-share-card{
  overflow:hidden;
  border:1px solid #DDDAD1;
  border-radius:8px;
  background:#F8F5EE;
  box-shadow:0 22px 60px -52px color-mix(in srgb,var(--salon-accent,#0B8F6B) 52%,#151922);
}

.share-card-band{
  min-height:62px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:15px 18px;
  background:var(--salon-accent,#0B8F6B);
  color:#FFFFFF;
}

.share-card-band span{
  font-size:20px;
  font-weight:910;
}

.share-card-band em{
  padding-top:3px;
  color:rgba(255,255,255,.78);
  font-family:var(--mono);
  font-size:11px;
  font-style:normal;
  font-weight:850;
}

.share-card-body{
  padding:21px 22px 18px;
}

.share-card-kicker{
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:10.5px;
  font-weight:900;
}

.share-card-body h3{
  margin:10px 0 0;
  color:#1B2027;
  font-size:24px;
  line-height:1.25;
  font-weight:910;
}

.share-card-body blockquote{
  margin-top:20px;
  padding-top:16px;
  border-top:4px solid var(--salon-accent,#0B8F6B);
  color:#252A31;
  font-size:17px;
  font-weight:760;
  line-height:1.72;
}

.share-card-meta{
  display:grid;
  gap:4px;
  margin-top:20px;
}

.share-card-meta b{
  color:#242B32;
  font-size:13px;
  line-height:1.55;
}

.share-card-meta span{
  color:#717981;
  font-family:var(--mono);
  font-size:12px;
}

.share-card-tags,
.period-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.share-card-tags{
  margin-top:16px;
}

.share-card-tags span,
.period-tags span{
  border:1px solid rgba(16,24,32,.13);
  border-radius:3px;
  background:rgba(255,255,255,.62);
  color:#68747C;
  font-size:11.5px;
  font-weight:780;
  line-height:1;
}

.share-card-tags span{padding:7px 9px}
.period-tags span{padding:6px 8px}

.share-card-foot{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 84px;
  gap:12px;
  align-items:end;
  padding:16px 18px 18px;
  border-top:1px solid #DDDAD1;
  background:rgba(255,253,247,.7);
}

.share-card-foot b{
  display:block;
  color:#525A62;
  font-size:12px;
}

.share-card-foot span{
  display:block;
  margin-top:4px;
  color:#989084;
  font-family:var(--mono);
  font-size:11px;
}

.share-card-foot img{
  width:84px;
  height:84px;
  border:6px solid #FFFFFF;
  background:#FFFFFF;
}

.share-card-link{
  min-width:44px;
  min-height:34px;
  display:grid;
  place-items:center;
  border:1px solid rgba(16,24,32,.12);
  border-radius:6px;
  background:#FFFFFF;
  color:#4F5B63;
  font-size:12px;
  font-weight:850;
}

.period{
  grid-template-columns:122px minmax(0,1fr) minmax(150px,210px);
}

.period-main{
  min-width:0;
}

.period-summary{
  margin:-4px 0 12px;
  color:#61707A;
  font-size:13.5px;
  line-height:1.74;
}

.period-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  margin-bottom:11px;
  color:#7B8790;
  font-size:12px;
}

.period-meta span{
  font-weight:780;
}

.period-meta em{
  font-family:var(--mono);
  font-style:normal;
}

.period-tags{
  margin-bottom:12px;
}

.period-poster{
  align-self:start;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(16,24,32,.09);
  border-radius:8px;
  background:#F6F7F3;
}

.period-poster img{
  width:100%;
  height:180px;
  object-fit:cover;
  object-position:center top;
}

.period-poster span{
  display:block;
  padding:8px 10px;
  color:#68747C;
  font-size:11.5px;
  font-weight:820;
}

.note-muted{
  color:#7D8890;
}

/* salon-insights-20260627: Locus-style long notes for every salon activity. */
.period-insight{
  margin:14px 0 12px;
  padding:14px 15px;
  border:1px solid rgba(16,24,32,.09);
  border-left:4px solid var(--salon-accent,#0B8F6B);
  border-radius:7px;
  background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(250,252,248,.54));
}

.period-insight-kicker{
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:1.2px;
}

.period-insight p{
  margin-top:7px;
  color:#3C4851;
  font-size:13.5px;
  line-height:1.78;
}

.period-insight ul{
  display:grid;
  gap:5px;
  margin-top:9px;
  padding-left:16px;
  color:#6B7780;
  font-size:12.5px;
  line-height:1.62;
}

.period-insight-link{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  margin-top:12px;
  padding:0 12px;
  border:1px solid color-mix(in srgb,var(--salon-accent,#0B8F6B) 28%,#CAD2CA);
  border-radius:6px;
  background:#FFFFFF;
  color:var(--salon-accent,#0B8F6B);
  font-size:12px;
  font-weight:880;
}

.period-person-notes{
  margin:14px 0 12px;
  padding:14px 15px;
  border:1px solid rgba(16,24,32,.09);
  border-left:4px solid var(--salon-accent,#0B8F6B);
  border-radius:7px;
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(250,252,248,.58));
}

.period-person-notes-head{
  display:grid;
  gap:6px;
  margin-bottom:12px;
}

.period-person-notes-head span{
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:1.2px;
}

.period-person-notes-head b{
  color:#202833;
  font-size:15px;
  line-height:1.35;
  font-weight:920;
}

.period-person-notes-head p{
  max-width:720px;
  color:#64717A;
  font-size:12.6px;
  line-height:1.64;
}

.period-person-note-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.period-person-note{
  display:flex;
  min-width:0;
  min-height:220px;
  flex-direction:column;
  gap:9px;
  padding:13px;
  border:1px solid rgba(16,24,32,.1);
  border-top:4px solid var(--salon-accent-2,#6E1677);
  border-radius:7px;
  background:rgba(255,255,255,.7);
  color:inherit;
  text-decoration:none;
}

.period-person-note>span{
  align-self:flex-start;
  min-height:24px;
  display:inline-flex;
  align-items:center;
  padding:3px 8px;
  border:1px solid rgba(16,24,32,.1);
  border-radius:999px;
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
}

.period-person-note div{
  display:grid;
  gap:4px;
}

.period-person-note em{
  color:var(--salon-accent-2,#6E1677);
  font-size:11.5px;
  line-height:1.35;
  font-style:normal;
  font-weight:900;
}

.period-person-note b{
  color:#202833;
  font-size:14.2px;
  line-height:1.38;
  font-weight:920;
}

.period-person-note small{
  color:#7B8790;
  font-size:11.2px;
  line-height:1.42;
  font-weight:760;
}

.period-person-note p{
  color:#4A5862;
  font-size:12.5px;
  line-height:1.68;
}

.period-person-note ul{
  display:grid;
  gap:5px;
  margin:0;
  padding-left:16px;
  color:#69757D;
  font-size:11.8px;
  line-height:1.54;
}

.period-person-note strong{
  margin-top:auto;
  color:var(--salon-accent,#0B8F6B);
  font-size:12px;
  font-weight:900;
}

.period-person-note:hover{
  border-color:color-mix(in srgb,var(--salon-accent,#0B8F6B) 30%,rgba(16,24,32,.1));
  background:color-mix(in srgb,var(--salon-accent,#0B8F6B) 5%,#FFFFFF);
}

.period-person-note-synthesis{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(16,24,32,.1);
  color:#3C4851;
  font-size:12.7px;
  line-height:1.7;
  font-weight:760;
}

.salon-note-page{
  background:
    linear-gradient(90deg,rgba(21,25,34,.028) 1px,transparent 1px) 0 0/64px 64px,
    linear-gradient(rgba(21,25,34,.022) 1px,transparent 1px) 0 0/64px 64px,
    var(--bg);
}

.salon-article-topbar{
  position:sticky;
  top:0;
  z-index:80;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:0 24px;
  border-bottom:1px solid rgba(26,26,26,.12);
  background:rgba(246,245,239,.92);
  backdrop-filter:saturate(150%) blur(14px);
}

.salon-article-back{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  color:rgba(26,26,26,.68);
  font-family:var(--mono);
  font-size:11px;
  font-weight:850;
  letter-spacing:.5px;
}

.salon-article-back span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.salon-article-back:hover{
  color:var(--salon-accent,#0B8F6B);
}

.salon-note-mount{
  padding:52px 0 72px;
}

.salon-top-share{
  min-height:30px;
  flex:0 0 auto;
  padding:0 14px;
  border:1px solid rgba(26,26,26,.13);
  border-radius:0;
  background:none;
  color:rgba(26,26,26,.68);
  font-family:var(--mono);
  font-size:11px;
  font-weight:760;
  letter-spacing:.8px;
  cursor:pointer;
  transition:background .16s,border-color .16s,color .16s;
}

.salon-top-share:hover{
  border-color:var(--salon-accent,#0B8F6B);
  color:var(--salon-accent,#0B8F6B);
  background:#FFFFFF;
}

.salon-note-layout{
  width:min(calc(100% - 48px),740px);
  margin:0 auto;
}

.salon-note-article{
  min-width:0;
  color:#1A1A1A;
  font-family:var(--serif);
}

.salon-note-brand{
  width:min(360px,100%);
  margin:22px 0 20px;
}

.salon-note-brand .salon-logo.poster-logo{
  width:100%;
  height:86px;
}

.salon-note-hero{
  display:grid;
  grid-template-columns:178px minmax(0,1fr);
  gap:34px;
  align-items:start;
  margin-bottom:34px;
}

.salon-note-meta-rail{
  display:grid;
  gap:10px;
  padding-top:4px;
  color:#75828B;
  font-family:var(--sans);
}

.salon-note-meta-rail span{
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:11px;
  font-weight:900;
  letter-spacing:1.8px;
}

.salon-note-meta-rail b{
  color:#26313B;
  font-family:var(--mono);
  font-size:18px;
  line-height:1.25;
  font-weight:860;
}

.salon-note-meta-rail strong{
  width:max-content;
  max-width:100%;
  padding:4px 8px;
  border:1px solid color-mix(in srgb,var(--salon-accent,#0B8F6B) 22%,rgba(26,26,26,.12));
  border-radius:6px;
  color:#17222A;
  background:rgba(255,255,255,.58);
  font-size:12px;
  line-height:1.35;
  font-weight:850;
}

.salon-note-meta-lines{
  display:grid;
  gap:7px;
  margin-top:4px;
  padding-top:12px;
  border-top:1px solid rgba(26,26,26,.1);
}

.salon-note-meta-lines em{
  color:#586873;
  font-size:12.5px;
  line-height:1.48;
  font-style:normal;
  font-weight:760;
}

.salon-note-head-main{
  min-width:0;
}

.salon-note-label{
  margin-bottom:14px;
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:2.5px;
  text-transform:uppercase;
}

.salon-note-article h1{
  max-width:680px;
  margin:0;
  color:#171A21;
  font-family:var(--serif);
  font-size:clamp(26px,4vw,40px);
  line-height:1.25;
  font-weight:880;
  letter-spacing:0;
}

.salon-note-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:22px 0 38px;
}

.salon-note-chips span{
  padding:4px 10px;
  border:1px solid rgba(26,26,26,.13);
  background:rgba(255,255,255,.5);
  color:rgba(26,26,26,.62);
  font-family:var(--mono);
  font-size:10.5px;
  line-height:1.4;
}

.salon-note-hero .salon-note-chips{
  margin:20px 0 0;
}

.salon-note-pull{
  margin:0 0 34px;
  padding:18px 22px;
  border-left:4px solid var(--salon-accent,#0B8F6B);
  background:color-mix(in srgb,var(--salon-accent,#0B8F6B) 7%,#FFFFFF);
}

.salon-note-pull p{
  color:#1C2027;
  font-family:var(--serif);
  font-size:20px;
  line-height:1.68;
  font-style:italic;
  font-weight:650;
}

.salon-note-pull cite{
  display:block;
  margin-top:10px;
  color:rgba(26,26,26,.46);
  font-family:var(--mono);
  font-size:10px;
  font-style:normal;
  letter-spacing:1px;
}

.salon-note-thesis{
  margin-bottom:38px;
  padding-bottom:36px;
  border-bottom:1px solid rgba(26,26,26,.13);
  color:rgba(26,26,26,.72);
  font-size:16px;
  line-height:2;
}

.salon-public-bridge,
.salon-public-final{
  font-family:var(--sans);
}

.salon-public-bridge{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 0 34px;
  padding:14px 0;
  border-top:1px solid rgba(26,26,26,.1);
  border-bottom:1px solid rgba(26,26,26,.1);
}

.salon-public-bridge span,
.salon-public-final span{
  display:block;
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:10px;
  line-height:1.3;
  font-weight:900;
  letter-spacing:1.8px;
}

.salon-public-bridge p,
.salon-public-final p{
  margin:5px 0 0;
  color:rgba(26,26,26,.58);
  font-size:13px;
  line-height:1.7;
}

.salon-public-bridge a,
.salon-public-final a{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 13px;
  border:1px solid color-mix(in srgb,var(--salon-accent,#0B8F6B) 28%,rgba(26,26,26,.14));
  border-radius:6px;
  background:rgba(255,255,255,.58);
  color:color-mix(in srgb,var(--salon-accent,#0B8F6B) 86%,#1A1A1A);
  font-size:12px;
  font-weight:850;
  line-height:1.2;
  transition:background .16s,border-color .16s,color .16s,transform .16s;
}

.salon-public-bridge a:hover,
.salon-public-final a:hover{
  border-color:var(--salon-accent,#0B8F6B);
  background:#FFFFFF;
  color:var(--salon-accent,#0B8F6B);
  transform:translateY(-1px);
}

.salon-public-bridge-quiet{
  margin-top:-18px;
}

.salon-public-bridge-mid{
  align-items:flex-start;
  margin:24px 0 38px;
  padding:18px;
  border:1px solid color-mix(in srgb,var(--salon-accent,#0B8F6B) 18%,rgba(26,26,26,.12));
  border-left:4px solid var(--salon-accent,#0B8F6B);
  border-radius:8px;
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--salon-accent,#0B8F6B) 8%,#FFFFFF),rgba(255,255,255,.62));
}

.salon-public-bridge-mid h3{
  max-width:560px;
  margin:5px 0 0;
  color:#171A21;
  font-family:var(--serif);
  font-size:18px;
  line-height:1.45;
  font-weight:900;
}

.salon-public-final{
  margin:36px 0 0;
  padding:24px 0 4px;
  border-top:1px solid rgba(26,26,26,.13);
}

.salon-public-final h2{
  max-width:620px;
  margin:8px 0 0;
  color:#171A21;
  font-family:var(--serif);
  font-size:25px;
  line-height:1.32;
  font-weight:900;
}

.salon-public-final p{
  max-width:660px;
  font-family:var(--serif);
  font-size:15px;
  line-height:1.86;
}

.salon-public-final div{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}

.salon-public-final a.primary{
  border-color:var(--salon-accent,#0B8F6B);
  background:var(--salon-accent,#0B8F6B);
  color:#fffaf2;
}

.salon-people-note{
  display:grid;
  gap:34px;
  margin-bottom:44px;
}

.salon-note-overview,
.salon-note-closing{
  padding:20px 0 22px;
  border-top:1px solid rgba(26,26,26,.13);
  border-bottom:1px solid rgba(26,26,26,.13);
}

.salon-note-overview span,
.salon-note-closing>span,
.salon-person-head>span{
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:1.8px;
}

.salon-note-overview h2,
.salon-note-closing h2,
.salon-person-head h2{
  margin:8px 0 0;
  color:#171A21;
  font-family:var(--serif);
  font-size:26px;
  line-height:1.28;
  font-weight:900;
}

.salon-note-overview p,
.salon-note-closing>p,
.salon-person-head>p{
  max-width:700px;
  margin-top:12px;
  color:rgba(26,26,26,.72);
  font-family:var(--serif);
  font-size:15.5px;
  line-height:1.92;
}

.salon-person-section{
  scroll-margin-top:72px;
  display:grid;
  gap:18px;
  padding:28px 0 30px;
  border-bottom:1px solid rgba(26,26,26,.13);
}

.salon-person-head{
  display:grid;
  gap:10px;
}

.salon-person-head ul{
  display:grid;
  gap:7px;
  margin:4px 0 0;
  padding-left:18px;
  color:#53616B;
  font-family:var(--sans);
  font-size:12.8px;
  line-height:1.62;
  font-weight:760;
}

.salon-speaker-roster{
  display:grid;
  gap:16px;
  padding:20px 0 4px;
}

.salon-speaker-roster-head{
  display:grid;
  gap:7px;
}

.salon-speaker-roster-head span{
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:1.7px;
}

.salon-speaker-roster-head h2{
  margin:0;
  color:#171A21;
  font-family:var(--serif);
  font-size:25px;
  line-height:1.25;
  font-weight:900;
}

.salon-speaker-roster-head p{
  max-width:720px;
  margin:0;
  color:rgba(26,26,26,.66);
  font-family:var(--serif);
  font-size:14.5px;
  line-height:1.82;
}

.salon-speaker-roster-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.salon-speaker-roster[data-count="4"] .salon-speaker-roster-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

@media(max-width:680px){
  .salon-speaker-roster[data-count="4"] .salon-speaker-roster-grid{
    grid-template-columns:1fr;
  }
}

.salon-speaker-roster-card{
  min-width:0;
  display:grid;
  gap:11px;
  align-content:start;
  padding:15px;
  border:1px solid color-mix(in srgb,var(--salon-accent,#0B8F6B) 18%,rgba(26,26,26,.12));
  border-top:4px solid var(--salon-accent,#0B8F6B);
  border-radius:8px;
  background:
    radial-gradient(circle at 96% 0,color-mix(in srgb,var(--salon-accent,#0B8F6B) 8%,transparent),transparent 34%),
    rgba(255,255,255,.72);
  box-shadow:0 18px 42px -40px rgba(16,24,32,.34);
}

.salon-speaker-roster-top{
  display:grid;
  gap:4px;
  min-width:0;
}

.salon-speaker-roster-top span{
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:10px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:1px;
}

.salon-speaker-roster-top h3{
  margin:0;
  color:#1B2026;
  font-family:var(--serif);
  font-size:22px;
  line-height:1.22;
  font-weight:900;
}

.salon-speaker-roster-top em{
  color:rgba(26,26,26,.56);
  font-family:var(--sans);
  font-size:12px;
  line-height:1.45;
  font-style:normal;
  font-weight:820;
}

.salon-speaker-roster-theme{
  margin:0;
  color:#202833;
  font-family:var(--sans);
  font-size:13.2px;
  line-height:1.45;
  font-weight:900;
}

.salon-speaker-roster-intro{
  margin:0;
  color:rgba(26,26,26,.68);
  font-family:var(--sans);
  font-size:12.8px;
  line-height:1.72;
}

.salon-speaker-roster-card ul{
  display:grid;
  gap:6px;
  margin:0;
  padding:0;
  list-style:none;
}

.salon-speaker-roster-card li{
  position:relative;
  padding-left:12px;
  color:#596770;
  font-family:var(--sans);
  font-size:12px;
  line-height:1.48;
  font-weight:720;
}

.salon-speaker-roster-card li::before{
  content:'';
  position:absolute;
  left:0;
  top:.7em;
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--salon-accent,#0B8F6B);
}

.salon-speaker-roster-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.salon-speaker-roster-tags i{
  display:inline-flex;
  padding:3px 7px;
  border:1px solid rgba(26,26,26,.1);
  border-radius:5px;
  color:#63717A;
  background:rgba(255,255,255,.54);
  font-size:10.2px;
  line-height:1.35;
  font-style:normal;
  font-weight:820;
}

@media(max-width:980px){
  .salon-speaker-roster-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

.salon-speaker-profile{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(260px,.82fr);
  gap:16px;
  padding:18px;
  border:1px solid color-mix(in srgb,var(--salon-accent,#0B8F6B) 18%,rgba(26,26,26,.12));
  border-radius:8px;
  background:
    radial-gradient(circle at 96% 0,color-mix(in srgb,var(--salon-accent,#0B8F6B) 10%,transparent),transparent 36%),
    linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.55));
}

.salon-speaker-profile-main{
  min-width:0;
}

.salon-speaker-profile-main>span{
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:1.4px;
}

.salon-speaker-profile-main h3{
  margin:7px 0 0;
  color:#171A21;
  font-family:var(--serif);
  font-size:23px;
  line-height:1.25;
  font-weight:900;
}

.salon-speaker-profile-main h3 em{
  display:block;
  margin-top:4px;
  color:rgba(26,26,26,.52);
  font-family:var(--sans);
  font-size:12px;
  line-height:1.45;
  font-style:normal;
  font-weight:820;
}

.salon-speaker-theme{
  margin-top:10px;
  color:#202833;
  font-family:var(--sans);
  font-size:14px;
  line-height:1.55;
  font-weight:900;
}

.salon-speaker-profile-main>p{
  margin-top:12px;
  color:rgba(26,26,26,.74);
  font-family:var(--serif);
  font-size:15px;
  line-height:1.86;
}

.salon-speaker-contact{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:12px;
}

.salon-speaker-contact span{
  color:color-mix(in srgb,var(--salon-accent,#0B8F6B) 82%,#1D2730);
  font-family:var(--mono);
  font-size:10px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.9px;
}

.salon-speaker-contact.compact{
  margin-top:0;
}

.salon-speaker-wx-copy{
  min-width:0;
  max-width:100%;
  gap:7px;
  border-color:color-mix(in srgb,var(--salon-accent,#0B8F6B) 28%,rgba(26,26,26,.13));
  color:color-mix(in srgb,var(--salon-accent,#0B8F6B) 82%,#1D2730);
  background:color-mix(in srgb,var(--salon-accent,#0B8F6B) 7%,#FFFFFF);
}

.salon-speaker-wx-copy b{
  min-width:0;
  overflow-wrap:anywhere;
  font-family:var(--mono);
  font-size:12px;
  line-height:1.2;
  font-weight:900;
}

.salon-speaker-wx-copy .copy-label{
  flex:0 0 auto;
}

.salon-speaker-focus{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(26,26,26,.1);
}

.salon-speaker-focus b,
.salon-speaker-profile-side b{
  display:block;
  margin-bottom:6px;
  color:color-mix(in srgb,var(--salon-accent,#0B8F6B) 82%,#1D2730);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:.8px;
}

.salon-speaker-focus p{
  color:rgba(26,26,26,.68);
  font-family:var(--sans);
  font-size:13px;
  line-height:1.7;
}

.salon-speaker-profile-side{
  display:grid;
  gap:12px;
  align-content:start;
}

.salon-speaker-profile-side ul{
  display:grid;
  gap:6px;
  margin:0;
  padding:0;
  list-style:none;
}

.salon-speaker-profile-side li{
  position:relative;
  padding-left:12px;
  color:#53616B;
  font-family:var(--sans);
  font-size:12.4px;
  line-height:1.55;
  font-weight:720;
}

.salon-speaker-profile-side li::before{
  content:'';
  position:absolute;
  left:0;
  top:.7em;
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--salon-accent,#0B8F6B);
}

.salon-speaker-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.salon-speaker-tags i{
  display:inline-flex;
  padding:3px 7px;
  border:1px solid rgba(26,26,26,.1);
  border-radius:5px;
  color:#63717A;
  background:rgba(255,255,255,.52);
  font-size:10.5px;
  line-height:1.35;
  font-style:normal;
  font-weight:800;
}

.salon-person-visuals{
  display:grid;
  gap:16px;
  padding:18px;
  border:1px solid rgba(26,26,26,.11);
  border-radius:8px;
  background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(255,255,255,.48));
  box-shadow:0 18px 44px -40px rgba(16,24,32,.35);
}

.salon-person-visual-head{
  display:grid;
  gap:7px;
  max-width:720px;
}

.salon-person-visual-head span{
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:1.6px;
}

.salon-person-visual-head h3{
  margin:0;
  color:#1B2026;
  font-family:var(--serif);
  font-size:21px;
  line-height:1.35;
  font-weight:900;
}

.salon-person-visual-head p{
  margin:0;
  color:rgba(26,26,26,.66);
  font-family:var(--serif);
  font-size:14.3px;
  line-height:1.82;
}

.salon-person-flow{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}

.salon-person-flow-step{
  min-width:0;
  min-height:130px;
  display:grid;
  grid-template-rows:auto auto 1fr;
  gap:7px;
  padding:12px;
  border:1px solid rgba(26,26,26,.1);
  border-top:4px solid var(--salon-accent,#0B8F6B);
  border-radius:8px;
  background:rgba(255,255,255,.72);
}

.salon-person-flow-step span{
  color:var(--salon-accent-2,#6E1677);
  font-family:var(--mono);
  font-size:11px;
  font-weight:900;
  letter-spacing:1px;
}

.salon-person-flow-step b{
  color:#1C2630;
  font-family:var(--sans);
  font-size:13.2px;
  line-height:1.35;
  font-weight:920;
}

.salon-person-flow-step p{
  margin:0;
  color:#66737C;
  font-family:var(--sans);
  font-size:12px;
  line-height:1.58;
  font-weight:680;
}

.salon-person-metric-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}

.salon-person-metric{
  min-width:0;
  padding:12px;
  border:1px solid rgba(26,26,26,.1);
  border-radius:8px;
  background:rgba(249,246,240,.72);
  font-family:var(--sans);
}

.salon-person-metric>span{
  display:block;
  margin-bottom:8px;
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:10px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:1px;
}

.salon-person-metric b{
  display:block;
  color:#202833;
  font-size:13px;
  line-height:1.35;
  font-weight:900;
}

.salon-person-metric p{
  margin:8px 0 0;
  color:#6B7780;
  font-size:11.8px;
  line-height:1.55;
  font-weight:680;
}

.salon-person-pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.salon-person-pill-row span{
  padding:7px 10px;
  border:1px solid rgba(26,26,26,.12);
  border-radius:999px;
  background:rgba(255,255,255,.68);
  color:#4F5C65;
  font-family:var(--sans);
  font-size:12px;
  line-height:1.2;
  font-weight:800;
}

.salon-person-refs{
  margin-top:0;
}

.salon-person-section .salon-deep-dive{
  margin-bottom:0;
}

.salon-person-section .salon-deep-dive + .salon-person-refs{
  padding-top:0;
  border-top:0;
}

.salon-closing-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}

.salon-closing-grid article{
  min-width:0;
  padding:14px;
  border:1px solid rgba(26,26,26,.11);
  border-top:4px solid var(--salon-accent-2,#6E1677);
  border-radius:8px;
  background:rgba(255,255,255,.62);
  font-family:var(--sans);
}

.salon-closing-grid b{
  display:block;
  color:#202833;
  font-size:13.5px;
  line-height:1.35;
  font-weight:920;
}

.salon-closing-grid p{
  margin-top:8px;
  color:rgba(26,26,26,.66);
  font-size:12.4px;
  line-height:1.66;
}

.salon-feature{
  margin:0 0 46px;
  padding:28px 0 36px;
  border-top:1px solid rgba(26,26,26,.13);
  border-bottom:1px solid rgba(26,26,26,.13);
}

.salon-feature-head{
  display:grid;
  gap:10px;
  margin-bottom:20px;
}

.salon-feature-head>span,
.salon-feature-panel-head p{
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:1.8px;
  text-transform:uppercase;
}

.salon-feature-head h2{
  max-width:700px;
  margin:0;
  color:#171A21;
  font-family:var(--serif);
  font-size:31px;
  line-height:1.22;
  font-weight:920;
  letter-spacing:0;
}

.salon-feature-head>p{
  max-width:700px;
  color:rgba(26,26,26,.72);
  font-family:var(--serif);
  font-size:17px;
  line-height:1.95;
}

.salon-feature-pivots{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:20px 0 18px;
}

.salon-feature-pivot,
.salon-feature-panel,
.salon-feature-actions article{
  border:1px solid rgba(26,26,26,.12);
  border-radius:8px;
  background:rgba(255,255,255,.62);
}

.salon-feature-pivot{
  min-width:0;
  padding:13px 12px;
  border-top:4px solid var(--salon-accent,#0B8F6B);
}

.salon-feature-pivot span,
.salon-feature-stack span,
.salon-feature-flywheel span,
.salon-feature-actions article span{
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
}

.salon-feature-pivot b,
.salon-feature-panel-head b,
.salon-feature-stack b,
.salon-feature-matrix-cell b,
.salon-feature-flywheel b,
.salon-feature-actions article b{
  display:block;
  color:#202833;
  font-family:var(--sans);
  font-weight:920;
}

.salon-feature-pivot b{
  margin-top:8px;
  font-size:13px;
  line-height:1.4;
}

.salon-feature-pivot p{
  margin-top:8px;
  color:rgba(26,26,26,.66);
  font-family:var(--sans);
  font-size:12.4px;
  line-height:1.68;
}

.salon-feature-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.salon-feature-panel{
  min-width:0;
  padding:18px;
  overflow:hidden;
}

.salon-feature-panel.span2{
  grid-column:1/-1;
}

.salon-feature-panel-head{
  display:grid;
  gap:7px;
  margin-bottom:14px;
}

.salon-feature-panel-head b{
  font-size:16px;
  line-height:1.35;
}

.salon-feature-panel-head p{
  color:rgba(26,26,26,.5);
  line-height:1.6;
  letter-spacing:.8px;
  text-transform:none;
}

.salon-feature-curves{
  display:grid;
  gap:12px;
}

.salon-feature-curve-row{
  display:grid;
  grid-template-columns:128px minmax(0,1fr);
  gap:10px 14px;
  align-items:center;
}

.salon-feature-curve-label{
  min-width:0;
}

.salon-feature-curve-label b{
  display:block;
  color:#25303A;
  font-family:var(--sans);
  font-size:13px;
  font-weight:900;
}

.salon-feature-curve-label span{
  display:block;
  margin-top:2px;
  color:rgba(26,26,26,.48);
  font-family:var(--mono);
  font-size:10px;
  font-weight:880;
}

.salon-feature-curve-bar{
  height:12px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(26,26,26,.08);
}

.salon-feature-curve-bar i{
  display:block;
  width:var(--w,70%);
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--salon-accent,#0B8F6B),var(--salon-accent-2,#6E1677));
}

.salon-feature-curve-row p{
  grid-column:2;
  color:rgba(26,26,26,.66);
  font-family:var(--sans);
  font-size:12.5px;
  line-height:1.65;
}

.salon-feature-stack,
.salon-feature-flywheel{
  display:grid;
  gap:9px;
  list-style:none;
}

.salon-feature-stack li,
.salon-feature-flywheel li{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:2px 10px;
  align-items:start;
  padding:10px 0;
  border-top:1px solid rgba(26,26,26,.09);
}

.salon-feature-stack li:first-child,
.salon-feature-flywheel li:first-child{
  border-top:0;
  padding-top:0;
}

.salon-feature-stack b,
.salon-feature-flywheel b{
  font-size:13px;
  line-height:1.35;
}

.salon-feature-stack em,
.salon-feature-flywheel em{
  grid-column:2;
  color:rgba(26,26,26,.65);
  font-family:var(--sans);
  font-size:12.5px;
  line-height:1.62;
  font-style:normal;
}

.salon-feature-matrix{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.salon-feature-matrix-cell{
  min-width:0;
  padding:12px;
  border:1px solid rgba(26,26,26,.1);
  border-left:4px solid var(--salon-accent,#0B8F6B);
  border-radius:7px;
  background:rgba(249,246,240,.76);
}

.salon-feature-matrix-cell span{
  color:rgba(26,26,26,.48);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
}

.salon-feature-matrix-cell b{
  margin-top:6px;
  font-size:13px;
  line-height:1.4;
}

.salon-feature-matrix-cell p,
.salon-feature-matrix-cell em{
  display:block;
  margin-top:7px;
  color:rgba(26,26,26,.64);
  font-family:var(--sans);
  font-size:12.2px;
  line-height:1.62;
  font-style:normal;
}

.salon-feature-matrix-cell em{
  color:#2F414A;
  font-weight:780;
}

.salon-feature-flywheel{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.salon-feature-flywheel li{
  display:block;
  min-height:116px;
  padding:12px;
  border:1px solid rgba(26,26,26,.1);
  border-top:4px solid var(--salon-accent-2,#6E1677);
  border-radius:7px;
  background:rgba(249,246,240,.76);
}

.salon-feature-flywheel b{
  margin-top:8px;
}

.salon-feature-flywheel em{
  display:block;
  margin-top:7px;
}

.salon-feature-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.salon-feature-actions article{
  min-width:0;
  padding:14px;
  background:color-mix(in srgb,var(--salon-accent,#0B8F6B) 5%,#FFFFFF);
}

.salon-feature-actions article b{
  margin-top:8px;
  font-size:14px;
  line-height:1.35;
}

.salon-feature-actions article p{
  margin-top:8px;
  color:rgba(26,26,26,.68);
  font-family:var(--sans);
  font-size:12.8px;
  line-height:1.7;
}

.salon-speaker-tracks{
  margin:18px 0 20px;
  padding:18px;
  border:1px solid rgba(26,26,26,.12);
  border-left:4px solid var(--salon-accent-2,#6E1677);
  border-radius:8px;
  background:rgba(255,255,255,.58);
}

.salon-speaker-tracks-head{
  display:grid;
  gap:8px;
  margin-bottom:14px;
}

.salon-speaker-tracks-head span{
  color:var(--salon-accent-2,#6E1677);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:1.8px;
}

.salon-speaker-tracks-head h3{
  margin:0;
  color:#171A21;
  font-family:var(--serif);
  font-size:24px;
  line-height:1.28;
  font-weight:900;
}

.salon-speaker-tracks-head p{
  max-width:720px;
  color:rgba(26,26,26,.68);
  font-family:var(--serif);
  font-size:14.8px;
  line-height:1.84;
}

.salon-speaker-track-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.salon-speaker-track-card{
  min-width:0;
  padding:14px;
  border:1px solid rgba(26,26,26,.1);
  border-radius:7px;
  background:rgba(249,246,240,.78);
}

.salon-speaker-track-card>span{
  display:inline-grid;
  place-items:center;
  min-width:28px;
  height:24px;
  border:1px solid rgba(26,26,26,.12);
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
}

.salon-speaker-track-card div{
  display:grid;
  gap:5px;
  margin-top:10px;
}

.salon-speaker-track-card em{
  color:var(--salon-accent-2,#6E1677);
  font-family:var(--sans);
  font-size:12px;
  line-height:1.35;
  font-style:normal;
  font-weight:900;
}

.salon-speaker-track-card b{
  color:#202833;
  font-family:var(--sans);
  font-size:15px;
  line-height:1.35;
  font-weight:920;
}

.salon-speaker-track-card small{
  color:rgba(26,26,26,.48);
  font-family:var(--sans);
  font-size:11.5px;
  line-height:1.45;
  font-weight:720;
}

.salon-speaker-track-card p{
  margin-top:10px;
  color:rgba(26,26,26,.68);
  font-family:var(--sans);
  font-size:12.8px;
  line-height:1.68;
}

.salon-speaker-track-card ul{
  display:grid;
  gap:6px;
  margin-top:10px;
  padding-left:16px;
  color:#2F414A;
  font-family:var(--sans);
  font-size:12.2px;
  line-height:1.55;
  font-weight:760;
}

.salon-speaker-synthesis{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(26,26,26,.1);
  color:#2F414A;
  font-family:var(--serif);
  font-size:14.8px;
  line-height:1.84;
  font-weight:720;
}

.salon-audience-feedback{
  margin:18px 0 20px;
  padding:18px;
  border:1px solid rgba(26,26,26,.12);
  border-radius:8px;
  background:color-mix(in srgb,var(--salon-accent,#0B8F6B) 5%,#FFFFFF);
}

.salon-audience-head{
  display:grid;
  gap:8px;
  margin-bottom:14px;
}

.salon-audience-head span{
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:1.8px;
}

.salon-audience-head h3{
  margin:0;
  color:#171A21;
  font-family:var(--serif);
  font-size:24px;
  line-height:1.28;
  font-weight:900;
}

.salon-audience-head p{
  max-width:760px;
  color:rgba(26,26,26,.68);
  font-family:var(--serif);
  font-size:14.8px;
  line-height:1.84;
}

.salon-audience-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.salon-audience-card{
  min-width:0;
  padding:15px;
  border:1px solid rgba(26,26,26,.11);
  border-left:4px solid var(--salon-accent-2,#6E1677);
  border-radius:8px;
  background:rgba(255,255,255,.7);
}

.salon-audience-card.is-featured{
  grid-column:1 / -1;
  border-left-color:var(--salon-accent,#0B8F6B);
  background:linear-gradient(135deg,color-mix(in srgb,var(--salon-accent,#0B8F6B) 8%,#FFFFFF),rgba(255,255,255,.72));
}

.salon-feature-insight{
  margin-top:28px;
}

.salon-audience-card>span{
  color:var(--salon-accent-2,#6E1677);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:1px;
}

.salon-audience-card>b{
  display:block;
  margin-top:7px;
  color:#202833;
  font-family:var(--sans);
  font-size:15px;
  line-height:1.38;
  font-weight:920;
}

.salon-audience-card>p{
  margin-top:9px;
  color:rgba(26,26,26,.68);
  font-family:var(--sans);
  font-size:12.8px;
  line-height:1.7;
}

.salon-audience-signals{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:12px;
}

.salon-audience-signals em{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 8px;
  border:1px solid color-mix(in srgb,var(--salon-accent,#0B8F6B) 22%,rgba(26,26,26,.1));
  border-radius:6px;
  background:color-mix(in srgb,var(--salon-accent,#0B8F6B) 7%,#FFFFFF);
  color:#2F414A;
  font-family:var(--sans);
  font-size:11.4px;
  line-height:1.35;
  font-style:normal;
  font-weight:780;
}

.salon-audience-card ul{
  display:grid;
  gap:8px;
  margin:13px 0 0;
  padding-left:17px;
  color:rgba(26,26,26,.68);
  font-family:var(--sans);
  font-size:12.4px;
  line-height:1.68;
}

.salon-feature-advanced{
  margin-top:18px;
  padding-top:24px;
  border-top:1px solid rgba(26,26,26,.13);
}

.salon-feature-advanced-head{
  display:grid;
  gap:9px;
  margin-bottom:16px;
}

.salon-feature-advanced-head span{
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:1.8px;
}

.salon-feature-advanced-head h3{
  margin:0;
  color:#171A21;
  font-family:var(--serif);
  font-size:27px;
  line-height:1.28;
  font-weight:900;
  letter-spacing:0;
}

.salon-feature-advanced-head p{
  max-width:720px;
  color:rgba(26,26,26,.72);
  font-family:var(--serif);
  font-size:15.5px;
  line-height:1.9;
}

.salon-advanced-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.salon-advanced-panel{
  min-width:0;
  padding:16px;
  border:1px solid rgba(26,26,26,.12);
  border-radius:8px;
  background:rgba(255,255,255,.6);
}

.salon-advanced-panel.wide{
  grid-column:span 2;
}

.salon-advanced-panel-head{
  display:grid;
  gap:7px;
  margin-bottom:14px;
}

.salon-advanced-panel-head b{
  color:#202833;
  font-family:var(--sans);
  font-size:15px;
  line-height:1.35;
  font-weight:920;
}

.salon-advanced-panel-head p{
  max-width:720px;
  color:rgba(26,26,26,.58);
  font-family:var(--sans);
  font-size:12.6px;
  line-height:1.7;
}

.salon-advanced-migration{
  display:grid;
  gap:12px;
}

.salon-advanced-migration-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);
  gap:8px;
  align-items:start;
  padding:12px;
  border:1px solid rgba(26,26,26,.1);
  border-radius:7px;
  background:rgba(249,246,240,.74);
}

.salon-advanced-migration-row div{
  min-width:0;
}

.salon-advanced-migration-row div span{
  color:rgba(26,26,26,.44);
  font-family:var(--mono);
  font-size:9px;
  font-weight:900;
  letter-spacing:1px;
}

.salon-advanced-migration-row div b{
  display:block;
  margin-top:4px;
  color:#202833;
  font-family:var(--sans);
  font-size:13px;
  line-height:1.35;
  font-weight:900;
}

.salon-advanced-migration-row>i{
  color:var(--salon-accent-2,#6E1677);
  font-family:var(--mono);
  font-size:17px;
  font-style:normal;
  font-weight:900;
  line-height:1.2;
}

.salon-advanced-migration-row p{
  grid-column:1/-1;
  color:rgba(26,26,26,.66);
  font-family:var(--sans);
  font-size:12.4px;
  line-height:1.65;
}

.salon-advanced-migration-row em{
  grid-column:1/-1;
  display:block;
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(26,26,26,.08);
}

.salon-advanced-migration-row em strong{
  display:block;
  width:var(--shift,70%);
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--salon-accent,#0B8F6B),var(--salon-accent-2,#6E1677));
}

.salon-advanced-stage-list{
  display:grid;
  gap:10px;
  list-style:none;
}

.salon-advanced-stage{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:10px;
}

.salon-advanced-stage>span{
  display:grid;
  place-items:center;
  height:42px;
  border:1px solid rgba(26,26,26,.12);
  border-radius:7px;
  color:var(--salon-accent-2,#6E1677);
  font-family:var(--mono);
  font-size:11px;
  font-weight:900;
  background:rgba(249,246,240,.8);
}

.salon-advanced-stage div{
  min-width:0;
  padding-bottom:10px;
  border-bottom:1px solid rgba(26,26,26,.1);
}

.salon-advanced-stage b,
.salon-advanced-stage p,
.salon-advanced-stage strong,
.salon-advanced-stage em{
  display:block;
  font-family:var(--sans);
}

.salon-advanced-stage b{
  color:#202833;
  font-size:13px;
  line-height:1.35;
  font-weight:920;
}

.salon-advanced-stage p{
  margin-top:3px;
  color:var(--salon-accent,#0B8F6B);
  font-size:11px;
  font-weight:850;
}

.salon-advanced-stage strong,
.salon-advanced-stage em{
  margin-top:5px;
  color:rgba(26,26,26,.62);
  font-size:12px;
  line-height:1.5;
  font-style:normal;
  font-weight:620;
}

.salon-advanced-stage em{
  color:#6B4B5E;
}

.salon-advanced-stage i{
  display:block;
  width:var(--level,50%);
  height:6px;
  margin-top:8px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--salon-accent,#0B8F6B),var(--salon-accent-2,#6E1677));
}

.salon-advanced-heat-wrap{
  overflow-x:auto;
}

.salon-advanced-heat{
  width:100%;
  min-width:700px;
  border-collapse:collapse;
  font-family:var(--sans);
}

.salon-advanced-heat th,
.salon-advanced-heat td{
  padding:10px;
  border:1px solid rgba(26,26,26,.1);
  vertical-align:top;
}

.salon-advanced-heat thead th{
  color:rgba(26,26,26,.48);
  font-family:var(--mono);
  font-size:9.5px;
  font-weight:900;
  letter-spacing:1px;
  text-align:left;
  background:rgba(249,246,240,.8);
}

.salon-advanced-heat tbody th{
  width:31%;
  text-align:left;
}

.salon-advanced-heat tbody th b{
  display:block;
  color:#202833;
  font-size:13px;
  line-height:1.35;
}

.salon-advanced-heat tbody th em{
  display:block;
  margin-top:6px;
  color:rgba(26,26,26,.58);
  font-size:11.8px;
  line-height:1.55;
  font-style:normal;
  font-weight:560;
}

.salon-advanced-heat-cell{
  display:grid;
  gap:6px;
  min-width:72px;
}

.salon-advanced-heat-cell b{
  color:#202833;
  font-family:var(--mono);
  font-size:12px;
  font-weight:900;
}

.salon-advanced-heat-cell i{
  display:block;
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(26,26,26,.08);
}

.salon-advanced-heat-cell i::before{
  content:'';
  display:block;
  width:var(--heat,50%);
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--salon-accent,#0B8F6B),var(--salon-accent-2,#6E1677));
}

.salon-advanced-counter{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.salon-advanced-counter-card{
  min-width:0;
  padding:14px;
  border:1px solid rgba(26,26,26,.1);
  border-left:4px solid var(--salon-accent-2,#6E1677);
  border-radius:7px;
  background:rgba(249,246,240,.72);
}

.salon-advanced-counter-card span{
  color:var(--salon-accent-2,#6E1677);
  font-family:var(--mono);
  font-size:9.5px;
  font-weight:900;
  letter-spacing:1px;
}

.salon-advanced-counter-card b{
  display:block;
  margin-top:7px;
  color:#202833;
  font-family:var(--sans);
  font-size:14px;
  line-height:1.38;
  font-weight:920;
}

.salon-advanced-counter-card p{
  margin-top:8px;
  color:rgba(26,26,26,.66);
  font-family:var(--sans);
  font-size:12.6px;
  line-height:1.68;
}

.salon-advanced-questions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  list-style:none;
}

.salon-advanced-questions li{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:12px;
  border:1px solid rgba(26,26,26,.1);
  border-radius:7px;
  background:rgba(255,255,255,.58);
}

.salon-advanced-questions span{
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
}

.salon-advanced-questions b{
  color:#202833;
  font-family:var(--sans);
  font-size:13px;
  line-height:1.48;
  font-weight:820;
}

.salon-research-dossier{
  margin-top:22px;
  padding-top:24px;
  border-top:1px solid rgba(26,26,26,.13);
}

.salon-research-head{
  display:grid;
  gap:9px;
  margin-bottom:16px;
}

.salon-research-head span{
  color:var(--salon-accent-2,#6E1677);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:1.8px;
}

.salon-research-head h3{
  margin:0;
  color:#171A21;
  font-family:var(--serif);
  font-size:27px;
  line-height:1.28;
  font-weight:900;
}

.salon-research-head p{
  max-width:740px;
  color:rgba(26,26,26,.72);
  font-family:var(--serif);
  font-size:15.5px;
  line-height:1.92;
}

.salon-research-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.salon-research-panel{
  min-width:0;
  padding:16px;
  border:1px solid rgba(26,26,26,.12);
  border-radius:8px;
  background:rgba(255,255,255,.6);
}

.salon-research-panel.wide{
  grid-column:span 2;
}

.salon-research-causal{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  list-style:none;
}

.salon-research-causal-node{
  position:relative;
  min-width:0;
  padding:13px;
  border:1px solid rgba(26,26,26,.1);
  border-top:4px solid var(--salon-accent,#0B8F6B);
  border-radius:7px;
  background:rgba(249,246,240,.72);
}

.salon-research-causal-node:not(:last-child)::after{
  content:'';
  position:absolute;
  top:28px;
  right:-12px;
  width:14px;
  height:1px;
  background:var(--salon-accent-2,#6E1677);
}

.salon-research-causal-node>span{
  color:var(--salon-accent-2,#6E1677);
  font-family:var(--mono);
  font-size:9.5px;
  font-weight:900;
}

.salon-research-causal-node b,
.salon-research-causal-node em,
.salon-research-causal-node p{
  display:block;
  font-family:var(--sans);
}

.salon-research-causal-node b{
  margin-top:7px;
  color:#202833;
  font-size:13px;
  line-height:1.35;
  font-weight:920;
}

.salon-research-causal-node em{
  margin-top:5px;
  color:var(--salon-accent,#0B8F6B);
  font-size:10.8px;
  line-height:1.45;
  font-style:normal;
  font-weight:850;
}

.salon-research-causal-node p{
  margin-top:8px;
  color:rgba(26,26,26,.64);
  font-size:12px;
  line-height:1.58;
}

.salon-research-causal-node i{
  display:block;
  height:6px;
  margin-top:10px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(26,26,26,.08);
}

.salon-research-causal-node i::before{
  content:'';
  display:block;
  width:var(--depth,70%);
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--salon-accent,#0B8F6B),var(--salon-accent-2,#6E1677));
}

.salon-research-table-wrap{
  overflow-x:auto;
}

.salon-research-failure{
  width:100%;
  min-width:860px;
  border-collapse:collapse;
  font-family:var(--sans);
}

.salon-research-failure th,
.salon-research-failure td{
  padding:10px;
  border:1px solid rgba(26,26,26,.1);
  vertical-align:top;
  text-align:left;
}

.salon-research-failure thead th{
  color:rgba(26,26,26,.48);
  font-family:var(--mono);
  font-size:9.5px;
  font-weight:900;
  letter-spacing:1px;
  background:rgba(249,246,240,.8);
}

.salon-research-failure tbody th{
  width:15%;
  color:#202833;
  font-size:13px;
  line-height:1.45;
  font-weight:900;
}

.salon-research-failure td{
  color:rgba(26,26,26,.66);
  font-size:12.3px;
  line-height:1.62;
}

.salon-research-stakeholders{
  display:grid;
  gap:10px;
}

.salon-research-stakeholder{
  min-width:0;
  padding:12px;
  border:1px solid rgba(26,26,26,.1);
  border-left:4px solid var(--salon-accent,#0B8F6B);
  border-radius:7px;
  background:rgba(249,246,240,.72);
}

.salon-research-stakeholder span{
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:9.5px;
  font-weight:900;
  letter-spacing:1px;
}

.salon-research-stakeholder b{
  display:block;
  margin-top:6px;
  color:#202833;
  font-family:var(--sans);
  font-size:13px;
  line-height:1.35;
  font-weight:920;
}

.salon-research-stakeholder p{
  margin-top:7px;
  color:rgba(26,26,26,.64);
  font-family:var(--sans);
  font-size:12.2px;
  line-height:1.55;
}

.salon-research-stakeholder strong{
  margin-right:6px;
  color:rgba(26,26,26,.45);
  font-family:var(--mono);
  font-size:9.5px;
  letter-spacing:.8px;
}

.salon-research-valuation{
  display:grid;
  gap:11px;
  list-style:none;
}

.salon-research-valuation-row{
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding-bottom:10px;
  border-bottom:1px solid rgba(26,26,26,.1);
}

.salon-research-valuation-row b{
  color:#202833;
  font-family:var(--sans);
  font-size:13px;
  line-height:1.35;
  font-weight:920;
}

.salon-research-valuation-row span{
  display:block;
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(26,26,26,.08);
}

.salon-research-valuation-row span i{
  display:block;
  width:var(--shift,60%);
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--salon-accent,#0B8F6B),var(--salon-accent-2,#6E1677));
}

.salon-research-valuation-row p{
  grid-column:1/-1;
  color:rgba(26,26,26,.62);
  font-family:var(--sans);
  font-size:12.2px;
  line-height:1.58;
}

.salon-research-scenarios{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.salon-research-scenario{
  min-width:0;
  padding:14px;
  border:1px solid rgba(26,26,26,.1);
  border-top:4px solid var(--salon-accent-2,#6E1677);
  border-radius:7px;
  background:rgba(249,246,240,.72);
}

.salon-research-scenario span{
  color:var(--salon-accent-2,#6E1677);
  font-family:var(--mono);
  font-size:9.5px;
  font-weight:900;
  letter-spacing:1px;
}

.salon-research-scenario b{
  display:block;
  margin-top:7px;
  color:#202833;
  font-family:var(--sans);
  font-size:14px;
  line-height:1.38;
  font-weight:920;
}

.salon-research-scenario p{
  margin-top:9px;
  color:rgba(26,26,26,.64);
  font-family:var(--sans);
  font-size:12.3px;
  line-height:1.62;
}

.salon-research-scenario strong{
  display:block;
  margin-bottom:3px;
  color:rgba(26,26,26,.45);
  font-family:var(--mono);
  font-size:9.5px;
  letter-spacing:.8px;
}

.salon-guest-resources{
  margin-top:22px;
  padding-top:24px;
  border-top:1px solid rgba(26,26,26,.13);
}

.salon-guest-resources-head{
  display:grid;
  gap:9px;
  margin-bottom:16px;
}

.salon-guest-resources-head span{
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:1.8px;
}

.salon-guest-resources-head h3{
  margin:0;
  color:#171A21;
  font-family:var(--serif);
  font-size:26px;
  line-height:1.28;
  font-weight:900;
}

.salon-guest-resources-head p{
  max-width:740px;
  color:rgba(26,26,26,.7);
  font-family:var(--serif);
  font-size:15px;
  line-height:1.88;
}

.salon-guest-resource-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.salon-guest-resource-grid.is-extension-mode{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.salon-guest-resource-grid.single-card{
  grid-template-columns:minmax(0,680px);
}

.salon-guest-resource-link{
  color:inherit;
  text-decoration:none;
}

.salon-guest-resource-card{
  display:flex;
  min-width:0;
  min-height:0;
  height:100%;
  flex-direction:column;
  gap:8px;
  padding:16px;
  border:1px solid rgba(26,26,26,.12);
  border-top:4px solid var(--salon-accent,#0B8F6B);
  border-radius:8px;
  background:rgba(255,255,255,.62);
}

.salon-guest-resource-card.has-followups{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  align-items:start;
  min-height:0;
  padding:18px;
}

.salon-guest-resource-meta,
.salon-guest-resource-body{
  min-width:0;
}

.salon-guest-resource-meta{
  display:grid;
  gap:8px;
}

.salon-guest-resource-body{
  display:grid;
  gap:8px;
}

.salon-guest-resource-card.has-followups .salon-guest-resource-meta,
.salon-guest-resource-card.has-followups .salon-guest-resource-body{
  grid-column:1;
}

.salon-guest-resource-follow{
  grid-column:1;
  grid-row:auto;
  display:grid;
  grid-template-columns:1fr;
  gap:12px 14px;
  min-width:0;
  padding-top:12px;
  border-top:1px solid rgba(26,26,26,.1);
}

.salon-guest-resource-card span{
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:9.5px;
  font-weight:900;
  letter-spacing:1px;
}

.salon-guest-resource-card em{
  color:rgba(26,26,26,.48);
  font-family:var(--sans);
  font-size:11.5px;
  line-height:1.35;
  font-style:normal;
  font-weight:800;
}

.salon-guest-resource-card b{
  color:#202833;
  font-family:var(--sans);
  font-size:14px;
  line-height:1.4;
  font-weight:920;
}

.salon-guest-resource-card p{
  color:rgba(26,26,26,.66);
  font-family:var(--sans);
  font-size:12.4px;
  line-height:1.65;
}

.salon-guest-resource-card .salon-guest-resource-why{
  margin-top:-2px;
  color:rgba(26,26,26,.74);
}

.salon-guest-resource-signals{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:2px;
}

.salon-guest-resource-signals i{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 7px;
  border:1px solid color-mix(in srgb,var(--salon-accent,#0B8F6B) 22%,rgba(26,26,26,.13));
  border-radius:5px;
  color:color-mix(in srgb,var(--salon-accent,#0B8F6B) 78%,#202833);
  background:color-mix(in srgb,var(--salon-accent,#0B8F6B) 5%,#FFFFFF);
  font-family:var(--mono);
  font-size:9.5px;
  font-style:normal;
  font-weight:900;
  letter-spacing:.2px;
}

.salon-guest-resource-block{
  margin-top:0;
  padding-top:0;
  border-top:0;
}

.salon-guest-resource-block small{
  display:block;
  margin-bottom:6px;
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:9.5px;
  font-weight:900;
  letter-spacing:1px;
}

.salon-guest-resource-block ul{
  display:grid;
  gap:6px;
  margin:0;
  padding:0;
  list-style:none;
}

.salon-guest-resource-block li{
  position:relative;
  padding-left:12px;
  color:rgba(26,26,26,.7);
  font-family:var(--sans);
  font-size:12px;
  line-height:1.58;
}

.salon-guest-resource-block li::before{
  content:'';
  position:absolute;
  left:0;
  top:.72em;
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--salon-accent,#0B8F6B);
}

.salon-guest-resource-card strong{
  margin-top:auto;
  color:var(--salon-accent-2,#6E1677);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:1px;
}

.salon-guest-resource-link:hover .salon-guest-resource-card{
  border-color:color-mix(in srgb,var(--salon-accent,#0B8F6B) 38%,rgba(26,26,26,.12));
  background:color-mix(in srgb,var(--salon-accent,#0B8F6B) 6%,#FFFFFF);
}

.salon-deep-dive{
  display:grid;
  gap:24px;
  margin:0 0 46px;
}

.salon-deep-block{
  padding:24px 0 28px;
  border-bottom:1px solid rgba(26,26,26,.13);
}

.salon-deep-block:first-child{
  border-top:1px solid rgba(26,26,26,.13);
}

.salon-deep-head{
  display:grid;
  gap:10px;
  margin-bottom:16px;
}

.salon-deep-head span{
  color:var(--salon-accent-2,#6E1677);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:1.8px;
}

.salon-deep-head h2{
  margin:0;
  color:#171A21;
  font-family:var(--serif);
  font-size:25px;
  line-height:1.3;
  font-weight:900;
  letter-spacing:0;
}

.salon-deep-head p{
  max-width:700px;
  color:rgba(26,26,26,.72);
  font-family:var(--serif);
  font-size:15.5px;
  line-height:1.95;
}

.salon-deep-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.salon-deep-card{
  min-width:0;
  padding:15px;
  border:1px solid rgba(26,26,26,.12);
  border-left:4px solid var(--salon-accent,#0B8F6B);
  border-radius:8px;
  background:rgba(255,255,255,.62);
}

.salon-deep-card>span{
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:1px;
}

.salon-deep-card>b{
  display:block;
  margin-top:7px;
  color:#202833;
  font-family:var(--sans);
  font-size:14px;
  line-height:1.38;
  font-weight:920;
}

.salon-deep-card>p{
  margin-top:9px;
  color:rgba(26,26,26,.68);
  font-family:var(--sans);
  font-size:12.8px;
  line-height:1.7;
}

.salon-deep-signal,
.salon-deep-trap{
  margin-top:11px;
  padding-top:10px;
  border-top:1px solid rgba(26,26,26,.1);
}

.salon-deep-signal strong,
.salon-deep-trap strong{
  display:block;
  color:rgba(26,26,26,.45);
  font-family:var(--mono);
  font-size:9.5px;
  font-weight:900;
  letter-spacing:1px;
}

.salon-deep-signal em,
.salon-deep-trap em{
  display:block;
  margin-top:5px;
  color:#2F414A;
  font-family:var(--sans);
  font-size:12.2px;
  line-height:1.62;
  font-style:normal;
  font-weight:760;
}

.salon-deep-trap em{
  color:#6B4B5E;
}

.salon-note-visuals{
  margin:0 0 44px;
  padding:26px 0 34px;
  border-top:1px solid rgba(26,26,26,.13);
  border-bottom:1px solid rgba(26,26,26,.13);
}

.salon-note-visual-head{
  display:grid;
  gap:9px;
  margin-bottom:18px;
}

.salon-note-visual-head span,
.salon-note-chart-title p{
  color:rgba(26,26,26,.48);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:1.8px;
}

.salon-note-visual-head h2{
  margin:0;
  color:#171A21;
  font-family:var(--serif);
  font-size:25px;
  line-height:1.28;
  font-weight:900;
}

.salon-note-visual-head p{
  max-width:620px;
  color:rgba(26,26,26,.66);
  font-size:14.5px;
  line-height:1.84;
}

.salon-note-dashboard,
.salon-note-chain,
.salon-note-matrix{
  margin-top:16px;
  border:1px solid rgba(26,26,26,.12);
  border-radius:8px;
  background:rgba(255,255,255,.56);
}

.salon-note-dashboard,
.salon-note-chain{
  padding:18px;
}

.salon-note-chart-title{
  display:grid;
  gap:7px;
  margin-bottom:15px;
}

.salon-note-chart-title b{
  color:#202833;
  font-family:var(--sans);
  font-size:15px;
  line-height:1.35;
  font-weight:900;
}

.salon-note-chart-title p{
  max-width:620px;
  line-height:1.6;
  letter-spacing:.8px;
}

.salon-note-score-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.salon-note-score{
  min-width:0;
  padding:12px;
  border:1px solid rgba(26,26,26,.1);
  border-radius:7px;
  background:rgba(249,246,240,.82);
}

.salon-note-score-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.salon-note-score-top b{
  min-width:0;
  color:#26313A;
  font-family:var(--sans);
  font-size:13px;
  line-height:1.35;
  font-weight:900;
}

.salon-note-score-top strong{
  flex:0 0 auto;
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:11px;
}

.salon-note-score-bar{
  height:7px;
  overflow:hidden;
  margin-top:10px;
  border-radius:999px;
  background:rgba(26,26,26,.08);
}

.salon-note-score-bar i{
  display:block;
  width:var(--score,70%);
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--salon-accent,#0B8F6B),var(--salon-accent-2,#6E1677));
}

.salon-note-score p{
  margin-top:9px;
  color:rgba(26,26,26,.66);
  font-family:var(--sans);
  font-size:12.5px;
  line-height:1.65;
}

.salon-note-chain ol{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(118px,1fr));
  gap:10px;
  list-style:none;
}

.salon-note-chain li{
  min-width:0;
  min-height:126px;
  display:flex;
  flex-direction:column;
  gap:7px;
  padding:13px 12px;
  border-top:4px solid var(--salon-accent,#0B8F6B);
  border-radius:7px;
  background:linear-gradient(180deg,rgba(249,246,240,.92),rgba(255,255,255,.72));
}

.salon-note-chain li span{
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
}

.salon-note-chain li b{
  color:#222B34;
  font-family:var(--sans);
  font-size:13px;
  line-height:1.35;
  font-weight:900;
}

.salon-note-chain li em{
  color:rgba(26,26,26,.66);
  font-family:var(--sans);
  font-size:12.5px;
  line-height:1.62;
  font-style:normal;
}

.salon-note-matrix{
  overflow-x:auto;
}

.salon-note-matrix .salon-note-chart-title{
  margin:0;
  padding:18px 18px 14px;
}

.salon-note-matrix table{
  width:100%;
  min-width:660px;
  border-collapse:collapse;
  font-family:var(--sans);
}

.salon-note-matrix th,
.salon-note-matrix td{
  width:33.333%;
  padding:13px 14px;
  border-top:1px solid rgba(26,26,26,.1);
  vertical-align:top;
  text-align:left;
  color:rgba(26,26,26,.7);
  font-size:12.8px;
  line-height:1.68;
}

.salon-note-matrix thead th{
  color:rgba(26,26,26,.5);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:1.2px;
}

.salon-note-matrix tbody th{
  color:#212A33;
  font-weight:840;
}

.salon-note-matrix tbody th span{
  display:block;
  margin-bottom:6px;
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:10px;
}

.salon-note-section{
  margin-top:38px;
}

.salon-note-sec-head,
.salon-note-ext-head{
  color:var(--salon-accent-2,#6E1677);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:2.4px;
  text-transform:uppercase;
}

.salon-note-sec-head::before{
  content:"§ ";
}

.salon-note-sec-intro{
  margin-top:13px;
  color:rgba(26,26,26,.68);
  font-size:15px;
  line-height:1.92;
}

.salon-note-section ul{
  display:grid;
  gap:7px;
  margin-top:13px;
  list-style:none;
}

.salon-note-section li{
  padding:9px 0 9px 16px;
  border-left:2px solid rgba(26,26,26,.13);
  color:rgba(26,26,26,.72);
  font-size:15px;
  line-height:1.8;
}

.salon-note-section li:hover{
  border-left-color:var(--salon-accent,#0B8F6B);
  color:#1A1A1A;
}

.salon-note-sources{
  display:grid;
  gap:8px;
  margin-top:14px;
}

.salon-note-sources a,
.salon-note-source-static{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  min-height:44px;
  padding:9px 12px;
  border:1px solid rgba(26,26,26,.12);
  background:rgba(255,255,255,.54);
  font-family:var(--sans);
}

.salon-note-source-static{
  color:inherit;
}

.salon-note-sources span{
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
}

.salon-note-source-main{
  display:grid;
  gap:4px;
  min-width:0;
}

.salon-note-sources b{
  color:#28313A;
  font-size:13px;
  line-height:1.45;
  white-space:normal;
}

.salon-note-sources small{
  color:rgba(26,26,26,.5);
  font-size:11.5px;
  line-height:1.4;
  font-weight:760;
}

.salon-note-sources em{
  color:#7A858D;
  font-size:12px;
  font-style:normal;
  font-weight:800;
}

.salon-note-poster-ref{
  margin:24px 0 42px;
  font-family:var(--sans);
}

.salon-note-poster-ref a{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:16px;
  align-items:center;
  min-width:0;
  padding:12px;
  border:1px solid rgba(26,26,26,.13);
  border-left:4px solid var(--salon-accent,#0B8F6B);
  border-radius:8px;
  background:rgba(255,255,255,.62);
  box-shadow:0 20px 52px -46px color-mix(in srgb,var(--salon-accent,#0B8F6B) 62%,#17212A);
}

.salon-note-poster-ref img{
  width:100%;
  height:148px;
  min-width:0;
  border-radius:6px;
  object-fit:cover;
  object-position:center top;
  background:#101827;
}

.salon-note-poster-ref span,
.salon-note-poster-ref b,
.salon-note-poster-ref small{
  display:block;
  min-width:0;
}

.salon-note-poster-ref em{
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:10px;
  font-style:normal;
  font-weight:900;
  letter-spacing:1.6px;
}

.salon-note-poster-ref b{
  margin-top:8px;
  color:#24303A;
  font-size:18px;
  line-height:1.35;
  font-weight:920;
}

.salon-note-poster-ref small{
  margin-top:8px;
  color:#69747C;
  font-size:12.5px;
  line-height:1.45;
  font-weight:820;
}

.salon-note-source-empty{
  margin-top:14px;
  padding:12px 14px;
  border:1px dashed rgba(26,26,26,.18);
  color:#69747C;
  font-family:var(--sans);
  font-size:13px;
  line-height:1.7;
}

.salon-note-refs{
  margin-top:46px;
  padding-top:22px;
  border-top:1px solid rgba(26,26,26,.13);
}

.salon-note-ref-head{
  color:rgba(26,26,26,.74);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:2.4px;
  text-transform:uppercase;
}

.salon-note-refs p{
  margin-top:12px;
  color:rgba(26,26,26,.58);
  font-size:13.5px;
  line-height:1.8;
}

.salon-note-ext{
  margin-top:46px;
  padding:24px;
  border:1px solid rgba(26,26,26,.13);
  background:color-mix(in srgb,var(--salon-accent-2,#6E1677) 4%,#FFFFFF);
}

.salon-note-ext ul{
  display:grid;
  gap:10px;
  margin-top:16px;
  list-style:none;
}

.salon-note-ext li{
  position:relative;
  padding-left:18px;
  color:rgba(26,26,26,.72);
  font-size:15px;
  line-height:1.82;
}

.salon-note-ext li::before{
  content:"—";
  position:absolute;
  left:0;
  color:rgba(26,26,26,.42);
}

.salon-note-nav{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:10px;
  margin-top:36px;
}

.salon-note-nav a{
  padding:14px 15px;
  border:1px solid rgba(26,26,26,.13);
  background:rgba(255,255,255,.62);
  font-family:var(--sans);
}

.salon-note-nav span{
  display:block;
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:1px;
}

.salon-note-nav b{
  display:block;
  margin-top:6px;
  color:#252D35;
  font-size:13px;
  line-height:1.45;
}

.salon-note-group-matrix{
  margin-top:28px;
  padding-top:18px;
  border-top:1px solid rgba(26,26,26,.1);
  font-family:var(--sans);
}

.salon-note-group-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:10px;
}

.salon-note-group-head span{
  color:color-mix(in srgb,var(--salon-accent,#0B8F6B) 82%,#1D2730);
  font-family:var(--mono);
  font-size:10px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:1.8px;
}

.salon-note-group-head p{
  max-width:420px;
  margin:0;
  color:rgba(26,26,26,.48);
  font-size:12.2px;
  line-height:1.6;
  text-align:right;
}

.salon-note-contact-list{
  border-top:1px solid rgba(26,26,26,.1);
  border-bottom:1px solid rgba(26,26,26,.1);
}

.salon-note-contact-row{
  min-width:0;
  display:grid;
  grid-template-columns:96px minmax(0,1fr) 168px;
  align-items:center;
  gap:18px;
  padding:9px 0;
  border-top:1px solid rgba(26,26,26,.075);
}

.salon-note-contact-row:first-child{
  border-top:0;
}

.salon-note-contact-person{
  min-width:0;
  display:grid;
  gap:2px;
}

.salon-note-contact-person span{
  color:color-mix(in srgb,var(--salon-accent,#0B8F6B) 72%,#66707D);
  font-family:var(--mono);
  font-size:9.5px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:1px;
}

.salon-note-contact-person b{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#232A33;
  font-size:14px;
  line-height:1.35;
  font-weight:880;
}

.salon-note-contact-scope{
  min-width:0;
  display:grid;
  gap:3px;
}

.salon-note-contact-scope em{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:rgba(26,26,26,.66);
  font-size:12.5px;
  line-height:1.35;
  font-style:normal;
  font-weight:760;
}

.salon-note-contact-scope small{
  color:rgba(26,26,26,.42);
  font-size:11px;
  line-height:1.35;
  font-weight:700;
}

.salon-note-group-copy{
  width:100%;
  min-width:0;
  min-height:32px;
  justify-content:space-between;
  gap:8px;
  padding:6px 10px;
  border-radius:6px;
  border-color:color-mix(in srgb,var(--salon-accent,#0B8F6B) 22%,rgba(26,26,26,.12));
  background:rgba(255,255,255,.46);
  color:color-mix(in srgb,var(--salon-accent,#0B8F6B) 78%,#1D2730);
}

.salon-note-group-copy span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-family:var(--mono);
  font-size:11px;
  line-height:1.2;
  font-weight:900;
}

.salon-note-group-copy .copy-label{
  flex:0 0 auto;
  margin-left:8px;
  color:rgba(26,26,26,.42);
  font-family:var(--sans);
  font-size:10.5px;
  line-height:1.2;
  font-style:normal;
  font-weight:780;
}

.salon-note-engagement{
  margin-top:42px;
  padding-top:26px;
  border-top:1px solid rgba(26,26,26,.13);
  font-family:var(--sans);
}

.salon-public-highlight-summary{
  margin:18px 0 26px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:12px 16px;
  padding:14px 16px;
  border:1px solid color-mix(in srgb,var(--salon-accent,#0B8F6B) 18%,rgba(26,26,26,.12));
  border-radius:8px;
  background:color-mix(in srgb,var(--salon-accent,#0B8F6B) 5%,#FFFFFF);
  font-family:var(--sans);
}

.salon-public-highlight-summary b{
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:18px;
  line-height:1;
  font-weight:900;
}

.salon-public-highlight-summary span{
  color:#26313B;
  font-size:13px;
  line-height:1.45;
  font-weight:820;
}

.salon-public-highlight-summary em{
  grid-column:1/-1;
  color:rgba(26,26,26,.5);
  font-size:11.5px;
  line-height:1.55;
  font-style:normal;
}

.salon-engagement-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}

.salon-engagement-head span,
.salon-comments-head span{
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:1.8px;
  text-transform:uppercase;
}

.salon-engagement-head p,
.salon-comments-head p{
  max-width:420px;
  color:rgba(26,26,26,.52);
  font-size:12.4px;
  line-height:1.65;
  text-align:right;
}

.salon-engagement-stats{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  border-top:1px solid rgba(26,26,26,.12);
  border-bottom:1px solid rgba(26,26,26,.12);
}

.salon-engagement-stats span{
  min-width:0;
  padding:14px 10px 13px;
  border-right:1px solid rgba(26,26,26,.1);
  text-align:center;
}

.salon-engagement-stats span:last-child{
  border-right:0;
}

.salon-engagement-stats b{
  display:block;
  color:#1E2730;
  font-family:var(--mono);
  font-size:17px;
  line-height:1.2;
  font-weight:900;
}

.salon-engagement-stats em{
  display:block;
  margin-top:6px;
  color:rgba(26,26,26,.46);
  font-size:11px;
  line-height:1.2;
  font-style:normal;
  font-weight:760;
}

.salon-engagement-actions{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:8px;
  margin-top:14px;
}

.salon-engagement-actions button,
.salon-engagement-actions a{
  min-width:0;
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:10px 12px;
  border:1px solid rgba(26,26,26,.12);
  border-radius:8px;
  background:rgba(255,255,255,.58);
  color:#404A54;
  cursor:pointer;
  transition:border-color .16s,background .16s,color .16s;
}

.salon-engagement-actions button:hover,
.salon-engagement-actions a:hover,
.salon-engagement-actions button.is-active{
  border-color:color-mix(in srgb,var(--salon-accent,#0B8F6B) 42%,rgba(26,26,26,.12));
  background:color-mix(in srgb,var(--salon-accent,#0B8F6B) 7%,#FFFFFF);
  color:color-mix(in srgb,var(--salon-accent,#0B8F6B) 82%,#1A1A1A);
}

.salon-engagement-actions button:disabled{
  cursor:wait;
  opacity:.68;
}

.salon-engagement-actions span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12.5px;
  line-height:1.2;
  font-weight:860;
}

.salon-engagement-actions b{
  flex:0 0 auto;
  color:rgba(26,26,26,.48);
  font-family:var(--mono);
  font-size:10.5px;
  line-height:1.2;
  font-weight:900;
}

.salon-comments-panel{
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid rgba(26,26,26,.13);
}

.salon-comments-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:12px;
}

.salon-comments-head div{
  display:grid;
  gap:6px;
}

.salon-comments-head b{
  color:#1E2730;
  font-family:var(--serif);
  font-size:23px;
  line-height:1.2;
  font-weight:900;
}

.salon-comment-list{
  display:grid;
  gap:0;
  border-top:1px solid rgba(26,26,26,.1);
}

.salon-comment{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:12px;
  padding:16px 0;
  border-bottom:1px solid rgba(26,26,26,.1);
}

.salon-comment-avatar{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:color-mix(in srgb,var(--salon-accent,#0B8F6B) 12%,#FFFFFF);
  color:var(--salon-accent,#0B8F6B);
  font-size:14px;
  font-weight:900;
}

.salon-comment-main{
  min-width:0;
}

.salon-comment-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  min-width:0;
}

.salon-comment-meta b{
  color:#202833;
  font-size:13px;
  line-height:1.25;
  font-weight:900;
}

.salon-comment-meta span,
.salon-comment-meta em,
.salon-comment-meta i{
  color:rgba(26,26,26,.42);
  font-size:11px;
  line-height:1.25;
  font-style:normal;
  font-weight:760;
}

.salon-comment-meta i{
  color:var(--salon-accent,#0B8F6B);
}

.salon-comment p{
  margin-top:7px;
  color:rgba(26,26,26,.75);
  font-family:var(--serif);
  font-size:14.5px;
  line-height:1.82;
}

.salon-comment.is-pending p{
  color:rgba(26,26,26,.58);
}

.salon-comment-empty{
  padding:18px 0;
  border-bottom:1px solid rgba(26,26,26,.1);
  color:rgba(26,26,26,.48);
  font-size:13px;
  line-height:1.7;
}

.salon-comment-form{
  display:grid;
  gap:10px;
  margin-top:16px;
}

.salon-comment-form textarea{
  width:100%;
  min-height:84px;
  resize:vertical;
  padding:12px 13px;
  border:1px solid rgba(26,26,26,.13);
  border-radius:8px;
  outline:0;
  background:rgba(255,255,255,.64);
  color:#1E2730;
  font-size:14px;
  line-height:1.7;
}

.salon-comment-form textarea:focus{
  border-color:var(--salon-accent,#0B8F6B);
  background:#FFFFFF;
}

.salon-comment-form-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.salon-comment-form-foot span{
  color:rgba(26,26,26,.44);
  font-size:12px;
  line-height:1.4;
}

.salon-comment-form-foot button{
  min-height:38px;
  padding:0 18px;
  border:0;
  border-radius:8px;
  background:var(--salon-accent,#0B8F6B);
  color:#FFFFFF;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}

.salon-comment-form-foot button:disabled{
  cursor:wait;
  opacity:.68;
}

.salon-note-card{
  width:390px;
  height:390px;
  max-width:calc(100vw - 40px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(26,26,26,.14);
  border-radius:0;
  background:#F9F6F0;
  box-shadow:none;
}

.salon-note-card-band{
  flex:0 0 58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:0;
  padding:14px 18px;
  background:var(--salon-accent,#0B8F6B);
  color:#FFFFFF;
}

.salon-note-card-band span{
  font-size:18px;
  font-weight:910;
}

.salon-note-card-band em{
  color:rgba(255,255,255,.72);
  font-family:var(--mono);
  font-size:10px;
  font-style:normal;
  font-weight:850;
  letter-spacing:1px;
}

.salon-note-card-body{
  flex:1 1 auto;
  min-height:0;
  padding:18px 20px 12px;
}

.salon-note-card-kicker{
  color:var(--salon-accent,#0B8F6B);
  font-family:var(--mono);
  font-size:10px;
  font-weight:900;
}

.salon-note-card h2{
  margin:9px 0 0;
  color:#1A1A1A;
  font-size:18.5px;
  line-height:1.32;
  font-weight:900;
  overflow-wrap:break-word;
}

.salon-note-card blockquote{
  margin-top:14px;
  padding-top:14px;
  border-top:3px solid var(--salon-accent,#0B8F6B);
  color:#20242A;
  font-size:14px;
  line-height:1.66;
  font-style:italic;
  font-weight:650;
}

.salon-series-share-card .salon-note-card-body{
  padding:17px 20px 9px;
}

.salon-series-share-card h2{
  margin-top:8px;
  font-size:27px;
  line-height:1.22;
  letter-spacing:0;
}

.salon-series-share-desc{
  margin-top:12px;
  color:#3D4650;
  font-size:12.8px;
  line-height:1.52;
  font-weight:650;
}

.salon-series-share-points{
  list-style:none;
  display:grid;
  gap:5px;
  margin-top:10px;
  color:#5C6670;
  font-size:10.6px;
  line-height:1.42;
  font-weight:650;
}

.salon-series-share-points li{
  position:relative;
  padding-left:12px;
}

.salon-series-share-points li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--salon-accent,#0B8F6B);
}

.salon-series-share-card .salon-note-card-foot{
  flex-basis:116px;
  padding-top:12px;
  padding-bottom:14px;
}

.salon-series-share-card .salon-note-card-meta b{
  font-size:11.6px;
  line-height:1.38;
}

.salon-note-card-meta{
  color:#5B646C;
  font-size:12px;
  font-weight:780;
  line-height:1.5;
}

.salon-note-card-meta b{
  display:block;
  color:#303941;
  font-size:12.5px;
  line-height:1.48;
  overflow-wrap:break-word;
}

.salon-note-card-meta>span{
  display:block;
  margin-top:4px;
  color:#8A8177;
  font-family:var(--mono);
  font-size:10.5px;
}

.salon-note-card-meta em{
  display:block;
  margin-top:10px;
  color:#A19A91;
  font-size:11px;
  font-style:normal;
  font-weight:760;
}

.salon-note-card-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  max-height:54px;
  margin-top:8px;
  overflow:hidden;
}

.salon-note-card-tags span{
  display:inline-block;
  height:28px;
  padding:0 8px;
  border:1px solid rgba(26,26,26,.15);
  color:#717A82;
  font-size:10px;
  line-height:26px;
  white-space:nowrap;
}

.salon-note-card-foot{
  flex:0 0 130px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 84px;
  gap:12px;
  align-items:center;
  padding:14px 20px 16px;
  border-top:1px solid rgba(26,26,26,.12);
}

.salon-note-card-foot img{
  width:74px;
  height:74px;
  border:5px solid #FFFFFF;
  background:#FFFFFF;
}

.salon-note-qr{
  width:84px;
  height:84px;
  display:grid;
  place-items:center;
  flex:0 0 84px;
  background:#FFFFFF;
}

.salon-note-qr canvas,
.salon-note-qr img{
  width:84px!important;
  height:84px!important;
}

.salon-share-overlay{
  position:fixed;
  inset:0;
  z-index:200;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(10,10,10,.74);
}

.salon-share-overlay[hidden]{
  display:none;
}

.salon-share-close{
  position:fixed;
  top:20px;
  right:24px;
  z-index:202;
  min-height:44px;
  padding:0 12px 0 16px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.62);
  font-size:30px;
  line-height:1;
  cursor:pointer;
}

.salon-share-close::before{
  content:"分享";
  display:inline-block;
  margin-right:12px;
  color:rgba(255,255,255,.48);
  font-size:14px;
  line-height:1;
  vertical-align:3px;
}

.salon-share-close:hover{
  color:#FFFFFF;
}

body.share-open .salon-top-share{
  visibility:hidden;
}

body.share-open .salon-hero-share{
  visibility:hidden;
}

body.share-open .auth{
  visibility:hidden;
}

.salon-share-panel{
  width:min(390px,100%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
}

.salon-share-hint,
.salon-share-subhint{
  color:rgba(255,255,255,.58);
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:1px;
  text-align:center;
}

.salon-share-actions{
  width:100%;
  display:grid;
  grid-template-columns:1.1fr 1fr 1fr;
  gap:10px;
}

.salon-share-action{
  min-height:46px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.84);
  font-size:13px;
  font-weight:850;
  cursor:pointer;
}

.salon-share-action.primary{
  border-color:transparent;
  background:var(--salon-accent,#0B8F6B);
  color:#FFFFFF;
}

.salon-share-action:disabled{
  cursor:wait;
  opacity:.68;
}

.salon-image-save-overlay{
  position:fixed;
  inset:0;
  z-index:240;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:24px 16px;
  background:rgba(0,0,0,.88);
}

.salon-image-save-hint{
  color:rgba(255,255,255,.76);
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:1px;
  text-align:center;
}

.salon-image-save-overlay img{
  width:min(390px,100%);
  height:auto;
  border:1px solid rgba(255,255,255,.14);
}

.nexus-selection-image-overlay img{
  width:min(560px,calc(100vw - 32px));
  max-height:min(78vh,780px);
  object-fit:contain;
  border:0;
  background:transparent;
  box-shadow:none;
}

.salon-image-save-overlay button{
  min-height:38px;
  padding:8px 18px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.76);
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.8px;
  cursor:pointer;
}

.salon-image-save-overlay button:hover{
  background:rgba(255,255,255,.14);
  color:#FFFFFF;
}

.nexus-selection-image-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
}

@media(max-width:680px){
  .scard{
    min-height:0;
  }
  .scard-head{
    gap:10px;
  }
  .scard .stag{
    max-width:38%;
    font-size:10px;
  }
  .salon-logo-copy b{
    font-size:13px;
  }
  .salon-logo.poster-logo{
    width:min(210px,58%);
    height:58px;
    flex-basis:210px;
    padding:5px 7px;
  }
  .salon-logo.poster-logo.hero-logo{
    width:100%;
    max-width:330px;
    height:96px;
  }
  .salon-logo-mark{
    width:38px;
    height:38px;
    flex-basis:38px;
    font-size:19px;
  }
  .salon-logo.hero-logo .salon-logo-mark{
    width:50px;
    height:50px;
    flex-basis:50px;
    font-size:25px;
  }
  .salon-logo.hero-logo .salon-logo-copy b{
    font-size:18px;
  }
  .salon-hero-layout,
  .period{
    grid-template-columns:1fr;
  }
  .salon-hero-copy{
    padding-right:54px;
  }
  .salon-hero-share{
    width:40px;
    min-height:40px;
    padding:0;
  }
  .salon-hero-share span{
    display:none;
  }
  .salon-dossier-poster{
    height:210px;
  }
  .share-notes{
    grid-template-columns:1fr;
  }
  .share-card-body{
    padding:18px 18px 16px;
  }
  .share-card-body h3{
    font-size:21px;
  }
  .share-card-body blockquote{
    font-size:15.5px;
  }
  .share-card-foot{
    grid-template-columns:minmax(0,1fr) auto 76px;
  }
  .share-card-foot img{
    width:76px;
    height:76px;
  }
  .period-poster img{
    height:220px;
  }
  .period-insight{
    padding:13px 14px;
  }
  .period-person-notes{
    padding:13px 14px;
  }
  .period-person-note-grid{
    grid-template-columns:1fr;
  }
  .period-person-note{
    min-height:0;
  }
  .salon-note-mount{
    padding:30px 0 52px;
  }
  .salon-note-layout{
    width:min(calc(100% - 32px),680px);
    grid-template-columns:1fr;
    gap:24px;
  }
  .salon-note-brand{
    margin:18px 0 17px;
  }
  .salon-note-brand .salon-logo.poster-logo{
    width:100%;
    height:78px;
    max-width:none;
  }
  .salon-note-hero{
    grid-template-columns:1fr;
    gap:16px;
    margin-bottom:28px;
  }
  .salon-note-meta-rail{
    gap:8px;
    padding:14px;
    border:1px solid rgba(26,26,26,.1);
    border-radius:8px;
    background:rgba(255,255,255,.58);
  }
  .salon-note-meta-lines{
    grid-template-columns:1fr;
  }
  .salon-note-article h1{
    font-size:25px;
  }
  .salon-note-chips{
    margin:18px 0 28px;
  }
  .salon-note-group-head{
    align-items:flex-start;
    display:grid;
    gap:8px;
  }
  .salon-note-group-head p{
    max-width:none;
    text-align:left;
  }
  .salon-note-contact-row{
    grid-template-columns:minmax(0,1fr) minmax(138px,42%);
    gap:5px 10px;
    padding:12px 0;
  }
  .salon-note-contact-person{
    grid-column:1;
  }
  .salon-note-contact-scope{
    grid-column:1;
  }
  .salon-note-group-copy{
    grid-column:2;
    grid-row:1 / span 2;
    align-self:center;
  }
  .salon-note-pull{
    padding:16px 18px;
  }
  .salon-note-pull p{
    font-size:17px;
  }
  .salon-note-thesis,
  .salon-note-section li,
  .salon-note-ext li{
    font-size:14.5px;
  }
  .salon-public-bridge{
    align-items:flex-start;
    display:grid;
    gap:12px;
    margin-bottom:28px;
  }
  .salon-public-bridge-quiet{
    margin-top:-12px;
  }
  .salon-public-bridge a,
  .salon-public-final a{
    width:100%;
    min-height:38px;
  }
  .salon-public-bridge-mid{
    padding:15px;
    margin:18px 0 30px;
  }
  .salon-public-bridge-mid h3{
    font-size:17px;
  }
  .salon-public-final{
    margin-top:30px;
  }
  .salon-public-final h2{
    font-size:22px;
  }
  .salon-public-final div{
    display:grid;
    gap:9px;
  }
  .salon-note-overview h2,
  .salon-note-closing h2,
  .salon-person-head h2{
    font-size:22px;
  }
  .salon-note-overview p,
  .salon-note-closing>p,
  .salon-person-head>p{
    font-size:14.6px;
  }
  .salon-person-section{
    gap:16px;
    padding:23px 0 26px;
  }
  .salon-person-visuals{
    padding:15px;
  }
  .salon-person-visual-head h3{
    font-size:19px;
  }
  .salon-person-flow-step{
    min-height:0;
  }
  .salon-feature{
    margin-bottom:34px;
    padding:22px 0 28px;
  }
  .salon-feature-head h2{
    font-size:24px;
  }
  .salon-feature-head>p{
    font-size:15.5px;
  }
  .salon-feature-pivots,
  .salon-speaker-roster-grid,
  .salon-speaker-track-grid,
	  .salon-audience-grid,
	  .salon-closing-grid,
	  .salon-speaker-profile,
	  .salon-person-flow,
	  .salon-person-metric-grid,
  .salon-feature-grid,
  .salon-feature-matrix,
  .salon-feature-flywheel,
  .salon-feature-actions,
  .salon-advanced-grid,
  .salon-advanced-counter,
  .salon-advanced-questions,
  .salon-research-grid,
  .salon-research-causal,
  .salon-research-scenarios,
	  .salon-guest-resource-grid{
	    grid-template-columns:1fr;
	  }
	  .salon-guest-resource-grid.is-extension-mode{
	    grid-template-columns:1fr;
	  }
  .salon-feature-panel.span2,
  .salon-advanced-panel.wide,
  .salon-research-panel.wide{
    grid-column:auto;
  }
  .salon-feature-panel,
  .salon-advanced-panel,
  .salon-research-panel{
    padding:15px;
  }
  .salon-feature-advanced-head h3{
    font-size:23px;
  }
  .salon-speaker-tracks{
    padding:15px;
  }
  .salon-speaker-tracks-head h3{
    font-size:22px;
  }
  .salon-speaker-tracks-head p,
  .salon-audience-head p,
  .salon-speaker-synthesis{
    font-size:14.4px;
  }
  .salon-audience-feedback{
    padding:15px;
  }
  .salon-audience-head h3{
    font-size:22px;
  }
  .salon-feature-advanced-head p{
    font-size:14.8px;
  }
  .salon-research-head h3{
    font-size:23px;
  }
  .salon-research-head p{
    font-size:14.8px;
  }
  .salon-guest-resources-head h3{
    font-size:22px;
  }
  .salon-guest-resources-head p{
    font-size:14.6px;
  }
	  .salon-guest-resource-card{
	    min-height:0;
	  }
	  .salon-guest-resource-card.has-followups{
	    grid-template-columns:1fr;
	    padding:15px;
	  }
	  .salon-guest-resource-card.has-followups .salon-guest-resource-meta,
	  .salon-guest-resource-card.has-followups .salon-guest-resource-body,
	  .salon-guest-resource-follow{
	    grid-column:1;
	  }
	  .salon-guest-resource-follow{
	    grid-row:auto;
	    grid-template-columns:1fr;
	    padding-left:0;
	    padding-top:10px;
	    border-left:0;
	    border-top:1px solid rgba(26,26,26,.1);
	  }
  .salon-advanced-migration-row{
    grid-template-columns:1fr;
  }
  .salon-advanced-migration-row>i{
    transform:rotate(90deg);
    transform-origin:center;
  }
  .salon-advanced-questions li{
    grid-template-columns:28px minmax(0,1fr);
  }
  .salon-research-causal-node:not(:last-child)::after{
    top:auto;
    right:auto;
    left:22px;
    bottom:-11px;
    width:1px;
    height:12px;
  }
  .salon-research-valuation-row{
    grid-template-columns:84px minmax(0,1fr);
  }
  .salon-feature-curve-row{
    grid-template-columns:1fr;
    gap:7px;
  }
  .salon-feature-curve-row p{
    grid-column:auto;
  }
  .salon-feature-flywheel li{
    min-height:0;
  }
  .salon-deep-dive{
    gap:18px;
    margin-bottom:34px;
  }
  .salon-deep-block{
    padding:20px 0 24px;
  }
  .salon-deep-head h2{
    font-size:22px;
  }
  .salon-deep-head p{
    font-size:14.8px;
  }
  .salon-deep-grid{
    grid-template-columns:1fr;
  }
  .salon-deep-card{
    padding:14px;
  }
  .salon-note-visuals{
    margin-bottom:34px;
    padding:22px 0 28px;
  }
  .salon-note-visual-head h2{
    font-size:22px;
  }
  .salon-note-dashboard,
  .salon-note-chain{
    padding:15px;
  }
  .salon-note-score-grid{
    grid-template-columns:1fr;
  }
  .salon-note-chain ol{
    grid-template-columns:1fr;
  }
  .salon-note-chain li{
    min-height:0;
  }
  .salon-note-matrix .salon-note-chart-title{
    padding:15px 15px 12px;
  }
  .salon-note-matrix table{
    min-width:620px;
  }
  .salon-note-sources a,
  .salon-note-source-static{
    grid-template-columns:42px minmax(0,1fr);
  }
  .salon-note-sources em{
    grid-column:2;
  }
  .salon-note-poster-ref a{
    grid-template-columns:82px minmax(0,1fr);
    gap:12px;
    padding:10px;
  }
  .salon-note-poster-ref img{
    height:112px;
  }
  .salon-note-poster-ref b{
    font-size:15px;
  }
  .salon-engagement-head,
  .salon-comments-head{
    align-items:flex-start;
    flex-direction:column;
    gap:7px;
  }
  .salon-engagement-head p,
  .salon-comments-head p{
    max-width:none;
    text-align:left;
  }
  .salon-engagement-stats{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .salon-engagement-stats span{
    border-bottom:1px solid rgba(26,26,26,.1);
  }
  .salon-engagement-stats span:nth-child(3n){
    border-right:0;
  }
  .salon-engagement-stats span:nth-last-child(-n+2){
    border-bottom:1px solid rgba(26,26,26,.1);
  }
  .salon-engagement-stats span:nth-last-child(-n+3){
    border-bottom:0;
  }
  .salon-engagement-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .salon-engagement-actions a{
    grid-column:1/-1;
  }
  .salon-comment{
    grid-template-columns:30px minmax(0,1fr);
    gap:10px;
  }
  .salon-comment-avatar{
    width:30px;
    height:30px;
    border-radius:7px;
  }
  .salon-comment-form-foot{
    align-items:stretch;
    flex-direction:column;
  }
  .salon-comment-form-foot button{
    width:100%;
  }
  .salon-note-card{
    max-width:100%;
  }
  .salon-share-overlay{
    padding:20px;
  }
  .salon-share-panel{
    width:100%;
  }
  .salon-share-actions{
    gap:8px;
  }
  .salon-share-action{
    min-height:44px;
    font-size:12px;
  }
}

/* list-mode-20260627: compact expandable rows for every registry index page. */
.view-toggle{
  order:2;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:3px;
  min-height:42px;
  padding:4px;
  border:1px solid rgba(16,24,32,.08);
  border-radius:999px;
  background:#FFFFFF;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86);
}

.view-toggle-label{
  padding:0 7px 0 9px;
  color:#829099;
  font-family:var(--num);
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
}

.view-btn{
  min-width:46px;
  min-height:32px;
  padding:0 11px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#64727A;
  font-family:var(--sans);
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}

.view-btn:hover{
  background:#EEF6F3;
  color:var(--harbor-dark);
}

.view-btn.on{
  background:var(--harbor-dark);
  color:#FFFFFF;
  box-shadow:0 10px 20px -18px rgba(0,58,54,.72);
}

.sort-control{order:1}
.chip-row{order:3}

.list-toolbar{
  display:flex;
  justify-content:flex-end;
  margin:-14px 0 18px;
}

.list-toolbar .view-toggle{
  background:rgba(255,252,244,.92);
  box-shadow:0 18px 42px -38px rgba(16,24,32,.42);
}

.grid.registry-list,
.club-guide-grid.registry-list,
.school-grid.registry-list,
.salons.registry-list{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  align-items:start;
}

.registry-row{
  --accent:var(--harbor-dark);
  position:relative;
  border:1px solid rgba(16,24,32,.09);
  border-left:4px solid var(--accent);
  border-radius:8px;
  background:rgba(255,255,255,.91);
  box-shadow:0 16px 46px -42px rgba(16,24,32,.38);
  overflow:hidden;
}

.registry-row[open]{
  border-color:color-mix(in srgb,var(--accent) 22%,rgba(16,24,32,.09));
  box-shadow:0 24px 62px -50px color-mix(in srgb,var(--accent) 38%,#111722);
}

.registry-row summary{
  min-height:76px;
  display:grid;
  grid-template-columns:56px minmax(0,1fr) minmax(88px,auto) minmax(78px,auto) 62px;
  gap:14px;
  align-items:center;
  padding:13px 16px 13px 14px;
  list-style:none;
  cursor:pointer;
}

.registry-row summary::-webkit-details-marker{display:none}

.registry-row summary:hover{
  background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 6%,transparent),transparent 70%);
}

.registry-row-no{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--accent) 24%,rgba(16,24,32,.08));
  border-radius:8px;
  background:color-mix(in srgb,var(--accent) 7%,#fff);
  color:var(--accent);
  font-family:var(--num);
  font-size:13px;
  font-weight:900;
}

.registry-row-main{
  min-width:0;
  display:grid;
  gap:5px;
}

.registry-row-main b{
  min-width:0;
  color:#111A22;
  font-family:"Songti SC","Noto Serif CJK SC",serif;
  font-size:22px;
  line-height:1.2;
  font-weight:820;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.registry-row-main em{
  min-width:0;
  color:#7A8790;
  font-size:12px;
  font-style:normal;
  font-weight:650;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.registry-row-metric{
  min-width:72px;
  padding:7px 10px;
  border:1px solid rgba(16,24,32,.07);
  border-radius:8px;
  background:#F8F8F3;
  color:#7D8A92;
  text-align:right;
}

.registry-row-metric b{
  display:block;
  color:#14202A;
  font-family:var(--num);
  font-size:19px;
  line-height:1;
  font-weight:850;
}

.registry-row-metric em{
  display:block;
  margin-top:4px;
  font-size:10px;
  font-style:normal;
  font-weight:760;
}

.registry-row-cue{
  justify-self:end;
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:color-mix(in srgb,var(--accent) 86%,#1A242B);
  font-size:12px;
  font-weight:820;
  white-space:nowrap;
}

.registry-row-cue::after{
  content:"";
  width:7px;
  height:7px;
  border-right:1.6px solid currentColor;
  border-bottom:1.6px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .18s ease;
}

.registry-row[open] .registry-row-cue::after{
  transform:rotate(-135deg) translateY(-1px);
}

.registry-row-detail{
  padding:0 16px 16px 86px;
  border-top:1px solid rgba(16,24,32,.07);
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(250,253,252,.8));
}

.registry-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding-top:14px;
}

.registry-detail-block{
  min-width:0;
  padding:12px;
  border:1px solid rgba(16,24,32,.07);
  border-radius:8px;
  background:rgba(255,255,255,.68);
}

.registry-detail-block.span2{
  grid-column:1 / -1;
}

.registry-detail-block>b{
  display:block;
  margin-bottom:6px;
  color:#849099;
  font-family:var(--num);
  font-size:10px;
  font-weight:900;
}

.registry-detail-block p,
.registry-mini-list{
  margin:0;
  color:#4D5A63;
  font-size:12.5px;
  line-height:1.66;
}

.registry-mini-list{
  padding-left:17px;
}

.registry-mini-list li+li{
  margin-top:5px;
}

.salon-periods{
  padding-left:0;
  list-style:none;
}

.salon-periods li{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  gap:8px;
  align-items:baseline;
}

.salon-periods li b{
  color:var(--accent);
  font-family:var(--num);
  font-size:11px;
}

.salon-periods li span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.salon-periods li em{
  color:#8A949B;
  font-style:normal;
  font-size:11px;
}

.registry-row-tags{
  margin-top:10px;
  gap:6px;
}

.registry-row-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:12px;
}

.registry-pill-line{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:9px;
}

.registry-pill-line span{
  padding:4px 7px;
  border:1px solid rgba(16,24,32,.07);
  border-radius:6px;
  background:#F8F8F3;
  color:#64717A;
  font-size:10.5px;
  font-weight:760;
}

.registry-link{
  flex:0 0 auto;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 13px;
  border-radius:8px;
  background:var(--harbor-dark);
  color:#FFFFFF;
  font-size:12px;
  font-weight:820;
  text-decoration:none;
}

.registry-link:hover{
  transform:translateY(-1px);
  color:#FFFFFF;
}

.row-copy{
  margin-top:8px;
  min-height:32px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 9px;
}

.row-copy .copy-label{
  color:inherit;
  font-size:10px;
  font-style:normal;
  opacity:.72;
}

.registry-muted{
  display:inline-block;
  margin-top:8px;
  color:#8A949B;
  font-size:12px;
}

.registry-nested-list{
  margin-top:12px;
}

.registry-list .school-contact-list{
  margin-top:6px;
}

.registry-list .school-wx-list{
  padding-top:0;
  border-top:0;
}

.registry-list .school-wx-card{
  background:linear-gradient(180deg,#FFFFFF,#F7FAF8);
}

.registry-list .club-contacts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.salon-row{
  --accent:var(--salon-accent,#0B8F6B);
  border-left-color:var(--salon-accent,#0B8F6B);
}

.salon-row .registry-row-no,
.salon-row .registry-row-cue,
.salon-row .registry-mini-list li b{
  color:var(--salon-accent,#0B8F6B);
}

@media(max-width:820px){
  .view-toggle{
    width:100%;
    justify-content:space-between;
  }
  .list-toolbar{
    justify-content:stretch;
  }
  .registry-row summary{
    grid-template-columns:46px minmax(0,1fr) minmax(66px,auto);
    gap:10px;
    padding:12px;
  }
  .registry-row-main b{
    font-size:18px;
    white-space:normal;
  }
  .registry-row-main em{
    white-space:normal;
  }
  .registry-row-metric.secondary{
    display:none;
  }
  .registry-row-cue{
    grid-column:3;
    grid-row:1;
  }
  .registry-row-detail{
    padding:0 12px 13px;
  }
  .registry-detail-grid,
  .registry-list .club-contacts{
    grid-template-columns:1fr;
  }
  .registry-row-foot{
    align-items:stretch;
    flex-direction:column;
  }
  .registry-link{
    width:100%;
  }
  .salon-periods li{
    grid-template-columns:48px minmax(0,1fr);
  }
  .salon-periods li em{
    grid-column:2;
  }
}

/* list-mode-rich-20260627: denser dossier rows after screenshot review. */
.registry-list{
  gap:8px;
}

.registry-row{
  background:
    linear-gradient(90deg,color-mix(in srgb,var(--accent) 5%,transparent),transparent 32%),
    rgba(255,255,255,.94);
}

.registry-row[open]{
  background:
    linear-gradient(90deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent 34%),
    linear-gradient(180deg,#FFFFFF,#FBFCF8);
}

.registry-row summary{
  min-height:70px;
  grid-template-columns:54px minmax(0,1fr) 96px 86px 58px;
  gap:12px;
  padding:10px 15px 10px 13px;
}

.registry-row-no{
  width:40px;
  height:40px;
  background:
    radial-gradient(circle at 24% 18%,rgba(255,255,255,.82),transparent 38%),
    color-mix(in srgb,var(--accent) 9%,#fff);
}

.registry-row-main{
  gap:4px;
}

.registry-row-main b{
  font-size:20px;
}

.registry-row-preview{
  min-width:0;
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  color:#78858E;
  font-style:normal;
  line-height:1.2;
}

.registry-row-preview span{
  max-width:210px;
  padding:3px 6px;
  border:1px solid color-mix(in srgb,var(--accent) 12%,rgba(16,24,32,.08));
  border-radius:6px;
  background:color-mix(in srgb,var(--accent) 5%,#F8F8F3);
  color:color-mix(in srgb,var(--accent) 56%,#65727B);
  font-family:var(--sans);
  font-size:10.5px;
  font-weight:760;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.registry-row-metric{
  min-width:0;
  padding:6px 9px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.86),rgba(248,248,243,.86));
}

.registry-row-metric b{
  font-size:18px;
}

.registry-row-detail{
  padding:10px 14px 13px 70px;
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--accent) 5%,#FFFFFF),rgba(250,252,249,.84));
}

.registry-detail-grid{
  grid-template-columns:minmax(0,1.2fr) minmax(240px,.72fr) minmax(220px,.62fr);
  gap:8px;
  padding-top:0;
}

.registry-detail-block{
  padding:9px 10px;
  background:rgba(255,255,255,.78);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.62);
}

.registry-detail-block.span2{
  grid-column:span 2;
}

.registry-detail-block.span3{
  grid-column:1 / -1;
}

.registry-detail-block>b{
  margin-bottom:5px;
  color:color-mix(in srgb,var(--accent) 44%,#75828A);
}

.registry-detail-block p,
.registry-mini-list{
  font-size:12px;
  line-height:1.55;
}

.registry-brief{
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent 58%),
    rgba(255,255,255,.82);
}

.registry-brief p{
  color:#3F4D56;
  font-size:13px;
  font-weight:720;
}

.registry-contact .row-copy{
  margin-top:7px;
}

.registry-score-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:4px 9px;
  align-items:center;
}

.registry-score-card>b{
  grid-column:1 / -1;
}

.registry-score-card strong{
  color:var(--accent);
  font-family:var(--num);
  font-size:29px;
  line-height:1;
  font-weight:880;
}

.registry-score-card span{
  color:#64717A;
  font-size:11.5px;
  line-height:1.45;
}

.registry-signals{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:6px;
}

.registry-signal{
  min-width:0;
  padding:7px 8px;
  border-radius:8px;
  background:color-mix(in srgb,var(--accent) 6%,#F4F7F5);
}

.registry-signal b,
.registry-signal em{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.registry-signal b{
  color:#8A969E;
  font-family:var(--num);
  font-size:9.5px;
  font-weight:900;
}

.registry-signal em{
  margin-top:3px;
  color:#53616A;
  font-size:11.5px;
  font-style:normal;
  font-weight:720;
}

.registry-row-tags{
  margin-top:8px;
  padding-top:8px;
  border-top:1px dashed color-mix(in srgb,var(--accent) 18%,rgba(16,24,32,.1));
}

.registry-list .tag{
  min-height:22px;
  padding:4px 7px;
}

.registry-list .facts{
  gap:6px;
}

.registry-list .facts .fact{
  min-height:0;
  padding:7px 8px;
}

.registry-list .school-wx-card{
  padding:10px;
}

@media(max-width:1180px){
  .registry-detail-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .registry-detail-block.span3{
    grid-column:1 / -1;
  }
  .registry-signals{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:820px){
  .registry-row summary{
    min-height:0;
    grid-template-columns:44px minmax(0,1fr) 66px;
    padding:10px;
  }
  .registry-row-preview span:nth-child(n+4){
    display:none;
  }
  .registry-row-detail{
    padding:9px 10px 11px;
  }
  .registry-detail-grid{
    grid-template-columns:1fr;
  }
  .registry-detail-block.span2,
  .registry-detail-block.span3{
    grid-column:auto;
  }
  .registry-signals{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* list-mode-clean-20260627: cleaner directory table after visual review. */
.toolbar-card{
  border-color:#E1E5E2;
  background:#FFFFFF;
  box-shadow:0 14px 34px -32px rgba(16,24,32,.24);
}

.sort-control,
.view-toggle{
  border-color:#DDE4E1;
  background:#FFFFFF;
  box-shadow:none;
}

.view-btn.on,
.chip.on{
  background:#003F3D;
}

.chip{
  border-color:#DCE2DF;
  background:#FFFFFF;
  color:#53626B;
}

.chip:hover{
  background:#F6F8F7;
}

.grid.registry-list,
.club-guide-grid.registry-list,
.school-grid.registry-list,
.salons.registry-list{
  gap:9px;
}

.registry-row{
  border:1px solid #DDE4E1;
  border-left:0;
  background:#FFFFFF;
  box-shadow:none;
}

.registry-row::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:#C8D3D0;
}

.registry-row[open]{
  border-color:#C8D3D0;
  background:#FFFFFF;
  box-shadow:0 18px 42px -38px rgba(12,28,30,.28);
}

.registry-row[open]::before{
  background:#004A47;
}

.registry-row summary{
  min-height:78px;
  grid-template-columns:52px minmax(0,1fr) 88px 78px 56px;
  gap:14px;
  padding:13px 16px;
}

.registry-row summary:hover{
  background:#FAFBF9;
}

.registry-row-no{
  width:38px;
  height:38px;
  border-color:#D7E1DE;
  background:#FFFFFF;
  color:#00615D;
}

.registry-row-main{
  gap:3px;
}

.registry-row-main b{
  color:#141C23;
  font-size:21px;
}

.registry-row-main em{
  color:#6F7B84;
  font-size:12px;
  font-weight:680;
}

.registry-row-preview{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  margin-top:4px;
  color:#64717A;
  font-style:normal;
}

.registry-row-preview span{
  max-width:230px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#50616A;
  font-size:11px;
  font-weight:720;
}

.registry-row-preview span+span::before{
  content:"·";
  margin:0 7px;
  color:#A4AEAC;
  font-weight:700;
}

.registry-row-metric{
  min-width:0;
  padding:7px 9px;
  border-color:#E2E7E4;
  background:#FFFFFF;
  color:#77828A;
  box-shadow:none;
}

.registry-row-metric b{
  color:#18232C;
  font-size:18px;
}

.registry-row-cue{
  color:#00615D;
}

.registry-row-detail{
  padding:12px 16px 15px 70px;
  border-top-color:#E6EAE7;
  background:#FAFBF9;
}

.registry-detail-grid{
  grid-template-columns:minmax(0,1.1fr) minmax(240px,.74fr) minmax(210px,.58fr);
  gap:8px;
}

.registry-detail-block{
  padding:10px 11px;
  border-color:#E3E8E5;
  background:#FFFFFF;
  box-shadow:none;
}

.registry-detail-block>b{
  color:#75828A;
}

.registry-brief{
  background:#FFFFFF;
}

.registry-brief p{
  color:#354550;
  font-weight:680;
}

.registry-score-card strong{
  color:#005E5A;
}

.registry-signals{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:6px;
}

.registry-signal{
  border:1px solid #E1E7E4;
  background:#F7F9F8;
}

.registry-signal b{
  color:#7B878F;
}

.registry-signal em{
  color:#40505A;
}

.registry-row-tags{
  margin-top:9px;
  padding-top:9px;
  border-top:1px solid #E5EAE7;
}

.registry-list .tag,
.registry-pill-line span{
  min-height:20px;
  padding:3px 6px;
  border-color:#DFE5E2;
  background:#FFFFFF;
  color:#5C6870;
  font-size:10.5px;
  font-weight:690;
}

.registry-list .school-wx-card{
  border-color:#E0E6E3;
  background:#FFFFFF;
}

@media(max-width:820px){
  .registry-row summary{
    grid-template-columns:44px minmax(0,1fr) 58px;
    gap:9px;
    padding:11px;
  }
  .registry-row-main b{
    font-size:18px;
  }
  .registry-row-preview{
    gap:0;
  }
  .registry-row-preview span{
    max-width:100%;
  }
  .registry-row-detail{
    padding:10px 11px 12px;
  }
  .registry-detail-grid,
  .registry-signals{
    grid-template-columns:1fr;
  }
}

/* list-mode-balance-20260627: rebalance expanded community dossiers. */
.community-row .registry-rich-grid{
  grid-template-columns:repeat(12,minmax(0,1fr));
  align-items:stretch;
}

.community-row .registry-brief{
  grid-column:1 / span 6;
}

.community-row .registry-contact{
  grid-column:7 / span 3;
}

.community-row .registry-score-card{
  grid-column:10 / span 3;
}

.community-row .registry-detail-block.span3{
  grid-column:1 / span 4;
}

.community-row .registry-detail-block.span2{
  grid-column:5 / span 5;
}

.community-row .registry-rich-grid>.registry-detail-block:last-child{
  grid-column:10 / span 3;
}

.community-row .registry-signals{
  grid-template-columns:1fr;
  gap:5px;
}

.community-row .registry-signal{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:8px;
  align-items:baseline;
  padding:6px 8px;
}

.community-row .registry-signal em{
  margin-top:0;
}

.community-row .registry-row-tags{
  display:none;
}

@media(max-width:1180px){
  .community-row .registry-rich-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .community-row .registry-brief,
  .community-row .registry-contact,
  .community-row .registry-score-card,
  .community-row .registry-detail-block.span3,
  .community-row .registry-detail-block.span2,
  .community-row .registry-rich-grid>.registry-detail-block:last-child{
    grid-column:auto;
  }
  .community-row .registry-brief,
  .community-row .registry-detail-block.span3{
    grid-column:1 / -1;
  }
  .community-row .registry-signals{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:820px){
  .community-row .registry-rich-grid,
  .community-row .registry-signals{
    grid-template-columns:1fr;
  }
  .community-row .registry-brief,
  .community-row .registry-contact,
  .community-row .registry-score-card,
  .community-row .registry-detail-block.span3,
  .community-row .registry-detail-block.span2,
  .community-row .registry-rich-grid>.registry-detail-block:last-child{
    grid-column:auto;
  }
}

/* list-mode-cardlike-20260627: align list rows with the cleaner card visual system. */
.registry-row{
  border-color:#D7E3DF;
  border-radius:8px;
}

.registry-row::before{
  left:0;
  right:0;
  top:0;
  bottom:auto;
  width:auto;
  height:3px;
  opacity:.58;
  background:var(--accent);
}

.registry-row summary{
  min-height:104px;
  grid-template-columns:58px minmax(0,1fr) 92px 82px 58px;
  align-items:center;
  padding:17px 18px 15px;
}

.registry-row-no{
  align-self:start;
  margin-top:4px;
}

.registry-row-main b{
  font-size:23px;
  line-height:1.18;
}

.registry-row-desc{
  display:block;
  max-width:52em;
  margin-top:7px;
  color:#46565F;
  font-family:var(--sans);
  font-size:13px;
  line-height:1.55;
  font-weight:620;
}

.registry-row-preview{
  margin-top:8px;
}

.registry-row-preview span{
  padding:3px 7px;
  border:1px solid #DDE5E2;
  border-radius:6px;
  background:#FFFFFF;
  color:#52636C;
  font-size:10.5px;
}

.registry-row-preview span+span::before{
  content:"";
  margin:0;
}

.registry-row-metric{
  min-height:58px;
  display:grid;
  align-content:center;
}

.registry-row-detail{
  padding:13px 16px 16px 74px;
  background:#FFFFFF;
}

.community-row .registry-brief,
.community-row .registry-score-card{
  display:none;
}

.community-row .registry-rich-grid{
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:auto auto;
  gap:9px;
}

.community-row .registry-detail-block.span3{
  grid-column:1 / span 4;
  grid-row:1 / span 2;
}

.community-row .registry-detail-block.span2{
  grid-column:5 / span 5;
  grid-row:1 / span 2;
}

.community-row .registry-contact{
  grid-column:10 / span 3;
  grid-row:1;
}

.community-row .registry-rich-grid>.registry-detail-block:last-child{
  grid-column:10 / span 3;
  grid-row:2;
}

.community-row .registry-detail-block{
  min-height:0;
}

.community-row .registry-signals{
  grid-template-columns:1fr;
}

@media(max-width:1180px){
  .community-row .registry-rich-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:auto;
  }
  .community-row .registry-detail-block.span3,
  .community-row .registry-detail-block.span2,
  .community-row .registry-contact,
  .community-row .registry-rich-grid>.registry-detail-block:last-child{
    grid-column:auto;
    grid-row:auto;
  }
  .community-row .registry-detail-block.span2{
    grid-column:1 / -1;
  }
}

@media(max-width:820px){
  .registry-row summary{
    min-height:0;
    grid-template-columns:44px minmax(0,1fr) 58px;
    padding:12px;
  }
  .registry-row-desc{
    font-size:12.5px;
  }
  .registry-row-preview span:nth-child(n+4){
    display:none;
  }
  .registry-row-detail{
    padding:10px 12px 12px;
  }
  .community-row .registry-rich-grid{
    grid-template-columns:1fr;
  }
  .community-row .registry-detail-block.span2{
    grid-column:auto;
  }
}

/* list-mode-cardtone-20260627: make list rows read like compact registry cards. */
.registry-row{
  border:1px solid #CFE0DC;
  border-radius:8px;
  overflow:hidden;
  background:
    linear-gradient(90deg,color-mix(in srgb,var(--accent) 5%,#FFFFFF),#FFFFFF 30%),
    #FFFFFF;
}

.registry-row[open]{
  border-color:color-mix(in srgb,var(--accent) 34%,#CFE0DC);
  box-shadow:0 18px 46px -42px rgba(5,34,34,.38);
}

.registry-row::before{
  height:3px;
  opacity:.68;
}

.registry-row summary{
  min-height:118px;
  grid-template-columns:42px minmax(0,1fr) 94px 78px 62px;
  gap:16px;
  padding:19px 20px 16px;
  background:
    radial-gradient(circle at 92% 8%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 32%),
    linear-gradient(180deg,#FFFFFF,#FDFEFC);
}

.registry-row summary:hover{
  background:
    radial-gradient(circle at 92% 8%,color-mix(in srgb,var(--accent) 11%,transparent),transparent 32%),
    linear-gradient(180deg,#FFFFFF,#FBFCFA);
}

.registry-row[open] summary{
  border-bottom:1px solid #E5ECE8;
}

.registry-row-no{
  width:auto;
  height:auto;
  margin-top:3px;
  border:0;
  background:transparent;
  color:color-mix(in srgb,var(--accent) 82%,#153234);
  font-size:14px;
  letter-spacing:0;
}

.registry-row-main{
  gap:0;
}

.registry-row-main b{
  color:#121B22;
  font-size:24px;
  line-height:1.16;
}

.registry-row-main em{
  margin-top:6px;
  color:#74818A;
  font-size:12.5px;
  font-weight:760;
}

.registry-row-desc{
  max-width:58em;
  margin-top:8px;
  color:#43525B;
  font-size:13.5px;
  line-height:1.5;
  font-weight:660;
}

.registry-row-preview{
  gap:6px;
  margin-top:9px;
}

.registry-row-preview span{
  max-width:240px;
  padding:3px 7px;
  border:1px solid color-mix(in srgb,var(--accent) 22%,#DDE5E2);
  border-radius:6px;
  background:color-mix(in srgb,var(--accent) 6%,#FFFFFF);
  color:color-mix(in srgb,var(--accent) 58%,#51616A);
  font-size:10.5px;
  font-weight:780;
}

.registry-row-preview span+span::before{
  content:"";
  margin:0;
}

.registry-row-metric{
  min-height:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  justify-items:end;
  text-align:right;
}

.registry-row-metric b{
  font-size:30px;
  letter-spacing:0;
}

.registry-row-metric.secondary b{
  color:color-mix(in srgb,var(--accent) 70%,#14202A);
  font-size:24px;
}

.registry-row-metric em{
  margin-top:7px;
  color:#7C878F;
  font-size:11px;
}

.registry-row-cue{
  align-self:center;
  color:color-mix(in srgb,var(--accent) 88%,#132D2E);
}

.registry-row-detail{
  padding:14px 18px 18px 80px;
  border-top:0;
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--accent) 4%,#FFFFFF),#FFFFFF 52%);
}

.community-row .registry-rich-grid{
  display:grid;
  grid-template-columns:minmax(250px,.82fr) minmax(0,1.35fr) minmax(260px,.88fr);
  gap:10px;
}

.community-row .registry-detail-block.span3,
.community-row .registry-detail-block.span2,
.community-row .registry-contact,
.community-row .registry-rich-grid>.registry-detail-block:last-child{
  grid-column:auto;
  grid-row:auto;
}

.community-row .registry-detail-block.span3{
  grid-column:1;
  grid-row:1 / span 2;
}

.community-row .registry-detail-block.span2{
  grid-column:2;
  grid-row:1 / span 2;
}

.community-row .registry-contact{
  grid-column:3;
  grid-row:1;
}

.community-row .registry-rich-grid>.registry-detail-block:last-child{
  grid-column:3;
  grid-row:2;
}

.community-row .registry-detail-block{
  padding:12px 13px;
  border-color:#DFE8E4;
  background:#FFFFFF;
}

.community-row .registry-detail-block>b{
  margin-bottom:8px;
  color:color-mix(in srgb,var(--accent) 52%,#6F7D84);
  font-size:10.5px;
}

.community-row .registry-detail-block p{
  color:#52616A;
  font-size:12.5px;
  line-height:1.68;
}

.community-row .registry-signals{
  grid-template-columns:1fr;
  gap:7px;
}

.community-row .registry-signal{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-height:34px;
  padding:7px 9px;
  border-color:transparent;
  background:color-mix(in srgb,var(--accent) 7%,#F7FAF8);
}

.community-row .registry-signal em{
  margin-top:0;
}

@media(max-width:1180px){
  .community-row .registry-rich-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .community-row .registry-detail-block.span3,
  .community-row .registry-detail-block.span2,
  .community-row .registry-contact,
  .community-row .registry-rich-grid>.registry-detail-block:last-child{
    grid-column:auto;
    grid-row:auto;
  }
  .community-row .registry-detail-block.span2{
    grid-column:1 / -1;
  }
}

@media(max-width:820px){
  .registry-row summary{
    min-height:0;
    grid-template-columns:36px minmax(0,1fr) 54px;
    gap:10px;
    padding:14px 12px;
  }
  .registry-row-main b{
    font-size:19px;
  }
  .registry-row-desc{
    font-size:12.5px;
  }
  .registry-row-preview span:nth-child(n+4){
    display:none;
  }
  .registry-row-metric.primary{
    align-self:start;
  }
  .registry-row-metric b{
    font-size:22px;
  }
  .registry-row-cue{
    grid-column:3;
    grid-row:2;
    justify-self:end;
  }
  .registry-row-detail{
    padding:11px 12px 13px;
  }
  .community-row .registry-rich-grid{
    grid-template-columns:1fr;
  }
  .community-row .registry-detail-block.span2{
    grid-column:auto;
  }
}

/* list-mode-airtext-20260627: fresher type, lighter emphasis, no clipped data. */
.registry-list,
.registry-row{
  --list-sans:"Avenir Next","HarmonyOS Sans SC","MiSans","PingFang SC","Hiragino Sans GB","Noto Sans SC",sans-serif;
  font-family:var(--list-sans);
}

.grid.registry-list,
.club-guide-grid.registry-list,
.school-grid.registry-list,
.salons.registry-list{
  gap:8px;
}

.registry-row summary{
  min-height:96px;
  grid-template-columns:38px minmax(0,1fr) 78px 66px 58px;
  gap:14px;
  padding:14px 18px 13px;
}

.registry-row-no{
  margin-top:2px;
  font-size:13px;
  font-weight:560;
}

.registry-row-main b{
  max-width:none;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  color:#172029;
  font-family:var(--list-sans);
  font-size:21px;
  line-height:1.22;
  font-weight:620;
}

.registry-row-main em{
  margin-top:4px;
  color:#70808A;
  font-size:12px;
  line-height:1.35;
  font-weight:460;
}

.registry-row-desc{
  max-width:68em;
  margin-top:5px;
  color:#43525B;
  font-size:13px;
  line-height:1.42;
  font-weight:430;
}

.registry-row-preview{
  gap:5px;
  margin-top:7px;
}

.registry-row-preview span{
  max-width:none;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  padding:2px 6px;
  color:color-mix(in srgb,var(--accent) 50%,#53636C);
  font-size:10.5px;
  line-height:1.25;
  font-weight:500;
}

.registry-row-metric{
  align-content:center;
}

.registry-row-metric b{
  font-family:var(--list-sans);
  font-size:26px;
  line-height:1;
  font-weight:560;
}

.registry-row-metric.secondary b{
  font-size:20px;
  font-weight:560;
}

.registry-row-metric em{
  margin-top:5px;
  font-size:10.5px;
  font-weight:420;
}

.registry-row-cue{
  font-size:12px;
  font-weight:560;
}

.registry-row-detail{
  padding:11px 16px 15px 74px;
}

.community-row .registry-rich-grid{
  grid-template-columns:minmax(260px,.86fr) minmax(0,1.02fr) minmax(260px,.86fr);
  grid-template-rows:auto auto;
  gap:9px;
}

.community-row .registry-detail-block.span3{
  grid-column:1;
  grid-row:1 / span 2;
}

.community-row .registry-detail-block.span2{
  grid-column:2 / span 2;
  grid-row:1;
}

.community-row .registry-contact{
  grid-column:2;
  grid-row:2;
}

.community-row .registry-rich-grid>.registry-detail-block:last-child{
  grid-column:3;
  grid-row:2;
}

.community-row .registry-detail-block{
  padding:10px 11px;
}

.community-row .registry-detail-block>b{
  margin-bottom:6px;
  font-size:10.5px;
  font-weight:620;
}

.community-row .registry-detail-block p{
  font-size:12.5px;
  line-height:1.58;
  font-weight:400;
}

.community-row .registry-signal{
  grid-template-columns:38px minmax(0,1fr);
  gap:8px;
  min-height:0;
  padding:6px 8px;
}

.community-row .registry-signal b,
.community-row .registry-signal em,
.registry-signal b,
.registry-signal em{
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
}

.community-row .registry-signal b{
  font-size:10px;
  font-weight:520;
}

.community-row .registry-signal em{
  color:#42525B;
  font-size:11.5px;
  line-height:1.34;
  font-weight:520;
}

.row-copy,
.registry-list .tag,
.registry-pill-line span{
  font-weight:500;
}

@media(max-width:1180px){
  .community-row .registry-rich-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .community-row .registry-detail-block.span3,
  .community-row .registry-detail-block.span2,
  .community-row .registry-contact,
  .community-row .registry-rich-grid>.registry-detail-block:last-child{
    grid-column:auto;
    grid-row:auto;
  }
  .community-row .registry-detail-block.span2{
    grid-column:1 / -1;
  }
}

@media(max-width:820px){
  .registry-row summary{
    grid-template-columns:32px minmax(0,1fr) 50px;
    gap:9px;
    padding:12px 11px;
  }
  .registry-row-main b{
    font-size:18px;
  }
  .registry-row-desc{
    font-size:12.5px;
  }
  .registry-row-preview span:nth-child(n+4){
    display:inline-flex;
  }
  .registry-row-metric b{
    font-size:21px;
  }
  .registry-row-detail{
    padding:10px 11px 12px;
  }
  .community-row .registry-rich-grid{
    grid-template-columns:1fr;
  }
  .community-row .registry-detail-block.span2{
    grid-column:auto;
  }
}

/* nav-gutter-20260628: keep the navigation content away from viewport edges. */
.nav .wrap{
  width:min(calc(100% - clamp(88px,7vw,168px)),1880px);
}

@media(max-width:980px){
  .nav .wrap{
    width:min(calc(100% - 40px),var(--pagew));
  }
}

@media(max-width:680px){
.nav .wrap{
    width:calc(100% - 28px);
  }
}

/* salon-dossier-art-20260628: use posters as attachments, not hero artwork. */
.salon-dossier-visual{
  display:grid;
  grid-template-columns:minmax(86px,126px) minmax(0,1fr);
  gap:16px;
  align-items:center;
  padding:18px 18px 16px;
  border-bottom:1px solid rgba(16,24,32,.07);
  background:
    radial-gradient(circle at 18% 18%,color-mix(in srgb,var(--salon-accent,#0B8F6B) 18%,transparent),transparent 38%),
    linear-gradient(135deg,color-mix(in srgb,var(--salon-accent,#0B8F6B) 11%,#FFFDF7),#FFFFFF 58%,color-mix(in srgb,var(--salon-accent-2,#2463EB) 10%,#F8FAF7));
}

.salon-dossier-symbol{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--salon-accent,#0B8F6B) 32%,rgba(255,255,255,.88));
  border-radius:8px;
  background:linear-gradient(145deg,var(--salon-accent,#0B8F6B),var(--salon-accent-2,#2463EB));
  color:#FFFDF7;
  font-family:"Songti SC","Noto Serif CJK SC",serif;
  font-size:28px;
  font-weight:820;
  box-shadow:0 16px 34px -28px color-mix(in srgb,var(--salon-accent,#0B8F6B) 75%,#071F24);
}

.salon-dossier-symbol.is-wordmark{
  width:100%;
  min-width:0;
  height:64px;
  padding:8px;
  background:rgba(255,255,255,.72);
}

.salon-dossier-symbol.is-wordmark img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

.salon-dossier-visual-copy{
  min-width:0;
}

.salon-dossier-visual-copy span{
  display:block;
  color:var(--salon-accent,#0B8F6B);
  font-size:11px;
  font-weight:900;
}

.salon-dossier-visual-copy b{
  display:block;
  margin-top:3px;
  color:#17212A;
  font-size:23px;
  line-height:1.12;
  font-weight:860;
}

.salon-dossier-latest{
  display:block;
  margin-top:7px;
}

.salon-dossier-latest strong{
  display:inline-flex;
  margin-bottom:5px;
  padding:2px 6px;
  border:1px solid color-mix(in srgb,var(--salon-accent,#0B8F6B) 22%,rgba(16,24,32,.1));
  border-radius:5px;
  color:var(--salon-accent,#0B8F6B);
  background:rgba(255,255,255,.6);
  font-family:var(--mono);
  font-size:9.5px;
  line-height:1.3;
  font-weight:900;
}

.salon-dossier-latest em{
  display:block;
  color:#56646D;
  font-size:12px;
  font-style:normal;
  line-height:1.45;
}

.salon-dossier-latest small{
  display:block;
  margin-top:3px;
  color:#87929A;
  font-family:var(--mono);
  font-size:10px;
  line-height:1.35;
}

.period-poster img{
  height:clamp(220px,28vw,420px);
  opacity:.88;
  object-fit:cover;
  object-position:center top;
  filter:saturate(.86);
}

.period-poster:hover img{
  opacity:1;
  filter:none;
}

.period-poster span{
  padding:7px 9px;
  background:#FFFFFF;
}

@media(max-width:680px){
  .salon-dossier-visual{
    grid-template-columns:1fr;
    padding:15px;
  }

  .salon-dossier-symbol{
    width:50px;
    height:50px;
    font-size:24px;
  }

  .salon-dossier-symbol.is-wordmark{
    width:min(180px,100%);
  }

  .salon-dossier-visual-copy b{
    font-size:21px;
  }

  .period-poster img{
    height:260px;
  }
}

/* school-list-polish-20260628: keep school org rows scannable, especially when no WeChat group is attached. */
.school-row.no-community{
  border-left-color:color-mix(in srgb,var(--accent) 34%,#D8D1C1);
  background:linear-gradient(180deg,#FFFFFF,#FEFDF9);
}

.school-row.no-community summary{
  grid-template-columns:38px minmax(0,1fr) 86px 58px;
}

.school-row.no-community .registry-row-main b{
  font-size:20px;
}

.school-row.no-community .registry-row-status{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  padding:0 10px;
  border:1px solid color-mix(in srgb,var(--accent) 22%,rgba(16,24,32,.08));
  border-radius:999px;
  background:color-mix(in srgb,var(--accent) 7%,#FFFFFF);
  color:color-mix(in srgb,var(--accent) 68%,#5D6870);
  font-size:11px;
  font-weight:680;
  white-space:nowrap;
}

.school-row.no-community .registry-row-preview span:last-child{
  color:#7C858C;
}

.school-row-detail{
  padding:10px 18px 16px 74px;
}

.school-detail-lines{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);
  gap:8px;
}

.school-line{
  min-width:0;
  min-height:0;
  padding:10px 12px;
  border:1px solid rgba(16,24,32,.07);
  border-radius:9px;
  background:rgba(247,249,246,.68);
}

.school-line.span2{
  grid-column:1 / -1;
}

.school-line b{
  display:block;
  margin-bottom:4px;
  color:#8C969C;
  font-family:var(--list-sans,"PingFang SC",sans-serif);
  font-size:11px;
  line-height:1.2;
  font-weight:680;
}

.school-line p{
  margin:0;
  color:#4E5E67;
  font-size:12.5px;
  line-height:1.58;
  font-weight:430;
}

.school-line .school-contact-list{
  margin-top:4px;
}

.school-row-detail .registry-row-tags{
  margin-top:9px;
}

.school-row-detail .registry-nested-list{
  margin-top:10px;
}

.school-muted-note{
  margin:9px 0 0;
  padding:8px 10px;
  border:1px dashed rgba(16,24,32,.12);
  border-radius:8px;
  color:#849097;
  font-size:12px;
  line-height:1.5;
}

.school-row.no-community .school-row-detail .registry-row-tags{
  opacity:.82;
}

.school-line .school-contact-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:6px;
  margin:4px 0 0;
}

.school-line .club-contact{
  min-height:32px;
  padding:6px 8px;
  border:1px solid rgba(16,24,32,.07);
  border-radius:8px;
  background:rgba(255,255,255,.74);
  font-size:12px;
}

.school-line .club-contact:first-child{
  border-top:1px solid rgba(16,24,32,.07);
}

.school-line .club-contact span{
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.school-line .mini-copy{
  min-height:24px;
  padding:0 8px;
  font-size:11px;
}

.school-row .school-wx-details{
  overflow:hidden;
  border:1px solid rgba(16,24,32,.07);
  border-radius:8px;
  background:rgba(247,249,248,.78);
}

.school-row .school-wx-details > summary{
  min-height:30px;
  display:flex;
  grid-template-columns:none;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:6px 8px;
  border:0;
  background:transparent;
  box-shadow:none;
  color:#69757D;
  font-size:11.5px;
  line-height:1.2;
  font-weight:680;
}

.school-row .school-wx-details > summary:hover{
  background:rgba(16,24,32,.025);
}

.school-row .school-wx-details[open] > summary{
  border-bottom:1px solid rgba(16,24,32,.07);
}

.school-row .school-wx-detail{
  padding:8px 9px;
}

@media(max-width:820px){
  .school-row.no-community summary{
    grid-template-columns:32px minmax(0,1fr) 62px;
  }

  .school-row.no-community .registry-row-status{
    grid-column:3;
    grid-row:1;
    min-height:26px;
    padding:0 8px;
  }

  .school-row.no-community .registry-row-cue{
    grid-column:3;
    grid-row:2;
  }

  .school-row-detail{
    padding:10px 11px 12px;
  }

  .school-detail-lines{
    grid-template-columns:1fr;
  }

  .school-line.span2{
    grid-column:auto;
  }
}

/* student-salon-highlight-20260628: give the student salon entry a quiet spotlight. */
body:has(.home-atlas) .entry.entry-salon{
  --gc:#B4832A;
  min-height:218px;
  border-color:rgba(180,131,42,.3);
  background:
    linear-gradient(115deg,rgba(180,131,42,.18),transparent 26%),
    radial-gradient(circle at 82% 18%,rgba(176,31,46,.12),transparent 34%),
    linear-gradient(145deg,rgba(255,253,247,.96),rgba(255,255,255,.84));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    0 30px 76px -58px rgba(143,61,24,.48);
}

body:has(.home-atlas) .entry.entry-salon::before{
  border-color:rgba(180,131,42,.22);
}

body:has(.home-atlas) .entry.entry-salon .entry-no{
  width:max-content;
  padding:4px 9px;
  border:1px solid rgba(180,131,42,.26);
  border-radius:999px;
  background:rgba(180,131,42,.1);
  color:#835414;
}

body:has(.home-atlas) .entry.entry-salon h3::after{
  content:"";
  display:inline-block;
  width:34px;
  height:2px;
  margin-left:10px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--gold),var(--red));
  vertical-align:middle;
}

body:has(.home-atlas) .atlas-node.atlas-salon{
  border-color:rgba(180,131,42,.38);
  background:
    linear-gradient(135deg,rgba(180,131,42,.18),rgba(255,253,247,.92) 58%,rgba(176,31,46,.09));
  color:#6F4310;
  box-shadow:0 18px 46px -34px rgba(143,61,24,.72);
}

body:has(.home-atlas) .atlas-node.atlas-salon::after{
  content:"";
  position:absolute;
  top:8px;
  right:9px;
  width:7px;
  height:7px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--gold),var(--red));
  box-shadow:0 0 0 4px rgba(180,131,42,.12);
}

@media(max-width:680px){
  body:has(.home-atlas) .entry.entry-salon h3::after{
    width:26px;
    margin-left:8px;
  }

  .nav .wrap .nav-links{
    display:grid !important;
    flex:0 0 calc(100vw - 32px) !important;
    width:calc(100vw - 32px) !important;
    max-width:calc(100vw - 32px) !important;
    min-width:0 !important;
    margin-left:0 !important;
    justify-content:stretch !important;
    justify-items:center;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    overflow:visible !important;
    gap:4px;
  }

  .nav .wrap .nav-links a{
    min-width:0 !important;
    justify-content:center;
    padding:7px 6px;
    font-size:12px;
  }

  .nav .wrap .nav-links a.nav-feature{
    grid-column:1 / -1 !important;
    justify-self:center;
    min-width:152px;
    margin-left:0;
  }

  .nav .wrap .nav-links a.nav-feature::after{
    width:5px;
    height:5px;
    margin-left:5px;
  }
}

/* school-list-compact-20260628c: final override for the school directory list. */
.school-grid.registry-list{
  gap:7px;
}

.school-grid.registry-list .school-row{
  border-left-width:3px;
  border-radius:7px;
  background:rgba(255,255,255,.96);
  box-shadow:none;
}

.school-grid.registry-list .school-row[open]{
  box-shadow:0 18px 44px -40px rgba(16,24,32,.34);
}

.school-grid.registry-list .school-row > summary{
  min-height:66px;
  padding:10px 16px 10px 14px;
  gap:12px;
}

.school-grid.registry-list .school-row .registry-row-no{
  width:32px;
  height:32px;
  border:0;
  background:transparent;
  font-size:12px;
}

.school-grid.registry-list .school-row .registry-row-main{
  gap:3px;
}

.school-grid.registry-list .school-row .registry-row-main b{
  font-family:var(--list-sans,"PingFang SC",sans-serif);
  font-size:19px;
  line-height:1.22;
  font-weight:720;
  letter-spacing:0;
}

.school-grid.registry-list .school-row .registry-row-main em{
  margin:0;
  color:#7B8790;
  font-size:11.5px;
  line-height:1.25;
  font-weight:560;
}

.school-grid.registry-list .school-row .registry-row-preview{
  gap:4px;
  margin-top:4px;
}

.school-grid.registry-list .school-row .registry-row-preview span{
  min-height:18px;
  padding:1px 6px;
  border-radius:6px;
  font-size:10px;
  line-height:1.2;
  font-weight:520;
}

.school-grid.registry-list .school-row .registry-row-metric{
  min-width:54px;
  padding:0;
  border:0;
  background:transparent;
  text-align:center;
}

.school-grid.registry-list .school-row .registry-row-metric b{
  font-size:20px;
  line-height:1;
  font-weight:640;
}

.school-grid.registry-list .school-row .registry-row-metric em{
  margin-top:2px;
  font-size:10px;
}

.school-grid.registry-list .school-row:not(.has-community) > summary,
.school-grid.registry-list .school-row.no-community > summary{
  grid-template-columns:38px minmax(0,1fr) 48px;
}

.school-grid.registry-list .school-row:not(.has-community) .registry-row-metric,
.school-grid.registry-list .school-row.no-community .registry-row-metric{
  display:none !important;
}

.school-grid.registry-list .school-row:not(.has-community) .registry-row-status,
.school-grid.registry-list .school-row.no-community .registry-row-status{
  display:none;
}

.school-grid.registry-list .school-row:not(.has-community) .registry-row-cue,
.school-grid.registry-list .school-row.no-community .registry-row-cue{
  grid-column:3;
}

.school-grid.registry-list .school-row .registry-row-cue{
  color:color-mix(in srgb,var(--accent) 70%,#52616A);
  font-size:11.5px;
  font-weight:650;
}

.school-grid.registry-list .school-row .registry-row-detail,
.school-grid.registry-list .school-row .school-row-detail{
  padding:0 16px 14px 66px;
  border-top:1px solid rgba(16,24,32,.06);
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(250,250,246,.58));
}

.school-grid.registry-list .school-row .registry-detail-grid,
.school-grid.registry-list .school-row .school-detail-lines{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);
  gap:0 18px;
  padding-top:10px;
}

.school-grid.registry-list .school-row .registry-detail-block,
.school-grid.registry-list .school-row .school-line{
  min-width:0;
  min-height:0;
  padding:8px 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.school-grid.registry-list .school-row .registry-detail-block + .registry-detail-block,
.school-grid.registry-list .school-row .school-line + .school-line{
  border-top:1px solid rgba(16,24,32,.055);
}

.school-grid.registry-list .school-row .registry-detail-block.span2,
.school-grid.registry-list .school-row .school-line.span2{
  grid-column:1 / -1;
}

.school-grid.registry-list .school-row .registry-detail-block > b,
.school-grid.registry-list .school-row .school-line > b{
  margin:0 0 3px;
  color:#909AA1;
  font-family:var(--list-sans,"PingFang SC",sans-serif);
  font-size:11px;
  line-height:1.2;
  font-weight:680;
}

.school-grid.registry-list .school-row .registry-detail-block p,
.school-grid.registry-list .school-row .school-line p{
  margin:0;
  color:#4E5C65;
  font-size:12.5px;
  line-height:1.52;
  font-weight:430;
}

.school-grid.registry-list .school-row:not(.has-community) .registry-row-tags,
.school-grid.registry-list .school-row.no-community .registry-row-tags,
.school-grid.registry-list .school-row:not(.has-community) .school-muted-note,
.school-grid.registry-list .school-row.no-community .school-muted-note{
  display:none !important;
}

.school-grid.registry-list .school-row .school-contact-list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:4px 0 0;
}

.school-grid.registry-list .school-row .school-contact-list .club-contact{
  flex:1 1 260px;
  min-height:28px;
  padding:5px 7px;
  border:1px solid rgba(16,24,32,.065);
  border-radius:7px;
  background:rgba(255,255,255,.62);
  font-size:11.5px;
}

.school-grid.registry-list .school-row .school-contact-list .mini-copy{
  min-height:22px;
  padding:0 8px;
  font-size:10.5px;
}

.school-grid.registry-list .school-row .registry-nested-list{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(16,24,32,.06);
}

.school-grid.registry-list .school-row .school-wx-card{
  gap:6px;
  padding:9px 10px;
  border-radius:7px;
  background:#FFFFFF;
}

.school-grid.registry-list .school-row .school-wx-details > summary{
  min-height:28px;
  padding:5px 7px;
}

@media(max-width:820px){
  .school-grid.registry-list .school-row > summary{
    grid-template-columns:34px minmax(0,1fr) 42px;
    min-height:64px;
    padding:10px 11px;
  }

  .school-grid.registry-list .school-row .registry-row-main b{
    font-size:18px;
  }

  .school-grid.registry-list .school-row .registry-row-metric.secondary{
    display:none;
  }

  .school-grid.registry-list .school-row .registry-row-detail,
  .school-grid.registry-list .school-row .school-row-detail{
    padding:0 11px 12px;
  }

  .school-grid.registry-list .school-row .registry-detail-grid,
  .school-grid.registry-list .school-row .school-detail-lines{
    grid-template-columns:1fr;
    gap:0;
  }

  .school-grid.registry-list .school-row .registry-detail-block.span2,
  .school-grid.registry-list .school-row .school-line.span2{
    grid-column:auto;
  }
}

/* school-zero-fix-20260628d: selector widened for the live /schools grid and stale row markup. */
.school-page #grid.registry-list .school-row{
  border-left-width:3px;
  border-radius:7px;
  box-shadow:none;
}

.school-page #grid.registry-list .school-row > summary{
  min-height:66px;
  padding:10px 16px 10px 14px;
}

.school-page #grid.registry-list .school-row:not(.has-community) > summary,
.school-page #grid.registry-list .school-row.no-community > summary{
  grid-template-columns:38px minmax(0,1fr) 48px !important;
}

.school-page #grid.registry-list .school-row:not(.has-community) .registry-row-metric,
.school-page #grid.registry-list .school-row.no-community .registry-row-metric{
  display:none !important;
}

.school-page #grid.registry-list .school-row:not(.has-community) .registry-row-status,
.school-page #grid.registry-list .school-row.no-community .registry-row-status,
.school-page #grid.registry-list .school-row:not(.has-community) .school-empty-wx,
.school-page #grid.registry-list .school-row.no-community .school-empty-wx,
.school-page #grid.registry-list .school-row:not(.has-community) .school-muted-note,
.school-page #grid.registry-list .school-row.no-community .school-muted-note{
  display:none !important;
}

.school-page #grid.registry-list .school-row:not(.has-community) .registry-row-cue,
.school-page #grid.registry-list .school-row.no-community .registry-row-cue{
  grid-column:3 !important;
}

.school-page #grid.registry-list .school-row:not(.has-community) .registry-row-tags,
.school-page #grid.registry-list .school-row.no-community .registry-row-tags{
  display:none !important;
}

.school-page #grid .school-card:not(.has-community) .school-community-count,
.school-page #grid .school-card.no-community .school-community-count{
  display:none !important;
}

.school-page #grid.registry-list .school-row .registry-row-detail,
.school-page #grid.registry-list .school-row .school-row-detail{
  padding:0 16px 14px 66px;
  border-top:1px solid rgba(16,24,32,.06);
}

.school-page #grid.registry-list .school-row .registry-detail-grid,
.school-page #grid.registry-list .school-row .school-detail-lines{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);
  gap:0 18px;
}

.school-page #grid.registry-list .school-row .registry-detail-block,
.school-page #grid.registry-list .school-row .school-line{
  min-height:0;
  padding:8px 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

@media(max-width:820px){
  .school-page #grid.registry-list .school-row > summary{
    grid-template-columns:34px minmax(0,1fr) 42px;
    padding:10px 11px;
  }

  .school-page #grid.registry-list .school-row .registry-row-detail,
  .school-page #grid.registry-list .school-row .school-row-detail{
    padding:0 11px 12px;
  }

  .school-page #grid.registry-list .school-row .registry-detail-grid,
  .school-page #grid.registry-list .school-row .school-detail-lines{
    grid-template-columns:1fr;
    gap:0;
  }
}

/* nexus-slogan-short-20260628: short subtitle aligned with the wordmark. */
.brand-slogan{
  margin-left:41px;
  max-width:12em;
  color:#7A858C;
  font-size:10.8px;
  line-height:1.12;
  white-space:nowrap;
}

@media(max-width:680px){
  .brand-slogan{
    margin-left:41px;
    max-width:10em;
    font-size:10px;
  }
}

/* nexus-brand-grid-20260628: icon spans the two-line wordmark block. */
.brand-lockup{
  --brand-icon-box:48px;
  --brand-icon-gap:12px;
  position:relative;
  min-height:var(--brand-icon-box);
  justify-content:center;
  gap:2px;
  padding-left:calc(var(--brand-icon-box) + var(--brand-icon-gap));
}
.brand{
  position:static;
  gap:0;
}
.brand::before{
  position:absolute;
  left:0;
  top:50%;
  width:var(--brand-icon-box);
  height:var(--brand-icon-box);
  margin:0;
  border-radius:12px;
  transform:translateY(-50%);
}
.brand .en{
  width:86px;
  height:27px;
}
.brand .bar{
  height:20px;
  margin:0 4px 0 2px;
}
.brand .zh{
  width:26px;
  min-width:26px;
  height:31px;
}
.brand-slogan{
  margin-left:0;
  max-width:none;
  color:#7A858C;
  font-size:11.4px;
  font-weight:620;
  line-height:1.15;
}

@media(max-width:680px){
  .salon-groups-panel{
    padding:18px;
  }

  .salon-groups-head{
    grid-template-columns:1fr;
    gap:8px;
  }

  .salon-groups-grid{
    grid-template-columns:1fr;
  }

  .salon-group-full{
    max-width:none;
  }

  .salon-group-card{
    grid-template-columns:28px minmax(0,1fr);
  }

  .salon-group-side{
    grid-column:2;
    justify-items:start;
    grid-template-columns:auto auto auto;
    align-items:end;
    gap:6px 9px;
  }

  .salon-group-side a{
    grid-column:1 / -1;
    margin-top:2px;
  }

  .salon-group-foot{
    grid-column:1 / -1;
  }

  .brand-lockup{
    --brand-icon-box:45px;
    --brand-icon-gap:11px;
  }
  .brand .en{width:82px;height:26px}
  .brand .bar{height:19px;margin:0 4px 0 2px}
  .brand .zh{
    width:25px;
    min-width:25px;
    height:30px;
  }
  .brand-slogan{
    margin-left:0;
    font-size:10.6px;
  }
}

/* club-page-redesign-20260628: compact MBA club atlas with clearer hierarchy. */
body.club-page{
  --club-pagew:1540px;
  --club-ink:#111A20;
  --club-text:#34444B;
  --club-muted:#718087;
  --club-line:rgba(17,26,32,.105);
  --club-line-strong:rgba(17,26,32,.18);
  --club-paper:#FEFFFC;
  --club-surface:rgba(255,255,255,.88);
  --club-harbor:#006B61;
  --club-harbor-dark:#073F3D;
  --club-blue:#315C92;
  --club-copper:#A56A3C;
  --club-amber:#B88B3E;
  color:var(--club-ink);
  background:
    linear-gradient(90deg,rgba(17,26,32,.032) 1px,transparent 1px) 0 0/72px 72px,
    linear-gradient(rgba(17,26,32,.024) 1px,transparent 1px) 0 0/72px 72px,
    linear-gradient(145deg,#F7FAF8 0%,#EFF6F2 42%,#FAF8F0 100%);
}

.club-page .nav{
  border-bottom-color:rgba(17,26,32,.1);
  background:rgba(250,252,248,.9);
}

.club-page .club-directory-shell{
  padding:0 0 74px;
}

.club-page .club-directory-shell>.wrap,
.club-page .club-hero .wrap,
.club-page .club-toolbar .wrap{
  width:min(calc(100% - 96px),var(--club-pagew));
}

.club-page .club-hero{
  position:relative;
  overflow:hidden;
  border-bottom:1px solid rgba(17,26,32,.1);
  background:
    linear-gradient(112deg,rgba(255,255,255,.82) 0%,rgba(245,250,247,.78) 54%,rgba(249,245,235,.72) 100%);
}

.club-page .club-hero::after{
  content:"";
  position:absolute;
  right:max(34px,calc((100vw - var(--club-pagew))/2));
  top:26px;
  width:180px;
  height:180px;
  background:url("nexus-mark-brandgrid.svg") center/contain no-repeat;
  opacity:.055;
  pointer-events:none;
}

.club-page .club-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(390px,.54fr);
  gap:36px;
  align-items:center;
  padding:28px 0 24px;
}

.club-page .club-hero-copy{
  max-width:820px;
}

.club-page .club-hero .back{
  min-height:26px;
  margin:0 0 10px;
  color:var(--club-harbor);
}

.club-page .club-hero .eyebrow{
  color:var(--club-copper);
  font-family:var(--mono);
  font-size:11px;
  font-weight:820;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.club-page .club-hero h1{
  margin:8px 0 10px;
  color:var(--club-ink);
  font-family:var(--serif);
  font-size:clamp(40px,5vw,64px);
  line-height:.98;
  font-weight:900;
  letter-spacing:0;
  text-wrap:balance;
}

.club-page .club-hero-copy p{
  max-width:720px;
  color:#42535A;
  font-size:16px;
  line-height:1.74;
}

.club-page .club-hero-panel{
  position:relative;
  display:grid;
  gap:16px;
  padding:18px;
  border:1px solid var(--club-line);
  border-radius:8px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.68)),
    linear-gradient(135deg,rgba(0,107,97,.08),rgba(49,92,146,.06) 48%,rgba(184,139,62,.08));
  box-shadow:0 24px 64px -54px rgba(17,26,32,.55);
}

.club-page .club-panel-title{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(17,26,32,.08);
}

.club-page .club-panel-title span{
  color:var(--club-muted);
  font-family:var(--mono);
  font-size:11px;
  font-weight:760;
}

.club-page .club-panel-title b{
  color:var(--club-harbor-dark);
  font-size:14px;
  font-weight:850;
}

.club-page .club-hero-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  overflow:hidden;
  border:1px solid rgba(17,26,32,.085);
  border-radius:8px;
  background:rgba(17,26,32,.08);
}

.club-page .club-hero-stats span{
  min-height:76px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:12px;
  background:rgba(255,255,255,.76);
}

.club-page .club-hero-stats b{
  color:var(--club-ink);
  font-family:var(--mono);
  font-size:24px;
  line-height:1;
  font-weight:820;
}

.club-page .club-hero-stats em{
  color:var(--club-muted);
  font-style:normal;
  font-size:11.5px;
}

.club-page .club-lanes{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}

.club-page .club-lanes span{
  min-height:0;
  padding:9px 10px;
  border:1px solid rgba(17,26,32,.08);
  border-radius:8px;
  background:rgba(255,255,255,.62);
  color:var(--club-muted);
  font-size:11.5px;
  line-height:1.45;
}

.club-page .club-lanes b{
  display:block;
  margin:0 0 2px;
  color:var(--club-harbor-dark);
  font-size:12.5px;
  font-weight:850;
}

.club-page .club-toolbar{
  top:76px;
  margin:0;
  padding:14px 0;
  border-top:0;
  border-bottom:1px solid rgba(17,26,32,.1);
  background:rgba(247,250,248,.88);
  backdrop-filter:saturate(150%) blur(18px);
}

.club-page .toolbar-card{
  display:grid;
  grid-template-columns:170px minmax(0,1fr);
  gap:16px;
  align-items:center;
  padding:12px;
  border:1px solid rgba(17,26,32,.1);
  border-radius:8px;
  background:rgba(255,255,255,.86);
  box-shadow:0 16px 46px -42px rgba(17,26,32,.5);
}

.club-page .toolbar-title{
  min-height:44px;
  padding:0 6px;
}

.club-page .toolbar-title span{
  color:var(--club-ink);
  font-size:13px;
  font-weight:820;
}

.club-page .toolbar-title em{
  color:var(--club-muted);
  font-family:var(--sans);
  font-size:11.5px;
  line-height:1.35;
}

.club-page .filters{
  display:flex;
  align-items:center;
  gap:9px;
}

.club-page .search{
  order:-1;
  flex:1 1 460px;
  max-width:none;
  min-height:44px;
  border:1px solid rgba(17,26,32,.12);
  border-radius:8px;
  background:#F9FBF9;
  color:var(--club-ink);
  padding:9px 13px;
  font-size:13.5px;
  font-weight:620;
}

.club-page .search::placeholder{
  color:#93A0A6;
}

.club-page .search:focus{
  border-color:rgba(0,107,97,.42);
  box-shadow:0 0 0 4px rgba(0,107,97,.08);
}

.club-page .club-chip-row{
  display:flex;
  flex:0 1 auto;
  flex-wrap:wrap;
  gap:7px;
}

.club-page .chip{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border:1px solid rgba(17,26,32,.1);
  border-radius:8px;
  background:#FFFFFF;
  color:#52646B;
  font-size:12.5px;
  font-weight:760;
}

.club-page .chip b{
  min-width:20px;
  height:20px;
  display:inline-grid;
  place-items:center;
  padding:0 5px;
  border-radius:999px;
  background:#EEF4F1;
  color:var(--club-harbor);
  font-family:var(--mono);
  font-size:10.5px;
}

.club-page .chip:hover{
  border-color:rgba(0,107,97,.2);
  background:#F6FAF8;
  color:var(--club-harbor-dark);
}

.club-page .chip.on{
  border-color:var(--club-harbor-dark);
  background:var(--club-harbor-dark);
  color:#fff;
  box-shadow:none;
}

.club-page .chip.on b{
  background:rgba(255,255,255,.16);
  color:#fff;
}

.club-page .view-toggle{
  margin-left:auto;
  border:1px solid rgba(17,26,32,.1);
  border-radius:8px;
  background:#FFFFFF;
}

.club-page .view-btn{
  border-radius:6px;
}

.club-page .club-results-wrap{
  padding-top:24px;
}

.club-page .club-guide-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  align-items:stretch;
}

.club-page .club-card{
  --accent:var(--club-harbor);
  position:relative;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:21px 21px 18px;
  border:1px solid rgba(17,26,32,.1);
  border-top:4px solid var(--accent);
  border-left:1px solid rgba(17,26,32,.1);
  border-radius:8px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.86)),
    linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,#fff),#fff 45%);
  color:inherit;
  box-shadow:0 18px 48px -42px rgba(17,26,32,.42);
  overflow:hidden;
}

.club-page .club-card:hover{
  transform:translateY(-3px);
  border-color:color-mix(in srgb,var(--accent) 26%,rgba(17,26,32,.12));
  border-top-color:var(--accent);
  box-shadow:0 28px 70px -54px color-mix(in srgb,var(--accent) 42%,#111A20);
}

.club-page .club-card::after{
  content:"";
  position:absolute;
  right:18px;
  top:74px;
  width:86px;
  height:1px;
  border:0;
  border-radius:0;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 34%,transparent),transparent);
  opacity:.52;
  transform:rotate(-26deg);
  pointer-events:none;
}

.club-page .club-card-fun{
  --accent:var(--club-copper);
}

.club-page .club-card-top{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:var(--club-muted);
  font-family:var(--mono);
  font-size:11px;
}

.club-page .club-no{
  color:var(--accent);
  font-weight:840;
}

.club-page .club-kind{
  padding:4px 8px;
  border:1px solid color-mix(in srgb,var(--accent) 22%,rgba(17,26,32,.1));
  border-radius:6px;
  background:color-mix(in srgb,var(--accent) 8%,#fff);
  color:color-mix(in srgb,var(--accent) 86%,#111A20);
  font-size:11.5px;
  font-weight:800;
}

.club-page .club-title-row{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:13px;
  align-items:center;
}

.club-page .club-initial{
  width:52px;
  height:52px;
  border:1px solid color-mix(in srgb,var(--accent) 24%,rgba(17,26,32,.1));
  border-radius:8px;
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--accent) 13%,#fff),#fff);
  color:color-mix(in srgb,var(--accent) 88%,#111A20);
  font-family:var(--serif);
  font-size:24px;
  font-weight:900;
}

.club-page .club-card h3{
  color:var(--club-ink);
  font-family:var(--serif);
  font-size:clamp(21px,1.7vw,28px);
  line-height:1.16;
  font-weight:900;
  letter-spacing:0;
  overflow-wrap:anywhere;
  text-wrap:balance;
}

.club-page .club-en{
  margin:5px 0 0;
  color:#839099;
  font-family:var(--mono);
  font-size:10.5px;
  line-height:1.4;
  overflow-wrap:anywhere;
}

.club-page .club-desc{
  position:relative;
  z-index:1;
  color:var(--club-text);
  font-size:13.5px;
  line-height:1.72;
}

.club-page .club-metrics{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  overflow:hidden;
  border:1px solid rgba(17,26,32,.08);
  border-radius:8px;
  background:rgba(247,250,248,.72);
}

.club-page .club-metrics span{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:10px 9px;
}

.club-page .club-metrics span+span{
  border-left:1px solid rgba(17,26,32,.08);
}

.club-page .club-metrics b{
  color:var(--club-ink);
  font-family:var(--mono);
  font-size:18px;
  line-height:1;
  font-weight:780;
  white-space:nowrap;
}

.club-page .club-metrics em{
  color:var(--club-muted);
  font-style:normal;
  font-size:10.5px;
}

.club-page .club-tags{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.club-page .club-tags span,
.club-page .detail-tags span{
  min-height:24px;
  padding:3px 8px;
  border:1px solid rgba(17,26,32,.09);
  border-radius:6px;
  background:#FFFFFF;
  color:#607079;
  font-size:11px;
  font-weight:650;
}

.club-page .club-story{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:12px;
  padding:12px 0 0;
  border-top:1px solid rgba(17,26,32,.08);
}

.club-page .club-story span{
  color:color-mix(in srgb,var(--accent) 78%,#52626A);
  font-size:11px;
  font-weight:820;
}

.club-page .club-story p{
  color:#4D5D65;
  font-size:12.6px;
  line-height:1.62;
}

.club-page .club-community-pills{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  color:var(--club-muted);
}

.club-page .club-community-pills b{
  width:auto;
  margin-right:2px;
  color:#89969C;
  font-size:10.8px;
  font-weight:780;
}

.club-page .club-community-pills span{
  max-width:100%;
  padding:3px 7px;
  border:1px solid rgba(17,26,32,.085);
  border-radius:6px;
  background:#F7FAF8;
  color:#566870;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.club-page .club-activity{
  position:relative;
  z-index:1;
  margin:0;
  padding-left:16px;
  color:#65757D;
  font-size:12.4px;
  line-height:1.56;
}

.club-page .club-card-foot{
  position:relative;
  z-index:1;
  margin-top:auto;
  padding-top:12px;
  border-top:1px solid rgba(17,26,32,.08);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.club-page .club-open{
  margin:0;
  color:color-mix(in srgb,var(--accent) 82%,#111A20);
  font-size:13px;
  font-weight:860;
}

.club-page .club-card-foot i{
  min-width:0;
  color:#8A969C;
  font-style:normal;
  font-size:11px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.club-page .club-guide-grid.registry-list{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
}

.club-page .club-guide-grid.registry-list .club-row{
  border-left-width:3px;
  border-radius:8px;
  background:rgba(255,255,255,.94);
  box-shadow:none;
}

.club-page .club-guide-grid.registry-list .club-row>summary{
  min-height:68px;
  padding:10px 16px 10px 14px;
}

.club-page .club-guide-grid.registry-list .registry-row-main b{
  font-family:var(--serif);
  font-size:21px;
  font-weight:880;
}

.club-page .club-guide-grid.registry-list .registry-row-detail{
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(247,250,248,.64));
}

.club-page .no-result{
  margin-top:18px;
}

@media(max-width:1180px){
  .club-page .club-hero-grid{
    grid-template-columns:1fr;
    gap:20px;
  }

  .club-page .club-hero-panel{
    max-width:none;
  }

  .club-page .club-guide-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:900px){
  .club-page .club-directory-shell>.wrap,
  .club-page .club-hero .wrap,
  .club-page .club-toolbar .wrap{
    width:calc(100% - 32px);
  }

  .club-page .club-hero-grid{
    gap:14px;
    padding:20px 0 16px;
  }

  .club-page .club-hero::after{
    display:none;
  }

  .club-page .club-hero h1{
    margin:6px 0 7px;
    font-size:36px;
    line-height:1;
  }

  .club-page .club-hero-copy p{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    font-size:14.5px;
    line-height:1.58;
  }

  .club-page .club-hero-panel{
    gap:10px;
    padding:12px;
  }

  .club-page .club-panel-title{
    display:none;
  }

  .club-page .club-hero-stats,
  .club-page .club-lanes{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .club-page .club-hero-stats span{
    min-height:58px;
    padding:8px 10px;
  }

  .club-page .club-hero-stats b{
    font-size:21px;
  }

  .club-page .club-lanes{
    display:none;
  }

  .club-page .club-toolbar{
    position:relative;
    top:auto;
    padding:10px 0;
  }

  .club-page .toolbar-card{
    grid-template-columns:1fr;
    gap:8px;
    padding:10px;
  }

  .club-page .toolbar-title{
    display:none;
  }

  .club-page .filters{
    display:grid;
    grid-template-columns:1fr;
  }

  .club-page .search{
    width:100%;
    flex-basis:auto;
  }

  .club-page .club-chip-row{
    order:2;
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:2px;
    scrollbar-width:none;
  }

  .club-page .club-chip-row::-webkit-scrollbar{
    display:none;
  }

  .club-page .view-toggle{
    order:3;
    margin-left:0;
    width:max-content;
  }

  .club-page .club-guide-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:560px){
  .club-page .nav .wrap{
    gap:10px;
    padding:10px 0;
  }

  .club-page .brand-lockup{
    --brand-icon-box:42px;
    --brand-icon-gap:10px;
    min-height:42px;
  }

  .club-page .brand .en{
    width:76px;
    height:24px;
  }

  .club-page .brand .bar{
    height:18px;
  }

  .club-page .brand .zh{
    width:24px;
    min-width:24px;
    height:28px;
  }

  .club-page .brand-slogan{
    font-size:10px;
  }

  .club-page .nav .wrap .nav-links{
    gap:8px !important;
    padding:10px !important;
    border-radius:8px !important;
  }

  .club-page .nav .wrap .nav-links a{
    min-height:38px !important;
    padding:8px 10px !important;
    border-radius:8px !important;
    font-size:13.5px !important;
  }

  .club-page .auth a,
  .club-page .auth button{
    min-height:38px;
    padding:7px 12px;
    border-radius:8px;
  }

  .club-page .club-hero-panel{
    padding:12px;
  }

  .club-page .club-hero-stats span{
    min-height:68px;
    padding:10px;
  }

  .club-page .club-lanes{
    grid-template-columns:1fr;
  }

  .club-page .club-card{
    padding:18px 16px 16px;
  }

  .club-page .club-title-row{
    grid-template-columns:46px minmax(0,1fr);
  }

  .club-page .club-initial{
    width:46px;
    height:46px;
  }

  .club-page .club-metrics b{
    font-size:16px;
  }

  .club-page .club-story{
    grid-template-columns:1fr;
    gap:4px;
  }

  .club-page .club-card-foot{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
  }
}

/* club-cohesion-20260629: make the MBA club page one coordinated product surface. */
body.club-page{
  --club-pagew:1480px;
  --club-radius:22px;
  --club-radius-inner:16px;
  --club-hairline:rgba(17,26,32,.085);
  --club-hairline-strong:rgba(17,26,32,.14);
  background:
    linear-gradient(90deg,rgba(17,26,32,.024) 1px,transparent 1px) 0 0/72px 72px,
    linear-gradient(rgba(17,26,32,.018) 1px,transparent 1px) 0 0/72px 72px,
    radial-gradient(ellipse at 76% 12%,rgba(184,139,62,.055),transparent 34%),
    radial-gradient(ellipse at 20% 86%,rgba(0,107,97,.055),transparent 30%),
    linear-gradient(145deg,#FAFCFA 0%,#F1F7F4 50%,#FBF8F0 100%);
}
.club-page .club-directory-shell>.wrap,
.club-page .club-hero .wrap,
.club-page .club-toolbar .wrap{
  width:min(calc(100% - 112px),var(--club-pagew));
}
.club-page .club-hero{
  border-bottom-color:rgba(17,26,32,.075);
  background:
    linear-gradient(112deg,rgba(255,255,255,.74),rgba(247,251,248,.58) 58%,rgba(250,247,239,.54));
}
.club-page .club-hero::after{
  width:150px;
  height:150px;
  opacity:.038;
}
.club-page .club-hero-grid{
  grid-template-columns:minmax(0,.98fr) minmax(420px,.48fr);
  gap:64px;
  align-items:center;
  padding:38px 0 34px;
}
.club-page .club-hero-copy{
  max-width:760px;
}
.club-page .club-hero .back{
  min-height:24px;
  margin-bottom:12px;
  font-size:13px;
  font-weight:760;
}
.club-page .club-hero .eyebrow{
  color:#9B6A3F;
  font-size:10.5px;
  font-weight:820;
  letter-spacing:.1em;
}
.club-page .club-hero h1{
  max-width:680px;
  margin:10px 0 12px;
  font-size:clamp(34px,3.25vw,48px);
  line-height:1.08;
  font-weight:720;
  letter-spacing:0;
}
.club-page .club-hero-copy p{
  max-width:680px;
  color:#40535B;
  font-size:15.5px;
  line-height:1.82;
}
.club-page .club-hero-panel{
  gap:14px;
  padding:14px;
  border-color:var(--club-hairline);
  border-radius:var(--club-radius);
  background:
    linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.72)),
    linear-gradient(135deg,rgba(0,107,97,.055),rgba(49,92,146,.04) 48%,rgba(184,139,62,.055));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 26px 74px -62px rgba(17,26,32,.5);
}
.club-page .club-panel-title{
  min-height:42px;
  align-items:center;
  padding:0 6px 10px;
  border-bottom-color:rgba(17,26,32,.07);
}
.club-page .club-panel-title span{
  font-size:10.5px;
  font-weight:820;
  letter-spacing:.08em;
}
.club-page .club-panel-title b{
  font-size:13.5px;
}
.club-page .club-hero-stats{
  border-color:rgba(17,26,32,.065);
  border-radius:var(--club-radius-inner);
  background:rgba(17,26,32,.06);
}
.club-page .club-hero-stats span{
  min-height:70px;
  padding:12px 13px;
  background:rgba(255,255,255,.78);
}
.club-page .club-hero-stats b{
  font-size:22px;
  font-weight:760;
}
.club-page .club-hero-stats em{
  font-size:11px;
}
.club-page .club-lanes{
  gap:9px;
}
.club-page .club-lanes span{
  min-height:72px;
  padding:10px 11px;
  border-color:rgba(17,26,32,.065);
  border-radius:var(--club-radius-inner);
  background:rgba(255,255,255,.58);
  font-size:11.2px;
}
.club-page .club-lanes b{
  font-size:12px;
  font-weight:820;
}
.club-page .club-toolbar{
  top:72px;
  padding:14px 0 16px;
  border-bottom-color:rgba(17,26,32,.075);
  background:rgba(247,250,248,.82);
}
.club-page .toolbar-card{
  grid-template-columns:210px minmax(0,1fr);
  gap:18px;
  padding:14px;
  border-color:var(--club-hairline);
  border-radius:var(--club-radius);
  background:rgba(255,255,255,.82);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 20px 58px -52px rgba(17,26,32,.42);
}
.club-page .toolbar-title{
  min-height:52px;
  padding:0 8px;
  justify-content:center;
}
.club-page .toolbar-title span{
  font-size:13px;
}
.club-page .toolbar-title em{
  margin-top:5px;
}
.club-page .filters{
  gap:10px;
}
.club-page .search{
  min-height:48px;
  border-color:var(--club-hairline);
  border-radius:var(--club-radius-inner);
  background:rgba(250,252,250,.9);
  padding:10px 15px;
  font-size:14px;
}
.club-page .club-chip-row{
  gap:8px;
}
.club-page .chip{
  min-height:38px;
  padding:7px 11px;
  border-color:var(--club-hairline);
  border-radius:14px;
  background:rgba(255,255,255,.86);
  font-size:12.5px;
}
.club-page .view-toggle{
  border-color:var(--club-hairline);
  border-radius:18px;
  background:rgba(255,255,255,.86);
}
.club-page .view-btn{
  border-radius:14px;
}
.club-page .club-results-wrap{
  padding-top:28px;
}
.club-page .club-guide-grid{
  gap:24px;
}
.club-page .club-card{
  min-height:430px;
  gap:13px;
  padding:22px;
  border:1px solid var(--club-hairline);
  border-top:0;
  border-radius:var(--club-radius);
  background:
    linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.82)),
    radial-gradient(circle at 92% 10%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 30%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.94),
    0 24px 68px -62px rgba(17,26,32,.42);
}
.club-page .club-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:2px;
  background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 20%,transparent) 42%,transparent 82%);
  opacity:.82;
}
.club-page .club-card::after{
  display:none;
}
.club-page .club-card:hover{
  transform:translateY(-3px);
  border-color:color-mix(in srgb,var(--accent) 20%,var(--club-hairline-strong));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    0 30px 78px -58px color-mix(in srgb,var(--accent) 38%,#111A20);
}
.club-page .club-card-top{
  font-size:10.8px;
}
.club-page .club-kind{
  border-radius:12px;
  padding:5px 9px;
}
.club-page .club-title-row{
  grid-template-columns:48px minmax(0,1fr);
  gap:14px;
  align-items:center;
}
.club-page .club-initial{
  width:48px;
  height:48px;
  border-radius:15px;
  font-size:22px;
  font-weight:760;
}
.club-page .club-card h3{
  font-size:clamp(20px,1.35vw,24px);
  line-height:1.2;
  font-weight:760;
}
.club-page .club-en{
  margin-top:4px;
  font-size:10px;
}
.club-page .club-desc{
  color:#42555D;
  font-size:13.2px;
  line-height:1.74;
}
.club-page .club-metrics{
  border-color:rgba(17,26,32,.065);
  border-radius:var(--club-radius-inner);
  background:rgba(247,250,248,.62);
}
.club-page .club-metrics span{
  padding:9px;
}
.club-page .club-metrics b{
  font-size:16px;
  font-weight:720;
}
.club-page .club-tags span,
.club-page .detail-tags span{
  border-color:rgba(17,26,32,.075);
  border-radius:12px;
  background:rgba(255,255,255,.78);
}
.club-page .club-story{
  grid-template-columns:56px minmax(0,1fr);
  gap:10px;
  padding-top:11px;
  border-top-color:rgba(17,26,32,.07);
}
.club-page .club-community-pills span{
  border-radius:12px;
  background:rgba(247,250,248,.72);
}
.club-page .club-card-foot{
  padding-top:12px;
  border-top-color:rgba(17,26,32,.07);
}
.club-page .club-open{
  font-size:12.8px;
}

@media(max-width:1180px){
  .club-page .club-hero-grid{
    grid-template-columns:1fr;
    gap:22px;
  }
  .club-page .club-hero-copy{
    max-width:780px;
  }
}

@media(max-width:900px){
  .club-page .club-directory-shell>.wrap,
  .club-page .club-hero .wrap,
  .club-page .club-toolbar .wrap{
    width:calc(100% - 34px);
  }
  .club-page .club-hero-grid{
    padding:24px 0 20px;
  }
  .club-page .club-hero h1{
    font-size:34px;
    line-height:1.08;
  }
  .club-page .toolbar-card{
    grid-template-columns:1fr;
    gap:10px;
    padding:12px;
  }
  .club-page .club-card{
    min-height:0;
  }
}

@media(max-width:560px){
  .club-page .club-hero h1{
    font-size:31px;
  }
  .club-page .club-hero-copy p{
    -webkit-line-clamp:3;
  }
  .club-page .club-hero-stats span{
    min-height:62px;
  }
  .club-page .club-card{
    padding:18px 16px 16px;
    border-radius:18px;
  }
  .club-page .club-title-row{
    grid-template-columns:44px minmax(0,1fr);
  }
  .club-page .club-initial{
    width:44px;
    height:44px;
    border-radius:13px;
  }
}

/* login-pulse-20260629: small authenticated-only activity strip. */
.home-atlas .home-pulse-stats{
  display:none !important;
}

.login-pulse{
  width:max-content;
  max-width:100%;
  display:flex;
  align-items:center;
  gap:0;
  margin:0 0 12px;
  padding:5px 8px;
  border:1px solid rgba(16,24,32,.08);
  border-radius:8px;
  background:rgba(255,252,244,.84);
  color:#59666E;
  box-shadow:0 8px 24px -20px rgba(16,24,32,.55);
}

.login-pulse span{
  min-width:0;
  display:inline-flex;
  align-items:baseline;
  gap:3px;
  padding:0 8px;
  line-height:1;
  white-space:nowrap;
}

.login-pulse span:first-child{
  padding-left:2px;
}

.login-pulse span:last-child{
  padding-right:2px;
}

.login-pulse span + span{
  border-left:1px solid rgba(16,24,32,.1);
}

.login-pulse b{
  color:#151B23;
  font-family:var(--num);
  font-size:13px;
  font-weight:820;
  letter-spacing:0;
  font-variant-numeric:tabular-nums;
}

.login-pulse em{
  color:#6D7680;
  font-style:normal;
  font-size:10.5px;
  font-weight:720;
}

@media(max-width:560px){
  .login-pulse{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:min(100%,260px);
    padding:6px 8px;
  }

  .login-pulse span{
    justify-content:center;
    min-height:22px;
    padding:0 6px;
  }

  .login-pulse span:nth-child(odd){
    border-left:0;
  }

  .login-pulse span:nth-child(n+3){
    border-top:1px solid rgba(16,24,32,.08);
    padding-top:6px;
    margin-top:5px;
  }
}

/* my-center-20260629: local personal ledger for saved highlights and favorites. */
.auth .mine{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid rgba(0,107,97,.16);
  background:rgba(0,107,97,.08);
  color:#006B61;
  font-weight:820;
}

.auth .mine:hover{
  background:rgba(0,107,97,.13);
}

.nav-links a.nav-mine{
  color:#006B61;
  font-weight:800;
}

.nav-links a.nav-mine.on{
  background:rgba(0,107,97,.12);
  color:#004F49;
}

.my-page{
  background:
    linear-gradient(90deg,rgba(21,25,34,.035) 1px,transparent 1px) 0 0/64px 64px,
    linear-gradient(rgba(21,25,34,.026) 1px,transparent 1px) 0 0/64px 64px,
    radial-gradient(circle at 78% 10%,rgba(180,131,42,.09),transparent 30%),
    radial-gradient(circle at 12% 24%,rgba(0,107,97,.08),transparent 32%),
    var(--bg);
}

.my-shell{
  padding:46px 0 78px;
}

.my-shell>.wrap{
  width:min(calc(100% - 56px),1160px);
}

.my-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:28px;
  align-items:stretch;
  margin-bottom:18px;
}

.my-hero-copy{
  min-height:240px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:24px 0 8px;
}

.my-hero-copy h1{
  max-width:680px;
  margin:8px 0 12px;
  color:#111823;
  font-size:64px;
  line-height:.98;
  font-weight:880;
}

.my-hero-copy p{
  max-width:620px;
  color:#62717A;
  font-size:17px;
  line-height:1.78;
}

.my-account-card{
  position:relative;
  overflow:hidden;
  min-height:240px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:24px;
  border:1px solid rgba(16,24,32,.1);
  border-radius:8px;
  background:linear-gradient(150deg,#FFFDF7 0%,#F5EEE0 52%,#EAF3EF 100%);
  box-shadow:0 28px 70px -48px rgba(16,24,32,.55);
}

.my-account-card::before{
  content:"";
  position:absolute;
  inset:18px 18px auto auto;
  width:74px;
  height:74px;
  border-radius:18px;
  background:url("nexus-mark-brandgrid.svg") center/contain no-repeat;
  opacity:.16;
}

.my-account-card span,
.my-board-head span,
.my-item-kicker{
  color:#8A949C;
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.my-account-card b{
  position:relative;
  color:#111823;
  font-size:30px;
  line-height:1.1;
  font-weight:860;
}

.my-account-card em{
  position:relative;
  margin-top:8px;
  color:#66707D;
  font-style:normal;
  font-size:13px;
  font-weight:720;
}

.my-account-card.is-authed{
  border-color:rgba(0,107,97,.18);
}

.my-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-bottom:18px;
}

.my-stats div{
  min-height:92px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:15px 17px;
  border:1px solid rgba(16,24,32,.09);
  border-radius:8px;
  background:rgba(255,253,247,.82);
}

.my-stats span{
  color:#7B8790;
  font-size:12px;
  font-weight:760;
}

.my-stats b{
  color:#111823;
  font-family:var(--mono);
  font-size:28px;
  line-height:1;
  font-weight:860;
}

.my-board{
  border-top:1px solid rgba(16,24,32,.14);
  padding-top:22px;
}

.my-board-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
}

.my-board-head h2{
  margin-top:6px;
  color:#111823;
  font-size:30px;
  line-height:1.1;
  font-weight:860;
}

.my-actions,
.my-tabs,
.my-item-actions{
  display:flex;
  align-items:center;
  gap:8px;
}

.my-actions button,
.my-tabs button,
.my-item-actions button,
.my-item-actions a{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(16,24,32,.12);
  border-radius:8px;
  background:rgba(255,253,247,.78);
  color:#4B5964;
  padding:7px 12px;
  font-size:12.5px;
  font-weight:820;
  cursor:pointer;
  transition:background .16s,border-color .16s,color .16s,transform .16s;
}

.my-actions button:hover,
.my-tabs button:hover,
.my-item-actions button:hover,
.my-item-actions a:hover{
  transform:translateY(-1px);
  border-color:rgba(0,107,97,.22);
  background:#FFFFFF;
  color:#006B61;
}

.my-actions button:disabled{
  cursor:not-allowed;
  opacity:.45;
  transform:none;
}

.my-tabs{
  margin:0 0 16px;
  padding:5px;
  border:1px solid rgba(16,24,32,.1);
  border-radius:8px;
  background:rgba(255,253,247,.68);
}

.my-tabs button{
  flex:0 0 auto;
  min-width:96px;
  border-color:transparent;
  background:transparent;
}

.my-tabs button[aria-selected="false"]{
  border-color:transparent !important;
  background:transparent !important;
  color:#4B5964 !important;
  box-shadow:none !important;
}

.my-tabs button.on,
.my-tabs button[aria-selected="true"]{
  background:#151922;
  color:#FFFDF7;
  box-shadow:0 14px 30px -22px rgba(16,24,32,.72);
}

.my-list{
  display:grid;
  gap:10px;
}

.my-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:18px 18px 18px 20px;
  border:1px solid rgba(16,24,32,.09);
  border-left:3px solid #B4832A;
  border-radius:8px;
  background:rgba(255,253,247,.86);
  box-shadow:0 18px 48px -42px rgba(16,24,32,.52);
}

.my-item h3{
  margin:5px 0 6px;
  color:#111823;
  font-size:18px;
  line-height:1.28;
  font-weight:840;
}

.my-item p{
  max-width:74em;
  color:#52606B;
  font-size:14px;
  line-height:1.72;
}

.my-item em{
  display:block;
  margin-top:8px;
  color:#9AA3AE;
  font-style:normal;
  font-family:var(--mono);
  font-size:11px;
}

.my-item-actions{
  flex-wrap:wrap;
  justify-content:flex-end;
}

.my-item-actions button:last-child{
  color:#9D3E28;
}

.my-empty{
  min-height:220px;
  display:grid;
  place-items:center;
  gap:4px;
  border:1px dashed rgba(16,24,32,.18);
  border-radius:8px;
  background:rgba(255,253,247,.52);
  color:#8A949C;
}

.my-empty b{
  color:#151922;
  font-size:20px;
}

.my-empty span{
  font-size:13px;
}

.my-settings-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.my-setting-card{
  min-height:210px;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:20px;
  border:1px solid rgba(16,24,32,.09);
  border-radius:8px;
  background:rgba(255,253,247,.86);
  box-shadow:0 18px 48px -42px rgba(16,24,32,.52);
}

.my-setting-card>span{
  color:#8A949C;
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.08em;
}

.my-setting-card h3{
  color:#111823;
  font-size:22px;
  line-height:1.2;
  font-weight:860;
}

.my-setting-card p{
  color:#5F6D76;
  font-size:13.5px;
  line-height:1.72;
}

.my-setting-account{
  border-left:3px solid #006B61;
  background:linear-gradient(150deg,rgba(255,253,247,.92),rgba(236,246,243,.88));
}

.my-setting-row{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:11px 0;
  border-top:1px solid rgba(16,24,32,.08);
  color:#4D5A64;
  font-size:13px;
  font-weight:760;
}

.my-setting-row b{
  color:#151922;
  font-size:13px;
}

.my-setting-row select{
  min-width:132px;
  min-height:34px;
  border:1px solid rgba(16,24,32,.13);
  border-radius:8px;
  background:#FFFFFF;
  color:#151922;
  padding:6px 10px;
  font-weight:760;
}

.my-setting-row input[type="checkbox"]{
  width:22px;
  height:22px;
  accent-color:#006B61;
}

.my-setting-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:auto;
}

.my-setting-actions a,
.my-setting-actions button{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(16,24,32,.12);
  border-radius:8px;
  background:#FFFFFF;
  color:#4B5964;
  padding:7px 12px;
  font-size:12.5px;
  font-weight:820;
  cursor:pointer;
  transition:background .16s,border-color .16s,color .16s,transform .16s;
}

.my-setting-actions a:hover,
.my-setting-actions button:hover{
  transform:translateY(-1px);
  border-color:rgba(0,107,97,.22);
  color:#006B61;
}

.my-local-meter{
  overflow:hidden;
  height:8px;
  border-radius:999px;
  background:rgba(16,24,32,.08);
}

.my-local-meter i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#006B61,#B4832A);
}

.salon-top-me{
  margin-left:auto;
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(26,26,26,.13);
  border-radius:999px;
  background:rgba(255,253,247,.74);
  color:rgba(26,26,26,.68);
  padding:7px 14px;
  font-size:13px;
  font-weight:820;
}

.salon-top-me:hover{
  border-color:var(--salon-accent,#0B8F6B);
  color:var(--salon-accent,#0B8F6B);
  background:#FFFFFF;
}

.salon-top-me + .salon-top-share{
  margin-left:8px;
}

@media(max-width:900px){
  .my-hero{
    grid-template-columns:1fr;
  }

  .my-hero-copy,
  .my-account-card{
    min-height:0;
  }

  .my-hero-copy h1{
    font-size:46px;
  }

  .my-stats{
    grid-template-columns:repeat(2,1fr);
  }

  .my-board-head,
  .my-item{
    grid-template-columns:1fr;
  }

  .my-board-head{
    align-items:flex-start;
  }

  .my-actions,
  .my-item-actions{
    justify-content:flex-start;
  }
}

@media(max-width:560px){
  .my-shell>.wrap{
    width:min(calc(100% - 28px),1160px);
  }

  .my-shell{
    padding-top:28px;
  }

  .my-hero-copy h1{
    font-size:39px;
  }

  .my-stats div{
    min-height:78px;
    padding:13px;
  }

  .my-tabs{
    overflow:auto;
  }

  .my-tabs::-webkit-scrollbar{
    display:none;
  }

  .my-item{
    padding:16px 14px;
  }

  .my-settings-grid{
    grid-template-columns:1fr;
  }

  .my-setting-card{
    min-height:0;
    padding:16px 14px;
  }

  .my-setting-row{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }

  .my-setting-row select{
    width:100%;
  }

  .my-item-actions a,
  .my-item-actions button{
    flex:1 1 92px;
  }

  .salon-top-me{
    padding:7px 12px;
  }
}

/* school-community-rich-20260629
   School org pages embed the same rich WeChat cards used by the student community directory. */
.school-wx-list:has(.school-community-gcard){
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:12px;
  align-items:start;
}

.school-wx-list .school-community-gcard{
  min-height:0;
  gap:9px;
  padding:16px;
  border-radius:10px;
  box-shadow:none;
}

.school-wx-list .school-community-gcard::after{
  display:none;
}

.school-wx-list .school-community-gcard:hover{
  transform:none;
  box-shadow:none;
}

.school-wx-list .school-community-gcard .card-folio{
  min-height:18px;
}

.school-wx-list .school-community-gcard .card-meta{
  gap:7px;
  flex-wrap:wrap;
  padding-right:0;
  font-size:10.5px;
}

.school-wx-list .school-community-gcard .top{
  gap:12px;
}

.school-wx-list .school-community-gcard h4{
  font-family:var(--sans);
  font-size:18px;
  line-height:1.28;
}

.school-wx-list .school-community-gcard .mem{
  min-width:58px;
  padding-left:10px;
  font-size:20px;
}

.school-wx-list .school-community-gcard .summary{
  padding:11px 12px;
  border-radius:8px;
}

.school-wx-list .school-community-gcard .summary p{
  display:block;
  overflow:visible;
  color:#4D5A63;
  font-size:12.5px;
  line-height:1.62;
  -webkit-line-clamp:unset;
}

.school-wx-list .school-community-gcard .score-row{
  grid-template-columns:64px minmax(0,1fr);
  padding-top:8px;
}

.school-wx-list .school-community-gcard .score b{
  font-size:19px;
}

.school-wx-list .school-community-gcard .activity em{
  display:block;
  overflow:visible;
  color:#68757D;
  font-size:11px;
  -webkit-line-clamp:unset;
}

.school-wx-list .school-community-gcard .details{
  display:block;
}

.school-wx-list .school-community-gcard .details summary{
  min-height:34px;
  padding:7px 9px;
  border-radius:8px;
}

.school-wx-list .school-community-gcard .facts{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}

.school-wx-list .school-community-gcard .facts .fact,
.school-wx-list .school-community-gcard .detail-block{
  border-radius:8px;
}

.school-wx-list .school-community-gcard .owner{
  margin-top:2px;
  padding-top:9px;
}

.registry-list .school-wx-list:has(.school-community-gcard){
  grid-template-columns:1fr;
  margin-top:10px;
  padding-top:10px;
}

.registry-list .school-community-gcard{
  border-color:#E0E6E3;
  background:linear-gradient(180deg,#FFFFFF,#F7FAF8);
}

@media(max-width:720px){
  .school-wx-list:has(.school-community-gcard){
    grid-template-columns:1fr;
  }

  .school-wx-list .school-community-gcard .facts{
    grid-template-columns:1fr;
  }
}

/* mobile-nav-scroll-20260629: keep the primary nav as a single horizontal rail on phones. */
@media(max-width:680px){
  .nav .wrap .nav-links{
    display:flex !important;
    flex:0 0 100% !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    justify-content:flex-start !important;
    justify-items:initial !important;
    grid-template-columns:none !important;
    gap:4px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    touch-action:pan-x;
  }

  .nav .wrap .nav-links::-webkit-scrollbar{
    display:none;
  }

  .nav .wrap .nav-links a{
    flex:0 0 auto !important;
    min-width:max-content !important;
    max-width:none !important;
    justify-content:center;
    padding:7px 11px !important;
    font-size:12.5px !important;
    white-space:nowrap !important;
    scroll-snap-align:start;
  }

  .nav .wrap .nav-links a.nav-feature{
    grid-column:auto !important;
    justify-self:auto !important;
    min-width:max-content !important;
    margin-left:0 !important;
  }
}

/* salon-person-labels-20260701: person and role labels must never look boxed. */
.salon-note-page .salon-note-chips span,
.salon-note-page .salon-person-head>span,
.salon-note-page .salon-speaker-profile-main>span,
.salon-note-page .salon-speaker-roster-top span,
.salon-note-page .salon-speaker-track-card>span,
.salon-page .period-person-note>span,
.salon-page .salon-speaker-track-card>span{
  width:auto;
  min-width:0;
  min-height:0;
  height:auto;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  place-items:initial;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.salon-note-page .salon-note-chips{
  gap:7px 13px;
}

.salon-note-page .salon-note-chips span{
  color:rgba(26,26,26,.56);
  letter-spacing:.4px;
}

.salon-note-page .salon-note-chips span:not(:last-child)::after{
  content:"/";
  margin-left:13px;
  color:rgba(26,26,26,.25);
  font-weight:700;
}

.salon-note-page .salon-person-head>span,
.salon-note-page .salon-speaker-profile-main>span,
.salon-note-page .salon-speaker-roster-top span,
.salon-note-page .salon-speaker-track-card>span,
.salon-page .period-person-note>span,
.salon-page .salon-speaker-track-card>span{
  position:relative;
  padding-left:14px;
  color:color-mix(in srgb,var(--salon-accent,#0B8F6B) 84%,#1D2730);
  letter-spacing:1.3px;
}

.salon-note-page .salon-person-head>span::before,
.salon-note-page .salon-speaker-profile-main>span::before,
.salon-note-page .salon-speaker-roster-top span::before,
.salon-note-page .salon-speaker-track-card>span::before,
.salon-page .period-person-note>span::before,
.salon-page .salon-speaker-track-card>span::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:8px;
  height:1px;
  transform:translateY(-50%);
  background:currentColor;
  opacity:.45;
}

.salon-note-page .salon-speaker-track-card>span.is-person-name,
.salon-page .period-person-note>span.is-person-name{
  color:color-mix(in srgb,var(--salon-accent,#0B8F6B) 88%,#17222A);
  font-family:var(--sans);
  font-size:14.5px;
  line-height:1.25;
  font-weight:900;
  letter-spacing:.25px;
}

.salon-note-page .salon-speaker-track-card>span.is-person-name::before,
.salon-page .period-person-note>span.is-person-name::before{
  width:10px;
  opacity:.5;
}

.salon-note-page .salon-speaker-track-name,
.salon-page .period-person-name{
  color:color-mix(in srgb,var(--salon-accent-2,#6E1677) 76%,#3A2A18);
  font-family:var(--sans);
  font-size:15.5px;
  line-height:1.3;
  font-style:normal;
  font-weight:900;
  letter-spacing:.2px;
}

.salon-note-page .salon-speaker-track-card>span.is-role-label,
.salon-page .period-person-note>span.is-role-label{
  font-size:10.5px;
}

/* salon-public-share-mobile-20260701: keep public note share pages readable on phones. */
.salon-note-page{
  overflow-x:hidden;
}

.salon-note-page .salon-note-layout,
.salon-note-page .salon-note-article,
.salon-note-page .salon-note-hero,
.salon-note-page .salon-note-head-main,
.salon-note-page .salon-note-pull,
.salon-note-page .salon-note-thesis,
.salon-note-page .salon-public-bridge{
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}

.salon-note-page .salon-note-article h1{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
  text-wrap:balance;
}

.salon-note-page .salon-note-chips{
  max-width:100%;
  min-width:0;
  overflow:visible;
}

.salon-note-page .salon-note-chips span{
  max-width:100%;
  min-width:0;
  overflow-wrap:anywhere;
  white-space:normal;
}

@media(max-width:680px){
  .salon-note-page .salon-note-layout{
    width:calc(100% - 32px);
    overflow:visible;
  }

  .salon-note-page .salon-note-article h1{
    font-size:24px;
    line-height:1.34;
  }

  .salon-note-page .salon-note-chips{
    display:none;
  }

  .salon-note-page .salon-note-article p,
  .salon-note-page .salon-note-article li,
  .salon-note-page .salon-public-bridge p,
  .salon-note-page .salon-public-final p{
    max-width:100%;
    overflow-wrap:anywhere;
    word-break:break-all;
    line-break:anywhere;
  }
}
