/* 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:#202124;font-family:'Roboto', 'Helvetica Neue', Arial, sans-serif;line-height:1.65;font-size:1.0625rem;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Roboto', 'Helvetica Neue', Arial, sans-serif;line-height:1.2;color:#202124}
a{color:#0B57D0}
a:hover{opacity:.85}
img{max-width:100%}
code{background:#E8F0FE;padding:.1em .35em;border-radius:4px;font-size:.9em}
.rkwh{position:absolute;left:-9999px;top:0;background:#0B57D0;color:#FFFFFF;padding:.5rem 1rem;z-index:9}
.rkwh:focus{left:0}
.jlyc{max-width:72rem;margin:0 auto;padding:0 1.5rem}
.xqks{font-family:'Roboto', 'Helvetica Neue', Arial, sans-serif;font-weight:700;font-size:1.25rem;text-decoration:none;color:inherit}
.gvgj{color:#5F6368;font-size:.85rem}
.nfhf{display:flex;flex-wrap:wrap;gap:1.1rem}
.twby{text-decoration:none;color:inherit;font-size:.95rem}
.twby:hover{color:#0B57D0;opacity:1}
.eyac{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}
.eyac span{display:block;height:2px;background:currentColor;border-radius:2px}
.eyac[aria-expanded="true"] span:nth-child(2){opacity:0}
.aehf{border-bottom:1px solid #DADCE0;background:#FFFFFF} .aehf .jlyc{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem}
.fswh{background:linear-gradient(160deg, #F1F3F4, #d5e0f0)} .fswh .jlyc{max-width:52rem;text-align:center;padding:4.8rem 1.5rem} .bnrp{justify-content:center}
.ftas{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:#0B57D0;font-weight:600;margin-bottom:.8rem}
.jkek{font-size:clamp(1.9rem,4.5vw,3rem);margin-bottom:1rem}
.apbo{font-size:1.15rem;color:#5F6368;max-width:44rem;margin:0 auto}
.bnrp{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin-top:1.4rem}
.fmhh{border:1px solid #DADCE0;background:#F1F3F4;border-radius:999px;padding:.3rem .85rem;font-size:.85rem}
.jstq{padding:3.12rem 0}
/* the measure fix: prose column CENTERED in the container, never pinned left */
.ytaw,.muge,.fmwz{max-width:46rem;margin-left:auto;margin-right:auto}
.ytaw{padding:1.68rem 0}
.ytaw h2{font-size:1.6rem;margin-bottom:.8rem}
.ytaw h3{font-size:1.2rem;margin:.9rem 0 .5rem}
.ytaw p,.ytaw li,.muge p{margin-bottom:.85rem}
.ytaw ul,.ytaw ol{padding-left:1.4rem}
.muge{font-size:1.12rem}
.fmwz{background:#F1F3F4;border:1px solid #DADCE0;border-radius:var(--radius);padding:1.2rem 1.4rem;margin-bottom:1.92rem}
.ciba{overflow-x:auto;margin:1rem 0}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{border:1px solid #DADCE0;padding:.55rem .7rem;text-align:left;vertical-align:top}
th{background:#F1F3F4}
blockquote{border-left:4px solid #0B57D0;padding:.2rem 0 .2rem 1rem;color:#5F6368;margin:1rem 0}
.eomy{max-width:46rem;margin:2.16rem auto;background:#e3eaf2;border:1px solid #DADCE0;border-radius:var(--radius);padding:1.4rem 1.6rem}
.flyq{font-size:1.25rem;margin-bottom:.7rem}
.vbpx{list-style:none;padding:0;margin-top:.8rem;display:grid;gap:.45rem}
.nslu{padding-left:1.1rem;position:relative;font-size:.95rem}
.nslu::before{content:"";position:absolute;left:0;top:.55em;width:.45em;height:.45em;border-radius:50%;background:#0B57D0}
.idia{max-width:46rem;margin:2.16rem auto;padding:0;list-style:none;counter-reset:src}
.yiew{border-top:1px solid #DADCE0;padding:.9rem 0 .9rem 2.2rem;position:relative;counter-increment:src}
.yiew::before{content:counter(src);position:absolute;left:0;top:.95rem;font-family:'Roboto', 'Helvetica Neue', Arial, sans-serif;font-weight:700;color:#0B57D0}
.dubm{margin-bottom:.3rem}
.mepg{font-size:.88rem;color:#5F6368}
.yzhq{max-width:46rem;margin:0 auto}
.cuez{border-bottom:1px solid #DADCE0;padding:1.32rem 0}
.ihmt{font-size:1.15rem;margin-bottom:.5rem}
.bfpu{color:#202124}
.zvnv{background:#dbe8e1;border-top:1px solid #DADCE0;border-bottom:1px solid #DADCE0;margin:2.4rem 0 0}
.hcsg{max-width:46rem;margin:0 auto;padding:2.64rem 1.5rem;text-align:center}
.hcsg h2{margin-bottom:.7rem}
.hcsg p{margin-bottom:1.1rem}
.xbyh{display:inline-block;background:#0B57D0;color:#FFFFFF;text-decoration:none;font-weight:600;padding:.8rem 1.8rem;border-radius:var(--radius)}
.xbyh:hover{opacity:.9}

.ugbp{font-size:1.45rem;margin-bottom:.45rem}
.caxv p{margin-bottom:.55rem}
.caxv p:last-child{margin-bottom:0}
.xusz{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.35rem .95rem;margin:.6rem 0 0;font-size:.92rem}
.yyya{display:inline-block;font-weight:700;font-size:1.05rem;padding:1rem 2rem;border-radius:var(--radius);text-decoration:none;white-space:nowrap}
.yyya:hover{opacity:.92}
.mjep{background:#0B57D0;color:#FFFFFF}
.reor{max-width:64rem;margin:0 auto;padding:1.6rem 1.5rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem 2.5rem;align-items:center}
.mjep h2,.mjep p{color:#FFFFFF}
.nitx{display:inline-block;background:#FFFFFF;color:#0B57D0;font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .75rem;margin-bottom:.6rem}
.xusz{color:#ebf2fb}
.enev::before{content:"\2022\00a0"}
.yyya{background:#FFFFFF;color:#202124;border:2px solid #FFFFFF}
@media (max-width:720px){.reor{display:block} .nitx{transform:none;max-width:none;margin-bottom:.6rem} .yyya{display:block;text-align:center;margin-top:1rem}}
.lzge{background:#202124;color:#FFFFFF} .lzge a{color:inherit}
.lzge .jlyc{padding:2.64rem 1.5rem}
.dkmm{display:grid;grid-template-columns:2fr 1fr;gap:2rem;margin-bottom:1.4rem}
.mazk{font-style:italic;margin-bottom:.8rem}
.ataz{font-size:.9rem;margin-bottom:.8rem}
.jzyh{font-size:.85rem;color:#5F6368}
.lzge .jzyh{opacity:.85}
.krct{color:#5F6368;font-size:.92rem}
.lzge .gvgj,.lzge .krct{color:#98999a}
.lzge .jzyh{color:#8b8c8d;opacity:1}
@media(max-width:760px){
  .fswh .jlyc{grid-template-columns:1fr;gap:1.5rem}
  .dkmm{grid-template-columns:1fr}
  .aehf .jlyc{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem;padding:.9rem 1.5rem;text-align:left}
  .aehf .nfhf{border-top:0;padding-top:0}
  .aehf .eyac{display:flex}
  .aehf .nfhf{display:none;flex-basis:100%;flex-direction:column;gap:0;border-top:1px solid #DADCE0;padding-top:.4rem;margin-top:.4rem}
  .aehf .nfhf[data-open="true"]{display:flex}
  .aehf .twby{display:block;padding:.6rem 0;font-size:1.05rem}
}

/* ---- per-site theme layer ---- */
/* Gilbert Sports Route — a Google Maps-inspired wayfinding system. */

:root {
  --map-ink: #202124;
  --map-copy: #5F6368;
  --map-blue: #0B57D0;
  --map-green: #188038;
  --map-canvas: #F1F3F4;
  --map-blue-soft: #E8F0FE;
  --map-green-soft: #E6F4EA;
  --map-line: #DADCE0;
  --map-white: #FFFFFF;
  --map-shadow: 0 10px 30px rgba(60, 64, 67, .14), 0 2px 8px rgba(60, 64, 67, .12);
  --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=%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.5%22/%3E%3C/svg%3E");
  --icon-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=%2219%22 r=%222%22/%3E%3Ccircle cx=%2218%22 cy=%225%22 r=%222%22/%3E%3Cpath d=%22M8 19h3a3 3 0 0 0 3-3v-5a3 3 0 0 1 3-3h1%22/%3E%3C/svg%3E");
  --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=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22m5 12 4 4L19 6%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=%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.7 9a2.5 2.5 0 1 1 3.6 2.25c-.8.42-1.3 1.06-1.3 1.75%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=%222%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 13h8M8 17h5%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=%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-color: var(--map-white);
  color: var(--map-ink);
  letter-spacing: -.006em;
}

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

::selection {
  background: #0B57D0;
  color: #FFFFFF;
}

a {
  text-decoration-thickness: .08em;
  text-underline-offset: .18em;
}

a:focus-visible,
button:focus-visible {
  outline: 3px solid var(--map-blue);
  outline-offset: 3px;
}

/* App bar and a wordmark that reads like a destination label. */
.aehf {
  position: relative;
  z-index: 10;
  border-bottom: 1px solid var(--map-line);
  background: #FFFFFF;
  box-shadow: 0 2px 7px rgba(60, 64, 67, .1);
}

.aehf .jlyc {
  max-width: 80rem;
  min-height: 4.75rem;
  padding: .7rem 1.5rem;
  gap: 1.5rem;
}

.xqks {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 2.9rem;
  padding-left: 3.5rem;
  color: var(--map-ink);
  font-size: 1.05rem;
  font-weight: 900;
  letter-spacing: -.035em;
  line-height: 1.05;
}

.xqks::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% 8%;
  background: var(--map-blue);
  color: var(--map-white);
  font-size: 1.1rem;
  font-weight: 900;
  transform: rotate(-45deg);
  box-shadow: 0 2px 6px rgba(32, 33, 36, .2);
}

.xqks::after {
  content: "GILBERT  /  SPORTS ROUTE";
  position: absolute;
  left: 3.52rem;
  bottom: -.05rem;
  color: #0B57D0;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .15em;
}

.aehf .gvgj {
  margin: .25rem 0 0 3.5rem;
  color: var(--map-copy);
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .035em;
}

.nfhf { gap: .15rem; }

.twby {
  position: relative;
  border-radius: 999px;
  padding: .58rem .72rem;
  color: var(--map-ink);
  font-size: .8rem;
  font-weight: 500;
}

.twby::after {
  content: "";
  position: absolute;
  right: .5rem;
  bottom: .22rem;
  left: .5rem;
  height: 2px;
  border-radius: 2px;
  background: var(--map-blue);
  transform: scaleX(0);
  transition: transform .18s ease;
}

.twby:hover {
  background: var(--map-blue-soft);
  color: var(--map-blue);
}

.twby:hover::after { transform: scaleX(1); }

/* Hero: the copy sits on a floating route sheet over an abstract street grid. */
.fswh {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--map-line);
  background:
    linear-gradient(27deg, transparent 0 43%, rgba(255,255,255,.78) 43% 46%, transparent 46% 100%),
    linear-gradient(112deg, transparent 0 64%, rgba(255,255,255,.7) 64% 67%, transparent 67% 100%),
    repeating-linear-gradient(0deg, transparent 0 3.8rem, rgba(95,99,104,.09) 3.8rem calc(3.8rem + 1px)),
    repeating-linear-gradient(90deg, transparent 0 5.4rem, rgba(95,99,104,.08) 5.4rem calc(5.4rem + 1px)),
    linear-gradient(160deg, var(--map-canvas), #D5E0F0);
}

.fswh::before {
  content: "";
  position: absolute;
  top: -7rem;
  right: -5rem;
  width: 31rem;
  height: 31rem;
  border: 13px solid var(--map-blue);
  border-bottom-color: transparent;
  border-left-color: transparent;
  border-radius: 45% 55% 48% 52%;
  transform: rotate(18deg);
  opacity: .92;
  pointer-events: none;
}

.fswh::after {
  content: "";
  position: absolute;
  top: 7.4rem;
  right: 11rem;
  width: 1.9rem;
  height: 1.9rem;
  border: .5rem solid var(--map-white);
  border-radius: 50% 50% 50% 8%;
  background: var(--map-green);
  transform: rotate(-45deg);
  box-shadow: var(--map-shadow);
  pointer-events: none;
}

.fswh .jlyc {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(13rem, .32fr);
  max-width: 76rem;
  padding: clamp(3.6rem, 7vw, 6.2rem) 1.5rem;
  text-align: left;
}

.cwnq {
  position: relative;
  max-width: 52rem;
  border: 1px solid var(--map-line);
  border-radius: 1.5rem;
  background: var(--map-white);
  padding: clamp(2rem, 4vw, 3.2rem);
  box-shadow: var(--map-shadow);
}

.cwnq::after {
  content: "START  ·  GILBERT";
  position: absolute;
  right: 1.2rem;
  bottom: -1.1rem;
  border: 1px solid var(--map-line);
  border-radius: 999px;
  background: var(--map-white);
  padding: .5rem .8rem;
  color: var(--map-copy);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .12em;
  box-shadow: 0 2px 8px rgba(60,64,67,.14);
}

.ftas {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin-bottom: 1.2rem;
  color: var(--map-blue);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .13em;
}

.ftas::before {
  content: "";
  width: 1.15rem;
  height: 1.15rem;
  background: var(--map-blue);
  -webkit-mask: var(--icon-route) center / contain no-repeat;
  mask: var(--icon-route) center / contain no-repeat;
}

.fswh .jkek {
  max-width: 14ch;
  margin-bottom: 1.15rem;
  color: var(--map-ink);
  font-size: clamp(2.65rem, 5.5vw, 5.15rem);
  font-weight: 900;
  letter-spacing: -.058em;
  line-height: .96;
  text-wrap: balance;
}

.fswh .apbo {
  max-width: 43rem;
  margin: 0;
  color: var(--map-copy);
  font-size: 1.08rem;
  line-height: 1.62;
}

.bnrp {
  justify-content: flex-start;
  gap: .5rem;
  margin-top: 1.55rem;
}

.fswh .fmhh {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--map-line);
  border-radius: 999px;
  background: var(--map-canvas);
  padding: .42rem .7rem .42rem .5rem;
  color: var(--map-ink);
  font-size: .76rem;
  font-weight: 500;
  line-height: 1.25;
}

.fswh .fmhh::before {
  content: "";
  width: 1rem;
  height: 1rem;
  margin-right: .38rem;
  border-radius: 50%;
  background: var(--map-green);
  -webkit-mask: var(--icon-check) center / .82rem .82rem no-repeat;
  mask: var(--icon-check) center / .82rem .82rem no-repeat;
}

/* The disclosed recommendation is a destination sheet with a solid route rail. */
.mjep {
  position: relative;
  z-index: 4;
  margin: -2rem 0 0;
  padding: 0 1.5rem;
  background: transparent;
}

.reor {
  position: relative;
  max-width: 66rem;
  border: 0;
  border-radius: 1.5rem;
  background: #0B57D0;
  padding: 1.75rem 1.9rem 1.75rem 2.15rem;
  color: #FFFFFF;
  box-shadow: var(--map-shadow);
  overflow: hidden;
}

.reor::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: .55rem;
  background: var(--map-green);
}

.tizz { position: relative; }

.nitx {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin-bottom: .52rem;
  border-radius: 999px;
  background: #FFFFFF;
  padding: .35rem .62rem;
  color: #0B57D0;
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.nitx::before {
  content: "";
  width: .85rem;
  height: .85rem;
  background: var(--map-green);
  -webkit-mask: var(--icon-pin) center / contain no-repeat;
  mask: var(--icon-pin) center / contain no-repeat;
}

.ugbp {
  margin-bottom: .42rem;
  color: #FFFFFF;
  font-size: clamp(1.45rem, 2.5vw, 1.9rem);
  line-height: 1.08;
}

.caxv,
.caxv p,
.xusz,
.enev { color: #FFFFFF; }

.caxv {
  max-width: 48rem;
  font-size: .96rem;
  line-height: 1.56;
}

.xusz {
  gap: .42rem 1rem;
  margin-top: .72rem;
  font-size: .82rem;
  font-weight: 500;
}

.enev {
  display: inline-flex;
  align-items: center;
  gap: .38rem;
}

.enev::before {
  content: "";
  width: .95rem;
  height: .95rem;
  flex: 0 0 auto;
  background: #FFFFFF;
  -webkit-mask: var(--icon-pin) center / contain no-repeat;
  mask: var(--icon-pin) center / contain no-repeat;
}

.enev:nth-child(2)::before {
  -webkit-mask-image: var(--icon-check);
  mask-image: var(--icon-check);
}

.enev:nth-child(3)::before {
  -webkit-mask-image: var(--icon-route);
  mask-image: var(--icon-route);
}

.yyya {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  border: 0;
  border-radius: 999px;
  background: #FFFFFF;
  padding: .82rem 1.1rem;
  color: #0B57D0;
  font-size: .82rem;
  font-weight: 700;
  box-shadow: 0 2px 8px rgba(32,33,36,.24);
}

.yyya::after,
.xbyh::after {
  content: "";
  width: 1rem;
  height: 1rem;
  background: currentColor;
  -webkit-mask: var(--icon-arrow) center / contain no-repeat;
  mask: var(--icon-arrow) center / contain no-repeat;
}

/* Chapter rhythm follows a route: stop marker, heading, then readable measure. */
.jstq {
  padding: clamp(3.8rem, 7vw, 6rem) 0 5rem;
  background:
    linear-gradient(90deg, transparent calc(50% - 29.3rem), var(--map-line) calc(50% - 29.3rem) calc(50% - 29.2rem), transparent calc(50% - 29.2rem));
}

.jstq > .jlyc { counter-reset: map-stop; }

.muge {
  max-width: 50rem;
  margin-bottom: 2.8rem;
  border: 1px solid var(--map-line);
  border-radius: 1.4rem;
  background: var(--map-white);
  padding: 1.65rem 2rem;
  font-size: 1.13rem;
  line-height: 1.72;
  box-shadow: 0 5px 18px rgba(60,64,67,.09);
}

.muge::before {
  content: "ROUTE OVERVIEW";
  display: block;
  margin-bottom: .75rem;
  color: var(--map-blue);
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .15em;
}

.fmwz {
  max-width: 50rem;
  border: 0;
  border-left: 5px solid var(--map-green);
  border-radius: .25rem 1rem 1rem .25rem;
  background: var(--map-green-soft);
  padding: 1.35rem 1.6rem;
  box-shadow: none;
}

.ytaw {
  position: relative;
  max-width: 50rem;
  padding: 2.15rem 0 2.3rem 3.25rem;
  counter-increment: map-stop;
}

.ytaw::before {
  content: counter(map-stop);
  position: absolute;
  top: 2.12rem;
  left: 0;
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border: 4px solid var(--map-white);
  border-radius: 50%;
  background: var(--map-blue);
  color: var(--map-white);
  font-size: .72rem;
  font-weight: 700;
  box-shadow: 0 0 0 1px var(--map-blue);
}

.ytaw::after {
  content: "";
  position: absolute;
  top: 4.3rem;
  bottom: -1rem;
  left: .95rem;
  width: 3px;
  border-radius: 3px;
  background: var(--map-blue-soft);
}

.ytaw:last-of-type::after { display: none; }

.ytaw h2 {
  margin-bottom: 1rem;
  color: var(--map-ink);
  font-size: clamp(1.55rem, 3vw, 2.05rem);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.1;
  text-wrap: balance;
}

.ytaw h3 {
  margin: 1.35rem 0 .55rem;
  color: var(--map-blue);
  font-size: 1.16rem;
  font-weight: 700;
}

.ytaw p,
.ytaw li,
.muge p {
  margin-bottom: 1rem;
  line-height: 1.72;
}

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

blockquote {
  margin: 1.5rem 0;
  border: 0;
  border-radius: 1rem;
  background: var(--map-blue-soft);
  padding: 1.2rem 1.35rem 1.2rem 3.4rem;
  color: var(--map-ink);
  position: relative;
}

blockquote::before {
  content: "";
  position: absolute;
  top: 1.25rem;
  left: 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
  background: var(--map-blue);
  -webkit-mask: var(--icon-route) center / contain no-repeat;
  mask: var(--icon-route) center / contain no-repeat;
}

.ciba {
  border: 1px solid var(--map-line);
  border-radius: 1rem;
  background: var(--map-white);
  box-shadow: 0 4px 14px rgba(60,64,67,.08);
}

table { font-size: .92rem; }

th {
  background: var(--map-blue-soft);
  color: var(--map-ink);
  font-weight: 700;
}

th,
td { border-color: var(--map-line); }

/* Local map card. */
.eomy {
  position: relative;
  max-width: 56rem;
  margin: 3rem auto;
  overflow: hidden;
  border: 1px solid var(--map-line);
  border-radius: 1.5rem;
  background:
    linear-gradient(32deg, transparent 0 68%, rgba(255,255,255,.82) 68% 72%, transparent 72%),
    repeating-linear-gradient(90deg, transparent 0 4rem, rgba(95,99,104,.07) 4rem calc(4rem + 1px)),
    var(--map-blue-soft);
  padding: 2.25rem 2.3rem 2.2rem 5rem;
  box-shadow: var(--map-shadow);
}

.eomy::before {
  content: "";
  position: absolute;
  top: 2.25rem;
  left: 2rem;
  width: 1.8rem;
  height: 1.8rem;
  background: var(--map-blue);
  -webkit-mask: var(--icon-pin) center / contain no-repeat;
  mask: var(--icon-pin) center / contain no-repeat;
}

.flyq {
  margin-bottom: .8rem;
  color: var(--map-ink);
  font-size: 1.45rem;
  letter-spacing: -.025em;
}

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

.nslu {
  min-height: 3.1rem;
  border: 1px solid var(--map-line);
  border-radius: .85rem;
  background: var(--map-white);
  padding: .72rem .8rem .72rem 2.35rem;
  color: var(--map-ink);
  font-size: .88rem;
  line-height: 1.45;
}

.nslu::before {
  top: .88rem;
  left: .78rem;
  width: 1rem;
  height: 1rem;
  border-radius: 0;
  background: var(--map-green);
  -webkit-mask: var(--icon-pin) center / contain no-repeat;
  mask: var(--icon-pin) center / contain no-repeat;
}

/* FAQs are expandable-feeling route cards without hiding their answers. */
.yzhq { max-width: 52rem; }

.cuez {
  position: relative;
  margin-bottom: .8rem;
  border: 1px solid var(--map-line);
  border-radius: 1rem;
  background: var(--map-white);
  padding: 1.2rem 1.3rem 1.2rem 3.8rem;
  box-shadow: 0 3px 12px rgba(60,64,67,.07);
}

.cuez::before {
  content: "";
  position: absolute;
  top: 1.22rem;
  left: 1.25rem;
  width: 1.35rem;
  height: 1.35rem;
  background: var(--map-blue);
  -webkit-mask: var(--icon-question) center / contain no-repeat;
  mask: var(--icon-question) center / contain no-repeat;
}

.ihmt {
  margin-bottom: .55rem;
  color: var(--map-ink);
  font-size: 1.15rem;
  line-height: 1.3;
}

.bfpu { line-height: 1.67; }

/* Sources look like a saved-places list. */
.idia {
  max-width: 52rem;
  border: 1px solid var(--map-line);
  border-radius: 1.25rem;
  background: var(--map-white);
  padding: .35rem 1.25rem;
  box-shadow: 0 3px 14px rgba(60,64,67,.07);
}

.yiew {
  min-height: 4.1rem;
  border-top: 1px solid var(--map-line);
  padding: 1rem .2rem 1rem 3.1rem;
}

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

.yiew::before {
  content: counter(src);
  top: 1.05rem;
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  background: var(--map-blue-soft);
  color: var(--map-blue);
  font-size: .72rem;
}

.yiew::after {
  content: "";
  position: absolute;
  top: 1.45rem;
  left: 2.08rem;
  width: .85rem;
  height: .85rem;
  background: var(--map-blue);
  -webkit-mask: var(--icon-source) center / contain no-repeat;
  mask: var(--icon-source) center / contain no-repeat;
}

.dubm {
  color: var(--map-ink);
  line-height: 1.5;
}

.mepg {
  color: var(--map-copy);
  font-size: .84rem;
}

/* CTA as a clean green destination card. */
.zvnv {
  margin-top: 4rem;
  border: 0;
  background: var(--map-green-soft);
}

.hcsg {
  position: relative;
  max-width: 54rem;
  padding: 3.4rem 1.5rem 3.6rem 5.3rem;
  text-align: left;
}

.hcsg::before {
  content: "";
  position: absolute;
  top: 3.45rem;
  left: 1.5rem;
  width: 2.5rem;
  height: 2.5rem;
  background: var(--map-green);
  -webkit-mask: var(--icon-route) center / contain no-repeat;
  mask: var(--icon-route) center / contain no-repeat;
}

.hcsg h2 {
  color: var(--map-ink);
  font-size: clamp(1.6rem, 3vw, 2.15rem);
  letter-spacing: -.035em;
}

.hcsg p {
  color: var(--map-ink);
  line-height: 1.65;
}

.xbyh {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  border-radius: 999px;
  background: var(--map-blue);
  color: var(--map-white);
  padding: .85rem 1.2rem;
  box-shadow: 0 2px 7px rgba(60,64,67,.2);
}

/* Dark footer variant 2, with a compact route terminus. */
.lzge {
  position: relative;
  overflow: hidden;
  border: 0;
  background: #202124;
  color: #FFFFFF;
}

.lzge::before {
  content: "END OF ROUTE";
  position: absolute;
  right: 2rem;
  bottom: 1.6rem;
  color: #AEB4BA;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .18em;
}

.lzge .jlyc {
  max-width: 74rem;
  padding-top: 3.3rem;
  padding-bottom: 3.3rem;
}

.dkmm {
  grid-template-columns: 1.5fr 1fr;
  gap: 4rem;
}

.lzge a,
.mazk,
.ataz,
.jzyh { color: #FFFFFF; }

.mazk {
  border-left: 4px solid var(--map-green);
  padding-left: 1rem;
  font-style: normal;
  line-height: 1.55;
}

.ataz { line-height: 1.55; }

.jzyh {
  font-size: .82rem;
  opacity: 1;
}

.rkwh {
  border-radius: 0 0 .65rem 0;
  background: var(--map-blue);
  color: var(--map-white);
}

@media (max-width: 760px) {
  .aehf .jlyc { min-height: 4.1rem; }
  .xqks { max-width: 15rem; font-size: .9rem; }
  .xqks::after { content: "GILBERT  /  ROUTE"; }
  .aehf .gvgj { display: none; }
  .fswh .jlyc { grid-template-columns: 1fr; padding-top: 2.6rem; padding-bottom: 4rem; }
  .fswh::before { right: -19rem; }
  .fswh::after { right: 1.5rem; top: 2rem; }
  .cwnq { padding: 1.7rem 1.35rem 2.1rem; }
  .fswh .jkek { font-size: clamp(2.25rem, 11vw, 3.45rem); }
  .mjep { margin-top: -1.5rem; padding: 0 1rem; }
  .reor { grid-template-columns: 1fr; padding: 1.5rem 1.3rem 1.5rem 1.65rem; }
  .yyya { justify-self: start; }
  .muge { padding: 1.35rem; }
  .ytaw { padding-left: 2.65rem; }
  .ytaw::before { width: 1.7rem; height: 1.7rem; }
  .ytaw::after { left: .8rem; }
  .eomy { padding: 4.2rem 1.25rem 1.4rem; }
  .eomy::before { top: 1.45rem; left: 1.3rem; }
  .vbpx { grid-template-columns: 1fr; }
  .cuez { padding-left: 3.35rem; }
  .idia { padding-right: .75rem; padding-left: .75rem; }
  .hcsg { padding: 5.8rem 1.5rem 3rem; }
  .hcsg::before { top: 2.5rem; }
  .lzge::before { right: 1rem; bottom: .8rem; }
}
