/* 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:#FFF9F7;color:#18213A;font-family:'DM Sans', 'Avenir Next', Avenir, sans-serif;line-height:1.65;font-size:1.0625rem;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Manrope', 'Avenir Next', Avenir, sans-serif;line-height:1.2;color:#18213A}
a{color:#A42358}
a:hover{opacity:.85}
img{max-width:100%}
code{background:#EDE2F0;padding:.1em .35em;border-radius:4px;font-size:.9em}
.rany{position:absolute;left:-9999px;top:0;background:#A42358;color:#FFFFFF;padding:.5rem 1rem;z-index:9}
.rany:focus{left:0}
.ntbm{max-width:72rem;margin:0 auto;padding:0 1.5rem}
.hnfc{font-family:'Manrope', 'Avenir Next', Avenir, sans-serif;font-weight:700;font-size:1.25rem;text-decoration:none;color:inherit}
.futp{color:#5B5368;font-size:.85rem}
.fnwr{display:flex;flex-wrap:wrap;gap:1.1rem}
.lena{text-decoration:none;color:inherit;font-size:.95rem}
.lena:hover{color:#A42358;opacity:1}
.jczw{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}
.jczw span{display:block;height:2px;background:currentColor;border-radius:2px}
.jczw[aria-expanded="true"] span:nth-child(2){opacity:0}
.nxnc{background:#F5EEF7} .nxnc .ntbm{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem 1.5rem;text-align:center} .fnwr{border-top:1px solid #D9CADF;padding-top:.6rem}
.ftyg{background:linear-gradient(160deg, #F5EEF7, #ebd6e4)} .ftyg .ntbm{max-width:52rem;text-align:center;padding:4.8rem 1.5rem} .cffu{justify-content:center}
.dqdz{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:#A42358;font-weight:600;margin-bottom:.8rem}
.kpnm{font-size:clamp(1.9rem,4.5vw,3rem);margin-bottom:1rem}
.ggow{font-size:1.15rem;color:#5B5368;max-width:44rem;margin:0 auto}
.cffu{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin-top:1.4rem}
.gact{border:1px solid #D9CADF;background:#F5EEF7;border-radius:999px;padding:.3rem .85rem;font-size:.85rem}
.vyhf{padding:3.12rem 0}
/* the measure fix: prose column CENTERED in the container, never pinned left */
.hlin,.djid,.mfaz{max-width:46rem;margin-left:auto;margin-right:auto}
.hlin{padding:1.68rem 0}
.hlin h2{font-size:1.6rem;margin-bottom:.8rem}
.hlin h3{font-size:1.2rem;margin:.9rem 0 .5rem}
.hlin p,.hlin li,.djid p{margin-bottom:.85rem}
.hlin ul,.hlin ol{padding-left:1.4rem}
.djid{font-size:1.12rem}
.mfaz{background:#F5EEF7;border:1px solid #D9CADF;border-radius:var(--radius);padding:1.2rem 1.4rem;margin-bottom:1.92rem}
.mtmf{overflow-x:auto;margin:1rem 0}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{border:1px solid #D9CADF;padding:.55rem .7rem;text-align:left;vertical-align:top}
th{background:#F5EEF7}
blockquote{border-left:4px solid #A42358;padding:.2rem 0 .2rem 1rem;color:#5B5368;margin:1rem 0}
.plij{max-width:46rem;margin:2.16rem auto;background:#f0e2ed;border:1px solid #D9CADF;border-radius:var(--radius);padding:1.4rem 1.6rem}
.rwzx{font-size:1.25rem;margin-bottom:.7rem}
.syma{list-style:none;padding:0;margin-top:.8rem;display:grid;gap:.45rem}
.bwbj{padding-left:1.1rem;position:relative;font-size:.95rem}
.bwbj::before{content:"";position:absolute;left:0;top:.55em;width:.45em;height:.45em;border-radius:50%;background:#A42358}
.cuik{max-width:46rem;margin:2.16rem auto;padding:0;list-style:none;counter-reset:src}
.owbg{border-top:1px solid #D9CADF;padding:.9rem 0 .9rem 2.2rem;position:relative;counter-increment:src}
.owbg::before{content:counter(src);position:absolute;left:0;top:.95rem;font-family:'Manrope', 'Avenir Next', Avenir, sans-serif;font-weight:700;color:#A42358}
.dsrh{margin-bottom:.3rem}
.ivra{font-size:.88rem;color:#5B5368}
.luhp{max-width:46rem;margin:0 auto}
.cqak{border-bottom:1px solid #D9CADF;padding:1.32rem 0}
.bjci{font-size:1.15rem;margin-bottom:.5rem}
.bcpm{color:#18213A}
.hnez{background:#e6ddef;border-top:1px solid #D9CADF;border-bottom:1px solid #D9CADF;margin:2.4rem 0 0}
.oonh{max-width:46rem;margin:0 auto;padding:2.64rem 1.5rem;text-align:center}
.oonh h2{margin-bottom:.7rem}
.oonh p{margin-bottom:1.1rem}
.nivq{display:inline-block;background:#A42358;color:#FFFFFF;text-decoration:none;font-weight:600;padding:.8rem 1.8rem;border-radius:var(--radius)}
.nivq:hover{opacity:.9}

.qpug{font-size:1.45rem;margin-bottom:.45rem}
.fcxj p{margin-bottom:.55rem}
.fcxj p:last-child{margin-bottom:0}
.zzwr{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.35rem .95rem;margin:.6rem 0 0;font-size:.92rem}
.ggur{display:inline-block;font-weight:700;font-size:1.05rem;padding:1rem 2rem;border-radius:var(--radius);text-decoration:none;white-space:nowrap}
.ggur:hover{opacity:.92}
.irwq{background:#A42358;color:#FFFFFF}
.ektl{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}
.irwq h2,.irwq p{color:#FFFFFF}
.tdte{display:inline-block;background:#FFFFFF;color:#A42358;font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .75rem;margin-bottom:.6rem}
.zzwr{color:#f2e0e8}
.vbyn::before{content:"\2022\00a0"}
.ggur{background:#FFF9F7;color:#18213A;border:2px solid #FFFFFF}
@media (max-width:720px){.ektl{display:block} .tdte{transform:none;max-width:none;margin-bottom:.6rem} .ggur{display:block;text-align:center;margin-top:1rem}}
.dfmv{background:#18213A;color:#FFFFFF} .dfmv a{color:inherit}
.dfmv .ntbm{padding:2.64rem 1.5rem}
.wujc{display:grid;grid-template-columns:2fr 1fr;gap:2rem;margin-bottom:1.4rem}
.xvlw{font-style:italic;margin-bottom:.8rem}
.jzjf{font-size:.9rem;margin-bottom:.8rem}
.dvxe{font-size:.85rem;color:#5B5368}
.dfmv .dvxe{opacity:.85}
.kodi{color:#5B5368;font-size:.92rem}
.dfmv .futp,.dfmv .kodi{color:#9599a4}
.dfmv .dvxe{color:#878c99;opacity:1}
@media(max-width:760px){
  .ftyg .ntbm{grid-template-columns:1fr;gap:1.5rem}
  .wujc{grid-template-columns:1fr}
  .nxnc .ntbm{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem;padding:.9rem 1.5rem;text-align:left}
  .nxnc .fnwr{border-top:0;padding-top:0}
  .nxnc .jczw{display:flex}
  .nxnc .fnwr{display:none;flex-basis:100%;flex-direction:column;gap:0;border-top:1px solid #D9CADF;padding-top:.4rem;margin-top:.4rem}
  .nxnc .fnwr[data-open="true"]{display:flex}
  .nxnc .lena{display:block;padding:.6rem 0;font-size:1.05rem}
}

/* ---- per-site theme layer ---- */
/* Hopper-inspired evidence route: rounded travel UI translated into a clinical reading map. */
:root {
  --route-coral: #A42358;
  --route-violet: #5A45A5;
  --route-ink: #18213A;
  --route-muted: #5B5368;
  --route-paper: #FFF9F7;
  --route-lilac: #F5EEF7;
  --route-lilac-2: #EDE2F0;
  --route-line: #D9CADF;
  --route-shadow: 0 24px 60px rgba(24, 33, 58, .12);
}

body {
  background:
    radial-gradient(circle at 8% 24%, rgba(90, 69, 165, .055) 0 2px, transparent 2.5px) 0 0 / 34px 34px,
    var(--route-paper);
  letter-spacing: -.006em;
}

main {
  overflow: hidden;
}

/* Masthead: a centered travel-app rail with a purpose-built editorial wordmark. */
.nxnc {
  position: relative;
  z-index: 5;
  box-shadow: 0 1px 0 rgba(24, 33, 58, .04);
}

.nxnc .ntbm {
  padding-top: 1.05rem;
  padding-bottom: .8rem;
}

.hnfc {
  display: inline-flex;
  align-items: center;
  gap: .68rem;
  position: relative;
  font-size: clamp(1.2rem, 2.2vw, 1.56rem);
  font-weight: 800;
  letter-spacing: -.055em;
  line-height: 1;
}

.hnfc::before {
  content: "↗";
  display: inline-grid;
  place-items: center;
  width: 2.18rem;
  height: 2.18rem;
  border-radius: .72rem .72rem .72rem .2rem;
  background: var(--route-coral);
  color: #FFFFFF;
  font-size: 1.18rem;
  font-weight: 800;
  box-shadow: .28rem .28rem 0 var(--route-line);
  transform: translateY(-.08rem);
}

.hnfc::after {
  content: "";
  position: absolute;
  left: 2.86rem;
  right: 0;
  bottom: -.48rem;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--route-coral) 0 34%, var(--route-violet) 34% 58%, transparent 58%);
}

.futp {
  margin-top: .62rem;
  font-weight: 600;
  letter-spacing: .02em;
}

.fnwr {
  justify-content: center;
  gap: .35rem;
  padding: .34rem;
  border: 1px solid var(--route-line);
  border-radius: 999px;
  background: var(--route-paper);
  box-shadow: 0 8px 25px rgba(24, 33, 58, .06);
}

.lena {
  padding: .42rem .7rem;
  border-radius: 999px;
  font-size: .83rem;
  font-weight: 700;
  letter-spacing: -.012em;
}

.lena:hover {
  background: var(--route-lilac-2);
  color: var(--route-coral);
}

/* Hero: asymmetric route field inside the assigned gradient variant. */
.ftyg {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-bottom: 1px solid var(--route-line);
}

.ftyg::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: min(39vw, 32rem);
  aspect-ratio: 1;
  right: -7rem;
  top: -9rem;
  border: 5rem solid rgba(164, 35, 88, .08);
  border-radius: 50%;
  box-shadow: inset 0 0 0 2px rgba(90, 69, 165, .12), 0 0 0 1.5rem rgba(255, 255, 255, .28);
}

.ftyg::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: 6.5%;
  bottom: 16%;
  width: min(24vw, 17rem);
  height: 5.2rem;
  border-top: 3px dashed var(--route-violet);
  border-right: 3px dashed var(--route-violet);
  border-radius: 0 2.5rem 0 0;
  opacity: .4;
  transform: rotate(-7deg);
}

.ftyg .ntbm {
  max-width: 72rem;
  min-height: 31rem;
  display: flex;
  align-items: center;
  text-align: left;
  padding-top: clamp(4rem, 8vw, 7rem);
  padding-bottom: clamp(4.2rem, 8vw, 7.3rem);
}

.ljjn {
  width: min(100%, 52rem);
  position: relative;
  padding: clamp(1.15rem, 2.4vw, 2rem) clamp(1.2rem, 3vw, 2.5rem) clamp(1.5rem, 3vw, 2.3rem);
  border: 1px solid rgba(164, 35, 88, .22);
  border-radius: 2rem 2rem 2rem .55rem;
  background: rgba(255, 249, 247, .66);
  box-shadow: var(--route-shadow);
  backdrop-filter: blur(4px);
}

.ljjn::before,
.ljjn::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: var(--route-violet);
}

.ljjn::before {
  width: .82rem;
  height: .82rem;
  left: -.46rem;
  top: 25%;
  box-shadow: 0 4.6rem 0 var(--route-coral), 0 9.2rem 0 var(--route-violet);
}

.ljjn::after {
  width: 2px;
  height: 9.3rem;
  left: -.05rem;
  top: calc(25% + .35rem);
  border-radius: 0;
  background: linear-gradient(var(--route-violet), var(--route-coral), var(--route-violet));
}

.dqdz {
  display: inline-flex;
  align-items: center;
  gap: .48rem;
  margin-bottom: 1rem;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .155em;
}

.dqdz::before {
  content: "";
  width: 1.65rem;
  height: .48rem;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--route-coral) 0 48%, transparent 48% 60%, var(--route-violet) 60%);
}

.kpnm {
  max-width: 18ch;
  margin-bottom: 1.2rem;
  font-size: clamp(2.35rem, 6.3vw, 5.35rem);
  line-height: .98;
  letter-spacing: -.07em;
  text-wrap: balance;
}

.ggow {
  max-width: 43rem;
  margin: 0;
  font-size: clamp(1.03rem, 1.6vw, 1.23rem);
  line-height: 1.62;
}

.cffu {
  justify-content: flex-start;
  margin-top: 1.55rem;
  gap: .58rem;
}

.gact {
  position: relative;
  padding: .55rem .85rem .55rem 2rem;
  border-color: rgba(90, 69, 165, .25);
  background: var(--route-paper);
  color: var(--route-ink);
  font-weight: 700;
  box-shadow: 0 4px 16px rgba(24, 33, 58, .05);
}

.gact::before {
  content: "";
  position: absolute;
  left: .72rem;
  top: 50%;
  width: .62rem;
  height: .62rem;
  border: 2px solid var(--route-coral);
  border-radius: 50% 50% 50% .18rem;
  transform: translateY(-58%) rotate(-45deg);
}

/* Long-form rhythm: a route counter, generous measure, and boarding-pass ledes. */
.vyhf {
  padding-top: clamp(3.4rem, 7vw, 6.2rem);
  counter-reset: atlas-section;
}

.djid {
  position: relative;
  margin-bottom: clamp(2.7rem, 5vw, 4.8rem);
  padding: 2.5rem clamp(1.35rem, 4vw, 3.4rem) 2rem;
  border: 1px solid var(--route-line);
  border-top: 7px solid var(--route-coral);
  border-radius: 0 0 1.6rem 1.6rem;
  background:
    linear-gradient(90deg, transparent 0 73%, rgba(90, 69, 165, .08) 73% 74%, transparent 74%) 0 0 / 18px 100%,
    var(--route-lilac);
  box-shadow: 0 18px 45px rgba(24, 33, 58, .08);
  font-size: clamp(1.08rem, 1.5vw, 1.2rem);
  line-height: 1.72;
}

.djid::before {
  content: "FIELD NOTE";
  position: absolute;
  top: -1.14rem;
  left: 1.4rem;
  padding: .25rem .72rem;
  border-radius: 999px;
  background: var(--route-coral);
  color: #FFFFFF;
  font-size: .69rem;
  font-weight: 800;
  letter-spacing: .14em;
}

.hlin {
  position: relative;
  counter-increment: atlas-section;
  padding-top: clamp(2.25rem, 4.2vw, 3.7rem);
  padding-bottom: clamp(2.2rem, 4.2vw, 3.7rem);
}

.hlin + .hlin {
  border-top: 1px dashed var(--route-line);
}

.hlin h2 {
  display: grid;
  grid-template-columns: 3.15rem minmax(0, 1fr);
  gap: .8rem;
  align-items: center;
  margin-bottom: 1.2rem;
  font-size: clamp(1.55rem, 3vw, 2.12rem);
  letter-spacing: -.045em;
  text-wrap: balance;
}

.hlin h2::before {
  content: counter(atlas-section, decimal-leading-zero);
  display: grid;
  place-items: center;
  width: 2.72rem;
  height: 2.72rem;
  border: 2px solid var(--route-violet);
  border-radius: 50% 50% 50% .55rem;
  color: var(--route-violet);
  background: var(--route-paper);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .04em;
  transform: rotate(-3deg);
}

.hlin p,
.hlin li {
  line-height: 1.78;
}

.hlin p:first-of-type::first-letter {
  color: var(--route-coral);
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
}

blockquote {
  position: relative;
  margin: 1.5rem 0;
  padding: 1.25rem 1.4rem 1.25rem 3.5rem;
  border: 0;
  border-radius: 1rem;
  background: var(--route-lilac);
  color: var(--route-muted);
}

blockquote::before {
  content: "↗";
  position: absolute;
  left: 1.1rem;
  top: 1.2rem;
  display: grid;
  place-items: center;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: .5rem .5rem .5rem .12rem;
  background: var(--route-violet);
  color: #FFFFFF;
  font-weight: 800;
}

/* Spotlight: assigned solid-accent panel, upgraded into a route ticket. */
.irwq {
  position: relative;
  overflow: hidden;
  border-top: 0;
  border-bottom: 0;
  box-shadow: inset 0 1px rgba(255, 255, 255, .25), inset 0 -1px rgba(24, 33, 58, .18);
}

.irwq::before,
.irwq::after {
  content: "";
  position: absolute;
  width: 8rem;
  height: 8rem;
  border: 1.7rem solid rgba(255, 255, 255, .12);
  border-radius: 50%;
}

.irwq::before {
  left: -4.4rem;
  top: -3.7rem;
}

.irwq::after {
  right: -4.2rem;
  bottom: -4.6rem;
}

.ektl {
  position: relative;
  z-index: 1;
  padding-top: 2.3rem;
  padding-bottom: 2.3rem;
}

.tdte {
  border-radius: 999px;
  box-shadow: 0 7px 18px rgba(24, 33, 58, .16);
}

.qpug {
  font-size: clamp(1.45rem, 3vw, 2rem);
  letter-spacing: -.04em;
}

.zzwr {
  gap: .55rem .75rem;
}

.vbyn {
  position: relative;
  padding: .24rem .65rem .24rem 1.75rem;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 999px;
}

.vbyn::before {
  content: "✓";
  position: absolute;
  left: .45rem;
  top: 50%;
  display: grid;
  place-items: center;
  width: .95rem;
  height: .95rem;
  border-radius: 50%;
  background: #FFFFFF;
  color: var(--route-coral);
  font-size: .63rem;
  transform: translateY(-50%);
}

.ggur {
  position: relative;
  padding-right: 3.3rem;
  border: 0;
  border-radius: 999px;
  box-shadow: 0 12px 25px rgba(24, 33, 58, .22);
}

.ggur::after {
  content: "→";
  position: absolute;
  right: .75rem;
  top: 50%;
  display: grid;
  place-items: center;
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 50%;
  background: var(--route-lilac-2);
  color: var(--route-coral);
  transform: translateY(-50%);
}

/* Local route card. */
.plij {
  position: relative;
  overflow: hidden;
  margin-top: 4rem;
  margin-bottom: 4rem;
  padding: clamp(1.5rem, 4vw, 2.7rem);
  border: 0;
  border-left: 8px solid var(--route-violet);
  border-radius: .35rem 1.8rem 1.8rem .35rem;
  background:
    radial-gradient(circle at 100% 0, rgba(164, 35, 88, .12) 0 5rem, transparent 5.1rem),
    var(--route-lilac);
  box-shadow: var(--route-shadow);
}

.plij::after {
  content: "";
  position: absolute;
  left: 1.32rem;
  bottom: 2.3rem;
  width: 2px;
  height: 5.5rem;
  background: repeating-linear-gradient(to bottom, var(--route-coral) 0 6px, transparent 6px 11px);
  opacity: .6;
}

.rwzx {
  max-width: 24ch;
  margin-bottom: 1rem;
  font-size: clamp(1.45rem, 3vw, 2rem);
  letter-spacing: -.045em;
}

.rwzx::before {
  content: "⌖";
  display: inline-grid;
  place-items: center;
  width: 2.15rem;
  height: 2.15rem;
  margin-right: .65rem;
  border-radius: .7rem .7rem .7rem .18rem;
  background: var(--route-violet);
  color: #FFFFFF;
  font-size: 1rem;
  vertical-align: .2rem;
}

.syma {
  margin-top: 1.2rem;
  padding: 1rem 1rem 1rem 2.25rem;
  border-radius: 1rem;
  background: var(--route-paper);
}

.bwbj {
  padding-left: 1.55rem;
  font-weight: 600;
}

.bwbj::before {
  content: "";
  top: .34rem;
  width: .72rem;
  height: .72rem;
  border: 2px solid var(--route-coral);
  border-radius: 50% 50% 50% .16rem;
  background: transparent;
  transform: rotate(-45deg);
}

/* FAQ: offset route stops, not a stack of default cards. */
.luhp {
  display: grid;
  gap: 1rem;
}

.cqak {
  position: relative;
  padding: 1.5rem 1.55rem 1.4rem 4.5rem;
  border: 1px solid var(--route-line);
  border-bottom: 1px solid var(--route-line);
  border-radius: 1.25rem 1.25rem 1.25rem .35rem;
  background: var(--route-paper);
  box-shadow: 0 10px 30px rgba(24, 33, 58, .055);
}

.cqak:nth-child(even) {
  transform: translateX(1.35rem);
  background: var(--route-lilac);
}

.cqak::before {
  content: "?";
  position: absolute;
  left: 1.2rem;
  top: 1.35rem;
  display: grid;
  place-items: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 50% 50% 50% .55rem;
  background: var(--route-violet);
  color: #FFFFFF;
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
}

.bjci {
  font-size: clamp(1.08rem, 2vw, 1.28rem);
  letter-spacing: -.025em;
}

.bcpm {
  line-height: 1.75;
}

/* Sources: numbered itinerary stops with a continuous route line. */
.cuik {
  position: relative;
  margin-top: 1.3rem;
}

.cuik::before {
  content: "";
  position: absolute;
  left: 1.16rem;
  top: 1.7rem;
  bottom: 2rem;
  width: 2px;
  background: linear-gradient(var(--route-coral), var(--route-violet));
}

.owbg {
  margin-bottom: .8rem;
  padding: 1rem 1.1rem 1rem 3.4rem;
  border: 0;
  border-radius: 1rem;
  background: var(--route-lilac);
}

.owbg::before {
  z-index: 1;
  left: .36rem;
  top: .82rem;
  display: grid;
  place-items: center;
  width: 1.65rem;
  height: 1.65rem;
  border: 3px solid var(--route-paper);
  border-radius: 50%;
  background: var(--route-coral);
  color: #FFFFFF;
  font-size: .72rem;
  box-shadow: 0 0 0 1px var(--route-coral);
}

.dsrh {
  font-size: .94rem;
  line-height: 1.62;
}

.ivra {
  line-height: 1.55;
}

/* Conversion band: a decisive violet destination with AA white text. */
.hnez {
  position: relative;
  overflow: hidden;
  margin-top: 5rem;
  border: 0;
  background: #5A45A5;
  color: #FFFFFF;
}

.hnez::before {
  content: "";
  position: absolute;
  left: -4rem;
  top: -5.5rem;
  width: 18rem;
  height: 18rem;
  border: 3rem solid rgba(255, 255, 255, .08);
  border-radius: 50%;
}

.oonh {
  position: relative;
  max-width: 54rem;
  padding-top: clamp(3.7rem, 7vw, 6rem);
  padding-bottom: clamp(3.7rem, 7vw, 6rem);
}

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

.oonh h2 {
  max-width: 22ch;
  margin-right: auto;
  margin-left: auto;
  font-size: clamp(1.8rem, 4vw, 2.9rem);
  letter-spacing: -.055em;
  text-wrap: balance;
}

.nivq {
  position: relative;
  margin-top: .5rem;
  padding: 1rem 3.5rem 1rem 1.5rem;
  border-radius: 999px;
  background: #FFFFFF;
  color: #18213A;
  box-shadow: 0 15px 30px rgba(24, 33, 58, .25);
}

.nivq::after {
  content: "→";
  position: absolute;
  right: .72rem;
  top: 50%;
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: var(--route-coral);
  color: #FFFFFF;
  transform: translateY(-50%);
}

/* Footer: the route ends quietly, with disclosure given visual priority. */
.dfmv {
  position: relative;
  overflow: hidden;
}

.dfmv::after {
  content: "";
  position: absolute;
  right: -6rem;
  top: -7rem;
  width: 16rem;
  height: 16rem;
  border: 2rem solid rgba(255, 255, 255, .035);
  border-radius: 50%;
}

.wujc {
  position: relative;
  z-index: 1;
  grid-template-columns: minmax(0, 1.8fr) minmax(15rem, .8fr);
  gap: clamp(2rem, 6vw, 5rem);
}

.xvlw {
  max-width: 52rem;
  padding-left: 1rem;
  border-left: 3px solid var(--route-coral);
  font-style: normal;
  font-weight: 600;
}

.jzjf {
  max-width: 52rem;
  line-height: 1.65;
}

.dfmv .lena {
  display: inline-block;
  margin: .15rem .05rem;
  padding: .35rem .55rem;
  border: 1px solid rgba(255, 255, 255, .18);
}

@media (max-width: 760px) {
  .nxnc .ntbm {
    padding-top: .85rem;
    padding-bottom: .85rem;
  }

  .hnfc {
    max-width: calc(100vw - 7rem);
    font-size: 1rem;
    letter-spacing: -.04em;
  }

  .hnfc::before {
    width: 1.9rem;
    height: 1.9rem;
    flex: 0 0 auto;
  }

  .hnfc::after,
  .nxnc .futp {
    display: none;
  }

  .nxnc .fnwr {
    border-radius: .8rem;
    box-shadow: none;
  }

  .ftyg .ntbm {
    min-height: 0;
    padding-top: 3.4rem;
    padding-bottom: 4rem;
  }

  .ftyg::before {
    width: 22rem;
    right: -13rem;
    top: -9rem;
  }

  .ftyg::after {
    display: none;
  }

  .ljjn {
    padding: 1.25rem 1.05rem 1.45rem 1.25rem;
    border-radius: 1.4rem 1.4rem 1.4rem .35rem;
  }

  .kpnm {
    font-size: clamp(2.15rem, 12vw, 3.6rem);
  }

  .cffu {
    display: grid;
    grid-template-columns: 1fr;
  }

  .gact {
    width: 100%;
  }

  .vyhf {
    padding-top: 3.6rem;
  }

  .djid {
    padding: 2.2rem 1.2rem 1.45rem;
  }

  .hlin h2 {
    grid-template-columns: 2.65rem minmax(0, 1fr);
    gap: .62rem;
  }

  .hlin h2::before {
    width: 2.35rem;
    height: 2.35rem;
  }

  .ektl {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .vbyn {
    width: 100%;
  }

  .plij {
    margin-right: -.15rem;
    margin-left: -.15rem;
    padding: 1.45rem 1.15rem;
  }

  .plij::after {
    display: none;
  }

  .cqak,
  .cqak:nth-child(even) {
    padding: 1.25rem 1.05rem 1.25rem 3.75rem;
    transform: none;
  }

  .cqak::before {
    left: .82rem;
    top: 1.15rem;
    width: 2.15rem;
    height: 2.15rem;
  }

  .owbg {
    padding-right: .75rem;
  }

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

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