/* generated by render-qck-site.ts — do not hand-edit (gitignored output) */
*{box-sizing:border-box;margin:0}
:root{--radius:1.375rem}
html{scroll-behavior:smooth}
body{background:#FCFBFF;color:#211B31;font-family:'Inter', 'Avenir Next', 'Segoe UI', sans-serif;line-height:1.65;font-size:1.0625rem;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Manrope', 'Avenir Next', 'Segoe UI', sans-serif;line-height:1.2;color:#211B31}
a{color:#5743B5}
a:hover{opacity:.85}
img{max-width:100%}
code{background:#E6E1F5;padding:.1em .35em;border-radius:4px;font-size:.9em}
.fjue{position:absolute;left:-9999px;top:0;background:#5743B5;color:#FFFFFF;padding:.5rem 1rem;z-index:9}
.fjue:focus{left:0}
.edeg{max-width:72rem;margin:0 auto;padding:0 1.5rem}
.vcdx{font-family:'Manrope', 'Avenir Next', 'Segoe UI', sans-serif;font-weight:700;font-size:1.25rem;text-decoration:none;color:inherit}
.iavl{color:#5C5368;font-size:.85rem}
.tksq{display:flex;flex-wrap:wrap;gap:1.1rem}
.agkz{text-decoration:none;color:inherit;font-size:.95rem}
.agkz:hover{color:#5743B5;opacity:1}
.ppte{display:none;background:none;border:1px solid currentColor;border-radius:6px;color:inherit;width:2.6rem;height:2.3rem;padding:.45rem .55rem;cursor:pointer;flex-direction:column;justify-content:space-between}
.ppte span{display:block;height:2px;background:currentColor;border-radius:2px}
.ppte[aria-expanded="true"] span:nth-child(2){opacity:0}
.nngg{background:#F1EFF8} .nngg .edeg{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem 1.5rem;text-align:center} .tksq{border-top:1px solid #CFC8DE;padding-top:.6rem}
.kewb{background:linear-gradient(160deg, #F1EFF8, #dfdaf0)} .kewb .edeg{max-width:52rem;text-align:center;padding:4.8rem 1.5rem} .eami{justify-content:center}
.hwqo{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:#5743B5;font-weight:600;margin-bottom:.8rem}
.ujer{font-size:clamp(1.9rem,4.5vw,3rem);margin-bottom:1rem}
.qmgk{font-size:1.15rem;color:#5C5368;max-width:44rem;margin:0 auto}
.eami{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin-top:1.4rem}
.hdau{border:1px solid #CFC8DE;background:#F1EFF8;border-radius:999px;padding:.3rem .85rem;font-size:.85rem}
.acps{padding:3.12rem 0}
/* the measure fix: prose column CENTERED in the container, never pinned left */
.hbbl,.dcui,.bmvo{max-width:46rem;margin-left:auto;margin-right:auto}
.hbbl{padding:1.68rem 0}
.hbbl h2{font-size:1.6rem;margin-bottom:.8rem}
.hbbl h3{font-size:1.2rem;margin:.9rem 0 .5rem}
.hbbl p,.hbbl li,.dcui p{margin-bottom:.85rem}
.hbbl ul,.hbbl ol{padding-left:1.4rem}
.dcui{font-size:1.12rem}
.bmvo{background:#F1EFF8;border:1px solid #CFC8DE;border-radius:var(--radius);padding:1.2rem 1.4rem;margin-bottom:1.92rem}
.glor{overflow-x:auto;margin:1rem 0}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{border:1px solid #CFC8DE;padding:.55rem .7rem;text-align:left;vertical-align:top}
th{background:#F1EFF8}
blockquote{border-left:4px solid #5743B5;padding:.2rem 0 .2rem 1rem;color:#5C5368;margin:1rem 0}
.wrss{max-width:46rem;margin:2.16rem auto;background:#e8e5f4;border:1px solid #CFC8DE;border-radius:var(--radius);padding:1.4rem 1.6rem}
.lpgk{font-size:1.25rem;margin-bottom:.7rem}
.djgk{list-style:none;padding:0;margin-top:.8rem;display:grid;gap:.45rem}
.ytvi{padding-left:1.1rem;position:relative;font-size:.95rem}
.ytvi::before{content:"";position:absolute;left:0;top:.55em;width:.45em;height:.45em;border-radius:50%;background:#5743B5}
.lvnm{max-width:46rem;margin:2.16rem auto;padding:0;list-style:none;counter-reset:src}
.saoi{border-top:1px solid #CFC8DE;padding:.9rem 0 .9rem 2.2rem;position:relative;counter-increment:src}
.saoi::before{content:counter(src);position:absolute;left:0;top:.95rem;font-family:'Manrope', 'Avenir Next', 'Segoe UI', sans-serif;font-weight:700;color:#5743B5}
.omhp{margin-bottom:.3rem}
.ctfc{font-size:.88rem;color:#5C5368}
.jfew{max-width:46rem;margin:0 auto}
.fwkv{border-bottom:1px solid #CFC8DE;padding:1.32rem 0}
.dqku{font-size:1.15rem;margin-bottom:.5rem}
.gnpn{color:#211B31}
.cjcf{background:#d9e3ea;border-top:1px solid #CFC8DE;border-bottom:1px solid #CFC8DE;margin:2.4rem 0 0}
.eisn{max-width:46rem;margin:0 auto;padding:2.64rem 1.5rem;text-align:center}
.eisn h2{margin-bottom:.7rem}
.eisn p{margin-bottom:1.1rem}
.kbam{display:inline-block;background:#5743B5;color:#FFFFFF;text-decoration:none;font-weight:600;padding:.8rem 1.8rem;border-radius:var(--radius)}
.kbam:hover{opacity:.9}

.sgaz{font-size:1.45rem;margin-bottom:.45rem}
.fhmo p{margin-bottom:.55rem}
.fhmo p:last-child{margin-bottom:0}
.tcbs{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.35rem .95rem;margin:.6rem 0 0;font-size:.92rem}
.ckde{display:inline-block;font-weight:700;font-size:1.05rem;padding:1rem 2rem;border-radius:var(--radius);text-decoration:none;white-space:nowrap}
.ckde:hover{opacity:.92}
.lbjw{padding:0 1.5rem;margin-top:-1.5rem;position:relative;z-index:2}
.dmak{max-width:64rem;margin:0 auto;background:#FCFBFF;border-top:6px solid #5743B5;border-radius:var(--radius);box-shadow:0 18px 40px -18px rgba(0,0,0,.35),0 2px 8px rgba(0,0,0,.08);padding:1.6rem 2rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.2rem 2.5rem;align-items:center}
.whtr{display:inline-block;background:#5743B5;color:#FFFFFF;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .7rem;border-radius:999px;margin-bottom:.6rem}
.tcbs{color:#656466}
.dajs::before{content:"\2713\00a0";color:#5743B5}
.ckde{background:#5743B5;color:#FFFFFF;box-shadow:0 10px 22px -12px #5743B5}
@media (max-width:720px){.dmak{display:block} .whtr{transform:none;max-width:none;margin-bottom:.6rem} .ckde{display:block;text-align:center;margin-top:1rem}}
.hkll{background:#F1EFF8;border-top:1px solid #CFC8DE}
.hkll .edeg{padding:2.64rem 1.5rem}
.zdvu{display:grid;grid-template-columns:2fr 1fr;gap:2rem;margin-bottom:1.4rem}
.fnad{font-style:italic;margin-bottom:.8rem}
.ahqk{font-size:.9rem;margin-bottom:.8rem}
.afwy{font-size:.85rem;color:#5C5368}
.hkll .afwy{opacity:.85}
.oxeb{color:#5C5368;font-size:.92rem}
@media(max-width:760px){
  .kewb .edeg{grid-template-columns:1fr;gap:1.5rem}
  .zdvu{grid-template-columns:1fr}
  .nngg .edeg{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem;padding:.9rem 1.5rem;text-align:left}
  .nngg .tksq{border-top:0;padding-top:0}
  .nngg .ppte{display:flex}
  .nngg .tksq{display:none;flex-basis:100%;flex-direction:column;gap:0;border-top:1px solid #CFC8DE;padding-top:.4rem;margin-top:.4rem}
  .nngg .tksq[data-open="true"]{display:flex}
  .nngg .agkz{display:block;padding:.6rem 0;font-size:1.05rem}
}

/* ---- per-site theme layer ---- */
/* Mesa Joint Decision — Viber-inspired conversation system */

:root {
  --mesa-violet: #5743B5;
  --mesa-violet-deep: #3E2C91;
  --mesa-ink: #211B31;
  --mesa-copy: #5C5368;
  --mesa-canvas: #FCFBFF;
  --mesa-soft: #F1EFF8;
  --mesa-soft-2: #E6E1F5;
  --mesa-teal: #00736F;
  --mesa-line: #CFC8DE;
  --icon-check: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22m8 12 2.6 2.6L16.5 9%22/%3E%3C/svg%3E");
  --icon-pin: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M20 10c0 5-8 12-8 12S4 15 4 10a8 8 0 1 1 16 0Z%22/%3E%3Ccircle cx=%2212%22 cy=%2210%22 r=%222.5%22/%3E%3C/svg%3E");
  --icon-question: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22M9.7 9a2.6 2.6 0 1 1 3.6 2.4c-.9.4-1.3 1-1.3 1.8%22/%3E%3Cpath d=%22M12 17h.01%22/%3E%3C/svg%3E");
  --icon-source: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M14 3H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9Z%22/%3E%3Cpath d=%22M14 3v6h6M8 14h8M8 18h5%22/%3E%3C/svg%3E");
  --icon-arrow: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 12h14M13 6l6 6-6 6%22/%3E%3C/svg%3E");
  --icon-path: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%226%22 cy=%226%22 r=%222%22/%3E%3Ccircle cx=%2218%22 cy=%2218%22 r=%222%22/%3E%3Cpath d=%22M8 6h3a3 3 0 0 1 3 3v6a3 3 0 0 0 3 3h-1M6 8v10h8%22/%3E%3C/svg%3E");
}

body {
  color: var(--mesa-ink);
  background-color: var(--mesa-canvas);
  background-image: radial-gradient(circle at 1px 1px, rgba(87, 67, 181, .065) 1px, transparent 0);
  background-size: 28px 28px;
  letter-spacing: -.006em;
}

::selection {
  background: var(--mesa-violet);
  color: #FFFFFF;
}

a {
  text-decoration-color: var(--mesa-violet);
  text-decoration-thickness: .08em;
  text-underline-offset: .18em;
}

a:focus-visible,
button:focus-visible {
  outline: 3px solid var(--mesa-teal);
  outline-offset: 4px;
}

/* Centered messenger-like masthead, preserving assigned header variant 2. */
.nngg {
  position: relative;
  border-bottom: 1px solid var(--mesa-line);
  box-shadow: 0 10px 32px -30px rgba(33, 27, 49, .8);
}

.nngg::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent 0 18%, var(--mesa-violet) 18% 42%, var(--mesa-teal) 42% 48%, transparent 48% 100%);
}

.nngg .edeg {
  max-width: 78rem;
  padding-top: 1.05rem;
  padding-bottom: .72rem;
}

.vcdx {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 3rem;
  padding: .45rem 1.15rem .45rem 4.15rem;
  border: 1px solid var(--mesa-line);
  border-radius: 999px;
  background: var(--mesa-canvas);
  color: var(--mesa-ink);
  font-size: 1.08rem;
  font-weight: 800;
  letter-spacing: -.028em;
  box-shadow: 0 7px 20px -16px rgba(33, 27, 49, .8);
}

.vcdx::before {
  content: "M";
  position: absolute;
  left: .34rem;
  top: .3rem;
  display: grid;
  place-items: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50% 50% 50% 16%;
  background: var(--mesa-violet);
  color: #FFFFFF;
  font-family: 'Manrope', 'Avenir Next', sans-serif;
  font-size: 1.15rem;
  font-weight: 800;
  transform: rotate(-3deg);
}

.vcdx::after {
  content: "";
  width: .46rem;
  height: .46rem;
  margin-left: .65rem;
  border-radius: 50%;
  background: var(--mesa-teal);
  box-shadow: 0 0 0 4px rgba(0, 115, 111, .12);
}

.nngg .iavl {
  margin-top: .42rem;
  color: var(--mesa-copy);
  font-size: .69rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.nngg .tksq {
  gap: .18rem;
  padding-top: .58rem;
}

.nngg .agkz {
  position: relative;
  border-radius: 999px;
  padding: .38rem .67rem;
  color: var(--mesa-ink);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .015em;
}

.nngg .agkz:hover {
  background: var(--mesa-soft-2);
  color: var(--mesa-violet-deep);
}

/* Asymmetric conversation-field hero, layered over assigned hero variant 2. */
.kewb {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--mesa-line);
  background: linear-gradient(160deg, var(--mesa-soft), #DFDAF0);
}

.kewb::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 82% 22%, rgba(87, 67, 181, .16) 0 8rem, transparent 8.05rem),
    repeating-linear-gradient(135deg, transparent 0 22px, rgba(87, 67, 181, .045) 22px 23px);
  pointer-events: none;
}

.kewb .edeg {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(16rem, .55fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
  max-width: 76rem;
  min-height: 34rem;
  padding: clamp(4rem, 8vw, 7rem) 1.5rem clamp(5.8rem, 9vw, 7.5rem);
  text-align: left;
}

.kewb .edeg::after {
  content: "";
  display: block;
  width: min(100%, 21rem);
  aspect-ratio: .83;
  justify-self: end;
  border: 1px solid rgba(62, 44, 145, .28);
  border-radius: 3.5rem 3.5rem 3.5rem .8rem;
  background:
    linear-gradient(var(--mesa-violet), var(--mesa-violet)) 50% 20% / 72% 1.15rem no-repeat,
    linear-gradient(var(--mesa-teal), var(--mesa-teal)) 29% 42% / 34% .72rem no-repeat,
    linear-gradient(var(--mesa-canvas), var(--mesa-canvas)) 50% 50% / 74% 4.8rem no-repeat,
    linear-gradient(var(--mesa-soft-2), var(--mesa-soft-2)) 68% 72% / 48% 3.5rem no-repeat,
    var(--mesa-canvas);
  box-shadow: 18px 22px 0 rgba(87, 67, 181, .14), -12px -12px 0 rgba(0, 115, 111, .08);
  transform: rotate(2.5deg);
}

.lhit {
  max-width: 49rem;
}

.hwqo {
  display: inline-flex;
  align-items: center;
  width: auto;
  gap: .55rem;
  margin-bottom: 1.3rem;
  border-radius: 999px;
  background: var(--mesa-canvas);
  padding: .44rem .76rem;
  color: var(--mesa-violet-deep);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .16em;
  box-shadow: inset 0 0 0 1px var(--mesa-line);
}

.hwqo::before {
  content: "";
  width: .55rem;
  height: .55rem;
  border-radius: 50% 50% 50% 12%;
  background: var(--mesa-teal);
  transform: rotate(-8deg);
}

.kewb .ujer {
  max-width: 14ch;
  margin-bottom: 1.35rem;
  color: var(--mesa-ink);
  font-size: clamp(2.65rem, 5.7vw, 5.3rem);
  font-weight: 800;
  letter-spacing: -.064em;
  line-height: .95;
  text-wrap: balance;
}

.kewb .qmgk {
  max-width: 41rem;
  margin: 0;
  padding-left: 1.05rem;
  border-left: 3px solid var(--mesa-teal);
  color: var(--mesa-copy);
  font-size: 1.09rem;
  line-height: 1.65;
}

.eami {
  justify-content: flex-start;
  gap: .48rem;
  margin-top: 1.65rem;
}

.kewb .hdau {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--mesa-line);
  border-radius: .85rem .85rem .85rem .22rem;
  background: var(--mesa-canvas);
  padding: .48rem .72rem;
  color: var(--mesa-ink);
  font-size: .76rem;
  font-weight: 650;
  line-height: 1.3;
  box-shadow: 0 8px 22px -20px rgba(33, 27, 49, .9);
}

.kewb .hdau::before {
  content: "";
  flex: 0 0 auto;
  width: .9rem;
  height: .9rem;
  margin-right: .4rem;
  background: var(--mesa-teal);
  -webkit-mask: var(--icon-check) center / contain no-repeat;
  mask: var(--icon-check) center / contain no-repeat;
}

/* Recommendation module: offset message card with an anchored action. */
.lbjw {
  margin-top: -2.6rem;
  padding: 0 1.5rem;
}

.dmak {
  max-width: 66rem;
  padding: 1.8rem 2rem 1.75rem;
  border: 1px solid var(--mesa-line);
  border-top: 0;
  border-radius: 1.6rem 1.6rem 1.6rem .38rem;
  background: var(--mesa-canvas);
  box-shadow: 0 22px 48px -31px rgba(33, 27, 49, .75), inset 0 6px 0 var(--mesa-violet);
}

.yslz {
  position: relative;
  padding-left: 4.7rem;
}

.yslz::before {
  content: "M";
  position: absolute;
  left: 0;
  top: .05rem;
  display: grid;
  place-items: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50% 50% 50% 18%;
  background: var(--mesa-violet);
  color: #FFFFFF;
  font-family: 'Manrope', sans-serif;
  font-size: 1.35rem;
  font-weight: 800;
}

.whtr {
  border-radius: 999px;
  background: #5743B5;
  color: #FFFFFF;
  padding: .35rem .7rem;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .14em;
}

.sgaz {
  margin-top: .22rem;
  color: var(--mesa-ink);
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  font-weight: 800;
  letter-spacing: -.035em;
}

.fhmo p {
  color: var(--mesa-ink);
  font-size: .96rem;
  line-height: 1.6;
}

.tcbs {
  gap: .45rem 1.05rem;
  color: var(--mesa-copy);
  font-size: .81rem;
  font-weight: 650;
}

.dajs {
  display: inline-flex;
  align-items: center;
  color: var(--mesa-copy);
}

.dajs::before {
  content: "";
  width: 1rem;
  height: 1rem;
  margin-right: .38rem;
  background: var(--mesa-teal);
  -webkit-mask: var(--icon-check) center / contain no-repeat;
  mask: var(--icon-check) center / contain no-repeat;
}

.ckde,
.kbam {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  border-radius: 999px;
  background: #5743B5;
  color: #FFFFFF;
  font-weight: 750;
  box-shadow: 0 12px 28px -18px rgba(62, 44, 145, .9);
}

.ckde::after,
.kbam::after {
  content: "";
  width: 1.05rem;
  height: 1.05rem;
  background: #FFFFFF;
  -webkit-mask: var(--icon-arrow) center / contain no-repeat;
  mask: var(--icon-arrow) center / contain no-repeat;
}

/* Long-form rhythm: a clean transcript column with message-like modules. */
.acps {
  padding-top: clamp(3rem, 6vw, 5.8rem);
  padding-bottom: 2rem;
}

.dcui {
  position: relative;
  max-width: 50rem;
  margin-bottom: 2.4rem;
  padding: 1.5rem 1.65rem 1.45rem 5.2rem;
  border: 1px solid var(--mesa-line);
  border-radius: 1.5rem 1.5rem 1.5rem .35rem;
  background: var(--mesa-soft);
  box-shadow: 9px 9px 0 var(--mesa-soft-2);
  font-size: 1.09rem;
}

.dcui::before {
  content: "";
  position: absolute;
  top: 1.45rem;
  left: 1.55rem;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background: var(--mesa-violet);
  -webkit-mask: var(--icon-path) center / 62% no-repeat;
  mask: var(--icon-path) center / 62% no-repeat;
}

.dcui h2 {
  margin-bottom: .75rem;
  color: var(--mesa-violet-deep);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.dcui p:last-child {
  margin-bottom: 0;
}

.hbbl {
  position: relative;
  max-width: 50rem;
  padding: 2.2rem 0 2.4rem 4.8rem;
  border-top: 1px solid var(--mesa-line);
}

.hbbl::before {
  content: counter(section-counter, decimal-leading-zero);
  position: absolute;
  top: 2.28rem;
  left: 0;
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  border: 1px solid var(--mesa-line);
  border-radius: 50% 50% 50% 18%;
  background: var(--mesa-canvas);
  color: var(--mesa-violet-deep);
  font-family: 'Manrope', sans-serif;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
}

.acps .edeg {
  counter-reset: section-counter;
}

.hbbl {
  counter-increment: section-counter;
}

.hbbl h2 {
  margin-bottom: 1rem;
  color: var(--mesa-ink);
  font-size: clamp(1.55rem, 2.7vw, 2.05rem);
  font-weight: 800;
  letter-spacing: -.038em;
  line-height: 1.1;
  text-wrap: balance;
}

.hbbl h3 {
  color: var(--mesa-violet-deep);
  font-size: 1.08rem;
  font-weight: 800;
}

.hbbl p,
.hbbl li,
.gnpn,
.wrss p {
  color: var(--mesa-ink);
}

.hbbl ul,
.hbbl ol {
  padding-left: 1.25rem;
}

blockquote {
  border: 0;
  border-radius: 1.15rem 1.15rem 1.15rem .25rem;
  background: var(--mesa-soft);
  padding: 1.1rem 1.3rem;
  color: var(--mesa-copy);
}

.glor {
  border: 1px solid var(--mesa-line);
  border-radius: 1.1rem;
  background: var(--mesa-canvas);
  box-shadow: 0 12px 30px -27px rgba(33, 27, 49, .8);
}

table {
  font-size: .88rem;
}

th,
td {
  border-width: 0 0 1px;
  border-color: var(--mesa-line);
  padding: .78rem .82rem;
  color: var(--mesa-ink);
}

th {
  background: var(--mesa-soft-2);
  color: var(--mesa-ink);
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
}

/* Local module: route card with a distinct teal location language. */
.wrss {
  position: relative;
  max-width: 50rem;
  margin-top: 3rem;
  padding: 2rem 2rem 1.9rem 5.5rem;
  border: 1px solid var(--mesa-line);
  border-radius: .45rem 1.7rem 1.7rem 1.7rem;
  background: #ECEAF6;
  box-shadow: -10px 10px 0 rgba(0, 115, 111, .09);
}

.wrss::before {
  content: "";
  position: absolute;
  top: 1.9rem;
  left: 1.6rem;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  background: var(--mesa-teal);
  -webkit-mask: var(--icon-pin) center / 64% no-repeat;
  mask: var(--icon-pin) center / 64% no-repeat;
}

.lpgk {
  margin-bottom: .85rem;
  color: var(--mesa-ink);
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: -.03em;
}

.djgk {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
  margin-top: 1.15rem;
}

.ytvi {
  min-height: 3rem;
  border: 1px solid var(--mesa-line);
  border-radius: .8rem .8rem .8rem .22rem;
  background: var(--mesa-canvas);
  padding: .65rem .7rem .65rem 2.2rem;
  color: var(--mesa-ink);
  font-size: .79rem;
  line-height: 1.4;
}

.ytvi::before {
  top: .82rem;
  left: .72rem;
  width: .95rem;
  height: .95rem;
  border-radius: 0;
  background: var(--mesa-teal);
  -webkit-mask: var(--icon-pin) center / contain no-repeat;
  mask: var(--icon-pin) center / contain no-repeat;
}

/* FAQ as a sequence of incoming and outgoing messages. */
.jfew {
  max-width: 50rem;
  counter-reset: faq-counter;
}

.fwkv {
  position: relative;
  margin-bottom: 1rem;
  padding: 1.25rem 1.4rem 1.3rem 4.55rem;
  border: 1px solid var(--mesa-line);
  border-radius: 1.4rem 1.4rem 1.4rem .3rem;
  background: var(--mesa-soft);
  counter-increment: faq-counter;
}

.fwkv::before {
  content: "";
  position: absolute;
  top: 1.2rem;
  left: 1.25rem;
  width: 2.25rem;
  height: 2.25rem;
  background: var(--mesa-violet);
  -webkit-mask: var(--icon-question) center / contain no-repeat;
  mask: var(--icon-question) center / contain no-repeat;
}

.dqku {
  margin-bottom: .62rem;
  color: var(--mesa-ink);
  font-size: 1.08rem;
  font-weight: 800;
  letter-spacing: -.018em;
}

.gnpn {
  line-height: 1.65;
}

/* Sources become a compact evidence inbox. */
.lvnm {
  max-width: 50rem;
  margin-top: 3rem;
  border: 1px solid var(--mesa-line);
  border-radius: 1.35rem;
  background: var(--mesa-canvas);
  padding: .5rem 1.35rem;
  box-shadow: 0 15px 35px -32px rgba(33, 27, 49, .9);
}

.saoi {
  min-height: 4.6rem;
  border-top: 1px solid var(--mesa-line);
  padding: 1rem 0 1rem 3.5rem;
}

.saoi:first-child {
  border-top: 0;
}

.saoi::before {
  content: "";
  top: 1.08rem;
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 50%;
  background: var(--mesa-violet);
  -webkit-mask: var(--icon-source) center / 62% no-repeat;
  mask: var(--icon-source) center / 62% no-repeat;
}

.omhp {
  color: var(--mesa-ink);
  font-size: .9rem;
  font-weight: 600;
  line-height: 1.5;
}

.ctfc {
  color: var(--mesa-copy);
  font-size: .78rem;
  line-height: 1.5;
}

/* CTA: a grounded decision band, distinct from the evidence modules. */
.cjcf {
  position: relative;
  overflow: hidden;
  border: 0;
  background: #DED9ED;
}

.cjcf::before,
.cjcf::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(62, 44, 145, .24);
  border-radius: 50% 50% 50% 18%;
  transform: rotate(12deg);
}

.cjcf::before {
  top: -4rem;
  left: -2rem;
  width: 11rem;
  height: 11rem;
}

.cjcf::after {
  right: -3rem;
  bottom: -5rem;
  width: 14rem;
  height: 14rem;
}

.eisn {
  position: relative;
  z-index: 1;
  max-width: 52rem;
  padding-top: 4.4rem;
  padding-bottom: 4.5rem;
}

.eisn h2 {
  color: var(--mesa-ink);
  font-size: clamp(1.85rem, 4vw, 3.15rem);
  font-weight: 800;
  letter-spacing: -.052em;
  line-height: 1.02;
}

.eisn p {
  color: var(--mesa-ink);
}

.kbam {
  padding: .95rem 1.45rem;
  text-decoration: none;
}

/* Footer chrome: quiet violet utility surface with a strong disclosure block. */
.hkll {
  border-top: 1px solid var(--mesa-line);
  background: var(--mesa-soft);
}

.hkll .edeg {
  max-width: 76rem;
}

.zdvu {
  grid-template-columns: minmax(0, 1.45fr) minmax(15rem, .55fr);
  gap: 3rem;
}

.hkll .iavl {
  display: inline-flex;
  border-radius: 999px;
  background: var(--mesa-soft-2);
  padding: .35rem .62rem;
  color: var(--mesa-violet-deep);
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.fnad {
  max-width: 48rem;
  margin-top: 1rem;
  color: var(--mesa-ink);
  font-style: normal;
  font-weight: 650;
}

.ahqk {
  max-width: 48rem;
  border-left: 3px solid var(--mesa-teal);
  padding-left: .9rem;
  color: var(--mesa-ink);
  line-height: 1.55;
}

.hkll .tksq {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem;
}

.hkll .agkz {
  border-radius: .7rem;
  background: var(--mesa-canvas);
  padding: .5rem .62rem;
  color: var(--mesa-ink);
  font-size: .76rem;
  font-weight: 700;
}

.afwy,
.oxeb {
  color: var(--mesa-copy);
}

@media (max-width: 900px) {
  .kewb .edeg {
    grid-template-columns: minmax(0, 1fr) minmax(12rem, .4fr);
    gap: 2rem;
  }

  .kewb .edeg::after {
    width: 15rem;
  }
}

@media (max-width: 760px) {
  .nngg .edeg {
    padding-top: .8rem;
    padding-bottom: .8rem;
  }

  .vcdx {
    max-width: calc(100vw - 6rem);
    padding-right: .75rem;
    padding-left: 3.55rem;
    font-size: .86rem;
  }

  .vcdx::before {
    width: 2.25rem;
    height: 2.25rem;
  }

  .vcdx::after {
    display: none;
  }

  .nngg .iavl {
    display: none;
  }

  .kewb .edeg {
    grid-template-columns: 1fr;
    min-height: 0;
    padding-top: 3.5rem;
    padding-bottom: 5rem;
  }

  .kewb .edeg::after {
    display: none;
  }

  .kewb .ujer {
    font-size: clamp(2.4rem, 13vw, 4rem);
  }

  .lbjw {
    margin-top: -2rem;
    padding-right: .85rem;
    padding-left: .85rem;
  }

  .dmak {
    padding: 1.55rem 1.25rem;
  }

  .yslz {
    padding-left: 0;
  }

  .yslz::before {
    display: none;
  }

  .dcui {
    padding: 1.3rem 1.25rem;
    box-shadow: 6px 6px 0 var(--mesa-soft-2);
  }

  .dcui::before {
    display: none;
  }

  .hbbl {
    padding: 1.8rem 0 2rem;
  }

  .hbbl::before {
    position: static;
    width: 2.45rem;
    height: 2.45rem;
    margin-bottom: .9rem;
  }

  .wrss {
    padding: 1.45rem 1.2rem;
  }

  .wrss::before {
    position: static;
    display: block;
    width: 2.25rem;
    height: 2.25rem;
    margin-bottom: .8rem;
  }

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

  .fwkv {
    padding: 1.15rem 1.15rem 1.2rem 3.9rem;
  }

  .fwkv::before {
    left: 1rem;
  }

  .lvnm {
    padding-right: .9rem;
    padding-left: .9rem;
  }

  .zdvu,
  .hkll .tksq {
    grid-template-columns: 1fr;
  }
}
