/* 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:#F7FAFC;color:#101A2E;font-family:'DM Sans', 'Avenir Next', Arial, sans-serif;line-height:1.65;font-size:1.0625rem;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Manrope', 'Avenir Next', Arial, sans-serif;line-height:1.2;color:#101A2E}
a{color:#6242A3}
a:hover{opacity:.85}
img{max-width:100%}
code{background:#E8EEF6;padding:.1em .35em;border-radius:4px;font-size:.9em}
.ipsy{position:absolute;left:-9999px;top:0;background:#6242A3;color:#FFFFFF;padding:.5rem 1rem;z-index:9}
.ipsy:focus{left:0}
.uaew{max-width:72rem;margin:0 auto;padding:0 1.5rem}
.wven{font-family:'Manrope', 'Avenir Next', Arial, sans-serif;font-weight:700;font-size:1.25rem;text-decoration:none;color:inherit}
.vwqv{color:#4D586A;font-size:.85rem}
.tkhp{display:flex;flex-wrap:wrap;gap:1.1rem}
.vdkt{text-decoration:none;color:inherit;font-size:.95rem}
.vdkt:hover{color:#6242A3;opacity:1}
.fiwh{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}
.fiwh span{display:block;height:2px;background:currentColor;border-radius:2px}
.fiwh[aria-expanded="true"] span:nth-child(2){opacity:0}
.fuhj{border-bottom:1px solid #CCD7E5;background:#F7FAFC} .fuhj .uaew{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem}
.gilu{background:#F7FAFC} .gilu .uaew{padding:3.5999999999999996rem 1.5rem;border-left:6px solid #6242A3;margin:2rem auto}
.kinf{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:#6242A3;font-weight:600;margin-bottom:.8rem}
.sici{font-size:clamp(1.9rem,4.5vw,3rem);margin-bottom:1rem}
.apjj{font-size:1.15rem;color:#4D586A;max-width:44rem;margin:0 auto}
.yezq{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin-top:1.4rem}
.uzmn{border:1px solid #CCD7E5;background:#FFFFFF;border-radius:999px;padding:.3rem .85rem;font-size:.85rem}
.szzy{padding:3.12rem 0}
/* the measure fix: prose column CENTERED in the container, never pinned left */
.hpgc,.fezz,.esjo{max-width:46rem;margin-left:auto;margin-right:auto}
.hpgc{padding:1.68rem 0}
.hpgc h2{font-size:1.6rem;margin-bottom:.8rem}
.hpgc h3{font-size:1.2rem;margin:.9rem 0 .5rem}
.hpgc p,.hpgc li,.fezz p{margin-bottom:.85rem}
.hpgc ul,.hpgc ol{padding-left:1.4rem}
.fezz{font-size:1.12rem}
.esjo{background:#FFFFFF;border:1px solid #CCD7E5;border-radius:var(--radius);padding:1.2rem 1.4rem;margin-bottom:1.92rem}
.xfcl{overflow-x:auto;margin:1rem 0}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{border:1px solid #CCD7E5;padding:.55rem .7rem;text-align:left;vertical-align:top}
th{background:#FFFFFF}
blockquote{border-left:4px solid #6242A3;padding:.2rem 0 .2rem 1rem;color:#4D586A;margin:1rem 0}
.nhch{max-width:46rem;margin:2.16rem auto;background:#f6f4f9;border:1px solid #CCD7E5;border-radius:var(--radius);padding:1.4rem 1.6rem}
.tgff{font-size:1.25rem;margin-bottom:.7rem}
.nvuw{list-style:none;padding:0;margin-top:.8rem;display:grid;gap:.45rem}
.frvl{padding-left:1.1rem;position:relative;font-size:.95rem}
.frvl::before{content:"";position:absolute;left:0;top:.55em;width:.45em;height:.45em;border-radius:50%;background:#6242A3}
.oxpi{max-width:46rem;margin:2.16rem auto;padding:0;list-style:none;counter-reset:src}
.hjaj{border-top:1px solid #CCD7E5;padding:.9rem 0 .9rem 2.2rem;position:relative;counter-increment:src}
.hjaj::before{content:counter(src);position:absolute;left:0;top:.95rem;font-family:'Manrope', 'Avenir Next', Arial, sans-serif;font-weight:700;color:#6242A3}
.noxp{margin-bottom:.3rem}
.duzp{font-size:.88rem;color:#4D586A}
.gjgw{max-width:46rem;margin:0 auto}
.ztzt{border-bottom:1px solid #CCD7E5;padding:1.32rem 0}
.eekm{font-size:1.15rem;margin-bottom:.5rem}
.qvkl{color:#101A2E}
.ebzs{background:#e7f0f1;border-top:1px solid #CCD7E5;border-bottom:1px solid #CCD7E5;margin:2.4rem 0 0}
.clgx{max-width:46rem;margin:0 auto;padding:2.64rem 1.5rem;text-align:center}
.clgx h2{margin-bottom:.7rem}
.clgx p{margin-bottom:1.1rem}
.gcez{display:inline-block;background:#6242A3;color:#FFFFFF;text-decoration:none;font-weight:600;padding:.8rem 1.8rem;border-radius:var(--radius)}
.gcez:hover{opacity:.9}

.ojne{font-size:1.45rem;margin-bottom:.45rem}
.wxjz p{margin-bottom:.55rem}
.wxjz p:last-child{margin-bottom:0}
.sovw{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.35rem .95rem;margin:.6rem 0 0;font-size:.92rem}
.awwj{display:inline-block;font-weight:700;font-size:1.05rem;padding:1rem 2rem;border-radius:var(--radius);text-decoration:none;white-space:nowrap}
.awwj:hover{opacity:.92}
.npyp{padding:1.5rem 1.5rem 0}
.ognm{max-width:60rem;margin:0 auto;background:#e2edee;border:2px dashed #0B6673;border-radius:var(--radius);padding:1.4rem 1.7rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1.2rem 1.8rem;align-items:center}
.viir{display:inline-block;background:#101A2E;color:#FFFFFF;font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.55rem .8rem;transform:rotate(-4deg);border-radius:3px;text-align:center;max-width:7rem;line-height:1.25}
.sovw{color:#565a5a}
.rvaf::before{content:"\2713\00a0";color:#101A2E}
.awwj{background:#6242A3;color:#FFFFFF}
@media (max-width:720px){.ognm{display:block} .viir{transform:none;max-width:none;margin-bottom:.6rem} .awwj{display:block;text-align:center;margin-top:1rem}}
.gqjk{background:#F7FAFC;border-top:3px double #CCD7E5}
.gqjk .uaew{padding:2.64rem 1.5rem}
.bcky{display:grid;grid-template-columns:2fr 1fr;gap:2rem;margin-bottom:1.4rem}
.sxut{font-style:italic;margin-bottom:.8rem}
.akbu{font-size:.9rem;margin-bottom:.8rem}
.yztv{font-size:.85rem;color:#4D586A}
.gqjk .yztv{opacity:.85}
.tlat{color:#4D586A;font-size:.92rem}
@media(max-width:760px){
  .gilu .uaew{grid-template-columns:1fr;gap:1.5rem}
  .bcky{grid-template-columns:1fr}
  .fuhj .uaew{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem;padding:.9rem 1.5rem;text-align:left}
  .fuhj .tkhp{border-top:0;padding-top:0}
  .fuhj .fiwh{display:flex}
  .fuhj .tkhp{display:none;flex-basis:100%;flex-direction:column;gap:0;border-top:1px solid #CCD7E5;padding-top:.4rem;margin-top:.4rem}
  .fuhj .tkhp[data-open="true"]{display:flex}
  .fuhj .vdkt{display:block;padding:.6rem 0;font-size:1.05rem}
}

/* ---- per-site theme layer ---- */
/* Phoenix Tendon Map — gradient cartography theme */

:root {
  --radius: 1rem;
  --ptm-shadow: 0 24px 60px rgba(16, 26, 46, .12);
}

html {
  background: #101A2E;
}

body {
  overflow-x: hidden;
  background-color: #F7FAFC;
  background-image:
    radial-gradient(circle at 8% 22%, rgba(98, 66, 163, .07), transparent 26rem),
    radial-gradient(circle at 92% 65%, rgba(11, 102, 115, .07), transparent 30rem);
  font-size: 1.04rem;
  line-height: 1.72;
}

::selection {
  background: #6242A3;
  color: #FFFFFF;
}

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

a:focus-visible,
button:focus-visible {
  outline: 3px solid #0B6673;
  outline-offset: 4px;
}

/* Header: a contained map mark and a fine route rail. */
.fuhj {
  position: relative;
  z-index: 4;
  border: 0;
  background: #FFFFFF;
  box-shadow: 0 1px 0 #CCD7E5, 0 8px 28px rgba(16, 26, 46, .06);
}

.fuhj::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -2px;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #6242A3 0 38%, #0B6673 62% 100%);
}

.fuhj .uaew {
  gap: 1.4rem;
  min-height: 5.6rem;
  padding-top: .8rem;
  padding-bottom: .8rem;
}

.wven {
  display: inline-flex;
  align-items: center;
  gap: .78rem;
  color: #101A2E;
  font-size: 1.18rem;
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1;
}

.wven::before {
  content: "PTM";
  display: inline-grid;
  width: 2.95rem;
  height: 2.95rem;
  place-items: center;
  border-radius: .85rem .85rem .85rem .22rem;
  background: linear-gradient(145deg, #6242A3, #3C2D68 52%, #0B6673);
  color: #FFFFFF;
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .1em;
  box-shadow: .28rem .28rem 0 #E8EEF6;
  transform: rotate(-3deg);
}

.fuhj .vwqv {
  margin: .34rem 0 0 3.78rem;
  color: #4D586A;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .13em;
  line-height: 1.2;
  text-transform: uppercase;
}

.fuhj .tkhp {
  justify-content: flex-end;
  gap: .22rem;
}

.fuhj .vdkt {
  position: relative;
  padding: .48rem .62rem;
  border-radius: .65rem;
  color: #101A2E;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .015em;
}

.fuhj .vdkt::after {
  content: "";
  position: absolute;
  right: .62rem;
  bottom: .28rem;
  left: .62rem;
  height: 2px;
  background: linear-gradient(90deg, #6242A3, #0B6673);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .18s ease;
}

.fuhj .vdkt:hover {
  background: #E8EEF6;
  color: #101A2E;
}

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

/* Hero: an asymmetric diagnostic field rather than a tinted band. */
.gilu {
  position: relative;
  overflow: hidden;
  border: 0;
  background:
    radial-gradient(circle at 82% 12%, rgba(255, 255, 255, .18) 0 .16rem, transparent .19rem),
    radial-gradient(circle at 67% 76%, rgba(255, 255, 255, .13) 0 .13rem, transparent .16rem),
    linear-gradient(125deg, #101A2E 0 44%, #3C2D68 68%, #6242A3 100%);
  background-size: 3.2rem 3.2rem, 4.6rem 4.6rem, auto;
  color: #FFFFFF;
}

.gilu::before,
.gilu::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 50%;
  pointer-events: none;
}

.gilu::before {
  top: -16rem;
  right: -9rem;
  width: 38rem;
  height: 38rem;
  box-shadow: 0 0 0 4rem rgba(255, 255, 255, .025), 0 0 0 8rem rgba(255, 255, 255, .018);
}

.gilu::after {
  right: 18%;
  bottom: -8rem;
  width: 16rem;
  height: 16rem;
}

.gilu .uaew {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(13rem, .55fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: end;
  max-width: 72rem;
  min-height: 31rem;
  margin: 0 auto;
  padding: clamp(4rem, 8vw, 7rem) 1.5rem clamp(5rem, 9vw, 7.5rem);
  border: 0;
}

.gilu .uaew::after {
  content: "05\A TENDON\A ZONES";
  white-space: pre;
  justify-self: stretch;
  padding: 1.4rem 1.2rem;
  border: 1px solid rgba(255, 255, 255, .42);
  border-radius: 1rem 1rem 1rem .2rem;
  background: rgba(16, 26, 46, .42);
  color: #FFFFFF;
  font-family: 'Manrope', 'Avenir Next', Arial, sans-serif;
  font-size: clamp(1.05rem, 2vw, 1.45rem);
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1.45;
  box-shadow: .75rem .75rem 0 rgba(255, 255, 255, .08);
}

.ensv {
  max-width: 49rem;
}

.kinf {
  display: flex;
  align-items: center;
  gap: .7rem;
  color: #FFFFFF;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .18em;
}

.kinf::before {
  content: "◇";
  display: inline-grid;
  width: 1.8rem;
  height: 1.8rem;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .5);
  border-radius: 50%;
  font-size: .78rem;
}

.gilu .sici {
  max-width: 48rem;
  margin: 1rem 0 1.25rem;
  color: #FFFFFF;
  font-size: clamp(2.45rem, 6.4vw, 5.15rem);
  font-weight: 700;
  letter-spacing: -.06em;
  line-height: .94;
  text-wrap: balance;
}

.gilu .apjj {
  max-width: 42rem;
  margin: 0;
  padding-left: 1.1rem;
  border-left: 3px solid #FFFFFF;
  color: #FFFFFF;
  font-size: clamp(1rem, 1.7vw, 1.17rem);
  line-height: 1.58;
}

.yezq {
  gap: .55rem;
  margin-top: 1.6rem;
}

.gilu .uzmn {
  padding: .38rem .78rem;
  border: 1px solid rgba(255, 255, 255, .42);
  border-radius: 999px;
  background: rgba(16, 26, 46, .36);
  color: #FFFFFF;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .025em;
}

/* Spotlight: a gradient route ticket tucked into the hero edge. */
.npyp {
  position: relative;
  z-index: 3;
  margin-top: -2.5rem;
  padding: 0 1.5rem;
}

.ognm {
  max-width: 66rem;
  overflow: hidden;
  padding: 1.45rem 1.6rem;
  border: 0;
  border-radius: 1.25rem 1.25rem 1.25rem .3rem;
  background: linear-gradient(120deg, #F1EDF8, #FFFFFF 48%, #E7F2F4);
  color: #101A2E;
  box-shadow: var(--ptm-shadow);
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.ognm::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: .45rem;
  background: linear-gradient(180deg, #6242A3, #0B6673);
}

.viir {
  max-width: 7.4rem;
  padding: .7rem .8rem;
  border: 1px solid #101A2E;
  border-radius: .85rem .85rem .85rem .2rem;
  background: #101A2E;
  color: #FFFFFF;
  font-size: .68rem;
  letter-spacing: .12em;
  line-height: 1.35;
  transform: rotate(-3deg);
}

.iusw {
  padding-left: 1.25rem;
  border-left: 1px solid #CCD7E5;
}

.ojne {
  margin-bottom: .45rem;
  color: #101A2E;
  font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.08;
}

.wxjz,
.sovw {
  color: #4D586A;
}

.wxjz {
  max-width: 47rem;
  font-size: .94rem;
  line-height: 1.55;
}

.sovw {
  gap: .4rem 1rem;
  font-size: .78rem;
  font-weight: 700;
}

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

.rvaf::before {
  content: "◇";
  color: #6242A3;
  font-size: .78rem;
}

.rvaf:nth-child(2)::before {
  content: "○";
  color: #0B6673;
}

.rvaf:nth-child(3)::before {
  content: "⌁";
  color: #6242A3;
}

.awwj {
  padding: .82rem 1.1rem;
  border: 0;
  border-radius: .78rem .78rem .78rem .2rem;
  background: #6242A3;
  color: #FFFFFF;
  box-shadow: .35rem .35rem 0 #D8D0EA;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .035em;
}

.awwj::after,
.gcez::after {
  content: " ↗";
}

/* Reading rhythm: wide lede, mapped sections, controlled measure. */
.szzy {
  padding: clamp(3.8rem, 7vw, 6.2rem) 0 5rem;
}

.szzy > .uaew {
  counter-reset: tendon-zone;
}

.fezz {
  max-width: 52rem;
  margin-bottom: 2.8rem;
  padding: 1.8rem 2rem 1.9rem;
  border: 1px solid #CCD7E5;
  border-radius: 1.2rem 1.2rem 1.2rem .28rem;
  background: linear-gradient(125deg, #FFFFFF, #F1EDF8 58%, #E7F2F4);
  color: #101A2E;
  box-shadow: 0 15px 45px rgba(16, 26, 46, .07);
  font-size: 1.12rem;
  line-height: 1.7;
}

.fezz h2 {
  display: flex;
  align-items: center;
  gap: .72rem;
  margin-bottom: .9rem;
  color: #6242A3;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.fezz h2::before {
  content: "◇";
  display: inline-grid;
  width: 1.75rem;
  height: 1.75rem;
  place-items: center;
  border: 1px solid #6242A3;
  border-radius: 50%;
  font-size: .7rem;
}

.fezz > p:first-of-type::first-letter {
  float: left;
  margin: .07em .12em 0 0;
  background: linear-gradient(145deg, #6242A3, #0B6673);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-family: 'Manrope', 'Avenir Next', Arial, sans-serif;
  font-size: 3.75rem;
  font-weight: 800;
  line-height: .8;
}

.hpgc {
  position: relative;
  max-width: 50rem;
  padding: 2.7rem 2rem 3rem 4.6rem;
  border-top: 1px solid #CCD7E5;
  counter-increment: tendon-zone;
}

.hpgc::before {
  content: counter(tendon-zone, decimal-leading-zero);
  position: absolute;
  top: 2.85rem;
  left: .2rem;
  display: grid;
  width: 2.85rem;
  height: 2.85rem;
  place-items: center;
  border: 1px solid #6242A3;
  border-radius: 50% 50% 50% .3rem;
  background: #FFFFFF;
  color: #6242A3;
  font-family: 'Manrope', 'Avenir Next', Arial, sans-serif;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .07em;
  box-shadow: .25rem .25rem 0 #E8EEF6;
}

.hpgc h2 {
  max-width: 42rem;
  margin-bottom: 1rem;
  color: #101A2E;
  font-size: clamp(1.55rem, 3.2vw, 2.15rem);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: 1.08;
  text-wrap: balance;
}

.hpgc h2::after {
  content: "";
  display: block;
  width: 4rem;
  height: 3px;
  margin-top: .72rem;
  border-radius: 3px;
  background: linear-gradient(90deg, #6242A3, #0B6673);
}

.hpgc h3 {
  margin: 1.45rem 0 .55rem;
  color: #0B6673;
  font-size: 1.16rem;
  font-weight: 800;
  letter-spacing: -.02em;
}

.hpgc p,
.hpgc li,
.fezz p {
  margin-bottom: 1rem;
}

.hpgc strong {
  color: #101A2E;
  font-weight: 700;
}

.hpgc li::marker {
  color: #6242A3;
}

blockquote {
  margin: 1.5rem 0;
  padding: 1.25rem 1.45rem;
  border: 0;
  border-left: 4px solid #6242A3;
  border-radius: 0 1rem 1rem 0;
  background: #E8EEF6;
  color: #4D586A;
  font-size: 1.08rem;
}

.esjo {
  max-width: 50rem;
  border: 1px solid #CCD7E5;
  border-radius: 1rem;
  background: #FFFFFF;
  color: #101A2E;
}

/* Tables become compact evidence matrices. */
.xfcl {
  margin: 1.5rem calc(50% - 50vw);
  padding: 0 max(1.5rem, calc(50vw - 35rem));
}

table {
  overflow: hidden;
  border: 0;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 1rem;
  background: #FFFFFF;
  color: #101A2E;
  box-shadow: 0 15px 40px rgba(16, 26, 46, .08);
  font-size: .88rem;
}

th,
td {
  padding: .72rem .8rem;
  border: 0;
  border-bottom: 1px solid #CCD7E5;
}

th {
  background: #101A2E;
  color: #FFFFFF;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

tbody tr:nth-child(even) {
  background: #F1EDF8;
}

/* Local module: a coordinate sheet with route lines. */
.nhch {
  position: relative;
  max-width: 53rem;
  overflow: hidden;
  margin: 3.6rem auto;
  padding: 2.3rem 2.3rem 2rem 5.4rem;
  border: 1px solid #9FBFC4;
  border-radius: 1.4rem 1.4rem 1.4rem .35rem;
  background-color: #E7F2F4;
  background-image:
    linear-gradient(rgba(11, 102, 115, .08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 102, 115, .08) 1px, transparent 1px),
    radial-gradient(circle at 88% 15%, #FFFFFF, transparent 17rem);
  background-size: 2rem 2rem, 2rem 2rem, auto;
  color: #101A2E;
  box-shadow: -.65rem .65rem 0 #D8E9EC;
}

.nhch::before {
  content: "⌖";
  position: absolute;
  top: 2.25rem;
  left: 1.55rem;
  display: grid;
  width: 2.55rem;
  height: 2.55rem;
  place-items: center;
  border: 1px solid #0B6673;
  border-radius: 50%;
  background: #FFFFFF;
  color: #0B6673;
  font-size: 1.15rem;
}

.tgff {
  margin-bottom: 1rem;
  padding-bottom: .8rem;
  border-bottom: 3px solid #0B6673;
  color: #101A2E;
  font-size: clamp(1.45rem, 3vw, 1.95rem);
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: 1.08;
}

.nhch p {
  margin-bottom: .95rem;
}

.nvuw {
  gap: .65rem;
  margin-top: 1.15rem;
}

.frvl {
  min-height: 2.8rem;
  padding: .7rem .8rem .7rem 2.5rem;
  border: 1px solid #B8D1D5;
  border-radius: .75rem .75rem .75rem .2rem;
  background: #FFFFFF;
  color: #101A2E;
  font-size: .84rem;
  font-weight: 600;
}

.frvl::before {
  content: "⌖";
  top: .67rem;
  left: .82rem;
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  color: #0B6673;
  font-size: .9rem;
}

.frvl:nth-child(2)::before {
  content: "⌁";
}

/* Sources: evidence waypoints rather than default divider rows. */
.oxpi {
  max-width: 54rem;
  margin-top: 1.5rem;
}

.hjaj {
  min-height: 5rem;
  margin-bottom: .75rem;
  padding: 1.1rem 1.2rem 1.1rem 4.45rem;
  border: 1px solid #CCD7E5;
  border-radius: 1rem 1rem 1rem .25rem;
  background: #FFFFFF;
  color: #101A2E;
  box-shadow: .25rem .25rem 0 #E8EEF6;
}

.hjaj::before {
  top: 1.08rem;
  left: 1rem;
  display: grid;
  width: 2.35rem;
  height: 2.35rem;
  place-items: center;
  border: 1px solid #6242A3;
  border-radius: 50% 50% 50% .25rem;
  background: #F1EDF8;
  color: #6242A3;
  font-size: .67rem;
  font-weight: 800;
}

.noxp {
  margin-bottom: .55rem;
  color: #101A2E;
  font-size: .93rem;
  line-height: 1.5;
}

.duzp {
  padding-top: .5rem;
  border-top: 1px solid #CCD7E5;
  color: #4D586A;
  font-size: .77rem;
  line-height: 1.48;
}

.duzp a::after {
  content: " ↗";
}

/* FAQ: numbered route stops with soft gradient edges. */
.gjgw {
  max-width: 52rem;
  counter-reset: faq-route;
}

.ztzt {
  position: relative;
  margin-bottom: 1rem;
  padding: 1.45rem 1.5rem 1.45rem 4.6rem;
  border: 1px solid #CCD7E5;
  border-radius: 1rem 1rem 1rem .25rem;
  background: linear-gradient(120deg, #FFFFFF 0 70%, #F1EDF8 100%);
  color: #101A2E;
  box-shadow: 0 10px 26px rgba(16, 26, 46, .055);
  counter-increment: faq-route;
}

.ztzt::before {
  content: counter(faq-route, decimal-leading-zero);
  position: absolute;
  top: 1.45rem;
  left: 1.15rem;
  display: grid;
  width: 2.35rem;
  height: 2.35rem;
  place-items: center;
  border: 1px solid #0B6673;
  border-radius: 50%;
  color: #0B6673;
  font-size: .68rem;
  font-weight: 800;
}

.eekm {
  margin-bottom: .6rem;
  color: #101A2E;
  font-size: 1.18rem;
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1.25;
}

.qvkl {
  color: #101A2E;
  line-height: 1.65;
}

/* CTA: the dark terminus of the same gradient system. */
.ebzs {
  position: relative;
  overflow: hidden;
  margin-top: 3.5rem;
  border: 0;
  background: linear-gradient(120deg, #101A2E 0 45%, #3C2D68 72%, #6242A3 100%);
  color: #FFFFFF;
}

.ebzs::before {
  content: "";
  position: absolute;
  top: -13rem;
  right: -7rem;
  width: 28rem;
  height: 28rem;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 50%;
  box-shadow: 0 0 0 4rem rgba(255, 255, 255, .025), 0 0 0 8rem rgba(255, 255, 255, .018);
}

.clgx {
  position: relative;
  max-width: 52rem;
  padding: clamp(3.4rem, 7vw, 5.4rem) 1.5rem;
  text-align: left;
}

.clgx h2,
.clgx p {
  color: #FFFFFF;
}

.clgx h2 {
  max-width: 40rem;
  margin-bottom: .9rem;
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 700;
  letter-spacing: -.05em;
  line-height: 1.02;
}

.clgx p {
  max-width: 44rem;
}

.gcez {
  margin-top: .35rem;
  padding: .88rem 1.2rem;
  border-radius: .82rem .82rem .82rem .2rem;
  background: #FFFFFF;
  color: #101A2E;
  box-shadow: .38rem .38rem 0 rgba(255, 255, 255, .2);
  font-size: .86rem;
  font-weight: 800;
  letter-spacing: .025em;
}

/* Footer: route legend and ownership block. */
.gqjk {
  border: 0;
  background: #101A2E;
  color: #FFFFFF;
}

.gqjk .uaew {
  padding-top: 3.2rem;
  padding-bottom: 2.6rem;
}

.bcky {
  grid-template-columns: minmax(0, 1.55fr) minmax(15rem, .65fr);
  gap: 3rem;
  margin-bottom: 2rem;
}

.gqjk .vwqv,
.gqjk .tlat,
.sxut,
.akbu,
.yztv {
  color: #FFFFFF;
}

.gqjk .vwqv {
  margin-bottom: .65rem;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.sxut {
  margin: 1rem 0;
  padding-left: 1rem;
  border-left: 3px solid #FFFFFF;
  font-style: normal;
  font-weight: 600;
}

.akbu {
  max-width: 47rem;
  font-size: .86rem;
  line-height: 1.58;
}

.gqjk .vdkt {
  display: inline-block;
  margin: 0 .28rem .55rem 0;
  padding: .38rem .55rem;
  border: 1px solid rgba(255, 255, 255, .4);
  border-radius: .55rem;
  color: #FFFFFF;
  font-size: .73rem;
}

.yztv {
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, .26);
  font-size: .76rem;
  opacity: 1;
}

@media (max-width: 760px) {
  body {
    font-size: 1rem;
  }

  .wven {
    font-size: 1.02rem;
  }

  .wven::before {
    width: 2.65rem;
    height: 2.65rem;
  }

  .fuhj .vwqv {
    margin-left: 3.38rem;
  }

  .gilu .uaew {
    grid-template-columns: 1fr;
    min-height: 0;
    padding-top: 3.8rem;
    padding-bottom: 5rem;
  }

  .gilu .uaew::after {
    justify-self: start;
    width: min(100%, 15rem);
  }

  .npyp {
    margin-top: -1.6rem;
    padding-right: 1rem;
    padding-left: 1rem;
  }

  .ognm {
    padding: 1.25rem;
  }

  .iusw {
    margin-top: .9rem;
    padding-top: .9rem;
    padding-left: 0;
    border-top: 1px solid #CCD7E5;
    border-left: 0;
  }

  .fezz {
    padding: 1.4rem 1.25rem;
  }

  .hpgc {
    padding: 2.3rem 0 2.5rem;
  }

  .hpgc::before {
    position: static;
    margin-bottom: 1rem;
  }

  .nhch {
    padding: 4.9rem 1.25rem 1.4rem;
  }

  .nhch::before {
    top: 1.35rem;
    left: 1.25rem;
  }

  .ztzt {
    padding: 4.3rem 1.2rem 1.3rem;
  }

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

  .hjaj {
    padding: 4.2rem 1.05rem 1.1rem;
  }

  .hjaj::before {
    top: 1rem;
  }

  .clgx {
    text-align: left;
  }

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

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .fuhj .vdkt::after {
    transition: none;
  }
}
