/* generated by render-qck-site.ts — do not hand-edit (gitignored output) */
*{box-sizing:border-box;margin:0}
:root{--radius:1rem}
html{scroll-behavior:smooth}
body{background:#FFFFFF;color:#222222;font-family:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;line-height:1.65;font-size:1.0625rem;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Manrope', 'Arial Rounded MT Bold', Arial, sans-serif;line-height:1.2;color:#222222}
a{color:#C21F47}
a:hover{opacity:.85}
img{max-width:100%}
code{background:#EBEBEB;padding:.1em .35em;border-radius:4px;font-size:.9em}
.xxml{position:absolute;left:-9999px;top:0;background:#C21F47;color:#FFFFFF;padding:.5rem 1rem;z-index:9}
.xxml:focus{left:0}
.mvzc{max-width:72rem;margin:0 auto;padding:0 1.5rem}
.bpzh{font-family:'Manrope', 'Arial Rounded MT Bold', Arial, sans-serif;font-weight:700;font-size:1.25rem;text-decoration:none;color:inherit}
.fnzg{color:#717171;font-size:.85rem}
.wbvb{display:flex;flex-wrap:wrap;gap:1.1rem}
.gflg{text-decoration:none;color:inherit;font-size:.95rem}
.gflg:hover{color:#C21F47;opacity:1}
.jgog{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}
.jgog span{display:block;height:2px;background:currentColor;border-radius:2px}
.jgog[aria-expanded="true"] span:nth-child(2){opacity:0}
.zhqu{border-bottom:3px double #DDDDDD;background:#FFFFFF} .zhqu .mvzc{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:1.5rem;padding:1.1rem 1.5rem} .zhqu .wbvb{justify-content:flex-end}
.vexw{background:#F7F7F7;border-bottom:1px solid #DDDDDD} .vexw .mvzc{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:2.5rem;padding:4.08rem 1.5rem}
.kefv{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:#C21F47;font-weight:600;margin-bottom:.8rem}
.ccjw{font-size:clamp(1.9rem,4.5vw,3rem);margin-bottom:1rem}
.usxc{font-size:1.15rem;color:#717171;max-width:44rem;margin:0 auto}
.hhnz{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin-top:1.4rem}
.qxdn{border:1px solid #DDDDDD;background:#F7F7F7;border-radius:999px;padding:.3rem .85rem;font-size:.85rem}
.lnkg{padding:3.12rem 0}
/* the measure fix: prose column CENTERED in the container, never pinned left */
.gcvr,.kszu,.qxzd{max-width:46rem;margin-left:auto;margin-right:auto}
.gcvr{padding:1.68rem 0}
.gcvr h2{font-size:1.6rem;margin-bottom:.8rem}
.gcvr h3{font-size:1.2rem;margin:.9rem 0 .5rem}
.gcvr p,.gcvr li,.kszu p{margin-bottom:.85rem}
.gcvr ul,.gcvr ol{padding-left:1.4rem}
.kszu{font-size:1.12rem}
.qxzd{background:#F7F7F7;border:1px solid #DDDDDD;border-radius:var(--radius);padding:1.2rem 1.4rem;margin-bottom:1.92rem}
.fewo{overflow-x:auto;margin:1rem 0}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{border:1px solid #DDDDDD;padding:.55rem .7rem;text-align:left;vertical-align:top}
th{background:#F7F7F7}
blockquote{border-left:4px solid #C21F47;padding:.2rem 0 .2rem 1rem;color:#717171;margin:1rem 0}
.chdw{max-width:46rem;margin:2.16rem auto;background:#f4eaec;border:1px solid #DDDDDD;border-radius:var(--radius);padding:1.4rem 1.6rem}
.esga{font-size:1.25rem;margin-bottom:.7rem}
.fiyp{list-style:none;padding:0;margin-top:.8rem;display:grid;gap:.45rem}
.uyry{padding-left:1.1rem;position:relative;font-size:.95rem}
.uyry::before{content:"";position:absolute;left:0;top:.55em;width:.45em;height:.45em;border-radius:50%;background:#C21F47}
.zcua{max-width:46rem;margin:2.16rem auto;padding:0;list-style:none;counter-reset:src}
.zhpg{border-top:1px solid #DDDDDD;padding:.9rem 0 .9rem 2.2rem;position:relative;counter-increment:src}
.zhpg::before{content:counter(src);position:absolute;left:0;top:.95rem;font-family:'Manrope', 'Arial Rounded MT Bold', Arial, sans-serif;font-weight:700;color:#C21F47}
.owta{margin-bottom:.3rem}
.ydnv{font-size:.88rem;color:#717171}
.mpgt{max-width:46rem;margin:0 auto}
.cnzt{border-bottom:1px solid #DDDDDD;padding:1.32rem 0}
.kouf{font-size:1.15rem;margin-bottom:.5rem}
.pzml{color:#222222}
.phvg{background:#dee9ea;border-top:1px solid #DDDDDD;border-bottom:1px solid #DDDDDD;margin:2.4rem 0 0}
.sssi{max-width:46rem;margin:0 auto;padding:2.64rem 1.5rem;text-align:center}
.sssi h2{margin-bottom:.7rem}
.sssi p{margin-bottom:1.1rem}
.ymiz{display:inline-block;background:#C21F47;color:#FFFFFF;text-decoration:none;font-weight:600;padding:.8rem 1.8rem;border-radius:var(--radius)}
.ymiz:hover{opacity:.9}

.kmwb{font-size:1.45rem;margin-bottom:.45rem}
.plhd p{margin-bottom:.55rem}
.plhd p:last-child{margin-bottom:0}
.xctz{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.35rem .95rem;margin:.6rem 0 0;font-size:.92rem}
.tkvw{display:inline-block;font-weight:700;font-size:1.05rem;padding:1rem 2rem;border-radius:var(--radius);text-decoration:none;white-space:nowrap}
.tkvw:hover{opacity:.92}
.xenx{background:#222222;color:#FFFFFF;border-top:4px solid #006C70}
.nfwi{max-width:64rem;margin:0 auto;padding:1.7rem 1.5rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.2rem 2.5rem;align-items:center}
.xenx h2,.xenx p{color:#FFFFFF}
.hngn{display:inline-block;background:#FFFFFF;color:#222222;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .7rem;border-radius:3px;margin-bottom:.6rem}
.xctz{color:#999999}
.otwj::before{content:"\2713\00a0"}
.tkvw{background:#C21F47;color:#FFFFFF;outline:2px solid #FFFFFF;outline-offset:2px}
@media (max-width:720px){.nfwi{display:block} .hngn{transform:none;max-width:none;margin-bottom:.6rem} .tkvw{display:block;text-align:center;margin-top:1rem}}
.aoot{background:#F7F7F7;border-top:1px solid #DDDDDD}
.aoot .mvzc{padding:2.64rem 1.5rem}
.kjsr{display:grid;grid-template-columns:2fr 1fr;gap:2rem;margin-bottom:1.4rem}
.bmgc{font-style:italic;margin-bottom:.8rem}
.jpee{font-size:.9rem;margin-bottom:.8rem}
.xwjf{font-size:.85rem;color:#717171}
.aoot .xwjf{opacity:.85}
.hcsj{color:#717171;font-size:.92rem}
.aoot .xwjf{color:#717171;opacity:1}
@media(max-width:760px){
  .vexw .mvzc{grid-template-columns:1fr;gap:1.5rem}
  .kjsr{grid-template-columns:1fr}
  .zhqu .mvzc{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem;padding:.9rem 1.5rem;text-align:left}
  .zhqu .wbvb{border-top:0;padding-top:0}
  .zhqu .jgog{display:flex}
  .zhqu .wbvb{display:none;flex-basis:100%;flex-direction:column;gap:0;border-top:1px solid #DDDDDD;padding-top:.4rem;margin-top:.4rem}
  .zhqu .wbvb[data-open="true"]{display:flex}
  .zhqu .gflg{display:block;padding:.6rem 0;font-size:1.05rem}
}

/* ---- per-site theme layer ---- */
/* Gilbert Joint Guide — a warm, host-like evidence library. */

:root {
  --gj-ink: #222222;
  --gj-copy: #555555;
  --gj-muted: #717171;
  --gj-coral: #C21F47;
  --gj-teal: #006C70;
  --gj-paper: #FFFFFF;
  --gj-soft: #F7F7F7;
  --gj-pink: #FFF1F3;
  --gj-mint: #EAF6F5;
  --gj-line: #DDDDDD;
  --gj-shadow: 0 14px 38px -24px rgba(34, 34, 34, .42);
  --gj-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.4%22/%3E%3C/svg%3E");
  --gj-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.6 5.8-6%22/%3E%3C/svg%3E");
  --gj-book: 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=%22M4 19.5A2.5 2.5 0 0 1 6.5 17H20V4H6.5A2.5 2.5 0 0 0 4 6.5v13Z%22/%3E%3Cpath d=%22M8 7h8M8 11h6%22/%3E%3C/svg%3E");
  --gj-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.8 9a2.5 2.5 0 1 1 3.6 2.25c-.9.45-1.4 1.1-1.4 1.85%22/%3E%3Cpath d=%22M12 17h.01%22/%3E%3C/svg%3E");
  --gj-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");
}

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

body p,
body li,
td {
  color: var(--gj-ink);
}

/* Hospitable masthead and locally owned wordmark. */
.zhqu {
  border-bottom: 1px solid var(--gj-line);
  background: var(--gj-paper);
}

.zhqu .mvzc {
  max-width: 78rem;
  align-items: center;
  padding: .9rem 1.5rem;
}

.rmmr {
  min-width: 14rem;
}

.bpzh {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 3rem;
  padding-left: 3.7rem;
  color: var(--gj-ink);
  font-size: 1.06rem;
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -.035em;
}

.bpzh::before {
  content: "JG";
  position: absolute;
  left: 0;
  top: 0;
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50% 50% 50% 16%;
  background: var(--gj-coral);
  color: var(--gj-paper);
  font-family: 'Manrope', Arial, sans-serif;
  font-size: .92rem;
  font-weight: 800;
  letter-spacing: -.08em;
  transform: rotate(-5deg);
}

.bpzh::after {
  content: "";
  position: absolute;
  left: 3.7rem;
  bottom: -.18rem;
  width: 2.1rem;
  height: .18rem;
  border-radius: 99px;
  background: var(--gj-teal);
}

.zhqu .fnzg {
  margin: .14rem 0 0 3.72rem;
  color: var(--gj-muted);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.wbvb {
  align-items: center;
  gap: .15rem;
}

.gflg {
  border-radius: 999px;
  padding: .48rem .68rem;
  color: var(--gj-ink);
  font-size: .79rem;
  font-weight: 600;
  line-height: 1.2;
}

.gflg:hover {
  background: var(--gj-soft);
  color: var(--gj-coral);
}

/* Asymmetric, framed hero with an abstract Gilbert trail field. */
.vexw {
  position: relative;
  overflow: hidden;
  border-bottom: 0;
  background: var(--gj-paper);
}

.vexw .mvzc {
  display: block;
  max-width: 78rem;
  padding: 4.8rem 1.5rem 5.2rem;
}

.wgkl {
  position: relative;
  z-index: 1;
  width: 66%;
  min-height: 23rem;
  padding: 2.2rem 4rem 2rem 0;
}

.wgkl::before,
.wgkl::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.wgkl::before {
  z-index: -2;
  top: -2.2rem;
  left: calc(100% + 1rem);
  width: 25rem;
  height: 25rem;
  border-radius: 52% 48% 30% 70% / 55% 31% 69% 45%;
  background:
    radial-gradient(circle at 67% 24%, var(--gj-paper) 0 .48rem, transparent .52rem),
    radial-gradient(circle at 30% 64%, var(--gj-paper) 0 .34rem, transparent .38rem),
    repeating-radial-gradient(ellipse at 15% 85%, transparent 0 1.75rem, rgba(255,255,255,.35) 1.8rem 1.92rem),
    var(--gj-coral);
  transform: rotate(3deg);
}

.wgkl::after {
  z-index: -3;
  top: -3rem;
  left: calc(100% + .1rem);
  width: 25rem;
  height: 25rem;
  border: 2px solid var(--gj-teal);
  border-radius: 52% 48% 30% 70% / 55% 31% 69% 45%;
}

.kefv {
  display: inline-flex;
  align-items: center;
  width: auto;
  margin-bottom: 1.35rem;
  border-radius: 999px;
  background: var(--gj-pink);
  padding: .42rem .78rem;
  color: var(--gj-coral);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .13em;
}

.kefv::before {
  content: "";
  width: .48rem;
  height: .48rem;
  margin-right: 1.42rem;
  border-radius: 50%;
  background: var(--gj-coral);
  box-shadow: .8rem 0 0 var(--gj-teal);
}

.ccjw {
  max-width: 14ch;
  margin-bottom: 1.45rem;
  font-size: clamp(2.85rem, 5.7vw, 5.35rem);
  font-weight: 800;
  line-height: .99;
  letter-spacing: -.068em;
}

.usxc {
  max-width: 39rem;
  margin: 0;
  color: var(--gj-copy);
  font-size: 1.12rem;
  line-height: 1.68;
}

.hhnz {
  margin-top: 1.65rem;
  gap: .55rem;
}

.qxdn {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--gj-line);
  border-radius: 999px;
  background: var(--gj-paper);
  padding: .46rem .72rem;
  color: var(--gj-ink);
  font-size: .76rem;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(34, 34, 34, .04);
}

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

/* Above-fold clinic recommendation: a candid host note, not a generic banner. */
.xenx {
  border-top: 0;
  background: #222222;
}

.nfwi {
  max-width: 70rem;
  padding: 2.1rem 1.5rem;
  gap: 1.5rem 3.5rem;
}

.ivrp {
  position: relative;
  border-left: 3px solid var(--gj-coral);
  padding-left: 1.35rem;
}

.hngn {
  border-radius: 999px;
  background: var(--gj-paper);
  color: var(--gj-ink);
  font-size: .67rem;
  letter-spacing: .12em;
}

.kmwb {
  max-width: 31ch;
  margin-bottom: .55rem;
  color: var(--gj-paper);
  font-size: 1.65rem;
  line-height: 1.2;
  letter-spacing: -.032em;
}

.plhd p {
  max-width: 48rem;
  color: var(--gj-paper);
  font-size: .95rem;
  line-height: 1.55;
}

.xctz {
  gap: .48rem 1.15rem;
  color: #D6D6D6;
  font-size: .8rem;
  font-weight: 600;
}

.otwj {
  display: inline-flex;
  align-items: center;
  color: #D6D6D6;
}

.otwj::before {
  content: "";
  width: 1rem;
  height: 1rem;
  margin-right: .42rem;
  background: #D6D6D6;
  -webkit-mask: var(--gj-check) center / contain no-repeat;
  mask: var(--gj-check) center / contain no-repeat;
}

.otwj:first-child::before {
  -webkit-mask-image: var(--gj-pin);
  mask-image: var(--gj-pin);
}

.tkvw {
  border: 0;
  border-radius: .75rem;
  background: var(--gj-coral);
  color: var(--gj-paper);
  font-size: .92rem;
  box-shadow: 0 12px 24px -14px rgba(194, 31, 71, .9);
}

.tkvw::after,
.ymiz::after {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 1rem;
  margin-left: .5rem;
  background: currentColor;
  vertical-align: -.15em;
  -webkit-mask: var(--gj-arrow) center / contain no-repeat;
  mask: var(--gj-arrow) center / contain no-repeat;
}

/* Long-form rhythm: a roomy guidebook with numbered rooms. */
.lnkg {
  padding: 3.8rem 0 4.2rem;
}

.lnkg > .mvzc {
  counter-reset: gj-section;
}

.kszu {
  max-width: 50rem;
  border-bottom: 1px solid var(--gj-line);
  padding: 0 0 2.25rem;
  color: var(--gj-ink);
  font-size: 1.24rem;
  line-height: 1.72;
  letter-spacing: -.015em;
}

.kszu p:first-child::first-letter {
  float: left;
  margin: .08rem .55rem 0 0;
  color: var(--gj-coral);
  font-family: 'Manrope', Arial, sans-serif;
  font-size: 3.75rem;
  font-weight: 800;
  line-height: .78;
}

.gcvr {
  counter-increment: gj-section;
  max-width: 50rem;
  padding: 2.4rem 0;
  border-bottom: 1px solid var(--gj-line);
}

.gcvr h2 {
  position: relative;
  margin-bottom: 1.15rem;
  padding-left: 3.1rem;
  font-size: 1.85rem;
  font-weight: 750;
  line-height: 1.16;
  letter-spacing: -.038em;
}

.gcvr h2::before {
  content: counter(gj-section, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: .15rem;
  color: var(--gj-coral);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
}

.gcvr h2::after {
  content: "";
  position: absolute;
  left: 0;
  top: 1.45rem;
  width: 2rem;
  height: 2px;
  border-radius: 99px;
  background: var(--gj-teal);
}

.gcvr h3 {
  margin: 1.4rem 0 .6rem;
  font-size: 1.18rem;
  letter-spacing: -.02em;
}

.gcvr p,
.gcvr li {
  line-height: 1.75;
}

.gcvr ul,
.gcvr ol {
  margin: .4rem 0 1.1rem;
}

.gcvr li::marker {
  color: var(--gj-coral);
  font-weight: 700;
}

.qxzd {
  max-width: 50rem;
  margin-bottom: 2rem;
  border: 0;
  border-left: 5px solid var(--gj-teal);
  border-radius: .25rem 1rem 1rem .25rem;
  background: var(--gj-mint);
  padding: 1.45rem 1.65rem;
  box-shadow: var(--gj-shadow);
}

blockquote {
  border-left: 0;
  border-radius: 1rem;
  background: var(--gj-pink);
  padding: 1.25rem 1.45rem;
  color: var(--gj-ink);
  font-size: 1.08rem;
}

.fewo {
  border: 1px solid var(--gj-line);
  border-radius: 1rem;
  box-shadow: var(--gj-shadow);
}

table {
  background: var(--gj-paper);
}

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

th {
  background: var(--gj-soft);
  color: var(--gj-ink);
  font-size: .78rem;
  font-weight: 750;
  letter-spacing: .045em;
}

/* Local module as a real travel-and-access card. */
.chdw {
  position: relative;
  max-width: 54rem;
  overflow: hidden;
  margin: 2.8rem auto;
  border: 1px solid #BFD8D7;
  border-radius: 1.4rem;
  background: var(--gj-mint);
  padding: 2rem 2.1rem 2rem 7.2rem;
  box-shadow: var(--gj-shadow);
}

.chdw::before {
  content: "";
  position: absolute;
  left: 2rem;
  top: 2rem;
  width: 3.7rem;
  height: 3.7rem;
  border-radius: 50% 50% 50% 18%;
  background: var(--gj-teal);
  transform: rotate(-5deg);
}

.chdw::after {
  content: "";
  position: absolute;
  left: 2.88rem;
  top: 2.82rem;
  width: 2rem;
  height: 2rem;
  background: var(--gj-paper);
  -webkit-mask: var(--gj-pin) center / contain no-repeat;
  mask: var(--gj-pin) center / contain no-repeat;
}

.esga {
  margin-bottom: .9rem;
  font-size: 1.55rem;
  letter-spacing: -.035em;
}

.chdw p {
  color: var(--gj-ink);
}

.fiyp {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .7rem;
  margin-top: 1.2rem;
}

.uyry {
  min-height: 2.7rem;
  border: 1px solid #BFD8D7;
  border-radius: .8rem;
  background: var(--gj-paper);
  padding: .65rem .72rem .65rem 2.35rem;
  color: var(--gj-ink);
  font-size: .8rem;
  line-height: 1.45;
}

.uyry::before {
  left: .75rem;
  top: .72rem;
  width: 1rem;
  height: 1rem;
  border-radius: 0;
  background: var(--gj-coral);
  -webkit-mask: var(--gj-check) center / contain no-repeat;
  mask: var(--gj-check) center / contain no-repeat;
}

/* FAQ reads like a stack of answered guest questions. */
.mpgt {
  max-width: 52rem;
}

.cnzt {
  position: relative;
  margin-bottom: .85rem;
  border: 1px solid var(--gj-line);
  border-radius: 1rem;
  background: var(--gj-paper);
  padding: 1.35rem 1.45rem 1.25rem 4.2rem;
  box-shadow: 0 7px 22px -20px rgba(34, 34, 34, .65);
}

.cnzt::before {
  content: "";
  position: absolute;
  left: 1.35rem;
  top: 1.35rem;
  width: 1.8rem;
  height: 1.8rem;
  background: var(--gj-coral);
  -webkit-mask: var(--gj-question) center / contain no-repeat;
  mask: var(--gj-question) center / contain no-repeat;
}

.kouf {
  margin-bottom: .55rem;
  font-size: 1.17rem;
  line-height: 1.35;
  letter-spacing: -.022em;
}

.pzml {
  color: var(--gj-ink);
  line-height: 1.68;
}

/* Sources become compact reading-list cards. */
.zcua {
  max-width: 52rem;
  display: grid;
  gap: .7rem;
  margin-top: 2.8rem;
}

.zhpg {
  min-height: 4rem;
  border: 1px solid var(--gj-line);
  border-radius: .9rem;
  background: var(--gj-soft);
  padding: 1rem 1.1rem 1rem 4rem;
}

.zhpg::before {
  content: counter(src);
  top: 1rem;
  left: 1rem;
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: .65rem;
  background: var(--gj-teal);
  color: var(--gj-paper);
  font-size: .75rem;
}

.owta {
  color: var(--gj-ink);
  font-size: .88rem;
  line-height: 1.55;
}

.ydnv {
  color: var(--gj-muted);
  font-size: .79rem;
  line-height: 1.5;
}

.ydnv a {
  font-weight: 700;
}

/* CTA is a calm invitation with an offset field. */
.phvg {
  position: relative;
  overflow: hidden;
  margin-top: 0;
  border: 0;
  background: var(--gj-pink);
}

.phvg::after {
  content: "";
  position: absolute;
  right: -7rem;
  bottom: -10rem;
  width: 23rem;
  height: 23rem;
  border: 2rem solid rgba(194, 31, 71, .1);
  border-radius: 50%;
}

.sssi {
  position: relative;
  z-index: 1;
  max-width: 52rem;
  padding: 3.5rem 1.5rem;
  text-align: left;
}

.sssi h2 {
  max-width: 18ch;
  margin-bottom: .9rem;
  font-size: 2.15rem;
  letter-spacing: -.045em;
}

.sssi p {
  max-width: 44rem;
  color: var(--gj-ink);
}

.ymiz {
  border-radius: .75rem;
  background: var(--gj-coral);
  color: var(--gj-paper);
  font-size: .94rem;
  font-weight: 700;
  box-shadow: 0 12px 28px -16px rgba(194, 31, 71, .85);
}

/* Quiet, useful footer rather than a default closing strip. */
.aoot {
  border-top: 1px solid var(--gj-line);
  background: var(--gj-soft);
}

.aoot .mvzc {
  max-width: 78rem;
  padding: 2.6rem 1.5rem 2rem;
}

.kjsr {
  grid-template-columns: minmax(0, 1.6fr) minmax(15rem, 1fr);
  gap: 3rem;
}

.bmgc {
  margin-bottom: .8rem;
  color: var(--gj-ink);
  font-family: 'Manrope', Arial, sans-serif;
  font-size: 1.05rem;
  font-style: normal;
  font-weight: 700;
}

.jpee {
  max-width: 48rem;
  color: var(--gj-ink);
  line-height: 1.6;
}

.aoot .gflg {
  display: inline-block;
  margin: 0 .15rem .4rem 0;
  border: 1px solid var(--gj-line);
  background: var(--gj-paper);
}

.xwjf {
  border-top: 1px solid var(--gj-line);
  padding-top: 1rem;
  color: var(--gj-muted);
}

@media (max-width: 960px) {
  .wgkl {
    width: 72%;
  }

  .wgkl::before,
  .wgkl::after {
    width: 20rem;
    height: 20rem;
  }

  .nfwi {
    gap: 1.25rem;
  }
}

@media (max-width: 760px) {
  .zhqu .rmmr {
    min-width: 0;
  }

  .bpzh {
    min-height: 2.65rem;
    padding-left: 3.2rem;
    font-size: .92rem;
  }

  .bpzh::before {
    width: 2.65rem;
    height: 2.65rem;
    font-size: .78rem;
  }

  .bpzh::after,
  .zhqu .fnzg {
    margin-left: 0;
  }

  .zhqu .fnzg {
    padding-left: 3.2rem;
    font-size: .6rem;
  }

  .vexw .mvzc {
    padding-top: 3.5rem;
    padding-bottom: 3.2rem;
  }

  .wgkl {
    width: 100%;
    min-height: 0;
    padding: 0;
  }

  .wgkl::before,
  .wgkl::after {
    width: 9rem;
    height: 9rem;
    opacity: .16;
  }

  .wgkl::before {
    top: -2.3rem;
    left: auto;
    right: -4.2rem;
  }

  .wgkl::after {
    top: -2.8rem;
    left: auto;
    right: -3.7rem;
  }

  .ccjw {
    max-width: 100%;
    font-size: clamp(2.35rem, 12vw, 3.75rem);
  }

  .lnkg {
    padding-top: 2.7rem;
  }

  .kszu {
    font-size: 1.08rem;
  }

  .gcvr h2 {
    padding-left: 2.6rem;
    font-size: 1.55rem;
  }

  .chdw {
    padding: 5.8rem 1.25rem 1.4rem;
  }

  .chdw::before {
    left: 1.25rem;
    top: 1.25rem;
  }

  .chdw::after {
    left: 2.13rem;
    top: 2.07rem;
  }

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

  .cnzt {
    padding: 4rem 1.15rem 1.25rem;
  }

  .cnzt::before {
    left: 1.15rem;
    top: 1.15rem;
  }

  .sssi {
    padding-top: 2.8rem;
    padding-bottom: 2.8rem;
  }

  .kjsr {
    gap: 1.5rem;
  }
}
