/* Archived Peptavi stylesheet. Static rules preserved; class names and asset URLs localized. */
.ContactChannels-grid {
  column-gap:var(--gutter);
  border-top:1px solid var(--line);
  grid-template-columns:repeat(3,1fr);
  display:grid
}

.ContactChannels-cell {
  border-bottom:1px solid var(--line);
  align-content:start;
  gap:10px;
  padding:26px 0 30px;
  display:grid
}

.ContactChannels-icon {
  color:var(--brand)
}

.ContactChannels-title {
  letter-spacing:-.012em;
  font-size:20px;
  font-weight:600;
  line-height:1.25
}

.ContactChannels-body {
  color:var(--muted);
  font-size:16px;
  line-height:1.5
}

.ContactChannels-address {
  color:var(--brand);
  word-break:break-all;
  font-weight:600
}

.ContactChannels-foot {
  margin-top:8px
}

@media (max-width:880px) {
  .ContactChannels-grid {
    grid-template-columns:1fr
  }
}

.Container-wrap {
  width:100%;
  max-width:var(--container);
  padding:0 var(--pad-x);
  margin:0 auto
}

.Container-narrow {
  max-width:calc(var(--container-narrow) + var(--pad-x) * 2)
}

.Section-section {
  padding:var(--space) 0
}

.Section-tint {
  background:var(--tint)
}

.Section-flush {
  padding-top:0
}

.FaqBand-list {
  max-width:var(--container-narrow);
  margin:0 auto
}

.FaqCategories-faq {
  border-top:1px solid var(--line)
}

.FaqCategories-cat {
  border-bottom:1px solid var(--line)
}

.FaqCategories-summary {
  cursor:pointer;
  align-items:center;
  gap:12px;
  padding:22px 0;
  list-style:none;
  display:flex
}

.FaqCategories-summary::-webkit-details-marker {
  display:none
}

.FaqCategories-title {
  letter-spacing:-.01em;
  align-items:center;
  gap:12px;
  font-size:20px;
  font-weight:500;
  line-height:1.55;
  display:inline-flex
}

.FaqCategories-count {
  border-radius:var(--r-pill);
  background:var(--brand-soft);
  min-width:26px;
  height:26px;
  color:var(--brand);
  font-size:var(--fs-small);
  letter-spacing:0;
  justify-content:center;
  align-items:center;
  padding:0 9px;
  font-weight:600;
  display:inline-flex
}

.FaqCategories-pm {
  color:var(--brand);
  flex:none;
  margin-left:auto;
  transition:transform .25s
}

.FaqCategories-cat[open]>.FaqCategories-summary .FaqCategories-pm {
  transform:rotate(45deg)
}

.FaqCategories-body {
  padding:0 0 8px
}

@media (prefers-reduced-motion:reduce) {
  .FaqCategories-pm {
    transition:none
  }
}

.FaqList-faq {
  border-top:1px solid var(--line)
}

.FaqList-item {
  border-bottom:1px solid var(--line)
}

.FaqList-summary {
  cursor:pointer;
  align-items:center;
  gap:12px;
  padding:22px 0;
  list-style:none;
  display:flex
}

.FaqList-summary::-webkit-details-marker {
  display:none
}

.FaqList-q {
  letter-spacing:-.01em;
  font-size:20px;
  font-weight:500;
  line-height:1.55
}

.FaqList-pm {
  color:var(--brand);
  flex:none;
  margin-left:auto;
  transition:transform .25s
}

.FaqList-item[open]>.FaqList-summary .FaqList-pm {
  transform:rotate(45deg)
}

.FaqList-ans {
  color:var(--muted);
  max-width:66ch;
  padding:0 0 18px;
  font-size:16px;
  line-height:1.55
}

.FaqList-nested {
  border-top:0
}

.FaqList-nested .FaqList-item {
  border-top:1px solid var(--line);
  border-bottom:0
}

.FaqList-nested .FaqList-summary {
  padding:16px 0 16px 20px
}

.FaqList-nested .FaqList-q {
  letter-spacing:-.005em;
  font-size:17px
}

.FaqList-nested .FaqList-ans {
  padding:0 0 18px 20px
}

@media (prefers-reduced-motion:reduce) {
  .FaqList-pm {
    transition:none
  }
}

.FigureBand-band {
  border:1px solid var(--line);
  border-radius:var(--r-card);
  background:var(--paper);
  grid-template-columns:repeat(4,1fr);
  display:grid;
  overflow:hidden
}

.FigureBand-cell {
  border-left:1px solid var(--line);
  gap:4px;
  padding:22px 24px;
  display:grid
}

.FigureBand-cell:first-child {
  border-left:0
}

.FigureBand-figure {
  letter-spacing:-.03em;
  color:var(--brand);
  font-size:32px;
  font-weight:600;
  line-height:1
}

.FigureBand-label {
  font-size:var(--fs-small);
  color:var(--muted);
  font-weight:500
}

@media (max-width:1023px) {
  .FigureBand-band {
    grid-template-columns:repeat(2,1fr)
  }
  .FigureBand-cell:nth-child(3) {
    border-left:0
  }
  .FigureBand-cell:nth-child(n+3) {
    border-top:1px solid var(--line)
  }
}

@media (max-width:520px) {
  .FigureBand-band {
    grid-template-columns:1fr
  }
  .FigureBand-cell {
    border-left:0;
    border-top:1px solid var(--line)
  }
  .FigureBand-cell:first-child {
    border-top:0
  }
}

.PlanRow-row {
  column-gap:var(--gutter);
  border-bottom:1px solid var(--line);
  grid-template-columns:1.25fr 1.2fr auto auto;
  align-items:center;
  padding:24px 0;
  display:grid
}

.PlanRow-name {
  letter-spacing:-.012em;
  font-size:20px;
  font-weight:600;
  line-height:1.25
}

.PlanRow-c {
  margin-top:4px
}

.PlanRow-price {
  white-space:nowrap;
  align-items:baseline;
  gap:6px;
  display:flex
}

.PlanRow-amt {
  letter-spacing:-.03em;
  color:var(--brand);
  font-size:30px;
  font-weight:600;
  line-height:1
}

@media (max-width:1023px) {
  .PlanRow-row {
    grid-template-columns:1fr auto;
    row-gap:14px
  }
  .PlanRow-feats {
    grid-column:1/-1
  }
  .PlanRow-row .PlanRow-cta {
    grid-column:1/-1;
    justify-self:start
  }
}

.SectionHead-head {
  gap:18px;
  max-width:64ch;
  margin-bottom:48px;
  display:grid
}

.SectionHead-center {
  text-align:center;
  justify-items:center;
  margin-left:auto;
  margin-right:auto
}

.Chips-chips {
  flex-wrap:wrap;
  gap:8px;
  display:flex
}

.Chips-chip {
  border:1px solid var(--line);
  border-radius:var(--r-pill);
  min-height:34px;
  font-size:var(--fs-small);
  color:var(--ink);
  align-items:center;
  padding:0 13px;
  font-weight:500;
  display:inline-flex
}

@media (min-width:1024px) {
  .Chips-nowrap {
    flex-wrap:nowrap
  }
}

.Frame-frame {
  aspect-ratio:4/5;
  border-radius:var(--r-panel);
  width:100%;
  box-shadow:var(--shadow-float);
  background:var(--tint);
  isolation:isolate;
  position:relative;
  overflow:hidden
}

.Frame-photo {
  object-fit:cover;
  object-position:center top;
  width:100%;
  height:100%;
  position:absolute;
  inset:0
}

@media (max-width:1023px) {
  .Frame-frame {
    aspect-ratio:16/10
  }
}

.Hero-hero {
  background:var(--tint);
  padding:clamp(40px,6vw,88px) 0 clamp(40px,5vw,64px);
  overflow-x:clip
}

.Hero-grid {
  column-gap:var(--gutter);
  grid-template-columns:repeat(12,1fr);
  align-items:center;
  row-gap:40px;
  display:grid
}

.Hero-copy {
  grid-column:1/7;
  justify-items:start;
  gap:26px;
  display:grid
}

.Hero-title {
  text-wrap:initial;
  white-space:nowrap;
  max-width:none
}

.Hero-title span {
  font-size:1.18em;
  line-height:1
}

.Hero-sub {
  max-width:44ch
}

.Hero-ctas {
  flex-wrap:wrap;
  gap:12px;
  display:flex
}

.Hero-fine {
  max-width:52ch
}

.Hero-stage {
  grid-column:7/13;
  gap:12px;
  display:grid
}

.Hero-note {
  text-align:center
}

@media (max-width:1023px) {
  .Hero-copy,.Hero-stage {
    grid-column:1/13
  }
}

@media (max-width:768px) {
  .Hero-grid {
    row-gap:28px
  }
}

.HeroTiles-tiles {
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:clamp(36px,4vw,56px);
  display:grid
}

.HeroTiles-tile {
  border:1px solid var(--line);
  border-radius:var(--r-card);
  background:var(--paper);
  grid-template-rows:auto auto;
  height:100%;
  transition:border-color .2s,transform .25s,box-shadow .25s;
  display:grid;
  overflow:hidden
}

.HeroTiles-tile:hover {
  border-color:var(--ink);
  box-shadow:var(--shadow-float);
  transform:translateY(-3px)
}

.HeroTiles-img {
  aspect-ratio:4/3;
  background:var(--tint);
  display:block;
  overflow:hidden
}

.HeroTiles-art {
  object-fit:cover;
  width:100%;
  height:100%
}

.HeroTiles-row {
  justify-content:space-between;
  align-items:center;
  gap:6px;
  padding:14px 12px;
  display:flex
}

.HeroTiles-label {
  letter-spacing:-.01em;
  white-space:nowrap;
  font-size:16px;
  font-weight:600
}

.HeroTiles-row svg {
  color:var(--brand);
  flex:none;
  transition:transform .2s
}

.HeroTiles-tile:hover svg {
  transform:translate(3px)
}

.HeroTiles-note {
  margin-top:12px
}

@media (max-width:1151px) {
  .HeroTiles-tiles {
    grid-template-columns:repeat(2,1fr)
  }
}

@media (max-width:768px) {
  .HeroTiles-tiles {
    grid-template-columns:1fr;
    gap:12px;
    margin-top:28px
  }
  .HeroTiles-tile {
    grid-template-rows:none;
    grid-template-columns:120px 1fr
  }
  .HeroTiles-row {
    padding:14px 16px
  }
}

@media (prefers-reduced-motion:reduce) {
  .HeroTiles-tile,.HeroTiles-row svg {
    transition:none
  }
  .HeroTiles-tile:hover,.HeroTiles-tile:hover svg {
    transform:none
  }
}

@property --orbit-a {
  syntax:"<angle>";
  inherits:false;
  initial-value:0deg
}

.HeroVials-stage {
  aspect-ratio:6/5;
  --orbit-r:36cqi;
  --orbit-rise:10cqi;
  --vial-h:62%;
  --cycle:15s;
  position:relative;
  container-type:inline-size
}

.HeroVials-vial {
  height:var(--vial-h);
  aspect-ratio:1;
  transform-origin:50% 100%;
  transform:translateX(calc(-50% + var(--orbit-r) * sin(var(--orbit-a)))) translateY(calc(var(--orbit-rise) * (cos(var(--orbit-a)) - 1) / 2)) scale(calc(.8 + .2 * cos(var(--orbit-a))));
  z-index:calc(3 + 2 * cos(var(--orbit-a)));
  will-change:transform;
  animation:HeroVials-orbit var(--cycle) cubic-bezier(.66, 0, .34, 1) infinite;
  position:absolute;
  bottom:10%;
  left:50%
}

.HeroVials-vial img {
  width:100%;
  height:100%;
  filter:var(--shadow-vial);
  display:block
}

.HeroVials-vial:nth-child(2) {
  animation-delay:calc(var(--cycle) / -3 * 2)
}

.HeroVials-vial:nth-child(3) {
  animation-delay:calc(var(--cycle) / -3)
}

@keyframes HeroVials-orbit {
  0% {
    --orbit-a:0deg
  }
  33.333% {
    --orbit-a:120deg
  }
  66.667% {
    --orbit-a:240deg
  }
  to {
    --orbit-a:360deg
  }
}

.HeroVials-stage:hover .HeroVials-vial {
  animation-play-state:paused
}

@media (prefers-reduced-motion:reduce) {
  .HeroVials-vial {
    animation-play-state:paused
  }
}

@media (max-width:1023px) {
  .HeroVials-stage {
    aspect-ratio:16/9;
    --orbit-r:26cqi;
    --orbit-rise:7cqi;
    --vial-h:64%
  }
}

@media (max-width:768px) {
  .HeroVials-stage {
    aspect-ratio:3/2;
    --orbit-r:36cqi;
    --orbit-rise:10cqi;
    --vial-h:70%
  }
}

.PointGrid-grid {
  column-gap:var(--gutter);
  border-top:1px solid var(--line);
  grid-template-columns:repeat(3,1fr);
  row-gap:0;
  display:grid
}

.PointGrid-four {
  grid-template-columns:repeat(4,1fr)
}

.PointGrid-cell {
  border-bottom:1px solid var(--line);
  align-content:start;
  gap:10px;
  padding:26px 0 30px;
  display:grid
}

.PointGrid-steps {
  row-gap:32px;
  padding-top:32px
}

.PointGrid-steps .PointGrid-cell {
  border-bottom:0;
  padding:0
}

.PointGrid-n {
  color:var(--brand);
  letter-spacing:-.02em;
  font-size:28px;
  font-weight:500;
  line-height:1
}

.PointGrid-icon {
  color:var(--brand)
}

.PointGrid-body {
  color:var(--muted);
  font-size:16px;
  line-height:1.5
}

.PointGrid-when {
  font-size:var(--fs-small);
  color:var(--ink);
  font-weight:600
}

@media (max-width:1023px) {
  .PointGrid-grid {
    grid-template-columns:repeat(2,1fr)
  }
}

@media (max-width:640px) {
  .PointGrid-grid {
    grid-template-columns:1fr
  }
  .PointGrid-cell {
    padding:20px 0 22px
  }
  .PointGrid-steps .PointGrid-cell {
    padding:0
  }
}

.PriceNote-fine {
  max-width:90ch;
  margin-top:22px
}

.ProgramBand-band {
  padding:var(--space) 0
}

.ProgramBand-band+.ProgramBand-band {
  padding-top:calc(var(--space) * .4)
}

.ProgramBand-grid {
  column-gap:var(--gutter);
  grid-template-columns:repeat(12,1fr);
  align-items:center;
  row-gap:40px;
  display:grid
}

.ProgramBand-photo {
  grid-column:1/6
}

.ProgramBand-copy {
  grid-column:6/13;
  justify-items:start;
  gap:22px;
  display:grid
}

.ProgramBand-rev .ProgramBand-photo {
  grid-column:8/13
}

.ProgramBand-rev .ProgramBand-copy {
  order:-1;
  grid-column:1/8
}

.ProgramBand-ctas {
  flex-wrap:wrap;
  gap:12px;
  display:flex
}

.ProgramBand-note {
  max-width:56ch
}

@media (max-width:1023px) {
  .ProgramBand-photo,.ProgramBand-rev .ProgramBand-photo,.ProgramBand-copy,.ProgramBand-rev .ProgramBand-copy {
    order:0;
    grid-column:1/13
  }
}

.MedicineCard-card {
  border:1px solid var(--line);
  border-radius:var(--r-card);
  background:var(--paper);
  grid-template-rows:auto 1fr;
  height:100%;
  transition:border-color .2s;
  display:grid;
  overflow:hidden
}

.MedicineCard-card:hover {
  border-color:var(--ink)
}

.MedicineCard-panel {
  aspect-ratio:4/3;
  background:var(--tint);
  grid-template-rows:100%;
  place-items:center;
  min-height:0;
  padding:18px;
  display:grid;
  position:relative
}

.MedicineCard-render {
  object-fit:contain;
  width:auto;
  height:100%;
  max-height:150px;
  filter:var(--shadow-vial)
}

.MedicineCard-pending {
  font-size:var(--fs-small);
  color:var(--muted);
  border:1.5px dashed var(--line);
  border-radius:var(--r-pill);
  background:var(--paper);
  padding:8px 14px
}

.MedicineCard-body {
  align-content:start;
  gap:8px;
  padding:16px 18px 18px;
  display:grid
}

.MedicineCard-meta {
  font-size:var(--fs-small);
  color:var(--muted);
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  display:flex
}

.MedicineCard-pep {
  color:var(--brand);
  font-weight:500
}

.MedicineCard-blurb {
  font-size:var(--fs-small);
  color:var(--muted);
  line-height:1.45
}

.MedicineCard-card .MedicineCard-cta {
  justify-self:start;
  margin-top:6px
}

@media (prefers-reduced-motion:reduce) {
  .MedicineCard-card {
    transition:none
  }
}

.ShelfBrowser-bar {
  flex-wrap:wrap;
  align-items:center;
  gap:12px 24px;
  min-height:44px;
  margin-bottom:16px;
  display:flex
}

.ShelfBrowser-state b {
  color:var(--ink);
  font-weight:600
}

.ShelfBrowser-state[hidden] {
  display:none
}

.ShelfBrowser-showAll {
  color:var(--brand);
  text-underline-offset:3px;
  font-weight:600;
  text-decoration:underline
}

.ShelfBrowser-seg {
  border:0;
  flex-wrap:wrap;
  gap:6px;
  min-width:0;
  margin:0;
  padding:0;
  display:inline-flex
}

.ShelfBrowser-segb {
  border:1px solid var(--line);
  border-radius:var(--r-pill);
  background:var(--paper);
  min-height:36px;
  color:var(--ink);
  font-size:var(--fs-small);
  white-space:nowrap;
  padding:0 14px;
  font-weight:500;
  transition:border-color .2s,background .2s
}

.ShelfBrowser-segb:hover {
  border-color:var(--ink)
}

.ShelfBrowser-on,.ShelfBrowser-on:hover {
  background:var(--ink);
  border-color:var(--ink);
  color:var(--paper)
}

.ShelfBrowser-arrows {
  flex:none;
  gap:8px;
  margin-left:auto;
  display:flex
}

.ShelfBrowser-arrow {
  border:1.5px solid var(--line);
  background:var(--paper);
  width:44px;
  height:44px;
  color:var(--ink);
  border-radius:50%;
  justify-content:center;
  align-items:center;
  transition:border-color .2s,background .2s;
  display:inline-flex
}

.ShelfBrowser-arrow:hover:not([disabled]) {
  border-color:var(--ink);
  background:var(--tint)
}

.ShelfBrowser-prev svg {
  transform:rotate(180deg)
}

.ShelfBrowser-arrow[disabled] {
  opacity:.35;
  cursor:default
}

.ShelfBrowser-rail {
  overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  padding:4px var(--pad-x) 20px;
  margin:0 calc(var(--pad-x) * -1);
  scroll-padding-inline:var(--pad-x);
  scrollbar-width:none;
  gap:16px;
  display:flex;
  overflow-x:auto
}

.ShelfBrowser-rail::-webkit-scrollbar {
  display:none
}

.ShelfBrowser-slot {
  scroll-snap-align:start;
  flex:none;
  width:264px
}

.ShelfBrowser-foot {
  margin-top:8px
}

@media (max-width:768px) {
  .ShelfBrowser-bar {
    min-height:0;
    margin-bottom:12px
  }
  .ShelfBrowser-segb {
    min-height:44px
  }
  .ShelfBrowser-slot {
    width:200px
  }
}

@media (prefers-reduced-motion:reduce) {
  .ShelfBrowser-segb,.ShelfBrowser-arrow {
    transition:none
  }
}

.Standard-split {
  column-gap:var(--gutter);
  grid-template-columns:repeat(12,1fr);
  align-items:start;
  display:grid
}

.Standard-head {
  top:calc(var(--nav-h) + 32px);
  grid-column:1/6;
  position:sticky
}

.Standard-list {
  grid-column:6/13
}

.Standard-checks {
  border-top:1px solid var(--line)
}

.Standard-check {
  border-bottom:1px solid var(--line)
}

.Standard-summary {
  cursor:pointer;
  grid-template-columns:56px 1fr auto;
  align-items:center;
  column-gap:16px;
  min-height:44px;
  padding:20px 0;
  list-style:none;
  display:grid
}

.Standard-summary::-webkit-details-marker {
  display:none
}

.Standard-n {
  color:var(--brand);
  letter-spacing:.02em;
  font-size:15px;
  font-weight:500;
  line-height:1
}

.Standard-title {
  letter-spacing:-.01em;
  text-wrap:pretty;
  font-size:20px;
  font-weight:500;
  line-height:1.3
}

.Standard-pm {
  color:var(--brand);
  transition:transform .25s
}

.Standard-check[open]>.Standard-summary .Standard-pm {
  transform:rotate(45deg)
}

.Standard-body {
  font-size:var(--fs-small);
  color:var(--muted);
  grid-column:2;
  max-width:calc(52ch + 72px);
  padding:0 44px 22px 72px;
  line-height:1.5
}

.Standard-note {
  max-width:62ch;
  margin-top:24px
}

@media (max-width:1023px) {
  .Standard-head,.Standard-list {
    grid-column:1/13
  }
  .Standard-head {
    position:static
  }
}

@media (max-width:640px) {
  .Standard-summary {
    grid-template-columns:36px 1fr auto;
    column-gap:12px;
    padding:16px 0
  }
  .Standard-body {
    padding:0 32px 20px 48px
  }
}

@media (prefers-reduced-motion:reduce) {
  .Standard-pm {
    transition:none
  }
}

.TickList-list {
  gap:12px;
  display:grid
}

.TickList-list li {
  color:var(--muted);
  align-items:flex-start;
  gap:12px;
  max-width:52ch;
  font-size:16px;
  line-height:1.5;
  display:flex
}

.TickList-list li b {
  color:var(--ink);
  font-weight:600
}

.TickList-list svg {
  color:var(--brand);
  flex:none;
  margin-top:3px
}

.TickList-sm {
  gap:6px
}

.TickList-sm li {
  font-size:var(--fs-small);
  gap:8px;
  max-width:none
}

.Plans-rows {
  border-top:1px solid var(--line);
  margin-top:40px
}

.Formulary-list {
  border-top:1px solid var(--line)
}

.Formulary-row {
  column-gap:var(--gutter);
  border-bottom:1px solid var(--line);
  grid-template-columns:1fr 2fr;
  row-gap:12px;
  padding:26px 0;
  display:grid
}

.Formulary-name {
  letter-spacing:-.012em;
  font-size:20px;
  font-weight:600;
  line-height:1.25
}

.Formulary-form {
  margin-top:4px
}

.Formulary-groups {
  gap:48px;
  display:grid
}

.Formulary-group {
  letter-spacing:-.01em;
  color:var(--brand);
  margin-bottom:16px;
  font-size:clamp(18px,1.5vw,20px);
  font-weight:500;
  line-height:1.2
}

.Formulary-body {
  color:var(--muted);
  max-width:56ch;
  font-size:16px;
  line-height:1.5
}

.Formulary-standing {
  font-size:var(--fs-small);
  color:var(--brand);
  background:var(--brand-soft);
  border-radius:var(--r-pill);
  margin-top:12px;
  padding:4px 10px;
  font-weight:600;
  display:inline-block
}

@media (max-width:700px) {
  .Formulary-row {
    grid-template-columns:1fr
  }
}

.PageHeader-header {
  padding:clamp(40px,6vw,88px) 0 clamp(40px,5vw,64px)
}

.PageHeader-head.PageHeader-head {
  margin-bottom:0
}

.PageHeader-actions {
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin-top:28px;
  display:flex
}

.SiteFooter-footer {
  border-top:1px solid var(--line);
  padding:64px 0 32px
}

.SiteFooter-grid {
  column-gap:var(--gutter);
  grid-template-columns:1.6fr repeat(4,1fr);
  row-gap:32px;
  display:grid
}

.SiteFooter-blurb {
  max-width:34ch;
  margin-top:14px
}

.SiteFooter-col {
  align-content:start;
  gap:10px;
  display:grid
}

.SiteFooter-colTitle {
  font-size:var(--fs-small);
  letter-spacing:.01em;
  margin-bottom:4px;
  font-weight:600;
  line-height:1.5
}

.SiteFooter-links {
  gap:10px;
  display:grid
}

.SiteFooter-link {
  font-size:var(--fs-small);
  color:var(--muted)
}

.SiteFooter-link:hover {
  color:var(--ink)
}

.SiteFooter-safety {
  border-top:1px solid var(--line);
  gap:12px;
  max-width:110ch;
  margin-top:48px;
  padding-top:28px;
  display:grid
}

.SiteFooter-safety p {
  font-size:var(--fs-fine);
  color:var(--ink-56);
  line-height:1.45
}

.SiteFooter-safety strong {
  color:var(--muted);
  font-weight:600
}

.SiteFooter-bottom {
  border-top:1px solid var(--line);
  font-size:var(--fs-small);
  color:var(--muted);
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:12px 24px;
  margin-top:28px;
  padding-top:20px;
  display:flex
}

.SiteFooter-entity {
  align-items:center;
  gap:16px;
  display:flex
}

.SiteFooter-seal {
  flex-shrink:0
}

.SiteFooter-legal {
  flex-wrap:wrap;
  gap:18px;
  display:flex
}

@media (max-width:1023px) {
  .SiteFooter-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .SiteFooter-grid>:first-child {
    grid-column:1/-1
  }
}

.Button-btn {
  border-radius:var(--r-pill);
  letter-spacing:-.005em;
  border:1.5px solid var(--ink);
  white-space:nowrap;
  justify-content:center;
  align-items:center;
  gap:10px;
  min-height:52px;
  padding:0 26px;
  font-size:16px;
  font-weight:600;
  transition:background .2s,color .2s,border-color .2s,transform .2s;
  display:inline-flex
}

.Button-btn:active {
  transform:translateY(1px)
}

.Button-btn svg {
  flex:none;
  transition:transform .2s
}

.Button-btn:hover svg {
  transform:translate(2px)
}

.Button-primary {
  background:var(--ink);
  color:var(--paper)
}

.Button-primary:hover {
  background:var(--brand-hover);
  border-color:var(--brand-hover)
}

.Button-outline {
  background:var(--paper);
  color:var(--ink)
}

.Button-outline:hover {
  background:var(--tint)
}

.Button-onInk {
  background:var(--paper);
  color:var(--ink);
  border-color:var(--paper)
}

.Button-onInk:hover {
  background:var(--brand-soft);
  border-color:var(--brand-soft)
}

.Button-ghostInk {
  color:var(--paper);
  border-color:var(--paper-72);
  background:0 0
}

.Button-ghostInk:hover {
  background:var(--paper-16)
}

.Button-sm {
  min-height:44px;
  font-size:var(--fs-small);
  padding:0 20px
}

.Button-wide {
  width:100%
}

@media (prefers-reduced-motion:reduce) {
  .Button-btn,.Button-btn svg {
    transition:none
  }
  .Button-btn:active,.Button-btn:hover svg {
    transform:none
  }
}

.TrustStrip-trust {
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  overflow:hidden
}

.TrustStrip-track {
  will-change:transform;
  width:max-content;
  animation:48s linear infinite TrustStrip-ticker;
  display:flex
}

.TrustStrip-paused,.TrustStrip-track:hover {
  animation-play-state:paused
}

.TrustStrip-copy {
  flex-wrap:nowrap;
  gap:0 44px;
  padding:18px 22px;
  display:flex
}

.TrustStrip-item {
  font-size:var(--fs-small);
  white-space:nowrap;
  align-items:center;
  gap:9px;
  font-weight:500;
  display:inline-flex
}

.TrustStrip-item svg {
  color:var(--brand);
  flex:none
}

@keyframes TrustStrip-ticker {
  0% {
    transform:translate(0,0)
  }
  to {
    transform:translate(-25%)
  }
}

@media (max-width:768px) {
  .TrustStrip-track {
    animation-duration:34s
  }
  .TrustStrip-copy {
    gap:0 28px;
    padding:16px 14px
  }
}

@media (prefers-reduced-motion:reduce) {
  .TrustStrip-track {
    animation:none;
    display:block
  }
  .TrustStrip-copy {
    padding:16px var(--pad-x);
    flex-wrap:wrap;
    justify-content:center;
    gap:12px 22px
  }
  .TrustStrip-copy[aria-hidden=true] {
    display:none
  }
}

.ProgramGrid-grid {
  grid-template-columns:repeat(2,1fr);
  gap:16px;
  display:grid
}

.ProgramGrid-card {
  border:1px solid var(--line);
  border-radius:var(--r-card);
  background:var(--paper);
  grid-template-rows:auto 1fr;
  height:100%;
  transition:border-color .2s;
  display:grid;
  position:relative;
  overflow:hidden
}

.ProgramGrid-card:hover {
  border-color:var(--ink)
}

.ProgramGrid-media {
  aspect-ratio:16/9;
  background:var(--tint);
  position:relative
}

.ProgramGrid-photo {
  object-fit:cover;
  object-position:center 30%;
  width:100%;
  height:100%;
  position:absolute;
  inset:0
}

.ProgramGrid-body {
  align-content:start;
  gap:14px;
  padding:22px 24px 24px;
  display:grid
}

.ProgramGrid-title {
  font-size:clamp(24px,2.4vw,30px)
}

.ProgramGrid-foot {
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:auto;
  padding-top:8px;
  display:flex
}

.ProgramGrid-price {
  white-space:nowrap;
  align-items:baseline;
  gap:6px;
  display:inline-flex
}

.ProgramGrid-amt {
  letter-spacing:-.03em;
  color:var(--brand);
  font-size:30px;
  font-weight:600;
  line-height:1
}

.ProgramGrid-link {
  color:var(--brand);
  align-items:center;
  gap:6px;
  font-weight:600;
  display:inline-flex
}

.ProgramGrid-link:after {
  content:"";
  z-index:1;
  position:absolute;
  inset:0
}

.ProgramGrid-link svg {
  transition:transform .2s
}

.ProgramGrid-card:hover .ProgramGrid-link svg {
  transform:translate(3px)
}

.ProgramGrid-link:focus-visible {
  outline:none
}

.ProgramGrid-card:has(.ProgramGrid-link:focus-visible) {
  outline:2px solid var(--brand);
  outline-offset:3px
}

@media (max-width:768px) {
  .ProgramGrid-grid {
    grid-template-columns:1fr
  }
}

@media (prefers-reduced-motion:reduce) {
  .ProgramGrid-card,.ProgramGrid-link svg {
    transition:none
  }
}

.SiteHeader-header {
  z-index:60;
  position:sticky;
  top:0
}

.SiteHeader-bar {
  z-index:1;
  background:var(--nav-bg);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line);
  position:relative
}

.SiteHeader-nav {
  max-width:var(--container);
  padding:0 var(--pad-x);
  height:var(--nav-h);
  align-items:center;
  gap:32px;
  margin:0 auto;
  display:flex
}

.SiteHeader-links {
  white-space:nowrap;
  flex:1;
  align-items:center;
  gap:32px;
  display:flex
}

.SiteHeader-link {
  color:var(--ink);
  padding:8px 0;
  font-size:16px;
  font-weight:500;
  transition:color .2s
}

.SiteHeader-link:hover {
  color:var(--brand-hover)
}

.SiteHeader-link[aria-current=page] {
  color:var(--brand)
}

.SiteHeader-right {
  align-items:center;
  gap:10px;
  display:flex
}

.SiteHeader-toggle {
  border-radius:var(--r-pill);
  border:1.5px solid var(--line);
  background:var(--paper);
  width:44px;
  height:44px;
  color:var(--ink);
  justify-content:center;
  align-items:center;
  display:none
}

.SiteHeader-sheet {
  inset:var(--nav-h) 0 0 0;
  background:var(--paper);
  padding:8px var(--pad-x) 32px;
  position:fixed;
  overflow:auto
}

.SiteHeader-group {
  color:var(--brand);
  padding:28px 4px 8px;
  font-size:16px;
  font-weight:600
}

.SiteHeader-row {
  border-bottom:1px solid var(--line);
  justify-content:space-between;
  align-items:center;
  min-height:56px;
  padding:0 4px;
  font-size:18px;
  font-weight:500;
  display:flex
}

.SiteHeader-row svg {
  color:var(--brand);
  flex:none
}

.SiteHeader-sheet .SiteHeader-sheetCta {
  margin-top:20px
}

@media (max-width:1151px) {
  .SiteHeader-links,.SiteHeader-signIn {
    display:none
  }
  .SiteHeader-toggle {
    display:inline-flex
  }
  .SiteHeader-nav {
    justify-content:space-between;
    gap:14px
  }
}

@media (prefers-reduced-motion:reduce) {
  .SiteHeader-link {
    transition:none
  }
}

.StepDetail-steps {
  border-top:1px solid var(--line)
}

.StepDetail-step {
  border-bottom:1px solid var(--line);
  grid-template-columns:56px 1fr;
  column-gap:16px;
  padding:32px 0;
  display:grid
}

.StepDetail-n {
  color:var(--brand);
  letter-spacing:-.02em;
  font-size:28px;
  font-weight:500;
  line-height:1
}

.StepDetail-title {
  font-size:clamp(24px,3vw,30px)
}

.StepDetail-detail {
  color:var(--muted);
  margin-top:10px;
  font-size:16px;
  line-height:1.5
}

.StepDetail-list {
  margin-top:18px
}

@media (max-width:640px) {
  .StepDetail-step {
    grid-template-columns:1fr;
    row-gap:10px
  }
}

.Values-note {
  max-width:90ch;
  margin-top:24px
}

.page-row {
  border-top:1px solid var(--line);
  margin-top:40px
}

.page-expect {
  column-gap:var(--gutter);
  grid-template-columns:1fr 1fr;
  align-items:start;
  display:grid
}

.page-note {
  margin-top:26px
}

@media (max-width:880px) {
  .page-expect {
    grid-template-columns:1fr
  }
}

.LegalDoc-doc {
  padding:clamp(40px, 6vw, 88px) 0 var(--space)
}

.LegalDoc-header {
  border-bottom:1px solid var(--line);
  padding-bottom:28px
}

.LegalDoc-subtitle {
  letter-spacing:.01em;
  margin-top:18px;
  font-weight:600
}

.LegalDoc-intro {
  margin-top:18px
}

.LegalDoc-dates {
  flex-wrap:wrap;
  gap:6px 24px;
  margin-top:24px;
  display:flex
}

.LegalDoc-dates b {
  color:var(--ink);
  font-weight:600
}

.LegalDoc-toc {
  background:var(--tint);
  border-radius:var(--r-card);
  margin-top:36px;
  padding:28px 30px
}

.LegalDoc-tocTitle {
  font-size:var(--fs-small);
  margin-bottom:14px;
  font-weight:600
}

.LegalDoc-toc ol {
  grid-template-columns:1fr 1fr;
  gap:8px 24px;
  display:grid
}

.LegalDoc-toc a {
  font-size:var(--fs-small);
  color:var(--ink);
  padding:2px 0;
  font-weight:500;
  display:block
}

.LegalDoc-toc a:hover {
  color:var(--brand-hover)
}

.LegalDoc-tocN {
  color:var(--muted);
  min-width:2.2em;
  display:inline-block
}

.LegalDoc-section {
  margin-top:52px
}

.LegalDoc-h2 {
  gap:12px;
  font-size:clamp(24px,3vw,30px);
  display:flex
}

.LegalDoc-n {
  color:var(--brand);
  flex:none
}

.LegalDoc-body {
  margin-top:8px
}

.LegalDoc-h3 {
  margin-top:30px
}

.LegalDoc-p {
  color:var(--muted);
  margin-top:16px;
  line-height:1.6
}

.LegalDoc-ul {
  color:var(--muted);
  gap:8px;
  margin-top:14px;
  padding-left:22px;
  line-height:1.6;
  list-style:outside;
  display:grid
}

.LegalDoc-callout {
  border-radius:var(--r-card);
  background:var(--tint);
  font-size:var(--fs-small);
  color:var(--muted);
  margin-top:20px;
  padding:20px 24px;
  line-height:1.6
}

.LegalDoc-body strong {
  color:var(--ink);
  font-weight:600
}

.LegalDoc-body a {
  color:var(--brand);
  text-underline-offset:3px;
  font-weight:600;
  text-decoration:underline
}

.LegalDoc-disclaimer {
  background:var(--tint);
  border-radius:var(--r-card);
  font-size:var(--fs-small);
  color:var(--muted);
  margin-top:56px;
  padding:28px 30px;
  line-height:1.6
}

.LegalDoc-disclaimerTitle {
  color:var(--ink);
  margin-bottom:10px;
  font-weight:600
}

@media (max-width:640px) {
  .LegalDoc-toc ol {
    grid-template-columns:1fr
  }
}

.page-emergency {
  text-align:center;
  max-width:60ch;
  font-size:var(--fs-small);
  color:var(--ink);
  margin:32px auto 0;
  font-weight:600;
  line-height:1.5
}

.page-fine {
  text-align:center;
  max-width:56ch;
  margin:32px auto 0
}
