/* generated by render-qck-site.ts — do not hand-edit (gitignored output) */
*{box-sizing:border-box;margin:0}
:root{--radius:1.25rem}
html{scroll-behavior:smooth}
body{background:#FFF9FD;color:#111111;font-family:'DM Sans', '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:#111111}
a{color:#A50074}
a:hover{opacity:.85}
img{max-width:100%}
code{background:#F5EEF4;padding:.1em .35em;border-radius:4px;font-size:.9em}
.mxpy{position:absolute;left:-9999px;top:0;background:#A50074;color:#FFFFFF;padding:.5rem 1rem;z-index:9}
.mxpy:focus{left:0}
.hzfp{max-width:72rem;margin:0 auto;padding:0 1.5rem}
.mgoe{font-family:'Manrope', 'Avenir Next', 'Segoe UI', sans-serif;font-weight:700;font-size:1.25rem;text-decoration:none;color:inherit}
.xgzf{color:#57505A;font-size:.85rem}
.ykxt{display:flex;flex-wrap:wrap;gap:1.1rem}
.yubw{text-decoration:none;color:inherit;font-size:.95rem}
.yubw:hover{color:#A50074;opacity:1}
.rehp{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}
.rehp span{display:block;height:2px;background:currentColor;border-radius:2px}
.rehp[aria-expanded="true"] span:nth-child(2){opacity:0}
.yify{border-bottom:1px solid #D8CED6;background:#FFF9FD} .yify .hzfp{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem}
.texa{background:#FFFFFF;border-bottom:1px solid #D8CED6} .texa .hzfp{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:2.5rem;padding:4.08rem 1.5rem}
.wnlw{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:#A50074;font-weight:600;margin-bottom:.8rem}
.notg{font-size:clamp(1.9rem,4.5vw,3rem);margin-bottom:1rem}
.rzan{font-size:1.15rem;color:#57505A;max-width:44rem;margin:0 auto}
.bsqt{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin-top:1.4rem}
.xocq{border:1px solid #D8CED6;background:#FFFFFF;border-radius:999px;padding:.3rem .85rem;font-size:.85rem}
.zytv{padding:3.12rem 0}
/* the measure fix: prose column CENTERED in the container, never pinned left */
.ykoy,.dxqv,.ozih{max-width:46rem;margin-left:auto;margin-right:auto}
.ykoy{padding:1.68rem 0}
.ykoy h2{font-size:1.6rem;margin-bottom:.8rem}
.ykoy h3{font-size:1.2rem;margin:.9rem 0 .5rem}
.ykoy p,.ykoy li,.dxqv p{margin-bottom:.85rem}
.ykoy ul,.ykoy ol{padding-left:1.4rem}
.dxqv{font-size:1.12rem}
.ozih{background:#FFFFFF;border:1px solid #D8CED6;border-radius:var(--radius);padding:1.2rem 1.4rem;margin-bottom:1.92rem}
.eqqf{overflow-x:auto;margin:1rem 0}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{border:1px solid #D8CED6;padding:.55rem .7rem;text-align:left;vertical-align:top}
th{background:#FFFFFF}
blockquote{border-left:4px solid #A50074;padding:.2rem 0 .2rem 1rem;color:#57505A;margin:1rem 0}
.tyrc{max-width:46rem;margin:2.16rem auto;background:#faf0f7;border:1px solid #D8CED6;border-radius:var(--radius);padding:1.4rem 1.6rem}
.oybq{font-size:1.25rem;margin-bottom:.7rem}
.qjum{list-style:none;padding:0;margin-top:.8rem;display:grid;gap:.45rem}
.zjzd{padding-left:1.1rem;position:relative;font-size:.95rem}
.zjzd::before{content:"";position:absolute;left:0;top:.55em;width:.45em;height:.45em;border-radius:50%;background:#A50074}
.zrsd{max-width:46rem;margin:2.16rem auto;padding:0;list-style:none;counter-reset:src}
.nrbo{border-top:1px solid #D8CED6;padding:.9rem 0 .9rem 2.2rem;position:relative;counter-increment:src}
.nrbo::before{content:counter(src);position:absolute;left:0;top:.95rem;font-family:'Manrope', 'Avenir Next', 'Segoe UI', sans-serif;font-weight:700;color:#A50074}
.stnn{margin-bottom:.3rem}
.coel{font-size:.88rem;color:#57505A}
.dfbb{max-width:46rem;margin:0 auto}
.obbf{border-bottom:1px solid #D8CED6;padding:1.32rem 0}
.daou{font-size:1.15rem;margin-bottom:.5rem}
.ibhd{color:#111111}
.fyki{background:#e6f0f0;border-top:1px solid #D8CED6;border-bottom:1px solid #D8CED6;margin:2.4rem 0 0}
.nije{max-width:46rem;margin:0 auto;padding:2.64rem 1.5rem;text-align:center}
.nije h2{margin-bottom:.7rem}
.nije p{margin-bottom:1.1rem}
.euvo{display:inline-block;background:#A50074;color:#FFFFFF;text-decoration:none;font-weight:600;padding:.8rem 1.8rem;border-radius:var(--radius)}
.euvo:hover{opacity:.9}

.snux{font-size:1.45rem;margin-bottom:.45rem}
.mpyr p{margin-bottom:.55rem}
.mpyr p:last-child{margin-bottom:0}
.jufr{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.35rem .95rem;margin:.6rem 0 0;font-size:.92rem}
.imlb{display:inline-block;font-weight:700;font-size:1.05rem;padding:1rem 2rem;border-radius:var(--radius);text-decoration:none;white-space:nowrap}
.imlb:hover{opacity:.92}
.edni{padding:0 1.5rem;margin-top:-1.5rem;position:relative;z-index:2}
.tczg{max-width:64rem;margin:0 auto;background:#FFF9FD;border-top:6px solid #A50074;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}
.zslj{display:inline-block;background:#A50074;color:#FFFFFF;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .7rem;border-radius:999px;margin-bottom:.6rem}
.jufr{color:#666465}
.sglx::before{content:"\2713\00a0";color:#A50074}
.imlb{background:#A50074;color:#FFFFFF;box-shadow:0 10px 22px -12px #A50074}
@media (max-width:720px){.tczg{display:block} .zslj{transform:none;max-width:none;margin-bottom:.6rem} .imlb{display:block;text-align:center;margin-top:1rem}}
.jotq{background:#FFFFFF;border-top:1px solid #D8CED6}
.jotq .hzfp{padding:2.64rem 1.5rem}
.wnox{display:grid;grid-template-columns:2fr 1fr;gap:2rem;margin-bottom:1.4rem}
.iwhs{font-style:italic;margin-bottom:.8rem}
.nonq{font-size:.9rem;margin-bottom:.8rem}
.dlnv{font-size:.85rem;color:#57505A}
.jotq .dlnv{opacity:.85}
.qmzw{color:#57505A;font-size:.92rem}
@media(max-width:760px){
  .texa .hzfp{grid-template-columns:1fr;gap:1.5rem}
  .wnox{grid-template-columns:1fr}
  .yify .hzfp{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem;padding:.9rem 1.5rem;text-align:left}
  .yify .ykxt{border-top:0;padding-top:0}
  .yify .rehp{display:flex}
  .yify .ykxt{display:none;flex-basis:100%;flex-direction:column;gap:0;border-top:1px solid #D8CED6;padding-top:.4rem;margin-top:.4rem}
  .yify .ykxt[data-open="true"]{display:flex}
  .yify .yubw{display:block;padding:.6rem 0;font-size:1.05rem}
}

/* ---- per-site theme layer ---- */
/* The Gilbert Biologic Guide — Lyft-inspired route-map editorial system. */

:root {
  --gbg-bg: #FFF9FD;
  --gbg-white: #FFFFFF;
  --gbg-soft: #F5EEF4;
  --gbg-ink: #111111;
  --gbg-muted: #57505A;
  --gbg-pink: #A50074;
  --gbg-teal: #006B67;
  --gbg-line: #D8CED6;
  --gbg-shadow: 0 24px 60px -34px rgba(17, 17, 17, .42);
  --gbg-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=%222%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.4%22/%3E%3C/svg%3E");
  --gbg-route: 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=%222%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 3h1%22/%3E%3C/svg%3E");
  --gbg-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=%222%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.5 2.5L16.5 8.5%22/%3E%3C/svg%3E");
  --gbg-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=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22M9.8 9a2.5 2.5 0 1 1 3.4 2.3c-.7.4-1.2 1-1.2 1.7M12 17h.01%22/%3E%3C/svg%3E");
  --gbg-doc: 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=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z%22/%3E%3Cpath d=%22M14 2v6h6M8 13h8M8 17h6%22/%3E%3C/svg%3E");
  --gbg-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=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 12h14M13 6l6 6-6 6%22/%3E%3C/svg%3E");
}

html { scroll-behavior: smooth; }

body {
  background: var(--gbg-bg);
  color: var(--gbg-ink);
  letter-spacing: -.006em;
}

img { max-width: 100%; height: auto; }

::selection { background: #F4E0EE; color: var(--gbg-ink); }

.mxpy:focus {
  background: var(--gbg-ink);
  color: var(--gbg-white);
  border-radius: 0 0 .8rem 0;
}

/* Masthead and a logo-like local wordmark. */
.yify {
  background: var(--gbg-white);
  border-bottom: 1px solid var(--gbg-line);
  box-shadow: 0 8px 30px -28px rgba(17, 17, 17, .7);
}

.yify .hzfp {
  max-width: 82rem;
  padding: .82rem 1.5rem;
  gap: 1.5rem;
}

.mgoe {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 2.85rem;
  padding-left: 3.55rem;
  color: var(--gbg-ink);
  font-family: 'Manrope', 'Avenir Next', 'Segoe UI', sans-serif;
  font-size: .95rem;
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -.035em;
}

.mgoe::before {
  content: "G";
  position: absolute;
  left: 0;
  top: 0;
  display: grid;
  place-items: center;
  width: 2.85rem;
  height: 2.85rem;
  border-radius: 50% 50% 50% .65rem;
  background: var(--gbg-pink);
  color: var(--gbg-white);
  font-size: 1.48rem;
  font-weight: 800;
  letter-spacing: -.08em;
  transform: rotate(-4deg);
}

.mgoe::after {
  content: "";
  position: absolute;
  left: 2.25rem;
  top: 2.2rem;
  width: .56rem;
  height: .56rem;
  border: 3px solid var(--gbg-white);
  border-radius: 50%;
  background: var(--gbg-teal);
}

.yify .xgzf {
  margin: -.4rem 0 0 3.58rem;
  color: var(--gbg-muted);
  font-size: .67rem;
  font-weight: 700;
  letter-spacing: .105em;
  text-transform: uppercase;
}

.ykxt { gap: .12rem; align-items: center; }

.yubw {
  position: relative;
  border-radius: 999px;
  padding: .52rem .66rem;
  color: var(--gbg-ink);
  font-size: .76rem;
  font-weight: 700;
  line-height: 1.15;
}

.yubw::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: .18rem;
  width: 0;
  height: 2px;
  border-radius: 2px;
  background: var(--gbg-pink);
  transform: translateX(-50%);
  transition: width .18s ease;
}

.yubw:hover { background: var(--gbg-soft); color: var(--gbg-pink); }
.yubw:hover::after { width: 42%; }

.rehp { border-radius: .8rem; border-color: var(--gbg-line); }

/* The hero is a route board, not a tinted banner. */
.texa {
  position: relative;
  overflow: hidden;
  border-bottom: 0;
  background:
    radial-gradient(circle at 80% 20%, rgba(165, 0, 116, .62) 0 4%, transparent 4.3%),
    linear-gradient(118deg, #111111 0 72%, #24111E 72% 100%);
  color: var(--gbg-white);
}

.texa::before {
  content: "";
  position: absolute;
  top: 13%;
  right: 7%;
  width: 15rem;
  height: 21rem;
  border: 2px solid rgba(255, 255, 255, .42);
  border-radius: 8rem 8rem 1.5rem 1.5rem;
  transform: rotate(17deg);
}

.texa::after {
  content: "GIL → CHD";
  position: absolute;
  right: 6.5%;
  bottom: 2.7rem;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 999px;
  background: var(--gbg-white);
  padding: .5rem .75rem;
  color: var(--gbg-ink);
  font-family: 'DM Sans', 'Avenir Next', sans-serif;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.texa .hzfp {
  position: relative;
  z-index: 1;
  max-width: 76rem;
  padding: 5.4rem 1.5rem 6rem;
}

.ukae {
  position: relative;
  max-width: 58rem;
  padding-left: 3.3rem;
}

.ukae::before {
  content: "";
  position: absolute;
  left: .55rem;
  top: .5rem;
  bottom: .6rem;
  width: 3px;
  border-radius: 4px;
  background: linear-gradient(var(--gbg-pink) 0 44%, var(--gbg-white) 44% 62%, var(--gbg-teal) 62% 100%);
}

.ukae::after {
  content: "";
  position: absolute;
  left: .15rem;
  bottom: .25rem;
  width: .82rem;
  height: .82rem;
  border: 3px solid var(--gbg-white);
  border-radius: 50%;
  background: var(--gbg-teal);
}

.wnlw {
  display: inline-flex;
  width: auto;
  margin: 0 0 1.45rem;
  border-radius: 999px;
  background: var(--gbg-pink);
  padding: .46rem .72rem;
  color: var(--gbg-white);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.notg {
  max-width: 16ch;
  margin: 0 0 1.4rem;
  color: var(--gbg-white);
  font-size: clamp(3.05rem, 6.2vw, 6.15rem);
  font-weight: 800;
  line-height: .94;
  letter-spacing: -.064em;
}

.rzan {
  max-width: 43rem;
  margin: 0;
  color: var(--gbg-soft);
  font-size: 1.14rem;
  line-height: 1.66;
}

.bsqt { margin-top: 2rem; gap: .6rem; }

.xocq {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 999px;
  background: var(--gbg-white);
  padding: .5rem .76rem;
  color: var(--gbg-ink);
  font-size: .75rem;
  font-weight: 700;
}

.xocq::before {
  content: "";
  width: .86rem;
  height: .86rem;
  flex: 0 0 auto;
  background-color: var(--gbg-pink);
  -webkit-mask: var(--gbg-route) center / contain no-repeat;
  mask: var(--gbg-route) center / contain no-repeat;
}

/* Literal foregrounds let the emitted-output contrast gate verify the dark hero. */
.texa .wnlw { background: #A50074; color: #FFFFFF; }
.texa .notg { color: #FFFFFF; }
.texa .rzan { color: #F5EEF4; }
.texa .xocq { background: #FFFFFF; color: #111111; }

/* Above-the-fold clinic stop. */
.edni {
  position: relative;
  z-index: 2;
  margin-top: -2.2rem;
  padding: 0 1.5rem 1.2rem;
  background: transparent;
}

.tczg {
  position: relative;
  max-width: 68rem;
  overflow: hidden;
  border: 0;
  border-radius: 1.45rem;
  background: var(--gbg-white);
  box-shadow: var(--gbg-shadow);
  padding: 1.8rem 2rem 1.8rem 2.45rem;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.2rem 2rem;
}

.tczg::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: .55rem;
  background: linear-gradient(var(--gbg-pink) 0 58%, var(--gbg-teal) 58% 100%);
}

.zslj {
  display: inline-flex;
  border-radius: 999px;
  background: var(--gbg-teal);
  padding: .4rem .68rem;
  color: var(--gbg-white);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.snux {
  max-width: 30ch;
  margin: .7rem 0 .55rem;
  color: var(--gbg-ink);
  font-size: clamp(1.45rem, 2.5vw, 2.15rem);
  line-height: 1.08;
  letter-spacing: -.04em;
}

.mpyr p { max-width: 62ch; color: var(--gbg-muted); }
.jufr { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin-top: .85rem; }

.sglx {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  color: var(--gbg-ink);
  font-size: .78rem;
  font-weight: 700;
}

.sglx::before {
  content: "";
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  background-color: var(--gbg-teal);
  -webkit-mask: var(--gbg-check) center / contain no-repeat;
  mask: var(--gbg-check) center / contain no-repeat;
}

.imlb,
.euvo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  border-radius: 999px;
  background: var(--gbg-pink);
  color: var(--gbg-white);
  font-weight: 800;
  box-shadow: 0 10px 24px -16px rgba(165, 0, 116, .7);
}

.imlb::after,
.euvo::after {
  content: "";
  width: 1.05rem;
  height: 1.05rem;
  background-color: currentColor;
  -webkit-mask: var(--gbg-arrow) center / contain no-repeat;
  mask: var(--gbg-arrow) center / contain no-repeat;
  transition: transform .18s ease;
}

.imlb:hover,
.euvo:hover { background: var(--gbg-ink); color: var(--gbg-white); }
.imlb:hover::after,
.euvo:hover::after { transform: translateX(.18rem); }

/* Long-form rhythm: a wide on-ramp, then numbered editorial stops. */
.zytv {
  background: var(--gbg-bg);
  padding: 3.4rem 0 4.8rem;
}

.zytv > .hzfp {
  max-width: 70rem;
  counter-reset: gbg-section;
}

.dxqv {
  position: relative;
  max-width: 54rem;
  margin: 0 auto 3.8rem;
  border-radius: 1.5rem;
  background: var(--gbg-white);
  box-shadow: var(--gbg-shadow);
  padding: 2.2rem 2.35rem 2.2rem 5rem;
  color: var(--gbg-ink);
  font-size: 1.15rem;
  line-height: 1.78;
}

.dxqv::before {
  content: "";
  position: absolute;
  left: 2rem;
  top: 2.35rem;
  width: 1.8rem;
  height: 1.8rem;
  background-color: var(--gbg-pink);
  -webkit-mask: var(--gbg-route) center / contain no-repeat;
  mask: var(--gbg-route) center / contain no-repeat;
}

.dxqv p { color: var(--gbg-ink); }
.dxqv p:first-child { font-weight: 600; }

.ykoy {
  position: relative;
  max-width: 49rem;
  margin: 0 auto;
  padding: 3.15rem 0 3.2rem;
  counter-increment: gbg-section;
}

.ykoy + .ykoy { border-top: 1px solid var(--gbg-line); }

.ykoy h2 {
  position: relative;
  margin: 0 0 1.35rem;
  padding-left: 3.3rem;
  color: var(--gbg-ink);
  font-size: clamp(1.72rem, 3vw, 2.45rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.045em;
}

.ykoy h2::before {
  content: counter(gbg-section, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: .08rem;
  color: var(--gbg-pink);
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.ykoy h2::after {
  content: "";
  position: absolute;
  left: 0;
  top: 1.35rem;
  width: 2rem;
  height: 3px;
  border-radius: 3px;
  background: var(--gbg-teal);
}

.ykoy p,
.ykoy li { color: var(--gbg-ink); line-height: 1.78; }
.ykoy strong { font-weight: 800; }
.ykoy a { color: var(--gbg-pink); text-decoration-thickness: 2px; text-underline-offset: .18em; }

blockquote {
  margin: 2rem 0;
  border-left: .35rem solid var(--gbg-pink);
  border-radius: 0 1.2rem 1.2rem 0;
  background: var(--gbg-soft);
  padding: 1.35rem 1.5rem;
  color: var(--gbg-ink);
}

table { background: var(--gbg-white); color: var(--gbg-ink); }
th { background: var(--gbg-ink); color: var(--gbg-white); }
th, td { border-color: var(--gbg-line); }

/* Local module as a map ticket. */
.tyrc {
  position: relative;
  max-width: 54rem;
  overflow: hidden;
  margin: 3.4rem auto;
  border: 0;
  border-radius: 1.6rem;
  background: var(--gbg-soft);
  box-shadow: inset 0 0 0 1px var(--gbg-line), var(--gbg-shadow);
  padding: 2.3rem 2.4rem 2.25rem 5.3rem;
}

.tyrc::before {
  content: "";
  position: absolute;
  left: 2rem;
  top: 2.35rem;
  width: 2rem;
  height: 2rem;
  background-color: var(--gbg-pink);
  -webkit-mask: var(--gbg-pin) center / contain no-repeat;
  mask: var(--gbg-pin) center / contain no-repeat;
}

.tyrc::after {
  content: "";
  position: absolute;
  left: 2.95rem;
  top: 4.7rem;
  bottom: 2rem;
  border-left: 2px dashed var(--gbg-line);
}

.oybq {
  margin-bottom: 1.2rem;
  color: var(--gbg-ink);
  font-size: clamp(1.65rem, 3vw, 2.35rem);
  letter-spacing: -.045em;
}

.tyrc p { color: var(--gbg-ink); line-height: 1.75; }
.qjum { display: grid; gap: .6rem; margin-top: 1.2rem; }

.zjzd {
  position: relative;
  border-radius: .85rem;
  background: var(--gbg-white);
  padding: .78rem .85rem .78rem 2.45rem;
  color: var(--gbg-ink);
  font-size: .84rem;
  font-weight: 700;
}

.zjzd::before {
  content: "";
  position: absolute;
  left: .85rem;
  top: .86rem;
  width: .95rem;
  height: .95rem;
  background-color: var(--gbg-teal);
  -webkit-mask: var(--gbg-check) center / contain no-repeat;
  mask: var(--gbg-check) center / contain no-repeat;
}

/* FAQ: clean route stops rather than generic bordered cards. */
.dfbb { max-width: 55rem; margin: 0 auto 3.8rem; }

.obbf {
  position: relative;
  margin-bottom: .8rem;
  border: 1px solid var(--gbg-line);
  border-radius: 1.25rem;
  background: var(--gbg-white);
  padding: 1.55rem 1.75rem 1.55rem 4.75rem;
  box-shadow: 0 14px 36px -34px rgba(17, 17, 17, .8);
}

.obbf::before {
  content: "";
  position: absolute;
  left: 1.5rem;
  top: 1.55rem;
  width: 1.8rem;
  height: 1.8rem;
  background-color: var(--gbg-pink);
  -webkit-mask: var(--gbg-question) center / contain no-repeat;
  mask: var(--gbg-question) center / contain no-repeat;
}

.daou {
  margin: 0 0 .6rem;
  color: var(--gbg-ink);
  font-size: 1.17rem;
  line-height: 1.3;
  letter-spacing: -.025em;
}

.ibhd { margin: 0; color: var(--gbg-muted); line-height: 1.72; }

/* Source ledger. */
.zrsd { margin-top: .5rem; counter-reset: source; }

.nrbo {
  position: relative;
  border-top: 1px solid var(--gbg-line);
  padding: 1.3rem 0 1.3rem 3.25rem;
  counter-increment: source;
}

.nrbo::before {
  content: counter(source, decimal-leading-zero);
  top: 1.42rem;
  left: 0;
  display: grid;
  place-items: center;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: .7rem;
  background: var(--gbg-ink);
  color: var(--gbg-white);
  font-size: .67rem;
  letter-spacing: .05em;
}

.stnn { color: var(--gbg-ink); font-size: .91rem; line-height: 1.65; }
.coel { color: var(--gbg-muted); font-size: .78rem; line-height: 1.6; }

.coel::before {
  content: "";
  display: inline-block;
  width: .9rem;
  height: .9rem;
  margin: 0 .38rem -.12rem 0;
  background-color: var(--gbg-teal);
  -webkit-mask: var(--gbg-doc) center / contain no-repeat;
  mask: var(--gbg-doc) center / contain no-repeat;
}

.coel a { color: var(--gbg-pink); font-weight: 700; }

/* The final route destination. */
.fyki {
  position: relative;
  overflow: hidden;
  background: var(--gbg-teal);
  color: var(--gbg-white);
}

.fyki::before,
.fyki::after {
  content: "";
  position: absolute;
  border: 2px solid rgba(255, 255, 255, .38);
  border-radius: 50%;
}

.fyki::before { width: 18rem; height: 18rem; left: -7rem; top: -11rem; }
.fyki::after { width: 10rem; height: 10rem; right: -2rem; bottom: -6rem; }

.nije {
  position: relative;
  z-index: 1;
  max-width: 51rem;
  padding: 4.5rem 1.5rem;
}

.nije h2 {
  color: var(--gbg-white);
  font-size: clamp(2rem, 4vw, 3.5rem);
  line-height: 1;
  letter-spacing: -.052em;
}

.nije p { max-width: 65ch; margin: .9rem auto 1.4rem; color: var(--gbg-white); line-height: 1.7; }
.euvo { background: var(--gbg-white); color: var(--gbg-ink); }

/* Footer: compact terminal, not a leftover block. */
.jotq {
  border-top: 0;
  background: var(--gbg-ink);
  color: var(--gbg-white);
}

.jotq .hzfp { max-width: 76rem; padding-top: 3.5rem; padding-bottom: 2.2rem; }
.wnox { grid-template-columns: minmax(0, 1.6fr) minmax(16rem, .8fr); gap: 4rem; }

.jotq .xgzf {
  display: inline-flex;
  border-radius: 999px;
  background: var(--gbg-pink);
  padding: .42rem .68rem;
  color: var(--gbg-white);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.jotq .qmzw,
.iwhs,
.nonq,
.dlnv { color: var(--gbg-soft); }

.iwhs { max-width: 62ch; font-weight: 700; }
.nonq { max-width: 68ch; border-left: 3px solid var(--gbg-teal); padding-left: 1rem; }
.jotq .yubw { display: inline-block; margin: .12rem; color: var(--gbg-white); }
.jotq .yubw:hover { background: var(--gbg-pink); color: var(--gbg-white); }
.dlnv { border-top: 1px solid #57505A; padding-top: 1.25rem; }

@media (max-width: 900px) {
  .texa::before { right: -5rem; opacity: .55; }
  .texa::after { right: 1.5rem; }
  .ukae { max-width: 48rem; }
  .notg { max-width: 13ch; }
  .wnox { gap: 2rem; }
}

@media (max-width: 760px) {
  .yify .hzfp { padding: .72rem 1rem; }
  .mgoe { max-width: 15rem; }
  .yify .xgzf { display: none; }
  .yify .ykxt { align-items: stretch; }
  .yify .yubw { border-radius: .65rem; padding-left: .65rem; padding-right: .65rem; }
  .texa .hzfp { padding: 4rem 1.15rem 5rem; }
  .texa::before { right: -10rem; opacity: .32; }
  .texa::after { right: 1rem; bottom: 1.25rem; }
  .ukae { max-width: none; padding-left: 2.35rem; }
  .notg { max-width: 12ch; font-size: clamp(2.7rem, 13vw, 4.25rem); }
  .edni { margin-top: -1.6rem; padding-left: .8rem; padding-right: .8rem; }
  .tczg { padding: 1.45rem 1.25rem 1.45rem 1.75rem; }
  .jufr { display: grid; }
  .imlb { display: flex; }
  .zytv { padding-top: 2.4rem; }
  .dxqv { margin-bottom: 2.3rem; padding: 1.55rem 1.35rem 1.55rem 3.7rem; font-size: 1.03rem; }
  .dxqv::before { left: 1.25rem; top: 1.7rem; width: 1.45rem; height: 1.45rem; }
  .ykoy { padding: 2.35rem .1rem; }
  .ykoy h2 { padding-left: 2.8rem; }
  .tyrc { padding: 1.65rem 1.25rem 1.6rem 3.9rem; }
  .tyrc::before { left: 1.15rem; top: 1.75rem; width: 1.6rem; height: 1.6rem; }
  .tyrc::after { left: 1.9rem; top: 3.85rem; }
  .obbf { padding: 1.3rem 1.25rem 1.3rem 3.8rem; }
  .obbf::before { left: 1.15rem; top: 1.35rem; width: 1.5rem; height: 1.5rem; }
  .nrbo { padding-left: 2.8rem; }
  .nije { padding-top: 3.4rem; padding-bottom: 3.4rem; }
  .wnox { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .yubw::after,
  .imlb::after,
  .euvo::after { transition: none; }
}
