:where([data-etch-element="container"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  max-inline-size: var(--content-width, 1366px);
  align-self: center; margin-inline: auto;
}
:where([data-etch-element="flex-div"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
}
:where([data-etch-element="iframe"]) {
  inline-size: 100%;
  height: auto;
 aspect-ratio: 16/9;
}
:where([data-etch-element="section"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.site-header {
  background-color: var(--body-bg-color);
  padding-block: var(--space-s);
  position: relative;
  z-index: 10;
  &::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 1;
    background-color: color-mix(in oklch, var(--bg-ultra-dark) 55%, transparent);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  }
  &[data-menu="open"] { z-index: 30; }
  &[data-menu="open"]::after { opacity: 1; pointer-events: auto; }
  @media (min-width: 64rem) { &::after { display: none; } }
}
.site-header__inner {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-m);
}
.site-header__logo {
  display: block;
  inline-size: 9.5rem;
  flex-shrink: 0;
  @media (min-width: 64rem) { inline-size: 12.75rem; }
}
.site-header__logo-img {
  inline-size: 100%;
  block-size: auto;
}
.site-header__nav {
  display: none;
  @media (min-width: 64rem) { display: block; }
}
.site-header__list {
  display: flex;
  gap: var(--space-l);
}
.site-header__link {
  color: var(--text-dark);
  font-weight: 600;
  text-decoration: none;
  &:hover, &[aria-current="page"] { color: var(--primary); }
}
.site-header__actions {
  display: none;
  @media (min-width: 64rem) { display: flex; align-items: center; gap: var(--space-m); }
}
.site-header__phone {
  color: var(--text-dark);
  font-weight: 700;
  text-decoration: none;
  &:hover { color: var(--primary); }
}
.site-header__cta {
  --btn-padding-block: 0.8em;
  --btn-padding-inline: 1.5em;
}
.site-header__mobile {
  display: flex;
  align-items: center;
  gap: var(--space-m);
  @media (min-width: 64rem) { display: none; }
}
.site-main {
  display: flex;
  flex-direction: column;
}
.site-footer {
  background-color: var(--bg-ultra-dark);
  color: var(--text-light-muted);
  padding-block: var(--space-xl) calc(var(--space-xl) + 5.5rem);
  @media (min-width: 64rem) { padding-block: var(--space-xxl); }
}
.site-footer__inner {
  display: grid;
  grid-template-columns: var(--grid-2);
  gap: var(--space-l);
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr)); }
}
.site-footer__brand {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  @media (min-width: 64rem) { grid-column: auto; }
}
.site-footer__name {
  color: var(--text-light);
  font-size: var(--h3);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.15;
}
.site-footer__meta {
  font-size: var(--text-s);
}
.site-footer__col {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.site-footer__heading {
  color: var(--text-light);
  font-size: var(--text-s);
  font-weight: 700;
}
.site-footer__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.site-footer__link {
  color: var(--text-light-muted);
  font-size: var(--text-s);
  text-decoration: none;
  overflow-wrap: anywhere;
  &:hover { color: var(--text-light); text-decoration: underline; }
}
.mobile-bar {
  position: fixed;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: 20;
  display: flex;
  gap: var(--space-xs);
  padding: var(--space-xs) var(--space-s) var(--space-s);
  background-color: var(--body-bg-color);
  border-block-start: var(--border-size) var(--border-style) var(--border-color-light);
  /* ACSS gør knapper 100 % brede på mobil; her deles bredden */
  & > a { --btn-width: auto; --btn-min-width: 0; min-inline-size: 0; }
  @media (min-width: 64rem) { display: none; }
}
.mobile-bar__book {
  --btn-width: auto;
  --btn-min-width: 0;
  --btn-padding-inline: 1em;
  flex: 2 1 0;
  justify-content: center;
  text-align: center;
}
.mobile-bar__call {
  --btn-width: auto;
  --btn-min-width: 0;
  --btn-padding-inline: 1em;
  flex: 1 1 0;
  justify-content: center;
  text-align: center;
}
.hero {
  position: relative;
  overflow: clip;
  padding-block: 0;
  background-color: var(--bg-dark);
  &[data-variant="text"] {
    & .hero__content { max-inline-size: 60rem; min-block-size: auto; padding-block: var(--section-space-m); }
    &::before, &::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
    &::before { inline-size: 32rem; aspect-ratio: 1; inset-block-start: -10rem; inset-inline-end: -8rem; border: 1px solid color-mix(in oklch, var(--text-light) 22%, transparent); }
    &::after { inline-size: 1rem; aspect-ratio: 1; inset-block-start: 9rem; inset-inline-end: 22rem; background-color: color-mix(in oklch, var(--text-light) 45%, transparent); }
  }
}
.hero__media {
  margin-inline: calc(var(--gutter) * -1);
  aspect-ratio: 4 / 3;
  @media (min-width: 64rem) { position: absolute; inset-block: 0; inset-inline-end: 0; inline-size: 46%; margin-inline: 0; aspect-ratio: auto; }
  &[data-content="card"] { display: grid; place-items: center; padding-block: var(--space-xl); @media (min-width: 64rem) { padding-block: 0; } }
  &[data-content="contact"] { aspect-ratio: auto; display: flex; align-items: center; padding: var(--space-l) var(--gutter); @media (min-width: 64rem) { padding-inline: var(--space-xl); } }
  &.hero-fallback { @media (min-width: 64rem) { position: absolute; } }
  &.hero-fallback:empty { @media (width < 64rem) { display: none; } }
}
.hero__img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: 50% 35%;
  &[data-position="portrait"] { object-position: 60% 25%; }
}
.hero__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  padding-block: var(--space-l) var(--space-xl);
  @media (min-width: 64rem) { max-inline-size: 52%; min-block-size: 45rem; justify-content: center; padding-block: var(--section-space-m); }
}
.hero__title {
  color: var(--text-light);
}
.hero__lead {
  max-inline-size: 35rem;
  color: var(--text-light-muted);
  font-size: var(--text-l);
}
.hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-m);
}
.hero__call {
  color: var(--text-light);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.3em;
}
.hero__trust {
  color: var(--text-light-muted);
  font-size: var(--text-s);
  font-weight: 500;
}
.services__inner {
  gap: var(--space-xl);
}
.eyebrow {
  color: var(--primary);
  font-family: var(--heading-font-family);
  font-size: var(--text-m);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.2;
  text-transform: uppercase;
}
.services__list {
  display: flex;
  flex-direction: column;
  border-block-end: 2px solid var(--text-dark);
}
.services__item {
  border-block-start: 2px solid var(--text-dark);
}
.services__link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "title arrow" "text text";
  align-items: center;
  gap: var(--space-s) var(--space-m);
  padding-block: var(--space-l);
  color: inherit;
  text-decoration: none;
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 7fr) minmax(0, 6fr) auto; grid-template-areas: "title text arrow"; column-gap: var(--space-xl); }
  &:hover .arrow-circle { background-color: var(--primary-hover); }
  &:hover .services__title { color: var(--primary); }
}
.services__title {
  grid-area: title;
  font-size: var(--h3);
  @media (min-width: 64rem) { font-size: var(--h2); }
}
.services__text {
  grid-area: text;
  color: var(--text-dark-muted);
}
.arrow-circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  inline-size: 3rem;
  block-size: 3rem;
  border-radius: 50%;
  background-color: var(--primary);
  color: var(--text-light);
  font-size: var(--text-l);
  font-weight: 700;
  @media (min-width: 64rem) { inline-size: 4.5rem; block-size: 4.5rem; font-size: var(--text-xl); }
  &.arrow-circle--s { @media (min-width: 64rem) { inline-size: 3.5rem; block-size: 3.5rem; font-size: var(--text-l); } }
}
.services__more {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}
.services__more-label {
  font-weight: 700;
}
.pill-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}
.pill {
  display: inline-block;
  padding: 0.6em 1.1em;
  border: 1.5px solid var(--border-color-light);
  border-radius: 999px;
  color: var(--text-dark);
  font-size: var(--text-s);
  font-weight: 600;
  text-decoration: none;
  transition: border-color var(--transition-duration, .3s), color var(--transition-duration, .3s);
  &:hover { border-color: var(--primary); color: var(--primary); }
}
.first-visit {
  background-color: var(--bg-light);
  &[data-bg="base"] { background-color: var(--body-bg-color); }
}
.first-visit__inner {
  gap: var(--space-xl);
}
.first-visit__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-m);
}
.first-visit__heading {
  max-inline-size: 45rem;
}
.first-visit__steps {
  display: grid;
  gap: var(--space-l) var(--space-xl);
  @media (min-width: 48rem) { grid-template-columns: var(--grid-2); }
  &[data-cols="3"] { @media (min-width: 64rem) { grid-template-columns: var(--grid-3); } }
}
.first-visit__step {
  display: flex;
  gap: var(--space-m);
}
.first-visit__num {
  flex-shrink: 0;
  inline-size: 1.2em;
  color: var(--primary);
  font-family: var(--heading-font-family);
  font-size: var(--h2);
  font-weight: 800;
  line-height: 0.9;
}
.first-visit__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.first-visit__text {
  color: var(--text-dark-muted);
}
.reviews {
  &[data-bg="light"] { background-color: var(--bg-light); }
}
.reviews__inner {
  gap: var(--space-xl);
}
.reviews__rating {
  font-weight: 700;
}
.reviews__featured {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
}
.reviews__featured-text {
  --_size: clamp(1.75rem, 1rem + 2.6vw, 3.25rem);
  max-inline-size: 75rem;
  color: var(--text-dark);
  font-size: var(--_size);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.15;
}
.reviews__featured-name {
  color: var(--primary);
  font-weight: 700;
}
.reviews__list {
  display: grid;
  gap: var(--space-s);
  @media (min-width: 48rem) { grid-template-columns: var(--grid-2); }
  @media (min-width: 64rem) { grid-template-columns: var(--grid-3); gap: var(--space-m); }
  &:not([data-expanded="true"]) > .reviews__card:nth-child(n + 4) { display: none; }
  &[data-expanded="true"] > .reviews__card:nth-child(n + 4) { animation: reviews-in 0.4s cubic-bezier(0.4, 0, 0.2, 1) both; }
  @media (prefers-reduced-motion: reduce) { &[data-expanded="true"] > .reviews__card:nth-child(n + 4) { animation: none; } }
}
.text-link {
  align-self: flex-start;
  color: var(--primary);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.3em;
}
.insurance {
  background-color: var(--primary-ultra-light);
}
.insurance__inner {
  display: grid;
  gap: var(--space-l);
  align-items: center;
  @media (min-width: 64rem) { grid-template-columns: var(--grid-2); column-gap: var(--space-xxl); }
}
.insurance__intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
}
.insurance__heading {
  color: var(--primary);
}
.insurance__text {
  color: var(--text-dark-muted);
  font-size: var(--text-l);
}
.insurance__links {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}
.insurance__link {
  display: flex;
  align-items: center;
  gap: var(--space-m);
  padding: var(--space-m);
  border-radius: var(--radius);
  background-color: var(--body-bg-color);
  color: inherit;
  text-decoration: none;
  &:hover .arrow-circle { background-color: var(--primary-hover); }
}
.insurance__link-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-xs);
}
.insurance__link-title {
  color: var(--text-dark);
  font-family: var(--heading-font-family);
  font-size: var(--text-xl);
  font-weight: 800;
  line-height: 1.2;
}
.insurance__link-text {
  color: var(--text-dark-muted);
  font-size: var(--text-s);
}
.prices {
  background-color: var(--bg-light);
}
.prices__inner {
  gap: var(--space-xl);
}
.prices__list {
  display: grid;
  grid-template-columns: var(--grid-2);
  gap: var(--space-l);
  @media (min-width: 64rem) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.prices__item {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  &.prices__item--first { grid-column: 1 / -1; @media (min-width: 64rem) { grid-column: auto; } }
  &.prices__item--first .prices__value { color: var(--primary); }
}
.prices__label {
  color: var(--text-dark-muted);
  font-weight: 600;
}
.prices__value {
  color: var(--text-dark);
  font-family: var(--heading-font-family);
  font-size: var(--h3);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
  @media (min-width: 64rem) { font-size: clamp(var(--h3), 4vw, var(--h2)); }
  overflow-wrap: normal;
  white-space: nowrap;
}
.prices__note {
  color: var(--text-dark-muted);
  font-size: var(--text-s);
}
.prices__footnote {
  color: var(--text-dark-muted);
}
.about {
  
  &[data-bg="light"] { background-color: var(--bg-light); }
}
.about__inner {
  display: grid;
  gap: var(--space-l);
  align-items: center;
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 7fr) minmax(0, 9fr); column-gap: var(--space-xxl); }
}
.about__media {
  overflow: clip;
  border-radius: var(--radius);
  aspect-ratio: 4 / 3;
  @media (min-width: 64rem) { aspect-ratio: 7 / 8; }
}
.about__img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: 50% 40%;
}
.about__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
}
.about__text {
  color: var(--text-dark-muted);
}
.faq {
  background-color: var(--bg-light);
}
.faq__inner {
  display: grid;
  gap: var(--space-l);
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 5fr) minmax(0, 9fr); column-gap: var(--space-xxl); align-items: start; }
}
.faq__list {
  display: flex;
  flex-direction: column;
  border-block-end: 2px solid var(--text-dark);
}
.faq__item {
  border-block-start: 2px solid var(--text-dark);
}
.faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-m);
  inline-size: 100%;
  padding-block: var(--space-m);
  padding-inline: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  font-weight: 700;
  font-size: var(--text-l);
  text-align: start;
  cursor: pointer;
  transition: color 0.2s ease;
  &:hover { color: var(--primary); }
  &:hover .faq__icon { border-color: var(--primary); }
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 4px; }
  &[aria-expanded="true"] .faq__icon { background-color: var(--primary); border-color: var(--primary); }
  &[aria-expanded="true"] .faq__icon::after { rotate: 90deg; opacity: 0; }
  &[aria-expanded="true"] .faq__icon::before { background-color: var(--text-light); }
}
.faq__icon {
  position: relative;
  flex-shrink: 0;
  inline-size: 2.5rem;
  block-size: 2.5rem;
  border: 1.5px solid var(--text-dark);
  border-radius: 50%;
  transition: background-color 0.32s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.32s cubic-bezier(0.4, 0, 0.2, 1);
  &::before, &::after { content: ""; position: absolute; inset: 50% auto auto 50%; translate: -50% -50%; background-color: var(--text-dark); transition: rotate 0.32s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.32s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.32s cubic-bezier(0.4, 0, 0.2, 1); }
  &::before { inline-size: 0.875rem; block-size: 2px; }
  &::after { inline-size: 2px; block-size: 0.875rem; }
}
.faq__answer {
  padding-block-end: var(--space-m);
  max-inline-size: 40rem;
  color: var(--text-dark-muted);
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.cta {
  position: relative;
  overflow: clip;
  padding-block: 0;
  background-color: var(--bg-dark);
}
.cta__media {
  display: none;
  @media (min-width: 64rem) { display: block; position: absolute; inset-block: 0; inset-inline-end: 0; inline-size: 46%; }
}
.cta__img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}
.cta__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  padding-block: var(--section-space-m);
  @media (min-width: 64rem) { max-inline-size: 50%; }
}
.cta__heading {
  color: var(--text-light);
  font-size: var(--h1);
}
.cta__text {
  max-inline-size: 36rem;
  color: var(--text-light-muted);
  font-size: var(--text-l);
}
.cta__meta {
  color: var(--text-light-muted);
  font-size: var(--text-s);
}
.section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs) var(--space-s);
  & > :last-child:not(:first-child) { order: 2; }
  @media (min-width: 48rem) {
    &::before {
      content: "";
      order: 1;
      flex: 1 1 4rem;
      block-size: 2px;
      background-color: var(--text-dark);
    }
  }
}
.hero-fallback {
  background-color: var(--primary-dark);
  overflow: clip;
  position: relative;
  &::before, &::after { content: ""; position: absolute; border-radius: 50%; }
  &::before { inline-size: 120%; aspect-ratio: 1; inset-block-start: -35%; inset-inline-start: 25%; border: 1px solid color-mix(in oklch, var(--text-light) 22%, transparent); }
  &::after { inline-size: 70%; aspect-ratio: 1; inset-block-end: -30%; inset-inline-start: -20%; border: 1px dashed color-mix(in oklch, var(--text-light) 30%, transparent); }
}
.breadcrumb {
  &[data-tone="dark"] .breadcrumb__list { color: var(--text-dark-muted); }
  &[data-tone="dark"] .breadcrumb__link:hover { color: var(--primary); }
}
.breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4em;
  color: var(--text-light-muted);
  font-size: var(--text-s);
  font-weight: 600;
  & > li + li::before { content: "/"; margin-inline-end: 0.4em; }
  & > li:has(> a[href=""]) { display: none; }
}
.breadcrumb__link {
  color: inherit;
  text-decoration: none;
  &:hover { color: var(--text-light); text-decoration: underline; }
}
.hero__title--long {
  font-size: var(--h2);
}
.month__inner {
  gap: var(--space-xl);
}
.month__top {
  display: grid;


  gap: var(--space-l);

  @media (min-width: 64rem) {
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: var(--space-xl);
  }
}
.month__statement {
  display: flex;
  flex-direction: column;
  gap: 0.05em;
  color: var(--text-dark);
  font-family: var(--heading-font-family);
  font-size: var(--h2);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.05;
}
.month__line {
  display: block;
  &.month__line--muted { color: var(--text-dark-muted); }
  &.month__line--accent { color: var(--primary); }
  &.month__line--indent { padding-inline-start: 0.85em; }
  &.month__line--indent2 { padding-inline-start: 1.7em; }
}
.cycle {
  position: relative;
  inline-size: min(100%, 28.75rem);
  aspect-ratio: 1;
  justify-self: center;
}
.cycle__svg {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
}
.cycle__track {
  fill: none;
  stroke: var(--border-color-light);
  stroke-width: 1.5;
}
.cycle__dot {
  fill: var(--primary-light);
  &.cycle__dot--active { fill: var(--primary); }
}
.cycle__label {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  text-align: center;
}
.cycle__number {
  color: var(--primary);
  font-family: var(--heading-font-family);
  font-size: var(--h1);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
}
.cycle__unit {
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.cycle__text {
  max-inline-size: 12.5rem;
  color: var(--text-dark-muted);
  font-size: var(--text-s);
}
.month__bottom {
  display: grid;
  gap: var(--space-l);
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--space-xl); }
}
.month__media {
  overflow: clip;
  border-radius: var(--radius);
  aspect-ratio: 16 / 10;
}
.month__img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: 50% 75%;
}
.month__text {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: var(--space-s);
  padding-block-start: var(--space-m);
  border-block-start: 2px solid var(--text-dark);
}
.month__lead {
  font-size: var(--text-xl);
  font-weight: 500;
  letter-spacing: -0.01em;
}
.month__body {
  color: var(--text-dark-muted);
}
.support {
  background-color: var(--bg-light);

}
.support__inner {
  gap: var(--space-l);
}
.support__list {
  display: flex;
  flex-direction: column;
  border-block-end: 2px solid var(--text-dark);
}
.support__item {
  display: grid;
  gap: var(--space-xs) var(--space-xl);
  padding-block: var(--space-m);
  & + & { border-block-start: 1px solid var(--border-color-light); }
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 5fr) minmax(0, 8fr); }
}
.support__title {
  font-size: var(--h4);
  @media (min-width: 64rem) { font-size: var(--h3); }
}
.support__text {
  color: var(--text-dark-muted);
}
.reviews__context {
  color: var(--primary);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  &:empty { display: none; }
}
.facts {
  display: flex;
  flex-direction: column;
  border-block-start: 2px solid var(--text-dark);
  border-block-end: 1px solid var(--border-color-light);
}
.facts__row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-xs) var(--space-m);
  padding-block: var(--space-s);
  & + & { border-block-start: 1px solid var(--border-color-light); }
}
.facts__label {
  font-weight: 700;
}
.facts__value {
  color: var(--text-dark-muted);
}
.course-price {
  background-color: var(--primary-ultra-light);
}
.course-price__inner {
  gap: var(--space-xl);
}
.course-price__head {
  display: grid;
  gap: var(--space-m);
  align-items: end;
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--space-xl); }
}
.course-price__heading {
  color: var(--primary);
}
.course-price__text {
  color: var(--text-dark-muted);
}
.price-cards {
  display: grid;
  gap: var(--space-s);
  @media (min-width: 48rem) { grid-template-columns: var(--grid-3); }
}
.price-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding: var(--space-m);
  border-radius: var(--radius);
  background-color: var(--body-bg-color);
  &.price-card--accent { background-color: var(--primary); }
  &.price-card--accent .price-card__label, &.price-card--accent .price-card__note { color: var(--text-light-muted); }
  &.price-card--accent .price-card__value { color: var(--text-light); }
}
.price-card__label {
  color: var(--text-dark-muted);
  font-weight: 600;
}
.price-card__value {
  color: var(--text-dark);
  font-family: var(--heading-font-family);
  font-size: var(--h3);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.05;
  white-space: nowrap;
  @media (min-width: 64rem) { font-size: clamp(var(--h3), 3.4vw, 3.25rem); }
}
.price-card__note {
  color: var(--text-dark-muted);
  font-size: var(--text-s);
}
.course-price__foot {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-s) var(--space-m);
}
.course-price__note {
  color: var(--text-dark-muted);
}
.faq__aside {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  @media (min-width: 64rem) { position: sticky; inset-block-start: var(--space-l); }
}
.faq__media {
  display: none;
  @media (min-width: 64rem) { display: block; overflow: clip; border-radius: var(--radius); aspect-ratio: 3 / 2; }
}
.faq__img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: 40% 55%;
}
.contact-box {
  position: relative;
  overflow: clip;
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  padding: var(--space-m);
  border-radius: var(--radius);
  background-color: var(--primary-ultra-light);
  &::before, &::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
  &::before { inline-size: 8rem; aspect-ratio: 1; inset-block-start: -4rem; inset-inline-end: -3.5rem; border: 1.5px solid color-mix(in oklch, var(--primary) 25%, transparent); }
  &::after { inline-size: 0.875rem; aspect-ratio: 1; inset-block-start: 3.6rem; inset-inline-end: 0.15rem; background-color: var(--primary); }
}
.contact-box__title {
  font-family: var(--heading-font-family);
  font-size: var(--text-xl);
  font-weight: 800;
  line-height: 1.2;
}
.contact-box__text {
  max-inline-size: 19rem;
  color: var(--text-dark-muted);
  font-size: var(--text-s);
}
.contact-box__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-s);
}
.cta--plain {
  padding-block: var(--section-space-m);
}
.cta__foot {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: var(--space-m);
  margin-block-start: var(--space-l);
  padding-block-start: var(--space-m);
  border-block-start: 1px solid var(--border-color-dark);
  color: var(--text-light-muted);
  font-size: var(--text-s);
}
.cta__links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs) var(--space-m);
}
.cta__link {
  color: var(--text-light);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.25em;
}
.cta--plain .cta__content {
  max-inline-size: 56rem;
  padding-block: 0;
}
.site-header__toggle {
  position: relative;
  z-index: 3;
  display: grid;
  place-items: center;
  inline-size: 2.75rem;
  block-size: 2.75rem;
  border: 1.5px solid var(--text-dark);
  border-radius: 50%;
  color: var(--text-dark);
  transition: background-color 0.35s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.35s cubic-bezier(0.4, 0, 0.2, 1), color 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  &:hover { border-color: var(--primary); color: var(--primary); }
  &[aria-expanded="true"] { background-color: var(--primary); border-color: var(--primary); color: var(--text-light); }
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
}
.site-header__toggle-icon {
  inline-size: 1.25rem;
  block-size: 1.25rem;
  overflow: visible;
}
.site-header__toggle-bar {
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  transform-box: fill-box;
  transform-origin: center;
  transition: translate 0.35s cubic-bezier(0.4, 0, 0.2, 1), rotate 0.35s cubic-bezier(0.4, 0, 0.2, 1), scale 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  [aria-expanded="true"] &[data-bar="top"] { translate: 0 6px; rotate: 45deg; }
  [aria-expanded="true"] &[data-bar="mid"] { opacity: 0; scale: 0 1; }
  [aria-expanded="true"] &[data-bar="bottom"] { translate: 0 -6px; rotate: -45deg; }
}
.mobile-nav {
  position: fixed;
  inset-block: 0;
  inset-inline-end: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: var(--space-l);
  inline-size: min(22rem, 88vw);
  padding: calc(var(--header-block-size, 4.5rem) + var(--space-s)) var(--gutter) var(--space-l);
  overflow-y: auto;
  overscroll-behavior: contain;
  background-color: var(--body-bg-color);
  border-inline-start: var(--border-size) var(--border-style) var(--border-color-light);
  translate: 100% 0;
  visibility: hidden;
  transition: translate 0.35s cubic-bezier(0.4, 0, 0.2, 1), visibility 0s linear 0.35s;
  [data-menu="open"] > & { translate: 0 0; visibility: visible; transition-delay: 0s; }
  @media (min-width: 64rem) { display: none; }
}
.mobile-nav__list {
  display: flex;
  flex-direction: column;
  border-block: 2px solid var(--text-dark);
}
.mobile-nav__item {
  opacity: 0;
  translate: 1rem 0;
  transition: opacity 0.3s ease, translate 0.3s ease;
  & + & { border-block-start: 1px solid var(--border-color-light); }
  [data-menu="open"] & { opacity: 1; translate: 0 0; }
  [data-menu="open"] &:nth-child(2) { transition-delay: 0.04s; }
  [data-menu="open"] &:nth-child(3) { transition-delay: 0.08s; }
  [data-menu="open"] &:nth-child(4) { transition-delay: 0.12s; }
  [data-menu="open"] &:nth-child(5) { transition-delay: 0.16s; }
}
.mobile-nav__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-s);
  min-block-size: 3.25rem;
  padding-block: var(--space-xs);
  color: var(--text-dark);
  font-family: var(--heading-font-family);
  font-size: var(--text-xl);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-decoration: none;
  transition: color 0.2s ease, translate 0.2s ease;
  &::after { content: "→"; color: var(--primary); opacity: 0; transition: opacity 0.2s ease; }
  &:hover { color: var(--primary); translate: 0.2rem 0; }
  &:hover::after, &[aria-current="page"]::after { opacity: 1; }
  &[aria-current="page"] { color: var(--primary); }
}
.mobile-nav__secondary {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs) var(--space-m);
}
.mobile-nav__secondary-link {
  display: inline-flex;
  align-items: center;
  min-block-size: 2.75rem;
  color: var(--text-dark-muted);
  font-weight: 600;
  text-decoration: none;
  &:hover { color: var(--primary); text-decoration: underline; }
}
.mobile-nav__contact {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  margin-block-start: auto;
  padding-block-start: var(--space-m);
  border-block-start: 1px solid var(--border-color-light);
}
.mobile-nav__book {
  margin-block-end: var(--space-xs);
}
.mobile-nav__contact-link {
  display: inline-flex;
  align-items: center;
  min-block-size: 2.75rem;
  color: var(--text-dark);
  font-weight: 700;
  text-decoration: none;
  overflow-wrap: anywhere;
  &:hover { color: var(--primary); }
}
.reviews__featured-caption {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-xs) var(--space-s);
}
.reviews__featured-context {
  color: var(--text-dark-muted);
  font-size: var(--text-s);
  &:empty { display: none; }
  &::before { content: "· "; }
}
.reviews__card {
  display: flex;
  padding: var(--space-m);
  border-radius: var(--radius);
  background-color: var(--primary-ultra-light);
}
.reviews__card-figure {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  inline-size: 100%;
}
.reviews__card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs) var(--space-s);
}
.reviews__stars {
  color: var(--primary);
  font-size: var(--text-s);
  letter-spacing: 0.1em;
}
.reviews__card-text {
  flex-grow: 1;
  color: var(--text-dark);
  font-size: var(--text-m);
  &:focus { outline: none; }
}
.reviews__card-name {
  padding-block-start: var(--space-s);
  border-block-start: 1px solid color-mix(in oklch, var(--primary) 18%, transparent);
  font-size: var(--text-s);
  font-weight: 700;
}
.reviews__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-s) var(--space-m);
  .reviews__inner:not(:has(.reviews__card:nth-child(4))) & .reviews__more { display: none; }
}
.reviews__more {
  display: inline-flex;
  align-items: center;
  min-block-size: 2.75rem;
  padding-inline: var(--space-m);
  border: 1.5px solid var(--text-dark);
  border-radius: 100vw;
  color: var(--text-dark);
  font-weight: 700;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  &:hover { border-color: var(--primary); background-color: var(--primary); color: var(--text-light); }
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
}
.pain__inner {
  gap: var(--space-xl);
}
.pain__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-s) var(--space-xl);
}
.pain__heading {
  font-size: var(--h1);
}
.pain__intro {
  max-inline-size: 26rem;
  color: var(--text-dark-muted);
}
.pain__list {
  --_dot: 1.375rem;
  position: relative;
  display: flex;
  flex-direction: column;
  &::before {
    content: "";
    position: absolute;
    inset-block: 2.5rem;
    inset-inline-start: calc(var(--_dot) / 2 - 1px);
    border-inline-start: 2px dotted var(--border-color-dark);
  }
}
.pain__item {
  position: relative;
  display: grid;
  gap: var(--space-s) var(--space-xl);
  padding-block: var(--space-l);
  padding-inline-start: calc(var(--_dot) + var(--space-m));
  & + & { border-block-start: 1px solid var(--border-color-light); }
  &::before {
    content: "";
    position: absolute;
    inset-block-start: calc(var(--space-l) + 0.5rem);
    inset-inline-start: 0;
    inline-size: var(--_dot);
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: var(--primary);
    outline: 5px solid var(--body-bg-color);
  }
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 30rem) minmax(0, 1fr); column-gap: var(--space-xxl); padding-inline-start: calc(var(--_dot) + var(--space-xl)); }
}
.pain__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.pain__title {
  font-size: var(--h3);
}
.pain__text {
  color: var(--text-dark-muted);
}
.pain__quote {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.pain__quote-text {
  color: var(--text-dark);
  font-size: var(--text-l);
  font-weight: 500;
}
.pain__quote-name {
  color: var(--primary);
  font-size: var(--text-s);
  font-weight: 700;
}
.pain__links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs) var(--space-m);
  padding-block-start: var(--space-xs);
}
.pain__note {
  align-self: center;
  color: var(--text-dark-muted);
}
.pain__aside {
  align-self: center;
  & .pain__links { padding-block-start: 0; }
}
.methods__inner {
  gap: var(--space-xl);
}
.methods__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-s) var(--space-xl);
}
.methods__heading {
  max-inline-size: 40rem;
}
.methods__intro {
  max-inline-size: 30rem;
  color: var(--text-dark-muted);
  font-size: var(--text-l);
}
.methods__list {
  display: grid;
  grid-template-columns: var(--grid-2);
  gap: var(--space-l) var(--space-s);
  @media (min-width: 64rem) { grid-template-columns: var(--grid-4); column-gap: var(--space-m); }
}
.methods__item {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.methods__media {
  overflow: clip;
  aspect-ratio: 4 / 3;
  margin-block-end: var(--space-xs);
  border-radius: var(--radius);
}
.methods__img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: 50% 45%;
  &[data-position="low"] { object-position: 50% 70%; }
}
.methods__title {
  font-size: var(--h4);
}
.methods__text {
  color: var(--text-dark-muted);
  font-size: var(--text-s);
  @media (min-width: 48rem) { font-size: var(--text-m); }
}
.methods__note {
  padding: var(--space-m) var(--space-l);
  border-radius: var(--radius);
  background-color: var(--primary-ultra-light);
  color: var(--text-dark);
  font-size: var(--text-l);
}
.methods__note-title {
  color: var(--primary);
  font-family: var(--heading-font-family);
  font-weight: 800;
}
.referral {
  position: relative;
  overflow: clip;
  background-color: var(--bg-ultra-dark);
}
.referral__inner {
  display: grid;
  gap: var(--space-l);
  align-items: center;
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: var(--space-xxl); }
}
.referral__rings {
  position: absolute;
  inline-size: 32.5rem;
  inset-block-start: -12.5rem;
  inset-inline-end: -16.25rem;
  pointer-events: none;
}
.referral__ring {
  fill: none;
  stroke: var(--primary);
  stroke-width: 1.5;
  &[data-style="dotted"] { stroke-dasharray: 2 10; }
}
.referral__dot {
  fill: var(--primary);
}
.referral__heading {
  position: relative;
  color: var(--text-light);
  font-size: var(--h1);
}
.referral__text {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}
.referral__body {
  color: var(--text-light-muted);
  font-size: var(--text-l);
}
.referral__statement {
  color: var(--text-light);
  font-size: var(--text-xl);
  font-weight: 700;
  line-height: 1.4;
}
.cover {
  background-color: var(--primary-ultra-light);
}
.cover__inner {
  display: grid;
  gap: var(--space-l);
  align-items: center;
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 7fr) minmax(0, 6fr); column-gap: var(--space-xxl); }
}
.cover__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
}
.cover__heading {
  color: var(--primary);
  font-size: var(--h1);
}
.cover__text {
  color: var(--text-dark-muted);
  font-size: var(--text-l);
}
.cover__links {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}
.cover__link {
  display: flex;
  align-items: center;
  gap: var(--space-m);
  padding: var(--space-m) var(--space-l);
  border-radius: var(--radius);
  background-color: var(--body-bg-color);
  color: var(--text-dark);
  text-decoration: none;
  transition: translate 0.2s ease;
  &:hover { translate: 0.25rem 0; }
  &:hover .cover__link-icon { background-color: var(--primary-dark); }
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
}
.cover__link-body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  gap: var(--space-xs);
}
.cover__link-title {
  font-family: var(--heading-font-family);
  font-size: var(--text-xl);
  font-weight: 800;
  line-height: 1.25;
}
.cover__link-text {
  color: var(--text-dark-muted);
  font-size: var(--text-s);
}
.cover__link-icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  inline-size: 3.5rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--primary);
  color: var(--text-light);
  font-size: var(--text-xl);
  font-weight: 700;
  transition: background-color 0.2s ease;
}
.price-strip {
  padding-block-start: 0;
}
.price-strip__inner {
  gap: var(--space-l);
}
.price-strip__list {
  display: grid;
  gap: var(--space-l);
  @media (min-width: 48rem) { grid-template-columns: var(--grid-3); column-gap: var(--space-xl); }
}
.price-strip__item {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.price-strip__label {
  color: var(--text-dark-muted);
  font-weight: 600;
}
.price-strip__value {
  color: var(--text-dark);
  font-family: var(--heading-font-family);
  font-size: var(--h2);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
  white-space: nowrap;
  &[data-accent="true"] { color: var(--primary); }
}
.price-strip__note {
  color: var(--text-dark-muted);
  font-size: var(--text-s);
}
.price-strip__foot {
  color: var(--text-dark-muted);
  font-size: var(--text-s);
}
.facts-bar {
  padding-block: 0;
  background-color: var(--bg-light);
}
.facts-bar__list {
  display: grid;
  grid-template-columns: var(--grid-2);
  @media (min-width: 64rem) { grid-template-columns: var(--grid-4); }
}
.facts-bar__item {
  display: flex;
  flex-direction: column;
  gap: 0.35em;
  padding-block: var(--space-m);
  padding-inline-end: var(--space-m);
  &:nth-child(even) { padding-inline-start: var(--space-m); border-inline-start: 1px solid var(--border-color-light); }
  &:nth-child(n + 3) { border-block-start: 1px solid var(--border-color-light); }
  @media (min-width: 64rem) {
    padding-inline: var(--space-l);
    &:first-child { padding-inline-start: 0; }
    & + & { border-inline-start: 1px solid var(--border-color-light); }
    &:nth-child(n + 3) { border-block-start: 0; }
  }
}
.facts-bar__label {
  color: var(--primary);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.facts-bar__value {
  color: var(--text-dark);
  font-family: var(--heading-font-family);
  font-size: var(--text-l);
  font-weight: 800;
  line-height: 1.2;
}
.timeline__inner {
  gap: var(--space-xl);
}
.timeline__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-s) var(--space-xl);
}
.timeline__intro {
  max-inline-size: 26rem;
  color: var(--text-dark-muted);
}
.timeline__chart {
  display: none;
  @media (min-width: 48rem) { display: flex; flex-direction: column; gap: var(--space-s); }
}
.timeline__bars {
  display: grid;
  grid-template-columns: repeat(40, minmax(0, 1fr));
  row-gap: var(--space-xs);
}
.timeline__bar {
  display: flex;
  flex-direction: column;
  gap: 0.4em;
  color: var(--primary);
  font-size: var(--text-s);
  font-weight: 700;
  white-space: nowrap;
  &::after { content: ""; block-size: 0.875rem; border-radius: 100vw; background-color: var(--primary-light); }
  &[data-phase="kvalme"] { grid-column: 3 / 14; }
  &[data-phase="gener"] { grid-column: 1 / -1; color: var(--text-dark-muted); &::after { block-size: 0.375rem; background-color: var(--primary-ultra-light); } }
  &[data-phase="baekken"] { grid-column: 16 / -1; }
  &[data-phase="modning"] { grid-column: 37 / -1; align-items: flex-end; font-weight: 800; &::after { align-self: stretch; background-color: var(--primary); } }
}
.timeline__weeks {
  position: relative;
  display: grid;
  grid-template-columns: repeat(40, minmax(0, 1fr));
  padding-block-start: var(--space-m);
  &::before { content: ""; position: absolute; inset-inline: 0; inset-block-start: 0.4rem; border-block-start: 2px dotted var(--border-color-dark); }
}
.timeline__week {
  position: relative;
  color: var(--text-dark-muted);
  font-size: var(--text-xs);
  font-weight: 700;
  white-space: nowrap;
  &::before { content: ""; position: absolute; inset-block-start: calc(var(--space-m) * -1); inset-inline-start: 0; inline-size: 0.75rem; aspect-ratio: 1; border-radius: 50%; background-color: var(--border-color-dark); }
  &[data-accent="true"] { color: var(--primary); font-weight: 800; &::before { background-color: var(--primary); } }
  &[data-week="1"] { grid-column: 1; }
  &[data-week="12"] { grid-column: 12; }
  &[data-week="24"] { grid-column: 24; }
  &[data-week="37"] { grid-column: 37; }
  &[data-week="40"] { grid-column: 40; justify-self: end; text-align: end; &::before { inset-inline: auto 0; inline-size: 1.25rem; inset-block-start: calc(var(--space-m) * -1 - 0.25rem); } }
}
.timeline__list {
  --_tag: 3.5rem;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-l);
  padding-inline-start: calc(var(--_tag) + var(--space-s));
  &::before { content: ""; position: absolute; inset-block: 0.5rem; inset-inline-start: calc(var(--_tag) / 2 - 1px); border-inline-start: 2px dotted var(--border-color-dark); }
  @media (min-width: 48rem) {
    display: grid;
    grid-template-columns: var(--grid-4);
    gap: var(--space-l);
    padding-inline-start: 0;
    padding-block-start: var(--space-m);
    border-block-start: 2px solid var(--text-dark);
    &::before { display: none; }
  }
}
.timeline__item {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  &[data-accent="true"] .timeline__title { color: var(--primary); }
}
.timeline__when {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: calc((var(--_tag) + var(--space-s)) * -1);
  inline-size: var(--_tag);
  padding-block: 0.15em;
  background-color: var(--body-bg-color);
  color: var(--text-dark-muted);
  font-size: var(--text-xs);
  font-weight: 800;
  text-align: center;
  [data-accent="true"] > & { border-radius: 100vw; background-color: var(--primary); color: var(--text-light); }
  @media (min-width: 48rem) { display: none; }
}
.timeline__title {
  font-size: var(--h4);
}
.timeline__text {
  color: var(--text-dark-muted);
}
.safe {
  position: relative;
  overflow: clip;
  background-color: var(--bg-ultra-dark);
}
.safe__inner {
  display: grid;
  gap: var(--space-xl);
  align-items: center;
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 1fr) minmax(0, 26rem); column-gap: var(--space-xxl); }
}
.safe__rings {
  position: absolute;
  inline-size: 32.5rem;
  inset-block-end: -20.5rem;
  inset-inline-start: -20.5rem;
  pointer-events: none;
}
.safe__content {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  max-inline-size: 42rem;
}
.safe__heading {
  color: var(--text-light);
}
.safe__text {
  color: var(--text-light-muted);
  font-size: var(--text-l);
}
.safe__statement {
  color: var(--text-light);
  font-size: var(--text-l);
  font-weight: 700;
}
.safe__quote {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  padding: var(--space-l);
  border-radius: var(--radius);
  background-color: var(--primary);
}
.safe__quote-label {
  color: var(--text-light-muted);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.safe__quote-text {
  color: var(--text-light);
  font-size: var(--text-xl);
  font-weight: 700;
  letter-spacing: -0.015em;
  line-height: 1.3;
}
.safe__quote-name {
  color: var(--text-light);
  font-weight: 700;
}
.related__inner {
  gap: var(--space-l);
}
.related__list {
  
&[data-variant="strong"] {
    border-block-end: 2px solid var(--text-dark);
    & .related__link { padding-block: var(--space-l); border-block: 0; border-block-start: 2px solid var(--text-dark); }
  }
}
.related__link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-xs) var(--space-m);
  padding-block: var(--space-m);
  border-block-end: 1px solid var(--border-color-light);
  color: var(--text-dark);
  text-decoration: none;
  &:hover .related__title { color: var(--primary); }
  &:hover .related__icon { translate: 0.25rem 0; background-color: var(--primary-dark); }
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
  @media (min-width: 48rem) { grid-template-columns: minmax(0, 5fr) minmax(0, 4fr) auto; column-gap: var(--space-l); }
}
.related__title {
  font-family: var(--heading-font-family);
  font-size: var(--h3);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.15;
  transition: color 0.2s ease;
}
.related__text {
  grid-column: 1;
  color: var(--text-dark-muted);
  @media (min-width: 48rem) { grid-column: auto; }
}
.related__icon {
  grid-row: 1 / span 2;
  grid-column: 2;
  display: grid;
  place-items: center;
  inline-size: 3.5rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--primary);
  color: var(--text-light);
  font-size: var(--text-xl);
  font-weight: 800;
  transition: translate 0.2s ease, background-color 0.2s ease;
  @media (min-width: 48rem) { grid-row: auto; grid-column: auto; }
}
.hero__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}
.hero__tag {
  padding: 0.5em 1em;
  border: 1.5px solid color-mix(in oklch, var(--text-light) 40%, transparent);
  border-radius: 100vw;
  color: var(--text-light);
  font-size: var(--text-s);
  font-weight: 700;
}
.story__inner {
  display: grid;
  gap: var(--space-xl);
  align-items: center;
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: var(--space-xxl); }
}
.story__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
}
.story__text {
  color: var(--text-dark-muted);
  font-size: var(--text-l);
}
.story__aside {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}
.story__pullquote {
  color: var(--text-dark);
  font-family: var(--heading-font-family);
  font-size: var(--h2);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.12;
  &::before { content: "“"; display: block; block-size: 0.55em; color: var(--primary); font-size: 2.6em; line-height: 0.9; }
}
.story__quote {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  padding-block-start: var(--space-m);
  border-block-start: 2px solid var(--text-dark);
}
.story__quote-text {
  color: var(--text-dark);
  font-size: var(--text-l);
  font-weight: 500;
}
.story__quote-name {
  color: var(--primary);
  font-size: var(--text-s);
  font-weight: 700;
}
.values {
  background-color: var(--bg-light);
}
.values__inner {
  gap: var(--space-xl);
}
.values__list {
  display: grid;
  gap: var(--space-l);
  @media (min-width: 48rem) { grid-template-columns: var(--grid-3); column-gap: var(--space-xl); }
}
.values__item {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}
.values__word {
  color: var(--primary);
  font-size: clamp(3rem, 2rem + 3.4vw, 5.5rem);
  letter-spacing: -0.04em;
  line-height: 0.95;
}
.values__text {
  color: var(--text-dark-muted);
  font-size: var(--text-l);
}
.voices {
  background-color: var(--bg-ultra-dark);
}
.voices__inner {
  gap: var(--space-xl);
}
.voices__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs) var(--space-s);
  & > :last-child { order: 2; }
  @media (min-width: 48rem) { &::before { content: ""; order: 1; flex: 1 1 4rem; block-size: 1px; background-color: var(--border-color-dark); } }
}
.voices__label {
  color: var(--text-light-muted);
  font-size: var(--text-m);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.2;
  text-transform: uppercase;
}
.voices__rating {
  color: var(--text-light);
  font-weight: 700;
}
.voices__list {
  display: grid;
  gap: var(--space-l);
  @media (min-width: 48rem) { grid-template-columns: var(--grid-3); column-gap: var(--space-xl); }
}
.voices__figure {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}
.voices__text {
  color: var(--text-light);
  font-size: var(--text-xl);
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.4;
}
.voices__name {
  color: var(--text-light-muted);
  font-weight: 700;
}
.education__inner {
  display: grid;
  gap: var(--space-xl);
  align-items: start;
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 5fr) minmax(0, 8fr); column-gap: var(--space-xxl); }
}
.education__aside {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  @media (min-width: 64rem) { position: sticky; inset-block-start: var(--space-l); }
}
.education__intro {
  color: var(--text-dark-muted);
  font-size: var(--text-l);
}
.education__highlight {
  position: relative;
  overflow: clip;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding: var(--space-l);
  border-radius: var(--radius);
  background-color: var(--primary);
  &::before, &::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
  &::before { inline-size: 8rem; aspect-ratio: 1; inset-block-start: -2.75rem; inset-inline-end: -2.75rem; border: 1.5px solid color-mix(in oklch, var(--text-light) 25%, transparent); }
  &::after { inline-size: 0.875rem; aspect-ratio: 1; inset-block-start: 4.8rem; inset-inline-end: 0.8rem; background-color: color-mix(in oklch, var(--text-light) 70%, transparent); }
}
.education__highlight-year {
  color: var(--text-light-muted);
  font-size: var(--text-s);
  font-weight: 700;
  letter-spacing: 0.06em;
}
.education__highlight-title {
  color: var(--text-light);
  font-family: var(--heading-font-family);
  font-size: var(--h3);
  font-weight: 800;
  line-height: 1.1;
}
.education__highlight-text {
  color: var(--text-light-muted);
}
.education__badge {
  display: flex;
  align-items: center;
  gap: var(--space-s);
  padding: var(--space-s) var(--space-m);
  border: 2px solid var(--border-color-light);
  border-radius: var(--radius);
  color: var(--text-dark);
  font-weight: 700;
  &::before { content: "✓"; display: grid; place-items: center; flex-shrink: 0; inline-size: 2.25rem; aspect-ratio: 1; border-radius: 50%; background-color: var(--primary); color: var(--text-light); font-weight: 800; }
}
.education__list {
  --_dot: 1.25rem;
  position: relative;
  display: flex;
  flex-direction: column;
  padding-inline-start: calc(var(--_dot) + var(--space-m));
  &::before { content: ""; position: absolute; inset-block: 1.5rem; inset-inline-start: calc(var(--_dot) / 2 - 1px); border-inline-start: 2px dotted var(--border-color-dark); }
}
.education__item {
  position: relative;
  display: grid;
  gap: 0.25em var(--space-m);
  padding-block: var(--space-s);
  &::before { content: ""; position: absolute; inset-block-start: calc(var(--space-s) + 0.35rem); inset-inline-start: calc((var(--_dot) + var(--space-m)) * -1 + var(--_dot) / 2 - 0.375rem); inline-size: 0.75rem; aspect-ratio: 1; border-radius: 50%; background-color: var(--border-color-dark); }
  &[data-major="true"]::before { inset-block-start: calc(var(--space-s) + 0.1rem); inset-inline-start: calc((var(--_dot) + var(--space-m)) * -1); inline-size: var(--_dot); background-color: var(--primary); outline: 5px solid var(--body-bg-color); }
  &[data-major="true"] .education__year { color: var(--primary); }
  &[data-major="true"] .education__text { font-weight: 600; }
  @media (min-width: 48rem) { grid-template-columns: 7.5rem minmax(0, 1fr); }
}
.education__year {
  color: var(--text-dark);
  font-family: var(--heading-font-family);
  font-size: var(--text-l);
  font-weight: 800;
}
.education__text {
  color: var(--text-dark);
}
.clinic {
  background-color: var(--bg-light);
}
.clinic__inner {
  gap: var(--space-xl);
}
.clinic__head {
  display: grid;
  gap: var(--space-m);
  align-items: end;
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); column-gap: var(--space-xxl); }
}
.clinic__text {
  color: var(--text-dark-muted);
  font-size: var(--text-l);
}
.clinic__gallery {
  display: grid;
  grid-template-columns: var(--grid-2);
  gap: var(--space-s);
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); grid-template-rows: repeat(2, minmax(0, 14rem)); gap: var(--space-m); }
}
.clinic__media {
  overflow: clip;
  aspect-ratio: 4 / 3;
  border-radius: var(--radius);
  &[data-size="large"] { grid-column: 1 / -1; aspect-ratio: 16 / 10; }
  @media (min-width: 64rem) { aspect-ratio: auto; &[data-size="large"] { grid-column: 1; grid-row: 1 / span 2; aspect-ratio: auto; } }
}
.clinic__img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: 40% 55%;
}
.clinic__map {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-xs);
  padding: var(--space-m);
  border-radius: var(--radius);
  background-color: var(--primary);
  color: var(--text-light);
  text-decoration: none;
  transition: background-color 0.2s ease;
  &:hover { background-color: var(--primary-dark); }
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
}
.clinic__map-label {
  color: var(--text-light-muted);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.clinic__map-address {
  font-family: var(--heading-font-family);
  font-size: var(--text-xl);
  font-weight: 800;
  line-height: 1.25;
}
.clinic__map-note {
  color: var(--text-light-muted);
  font-size: var(--text-s);
}
.punch-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  inline-size: min(27.5rem, 85%);
  padding: var(--space-l);
  border-radius: var(--radius);
  background-color: var(--body-bg-color);
  box-shadow: 0 1.5rem 3rem -1rem color-mix(in oklch, var(--bg-ultra-dark) 45%, transparent);
  rotate: -4deg;
}
.punch-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-s);
}
.punch-card__label {
  color: var(--primary);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.punch-card__title {
  color: var(--text-dark);
  font-family: var(--heading-font-family);
  font-size: var(--text-xl);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.15;
}
.punch-card__brand {
  max-inline-size: 6rem;
  color: var(--text-dark-muted);
  font-size: var(--text-xs);
  font-weight: 600;
  text-align: end;
}
.punch-card__holes {
  inline-size: 100%;
  overflow: visible;
}
.punch-card__hole {
  fill: none;
  stroke: var(--border-color-light);
  stroke-width: 2;
  &[data-state="used"] { fill: var(--primary); stroke: none; }
  &[data-state="extra"] { stroke: var(--primary); stroke-dasharray: 5 5; }
}
.punch-card__mark {
  fill: var(--body-bg-color);
}
.punch-card__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-xs);
  padding-block-start: var(--space-s);
  border-block-start: 2px dotted var(--border-color-light);
}
.punch-card__price {
  color: var(--primary);
  font-family: var(--heading-font-family);
  font-size: var(--h3);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
}
.punch-card__save {
  padding: 0.4em 0.75em;
  border-radius: 100vw;
  background-color: var(--primary-ultra-light);
  color: var(--text-dark);
  font-size: var(--text-s);
  font-weight: 700;
}
.paths {
  padding-block-end: 0;
}
.paths__inner {
  gap: var(--space-l);
}
.paths__list {
  display: grid;
  gap: var(--space-s);
  @media (min-width: 48rem) { grid-template-columns: var(--grid-2); gap: var(--space-m); }
  &[data-cols="3"] { @media (min-width: 64rem) { grid-template-columns: var(--grid-3); } }
}
.paths__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-m);
  block-size: 100%;
  padding: var(--space-l);
  border-radius: var(--radius);
  text-decoration: none;
  transition: translate 0.2s ease;
  &:hover { translate: 0 -0.2rem; }
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
  &[data-variant="dark"] { background-color: var(--primary); color: var(--text-light); --_label: var(--text-light-muted); --_muted: var(--text-light-muted); --_icon-bg: var(--body-bg-color); --_icon: var(--primary); }
  &[data-variant="light"] { background-color: var(--bg-light); color: var(--text-dark); --_label: var(--primary); --_muted: var(--text-dark-muted); --_icon-bg: var(--primary); --_icon: var(--text-light); }
}
.paths__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.paths__label {
  color: var(--_label);
  font-size: var(--text-s);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.paths__title {
  font-family: var(--heading-font-family);
  font-size: var(--h3);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.12;
}
.paths__text {
  color: var(--_muted);
}
.paths__icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  inline-size: 4rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--_icon-bg);
  color: var(--_icon);
  font-size: var(--text-xl);
  font-weight: 800;
}
.single__inner {
  display: grid;
  gap: var(--space-l);
  align-items: start;
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 4fr) minmax(0, 9fr); column-gap: var(--space-xxl); }
}
.single__aside {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
}
.single__text {
  color: var(--text-dark-muted);
  font-size: var(--text-l);
}
.single__table {
  display: flex;
  flex-direction: column;
}
.price-table {
  inline-size: 100%;
  border-collapse: collapse;
  text-align: start;
  & thead th { padding-block-end: var(--space-s); }
  & tbody tr { border-block-start: 1px solid var(--border-color-light); }
  & tbody tr:first-child { border-block-start: 2px solid var(--text-dark); }
  & th, & td { padding-block: var(--space-m); padding-inline-end: var(--space-s); vertical-align: middle; text-align: start; }
  & thead th, & thead td { padding-block-start: 0; }
}
.price-table__col {
  inline-size: 28%;
  color: var(--primary);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  vertical-align: bottom;
  @media (min-width: 48rem) { inline-size: 12.5rem; }
}
.price-table__name {
  color: var(--text-dark);
  font-size: var(--text-l);
  font-weight: 700;
  line-height: 1.25;
  @media (min-width: 48rem) { font-size: var(--text-xl); }
}
.price-table__extra {
  display: table;
  margin-block-start: 0.4em;
  padding: 0.2em 0.65em;
  border: 1px solid var(--border-color-light);
  border-radius: 100vw;
  color: var(--text-dark-muted);
  font-size: var(--text-xs);
  font-weight: 600;
  &[aria-hidden="true"] { padding: 0; border: 0; color: var(--primary); font-size: var(--text-s); letter-spacing: 0.15em; }
}
.price-table__price {
  color: var(--text-dark);
  font-family: var(--heading-font-family);
  font-size: clamp(1.375rem, 1rem + 1.6vw, 2.75rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.05;
  white-space: nowrap;
  &[data-accent="true"] { color: var(--primary); }
}
.price-note {
  display: flex;
  gap: var(--space-s);
  padding-block-start: var(--space-m);
  border-block-start: 1px solid var(--border-color-light);
  color: var(--text-dark-muted);
  &::before { content: ""; align-self: flex-start; flex-shrink: 0; inline-size: 1.5rem; aspect-ratio: 1; border-radius: 50%; border: 1.5px solid var(--primary); background: radial-gradient(circle, var(--primary) 0 0.2rem, transparent 0.22rem); }
}
.plans {
  background-color: var(--bg-light);
}
.plans__inner {
  gap: var(--space-xl);
}
.plans__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-s) var(--space-xl);
}
.plans__heading {
  max-inline-size: 45rem;
  font-size: var(--h1);
}
.plans__intro {
  max-inline-size: 28rem;
  color: var(--text-dark-muted);
  font-size: var(--text-l);
}
.plans__grid {
  display: grid;
  gap: var(--space-xl);
  align-items: start;
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 1fr) minmax(0, 31rem); column-gap: var(--space-xxl); }
}
.plans__punch {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
}
.plans__title-group {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.plans__title {
  font-size: var(--h3);
}
.price-table__note {
  display: block;
  margin-block-start: 0.35em;
  color: var(--primary);
  font-family: var(--text-font-family);
  font-size: var(--text-s);
  font-weight: 600;
  letter-spacing: 0;
}
.plans__more {
  display: flex;
  align-items: center;
  gap: var(--space-s);
  padding-block-end: var(--space-m);
  border-block-end: 1px solid var(--border-color-light);
  color: var(--text-dark);
  font-size: var(--text-l);
  &::before { content: "+"; display: grid; place-items: center; flex-shrink: 0; inline-size: 2.25rem; aspect-ratio: 1; border: 2px dashed var(--primary); border-radius: 50%; color: var(--primary); font-weight: 800; }
}
.plans__terms {
  color: var(--text-dark-muted);
}
.plans__choose {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  padding: var(--space-m);
  border-radius: var(--radius);
  background-color: var(--primary-ultra-light);
}
.plans__choose-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.plans__choose-row {
  display: grid;
  gap: 0 var(--space-s);
  & dt { font-weight: 700; }
  @media (min-width: 48rem) { grid-template-columns: 12.5rem minmax(0, 1fr); }
}
.plans__choose-note {
  padding-block-start: var(--space-xs);
  color: var(--text-dark-muted);
  font-size: var(--text-s);
}
.subscription {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  padding: var(--space-l);
  border-radius: var(--radius);
  background-color: var(--body-bg-color);
}
.subscription__ring {
  position: relative;
  display: grid;
  place-items: center;
  align-self: center;
  inline-size: min(100%, 16.25rem);
  aspect-ratio: 1;
}
.subscription__svg {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
}
.subscription__track {
  fill: none;
  stroke: var(--border-color-light);
  stroke-width: 1.5;
  stroke-dasharray: 2 6;
}
.subscription__dot {
  fill: var(--primary);
  &[data-state="off"] { fill: var(--body-bg-color); stroke: var(--border-color-light); stroke-width: 2; }
}
.subscription__price {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.subscription__amount {
  color: var(--primary);
  font-family: var(--heading-font-family);
  font-size: var(--h2);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1;
}
.subscription__period {
  color: var(--text-dark-muted);
  font-weight: 600;
}
.subscription__list {
  display: flex;
  flex-direction: column;
  border-block-start: 2px solid var(--text-dark);
}
.subscription__row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-xs) var(--space-s);
  padding-block: var(--space-s);
  & + & { border-block-start: 1px solid var(--border-color-light); }
  & dd { font-weight: 700; }
}
.subscription__note {
  padding-block-start: var(--space-s);
  border-block-start: 1px solid var(--border-color-light);
  color: var(--text-dark-muted);
  font-size: var(--text-s);
}
.plans__book {
  align-self: flex-start;
}
.coverage {
  background-color: var(--primary-ultra-light);
}
.coverage__inner {
  display: grid;
  gap: var(--space-xl);
  align-items: start;
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); column-gap: var(--space-xxl); }
}
.coverage__main {
  display: flex;
  flex-direction: column;
  gap: var(--space-l);
}
.coverage__block {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  padding-block-start: var(--space-m);
  border-block-start: 2px solid var(--text-dark);
}
.coverage__title {
  font-size: var(--h4);
}
.coverage__text {
  color: var(--text-dark-muted);
  font-size: var(--text-l);
}
.coverage__stats-label {
  color: var(--text-dark-muted);
  font-size: var(--text-s);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.coverage__stats {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-s) var(--space-l);
}
.coverage__stat {
  display: flex;
  flex-direction: column-reverse;
  gap: 0.25em;
}
.coverage__stat-label {
  color: var(--text-dark-muted);
  font-size: var(--text-s);
}
.coverage__stat-value {
  color: var(--text-dark);
  font-family: var(--heading-font-family);
  font-size: var(--h3);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
  &[data-accent="true"] { color: var(--primary); }
}
.coverage__aside {
  display: flex;
  flex-direction: column;
  gap: var(--space-l);
}
.coverage__group {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  & + & { padding-block-start: var(--space-l); border-block-start: 1px solid var(--border-color-dark); }
}
.coverage__label {
  display: flex;
  align-items: center;
  gap: 0.6em;
  color: var(--primary);
  font-size: var(--text-s);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  &::before { content: "✓"; display: grid; place-items: center; inline-size: 1.4rem; aspect-ratio: 1; border-radius: 50%; background-color: var(--primary); color: var(--text-light); font-size: 0.8em; letter-spacing: 0; }
  &[data-icon="question"]::before { content: "?"; border: 1.5px solid var(--primary); background-color: transparent; color: var(--primary); }
}
.coverage__group-title {
  font-size: var(--text-xl);
  font-weight: 700;
}
.coverage__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}
.coverage__tag {
  padding: 0.5em 0.9em;
  border-radius: 100vw;
  font-size: var(--text-s);
  font-weight: 600;
  [data-variant="solid"] > & { background-color: var(--primary); color: var(--text-light); }
  [data-variant="outline"] > & { border: 1px solid var(--border-color-dark); color: var(--text-dark); }
  [data-variant="light"] > & { border: 1px solid var(--border-color-light); background-color: var(--body-bg-color); color: var(--text-dark); }
}
.coverage__quote {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  padding-block-start: var(--space-l);
  border-block-start: 1px solid var(--border-color-dark);
}
.coverage__quote-text {
  color: var(--text-dark);
  font-size: var(--text-l);
  font-weight: 600;
}
.coverage__quote-name {
  color: var(--primary);
  font-size: var(--text-s);
  font-weight: 700;
}
.coverage__quote-source {
  color: var(--text-dark-muted);
  font-weight: 400;
}
.extras__inner {
  gap: var(--space-xl);
}
.extras__grid {
  display: grid;
  gap: var(--space-xl);
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 8fr) minmax(0, 6fr); column-gap: var(--space-xxl); }
}
.extras__main {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
}
.extras__list {
  display: flex;
  flex-direction: column;
  border-block: 2px solid var(--text-dark);
  border-block-end: 1px solid var(--border-color-light);
}
.extras__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-m);
  padding-block: var(--space-m);
  & + & { border-block-start: 1px solid var(--border-color-light); }
}
.extras__name-group {
  display: flex;
  flex-direction: column;
  gap: 0.2em;
}
.extras__name {
  color: var(--text-dark);
  font-size: var(--text-xl);
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
  &:is(a) { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
  &:is(a):hover { color: var(--primary); }
}
.extras__note {
  color: var(--text-dark-muted);
  font-size: var(--text-s);
}
.extras__price {
  flex-shrink: 0;
  color: var(--text-dark);
  font-family: var(--heading-font-family);
  font-size: var(--h3);
  font-weight: 800;
  letter-spacing: -0.03em;
  white-space: nowrap;
  &[data-accent="true"] { color: var(--primary); }
}
.extras__aside {
  display: flex;
  flex-direction: column;
  gap: var(--space-l);
  @media (min-width: 64rem) { padding-block-start: var(--space-xxl); }
}
.extras__info {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  & + & { padding-block-start: var(--space-l); border-block-start: 1px solid var(--border-color-light); }
}
.extras__info-title {
  font-size: var(--text-xl);
}
.extras__info-text {
  color: var(--text-dark-muted);
}
.gift {
  position: relative;
  overflow: clip;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding: var(--space-m) var(--space-l);
  border-radius: var(--radius);
  background-color: var(--primary);
  &::before, &::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
  &::before { inline-size: 11.25rem; aspect-ratio: 1; inset-block-start: -4.4rem; inset-inline-end: -3.75rem; border: 1px solid color-mix(in oklch, var(--text-light) 28%, transparent); }
  &::after { inline-size: 6.9rem; aspect-ratio: 1; inset-block-start: -2.2rem; inset-inline-end: -1.5rem; border: 1px dashed color-mix(in oklch, var(--text-light) 35%, transparent); }
}
.gift__label {
  color: var(--text-light-muted);
  font-size: var(--text-s);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.gift__title {
  max-inline-size: 20rem;
  color: var(--text-light);
  font-family: var(--heading-font-family);
  font-size: var(--text-xl);
  font-weight: 800;
  line-height: 1.25;
}
.gift__text {
  color: var(--text-light-muted);
}
.cancel {
  display: grid;
  gap: var(--space-s) var(--space-xl);
  align-items: center;
  padding-block: var(--space-m);
  border-block-start: 2px solid var(--text-dark);
  border-block-end: 1px solid var(--border-color-light);
  @media (min-width: 64rem) { grid-template-columns: 15rem minmax(0, 1fr) auto; }
}
.cancel__heading {
  display: flex;
  align-items: center;
  gap: var(--space-s);
  font-size: var(--h4);
  &::before { content: ""; flex-shrink: 0; inline-size: 1.75rem; aspect-ratio: 1; border-radius: 50%; border: 1.5px solid var(--primary); background: conic-gradient(from 0deg, transparent 0 25%, color-mix(in oklch, var(--primary) 25%, transparent) 25% 40%, transparent 40%); }
}
.cancel__text {
  color: var(--text-dark-muted);
  font-size: var(--text-l);
}
.cancel__phone {
  color: var(--primary);
  font-family: var(--heading-font-family);
  font-size: var(--h4);
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
  &:hover { text-decoration: underline; }
}
.contact-list {
  position: relative;
  display: flex;
  flex-direction: column;
  inline-size: 100%;
}
.contact-list__item {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding-block: var(--space-m);
  &:first-child { padding-block-start: 0; }
  &:last-child { padding-block-end: 0; }
  & + & { border-block-start: 1px solid var(--border-color-dark); }
}
.contact-list__label {
  color: var(--text-light-muted);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.contact-list__value {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.contact-list__link {
  color: var(--text-light);
  font-size: var(--text-xl);
  font-weight: 700;
  line-height: 1.3;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.25em;
  overflow-wrap: anywhere;
  &[data-size="large"] { font-family: var(--heading-font-family); font-size: var(--h2); font-weight: 800; letter-spacing: -0.03em; line-height: 1.05; text-decoration: none; }
  &[data-plain="true"] { text-decoration: none; }
  &:hover { text-decoration: underline; }
}
.contact-list__note {
  color: var(--text-light-muted);
}
.hours__inner {
  display: grid;
  gap: var(--space-xl);
  align-items: center;
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 5fr) minmax(0, 8fr); column-gap: var(--space-xxl); }
}
.hours__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
}
.hours__text {
  color: var(--text-dark-muted);
  font-size: var(--text-l);
}
.week {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  padding: var(--space-l);
  border-radius: var(--radius);
  background-color: var(--bg-light);
}
.week__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-s);
}
.week__note {
  color: var(--text-dark-muted);
  font-size: var(--text-s);
  font-weight: 600;
}
.week__days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: var(--space-xs);
}
.week__day {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xs);
  color: var(--text-dark);
  font-size: var(--text-s);
  font-weight: 700;
  &::before { content: ""; inline-size: min(100%, 4rem); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, var(--body-bg-color) 0 11%, var(--primary) 12%); }
  &[data-open="false"] { color: var(--text-dark-muted); font-weight: 600; &::before { background: none; border: 2px dashed var(--border-color-dark); } }
}
.week__hours {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-xs) var(--space-s);
  padding-block-start: var(--space-m);
  border-block-start: 2px solid var(--text-dark);
}
.week__time {
  color: var(--text-dark);
  font-family: var(--heading-font-family);
  font-size: var(--h2);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
}
.week__when {
  color: var(--text-dark-muted);
  font-size: var(--text-l);
}
.find {
  background-color: var(--bg-light);
}
.find__inner {
  display: grid;
  gap: var(--space-xl);
  align-items: center;
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 9fr) minmax(0, 6fr); column-gap: var(--space-xxl); }
}
.map-card {
  position: relative;
  display: block;
  overflow: clip;
  aspect-ratio: 4 / 3;
  border-radius: var(--radius);
  background-color: var(--body-bg-color);
  color: var(--text-dark);
  text-decoration: none;
  &:hover .map-card__button { background-color: var(--primary-dark); }
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
}
.map-card__svg {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
}
.map-card__area {
  fill: var(--primary-ultra-light);
  &[data-tone="green"] { fill: oklch(93% 0.03 140); }
}
.map-card__road {
  fill: none;
  stroke: var(--border-color-light);
  stroke-linecap: round;
}
.map-card__route {
  fill: none;
  stroke: var(--primary);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dasharray: 1 10;
}
.map-card__pin {
  fill: var(--primary);
}
.map-card__ring {
  fill: none;
  stroke: var(--primary);
  stroke-width: 1.5;
  &[data-style="dashed"] { stroke-dasharray: 3 5; }
}
.map-card__pin-dot {
  fill: var(--body-bg-color);
}
.map-card__place {
  position: absolute;
  inset-block-start: 4.5%;
  inset-inline-start: 4%;
  color: var(--text-dark-muted);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.map-card__label {
  position: absolute;
  inset-block-start: 39.6%;
  inset-inline-start: 58.9%;
  display: none;
  flex-direction: column;
  gap: 0.1em;
  padding: 0.6em 0.9em;
  border-radius: var(--radius);
  background-color: var(--text-dark);
  @media (min-width: 48rem) { display: flex; }
}
.map-card__label-title {
  color: var(--text-light);
  font-size: var(--text-s);
  font-weight: 800;
}
.map-card__label-text {
  color: var(--text-light-muted);
  font-size: var(--text-xs);
}
.map-card__button {
  position: absolute;
  inset-block-end: 4.5%;
  inset-inline-end: 3.5%;
  padding: 0.75em 1.1em;
  border-radius: var(--btn-radius);
  background-color: var(--primary);
  color: var(--text-light);
  font-size: var(--text-s);
  font-weight: 700;
  transition: background-color 0.2s ease;
}
.find__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
}
.find__text {
  color: var(--text-dark-muted);
  font-size: var(--text-l);
}
.find__features {
  display: flex;
  flex-direction: column;
  border-block-start: 2px solid var(--text-dark);
  border-block-end: 1px solid var(--border-color-light);
}
.find__feature {
  display: flex;
  align-items: center;
  gap: var(--space-s);
  padding-block: var(--space-s);
  color: var(--text-dark);
  font-weight: 700;
  & + & { border-block-start: 1px solid var(--border-color-light); }
}
.find__icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  inline-size: 2.5rem;
  aspect-ratio: 1;
  border: 1.5px solid var(--primary);
  border-radius: 50%;
  color: var(--primary);
  font-weight: 800;
  &[data-solid="true"] { border-color: var(--primary); background-color: var(--primary); color: var(--text-light); }
}
.find__svg {
  inline-size: 1.25rem;
  block-size: 1.25rem;
}
.find__svg-fill {
  fill: var(--primary);
}
.find__svg-line {
  fill: none;
  stroke: var(--primary);
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.find__arrival {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding: var(--space-m);
  border-radius: var(--radius);
  background-color: var(--body-bg-color);
}
.find__arrival-text {
  font-size: var(--text-l);
  font-weight: 600;
}
.practical__inner {
  gap: var(--space-xl);
}
.practical__review {
  display: grid;
  gap: var(--space-l);
  align-items: end;
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--space-xxl); }
}
.practical__quote {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  max-inline-size: 54rem;
}
.practical__quote-text {
  color: var(--text-dark);
  font-family: var(--heading-font-family);
  font-size: var(--h3);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.2;
}
.practical__quote-name {
  color: var(--primary);
  font-weight: 700;
}
.practical__rating {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  @media (min-width: 64rem) { align-items: flex-end; text-align: end; & .text-link { align-self: flex-end; } }
}
.practical__score {
  color: var(--text-dark);
  font-family: var(--heading-font-family);
  font-size: var(--h2);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
}
.practical__count {
  color: var(--text-dark-muted);
}
.cancel__link {
  color: var(--primary);
  font-size: var(--text-m);
  font-weight: 700;
  white-space: nowrap;
}
.follow {
  display: grid;
  gap: var(--space-s) var(--space-xl);
  align-items: center;
  @media (min-width: 64rem) { grid-template-columns: 15rem minmax(0, 1fr) auto; }
}
.follow__heading {
  font-size: var(--h4);
}
.follow__list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}
.follow__link {
  display: inline-flex;
  align-items: center;
  min-block-size: 2.75rem;
  padding-inline: 1.1em;
  border: 1px solid var(--border-color-dark);
  border-radius: 100vw;
  color: var(--text-dark);
  font-weight: 700;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
  &:hover { background-color: var(--primary-ultra-light); }
  &[data-solid="true"] { border-color: var(--primary); background-color: var(--primary); color: var(--text-light); &:hover { background-color: var(--primary-dark); } }
}
.follow__meta {
  color: var(--text-dark-muted);
  font-size: var(--text-s);
}
.faq__link {
  align-self: flex-start;
  font-weight: 700;
  &[href=""] { display: none; }
}
.insurers {
  padding-block: var(--space-m);
  background-color: var(--bg-light);
  border-block: 1px solid var(--border-color-light);
}
.insurers__inner {
  display: grid;
  grid-template-columns: auto auto;
  grid-template-areas: "label badge" "marquee marquee";
  align-items: center;
  justify-content: space-between;
  gap: var(--space-s) var(--space-l);
  @media (min-width: 64rem) { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "label marquee badge"; }
}
.insurers__label {
  grid-area: label;
  color: var(--primary);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}
.insurers__name {
  display: flex;
  align-items: center;
  color: var(--text-dark);
  font-family: var(--heading-font-family);
  font-size: var(--text-l);
  font-weight: 800;
  letter-spacing: -0.01em;
  white-space: nowrap;
  &::after { content: ""; inline-size: 0.4rem; aspect-ratio: 1; margin-inline: var(--space-l); border-radius: 50%; background-color: var(--primary); }
}
.insurers__badge {
  grid-area: badge;
  color: var(--text-dark);
  font-size: var(--text-s);
  font-weight: 700;
  white-space: nowrap;
}
.covered {
  background-color: var(--primary-ultra-light);
}
.covered__inner {
  display: grid;
  gap: var(--space-l);
  align-items: center;
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); column-gap: var(--space-xxl); }
}
.covered__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
}
.covered__heading {
  color: var(--primary);
}
.covered__text {
  color: var(--text-dark-muted);
  font-size: var(--text-l);
}
.covered__aside {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
}
.more__inner {
  gap: var(--space-xxl);
}
.more__grid {
  display: grid;
  gap: var(--space-l);
  align-items: center;
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); column-gap: var(--space-xxl); }
}
.more__media {
  overflow: clip;
  aspect-ratio: 4 / 5;
  border-radius: var(--radius);
  @media (min-width: 48rem) { aspect-ratio: 4 / 3; }
  @media (min-width: 64rem) { aspect-ratio: 5 / 6; }
}
.more__img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: 50% 40%;
}
.more__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
}
.more__text {
  color: var(--text-dark-muted);
  font-size: var(--text-l);
}
.more__alternatives {
  display: flex;
  flex-direction: column;
  gap: var(--space-l);
}
.grant__inner {
  gap: var(--space-l);
}
.grant__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-s);
}
.grant__badge {
  padding: 0.4em 0.9em;
  border: 1.5px solid var(--text-dark);
  border-radius: 100vw;
  font-size: var(--text-s);
  font-weight: 700;
}
.grant-table {
  inline-size: 100%;
  border-collapse: collapse;
  & th, & td { padding: var(--space-m) var(--space-s) var(--space-m) 0; text-align: start; vertical-align: middle; }
  & thead th { padding-block: 0 var(--space-s); border-block-end: 2px solid var(--text-dark); color: var(--text-dark-muted); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
  & thead th:last-child, & .grant-table__max { padding-inline-end: 0; text-align: end; }
  & tbody tr + tr { border-block-start: 1px solid var(--border-color-light); }
  & tfoot tr { background-color: var(--primary); }
  & tfoot th, & tfoot td { padding-inline: var(--space-m); color: var(--text-light); }
  & tfoot th { border-start-start-radius: var(--radius); border-end-start-radius: var(--radius); }
  & tfoot td { border-start-end-radius: var(--radius); border-end-end-radius: var(--radius); }
  & tfoot .grant-table__max { padding-inline-end: var(--space-m); }
}
.grant-table__name {
  color: var(--text-dark);
  font-size: var(--text-l);
  font-weight: 700;
  @media (min-width: 48rem) { font-size: var(--text-xl); }
}
.grant-table__pct {
  color: var(--text-dark);
  font-size: var(--text-l);
  font-weight: 600;
  white-space: nowrap;
}
.grant-table__max {
  color: var(--primary);
  font-family: var(--heading-font-family);
  font-size: clamp(1.75rem, 1.2rem + 2vw, 3rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
  white-space: nowrap;
}
.grant__foot {
  display: grid;
  gap: var(--space-m);
  align-items: start;
  @media (min-width: 48rem) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--space-xl); }
}
.grant__source {
  max-inline-size: 26rem;
  color: var(--text-dark-muted);
  font-size: var(--text-s);
}
.grant__example {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding: var(--space-m);
  border-radius: var(--radius);
  background-color: var(--primary-ultra-light);
}
.grant__example-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  font-size: var(--text-s);
  & > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0 var(--space-s); }
  & dd { font-weight: 600; }
}
.conditions__inner {
  display: grid;
  gap: var(--space-xl);
  align-items: start;
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: var(--space-xxl); }
}
.conditions__aside {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
}
.conditions__text {
  color: var(--text-dark-muted);
  font-size: var(--text-l);
}
.conditions__badge {
  display: flex;
  align-items: center;
  gap: var(--space-s);
  padding: var(--space-m);
  border-radius: var(--radius);
  background-color: var(--primary);
  color: var(--text-light);
  font-weight: 700;
  &::before { content: "✓"; display: grid; place-items: center; flex-shrink: 0; inline-size: 2rem; aspect-ratio: 1; border-radius: 50%; background-color: var(--body-bg-color); color: var(--primary); font-weight: 800; }
}
.conditions__main {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}
.conditions__intro {
  color: var(--text-dark-muted);
}
.conditions__list {
  display: flex;
  flex-direction: column;
  border-block: 2px solid var(--text-dark);
  border-block-end: 1px solid var(--border-color-light);
}
.conditions__item {
  display: flex;
  align-items: center;
  gap: var(--space-s);
  padding-block: var(--space-s);
  color: var(--text-dark);
  font-weight: 600;
  & + & { border-block-start: 1px solid var(--border-color-light); }
  &::first-letter { text-transform: uppercase; }
  &::before { content: "✓"; display: grid; place-items: center; flex-shrink: 0; inline-size: 1.75rem; aspect-ratio: 1; border: 1.5px solid var(--primary); border-radius: 50%; color: var(--primary); font-size: var(--text-s); font-weight: 800; }
}
.case {
  position: relative;
  overflow: clip;
  background-color: var(--bg-ultra-dark);
  &[data-show=""] { display: none; }
}
.case__inner {
  display: grid;
  gap: var(--space-xl);
  align-items: center;
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 1fr) minmax(0, 25rem); column-gap: var(--space-xxl); }
}
.case__quote {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
}
.case__label {
  color: var(--text-light-muted);
  font-size: var(--text-s);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.case__text {
  color: var(--text-light);
  font-size: clamp(1.375rem, 1rem + 1.4vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.3;
}
.case__name {
  color: var(--text-light);
  font-weight: 700;
}
.case__card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--space-m);
  padding: var(--space-l);
  border-radius: var(--radius);
  background-color: var(--primary);
  color: var(--text-light);
  text-decoration: none;
  transition: background-color 0.2s ease;
  &[href=""] { display: none; }
  &:hover { background-color: var(--primary-dark); }
  &:hover .case__card-icon { translate: 0.25rem 0; }
  &:focus-visible { outline: 2px solid var(--text-light); outline-offset: 3px; }
}
.case__card-body {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.case__card-label {
  color: var(--text-light-muted);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.case__card-title {
  font-family: var(--heading-font-family);
  font-size: var(--h4);
  font-weight: 800;
  line-height: 1.15;
}
.case__card-text {
  color: var(--text-light-muted);
}
.case__card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-s);
  font-weight: 700;
}
.case__card-icon {
  display: grid;
  place-items: center;
  inline-size: 3.25rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--body-bg-color);
  color: var(--primary);
  font-size: var(--text-xl);
  font-weight: 800;
  transition: translate 0.2s ease;
}
.needle-free {
  padding-block: 0 var(--section-space-m);
  &[data-show=""] { display: none; }
}
.condition__inner {
  display: grid;
  gap: var(--space-xl);
  align-items: start;
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: var(--space-xxl); }
}
.condition__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  & h2 + p, & h3 + p { margin-block-start: calc(var(--space-xs) * -1); }
  & h3 { margin-block-start: var(--space-m); font-size: var(--h3); }
  & p { color: var(--text-dark-muted); font-size: var(--text-l); }
  & p > strong:first-child:not(:only-child) { display: block; color: var(--text-dark); }
  & p > strong { color: var(--text-dark); }
}
.symptoms {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  padding: var(--space-l);
  border-radius: var(--radius);
  background-color: var(--primary-ultra-light);
  @media (min-width: 64rem) { position: sticky; inset-block-start: var(--space-l); }
}
.symptoms__list {
  --_dot: 1.125rem;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  padding-inline-start: calc(var(--_dot) + var(--space-s));
  &::before { content: ""; position: absolute; inset-block: 0.6rem; inset-inline-start: calc(var(--_dot) / 2 - 1px); border-inline-start: 2px dotted var(--border-color-dark); }
}
.symptoms__item {
  position: relative;
  color: var(--text-dark);
  font-size: var(--text-l);
  font-weight: 700;
  line-height: 1.35;
  &::before { content: ""; position: absolute; inset-block-start: 0.2em; inset-inline-start: calc((var(--_dot) + var(--space-s)) * -1); inline-size: var(--_dot); aspect-ratio: 1; border-radius: 50%; background-color: var(--primary); }
}
.symptoms__note {
  color: var(--text-dark-muted);
  font-size: var(--text-s);
  &:empty { display: none; }
}
.journey {
  background-color: var(--bg-light);
}
.journey__inner {
  gap: var(--space-xl);
}
.journey__head {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  max-inline-size: 48rem;
  & p { color: var(--text-dark-muted); font-size: var(--text-l); }
}
.journey__list {
  display: grid;
  gap: var(--space-m);
  @media (min-width: 48rem) { grid-template-columns: var(--grid-2); }
}
.journey__item {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  padding: var(--space-l);
  border-radius: var(--radius);
  background-color: var(--body-bg-color);
}
.journey__step {
  color: var(--primary);
  font-size: var(--text-s);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.journey__text {
  color: var(--text-dark);
  font-size: var(--text-l);
  font-weight: 500;
}
.journey__note {
  color: var(--text-dark-muted);
  font-size: var(--text-s);
}
.condition__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  padding-inline-start: 0;
  color: var(--text-dark-muted);
  font-size: var(--text-l);
  counter-reset: step;
  & > li { position: relative; padding-inline-start: 2.25rem; }
  & > li > strong { color: var(--text-dark); }
  &[data-type="ul"] > li::before { content: ""; position: absolute; inset-inline-start: 0.35rem; inset-block-start: 0.55em; inline-size: 0.6rem; aspect-ratio: 1; border-radius: 50%; background-color: var(--primary); }
  &[data-type="ol"] > li { counter-increment: step; }
  &[data-type="ol"] > li::before { content: counter(step); position: absolute; inset-inline-start: 0; inset-block-start: 0.1em; display: grid; place-items: center; inline-size: 1.6rem; aspect-ratio: 1; border-radius: 50%; background-color: var(--primary); color: var(--text-light); font-size: var(--text-s); font-weight: 800; }
}
.post-hero {
  padding-block: var(--section-space-m) var(--space-xl);
}
.post-hero__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-m);
  text-align: center;
}
.post-hero__pill {
  padding: 0.35em 0.9em;
  border-radius: 100vw;
  background-color: var(--primary-ultra-light);
  color: var(--primary);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  &:empty { display: none; }
}
.post-hero__title {
  max-inline-size: 22ch;
  font-size: var(--h1);
}
.post-hero__lead {
  max-inline-size: 40rem;
  color: var(--text-dark-muted);
  font-size: var(--text-l);
}
.post-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--space-s) var(--space-m);
  text-align: start;
}
.post-meta__avatar {
  overflow: clip;
  flex-shrink: 0;
  inline-size: 3rem;
  aspect-ratio: 1;
  border-radius: 50%;
}
.post-meta__img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: 60% 25%;
}
.post-meta__name {
  font-size: var(--text-s);
  font-weight: 700;
}
.post-meta__role {
  color: var(--text-dark-muted);
  font-size: var(--text-xs);
}
.post-meta__dates {
  padding-inline-start: var(--space-m);
  border-inline-start: 1px solid var(--border-color-light);
}
.post-meta__updated {
  font-size: var(--text-s);
  font-weight: 700;
}
.post-meta__published {
  color: var(--text-dark-muted);
  font-size: var(--text-xs);
}
.post-cover {
  position: relative;
  overflow: clip;
  display: flex;
  align-items: flex-end;
  inline-size: min(100% - var(--gutter) * 2, var(--content-width));
  aspect-ratio: 21 / 9;
  margin-inline: auto;
  padding: var(--space-l);
  border-radius: var(--radius);
  @media (min-width: 48rem) { aspect-ratio: 12 / 5; }
}
.post-cover__label {
  position: relative;
  z-index: 2;
  color: var(--text-light);
  font-family: var(--heading-font-family);
  font-size: var(--h3);
  font-weight: 800;
  .post-cover:has(> .media-img[src*="/"]) & { display: none; }
}
.post-body__inner {
  display: grid;
  gap: var(--space-l);
  align-items: start;
  @media (min-width: 64rem) { grid-template-columns: 14rem minmax(0, 45rem); justify-content: space-between; column-gap: var(--space-xxl); }
}
.post-toc {
  display: none;
  &[data-visible="true"] { display: flex; flex-direction: column; gap: var(--space-s); padding: var(--space-m); border-radius: var(--radius); background-color: var(--bg-light); }
  @media (min-width: 64rem) { &[data-visible="true"] { position: sticky; inset-block-start: var(--space-l); padding: 0; background: none; } }
}
.post-toc__list {
  --_dot: 0.6rem;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding-inline-start: calc(var(--_dot) + var(--space-s));
  &::before { content: ""; position: absolute; inset-block: 0.5rem; inset-inline-start: calc(var(--_dot) / 2 - 1px); border-inline-start: 2px dotted var(--border-color-dark); }
}
.post-body__main {
  display: flex;
  flex-direction: column;
  gap: var(--space-l);
  @media (min-width: 64rem) { grid-column: 2; }
}
.post-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  font-size: var(--text-l);
  & h2 { margin-block-start: var(--space-l); font-size: var(--h3); scroll-margin-block-start: var(--space-l); }
  & h3 { margin-block-start: var(--space-m); font-size: var(--h4); }
  & p, & li { color: var(--text-dark); }
  & ul, & ol { display: flex; flex-direction: column; gap: var(--space-xs); padding-inline-start: 1.25em; }
  & figure { display: flex; flex-direction: column; gap: var(--space-xs); margin-block: var(--space-m); }
  & figure img { border-radius: var(--radius); }
  & figcaption { color: var(--text-dark-muted); font-size: var(--text-s); }
  & blockquote { margin-block: var(--space-m); padding-block: var(--space-m); border-block: 2px solid var(--text-dark); font-size: var(--text-xl); font-weight: 700; line-height: 1.35; }
  & a { color: var(--primary); }
}
.post-cta {
  position: relative;
  overflow: clip;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-m);
  margin-block: var(--space-m);
  padding: var(--space-m) var(--space-l);
  border-radius: var(--radius);
  background-color: var(--primary);
  &::before { content: ""; position: absolute; inline-size: 9rem; aspect-ratio: 1; inset-block-start: -3rem; inset-inline-end: -3rem; border: 1px solid color-mix(in oklch, var(--text-light) 28%, transparent); border-radius: 50%; pointer-events: none; }
}
.post-cta__text {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  max-inline-size: 30rem;
}
.post-cta__title {
  color: var(--text-light);
  font-family: var(--heading-font-family);
  font-size: var(--text-xl);
  font-weight: 800;
}
.post-cta__body {
  color: var(--text-light-muted);
  font-size: var(--text-s);
}
.post-note {
  padding-block-start: var(--space-s);
  border-block-start: 1px solid var(--border-color-light);
  color: var(--text-dark-muted);
  font-size: var(--text-s);
}
.post-after__inner {
  display: grid;
  gap: var(--space-m);
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
}
.author-box {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-m);
  padding: var(--space-l);
  border-radius: var(--radius);
  background-color: var(--bg-light);
}
.author-box__avatar {
  overflow: clip;
  flex-shrink: 0;
  inline-size: 4.5rem;
  aspect-ratio: 1;
  border-radius: 50%;
}
.author-box__img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: 60% 25%;
}
.author-box__body {
  display: flex;
  flex: 1 1 16rem;
  flex-direction: column;
  gap: var(--space-xs);
}
.author-box__name {
  font-family: var(--heading-font-family);
  font-size: var(--text-xl);
  font-weight: 800;
}
.author-box__text {
  color: var(--text-dark-muted);
  font-size: var(--text-s);
}
.related-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding: var(--space-l);
  border-radius: var(--radius);
  background-color: var(--primary-ultra-light);
  color: var(--text-dark);
  text-decoration: none;
  &[href=""] { display: none; }
  &:hover .related-card__icon { translate: 0.25rem 0; }
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
}
.related-card__label {
  color: var(--primary);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.related-card__title {
  font-family: var(--heading-font-family);
  font-size: var(--text-xl);
  font-weight: 800;
}
.related-card__text {
  color: var(--text-dark-muted);
  font-size: var(--text-s);
}
.related-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-block-start: auto;
  padding-block-start: var(--space-s);
  font-size: var(--text-s);
  font-weight: 700;
}
.related-card__icon {
  display: grid;
  place-items: center;
  inline-size: 2.75rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--primary);
  color: var(--text-light);
  font-weight: 800;
  transition: translate 0.2s ease;
}
.post-more {
  background-color: var(--bg-light);
}
.post-more__inner {
  gap: var(--space-l);
}
.post-cards {
  display: grid;
  gap: var(--space-l) var(--space-m);
  @media (min-width: 48rem) { grid-template-columns: var(--grid-3); }
}
.post-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  &:hover .post-card__title { color: var(--primary); }
  &:focus-within { outline: 2px solid var(--primary); outline-offset: 4px; border-radius: var(--radius); }
}
.post-card__media {
  aspect-ratio: 16 / 10;
  margin-block-end: var(--space-xs);
  border-radius: var(--radius);
}
.post-card__category {
  color: var(--primary);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.post-card__title {
  font-size: var(--text-xl);
  line-height: 1.25;
  transition: color 0.2s ease;
}
.post-card__link {
  color: inherit;
  text-decoration: none;
  outline: none;
  &::before { content: ""; position: absolute; inset: 0; z-index: 1; }
}
.post-toc__link {
  position: relative;
  display: block;
  color: var(--text-dark-muted);
  font-size: var(--text-s);
  text-decoration: none;
  &::before { content: ""; position: absolute; inset-block-start: 0.45em; inset-inline-start: calc((var(--_dot) + var(--space-s)) * -1); inline-size: var(--_dot); aspect-ratio: 1; border-radius: 50%; background-color: var(--border-color-dark); }
  &:hover { color: var(--primary); }
  &[aria-current] { color: var(--text-dark); font-weight: 700; &::before { background-color: var(--primary); } }
}
.blog-hero {
  position: relative;
  overflow: clip;
  &::before, &::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
  &::before { inline-size: 24rem; aspect-ratio: 1; inset-block-start: -6rem; inset-inline-end: -8rem; border: 1.5px solid var(--border-color-light); }
  &::after { inline-size: 1rem; aspect-ratio: 1; inset-block-start: 14rem; inset-inline-end: 12rem; background-color: var(--primary); }
  @media (width < 48rem) { &::after { display: none; } }
  &[data-variant="media"] {
    &::before, &::after { display: none; }
    & .blog-hero__inner { display: grid; gap: var(--space-l); @media (min-width: 64rem) { grid-template-columns: minmax(0, 1fr) minmax(0, 32.5rem); align-items: center; column-gap: var(--space-xxl); } }
  }
}
.blog-hero__inner {
  position: relative;
  gap: var(--space-m);
}
.blog-hero__title {
  font-size: var(--h1);
}
.blog-hero__lead {
  max-inline-size: 34rem;
  color: var(--text-dark-muted);
  font-size: var(--text-l);
}
.blog-featured {
  padding-block-start: 0;
}
.blog-featured__inner {
  display: grid;
  gap: var(--space-l);
  align-items: center;
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: var(--space-xl); }
}
.blog-featured__media {
  aspect-ratio: 16 / 10;
  border-radius: var(--radius);
}
.blog-featured__content {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  &:focus-within { outline: 2px solid var(--primary); outline-offset: 4px; border-radius: var(--radius); }
}
.blog-featured__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs) var(--space-s);
  color: var(--text-dark-muted);
  font-size: var(--text-xs);
}
.blog-featured__title {
  font-size: var(--h2);
  line-height: 1.1;
}
.blog-featured__link {
  color: inherit;
  text-decoration: none;
  outline: none;
  &::before { content: ""; position: absolute; inset: 0; z-index: 1; }
  &:hover { color: var(--primary); }
}
.blog-featured__excerpt {
  color: var(--text-dark-muted);
  font-size: var(--text-l);
}
.blog-featured__more {
  color: var(--primary);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.3em;
}
.blog-list__inner {
  display: grid;
  gap: var(--space-xl);
  align-items: start;
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 1fr) 20rem; column-gap: var(--space-xxl); }
}
.blog-list__main {
  display: flex;
  flex-direction: column;
  gap: var(--space-l);
}
.blog-list__items {
  display: flex;
  flex-direction: column;
  &:empty::after { content: "Flere indlæg er på vej."; color: var(--text-dark-muted); }
}
.blog-row {
  position: relative;
  display: grid;
  gap: var(--space-s) var(--space-m);
  padding-block: var(--space-m);
  border-block-end: 1px solid var(--border-color-light);
  @media (min-width: 48rem) { grid-template-columns: 11rem minmax(0, 1fr); }
  &:hover .blog-row__title { color: var(--primary); }
  &:focus-within { outline: 2px solid var(--primary); outline-offset: 4px; border-radius: var(--radius); }
}
.blog-row__media {
  aspect-ratio: 16 / 11;
  border-radius: var(--radius);
}
.blog-row__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.blog-row__title {
  font-size: var(--text-xl);
  line-height: 1.25;
  transition: color 0.2s ease;
}
.blog-row__excerpt {
  color: var(--text-dark-muted);
  font-size: var(--text-s);
}
.blog-sidebar {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  @media (min-width: 64rem) { position: sticky; inset-block-start: var(--space-l); }
  & .author-box { flex-direction: column; }
}
.book-box {
  position: relative;
  overflow: clip;
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  padding: var(--space-l);
  border-radius: var(--radius);
  background-color: var(--primary);
  &::before { content: ""; position: absolute; inline-size: 8rem; aspect-ratio: 1; inset-block-start: -3rem; inset-inline-end: -3rem; border: 1px solid color-mix(in oklch, var(--text-light) 28%, transparent); border-radius: 50%; pointer-events: none; }
  & .btn--primary-light { --btn-width: 100%; }
}
.book-box__title {
  position: relative;
  color: var(--text-light);
  font-family: var(--heading-font-family);
  font-size: var(--text-xl);
  font-weight: 800;
  line-height: 1.25;
}
.book-box__text {
  color: var(--text-light-muted);
  font-size: var(--text-s);
}
.booking {
  padding-block: var(--space-xl) var(--section-space-m);
}
.booking__inner {
  gap: var(--space-l);
}
.booking__head {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}
.booking__title {
  font-size: var(--h1);
}
.booking__lead {
  max-inline-size: 38rem;
  color: var(--text-dark-muted);
  font-size: var(--text-l);
}
.booking__grid {
  display: grid;
  gap: var(--space-l);
  align-items: start;
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 1fr) 20rem; column-gap: var(--space-xl); }
}
.booking__frame-wrap {
  overflow: clip;
  border: 1px solid var(--border-color-light);
  border-radius: var(--radius);
  background-color: #fff;
}
.booking__frame {
  display: block;
  inline-size: 100%;
  block-size: 80rem;
  border: 0;
  @media (min-width: 64rem) { block-size: 62.5rem; }
}
.booking__aside {
  display: flex;
  flex-direction: column;
  border-block-start: 2px solid var(--text-dark);
  @media (min-width: 64rem) { position: sticky; inset-block-start: var(--space-l); }
}
.booking__info {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding-block: var(--space-m);
  & + & { border-block-start: 1px solid var(--border-color-light); }
}
.booking__info-title {
  font-size: var(--text-xl);
}
.booking__info-text {
  color: var(--text-dark-muted);
}
.booking__phone {
  color: var(--primary);
  font-family: var(--heading-font-family);
  font-size: var(--h4);
  font-weight: 800;
  text-decoration: none;
  &:hover { text-decoration: underline; }
}
.not-found {
  padding-block: var(--section-space-l);
}
.not-found__inner {
  position: relative;
  gap: var(--space-m);
  max-inline-size: 48rem;
}
.not-found__code {
  color: var(--primary);
  font-family: var(--heading-font-family);
  font-size: clamp(5rem, 3rem + 8vw, 10rem);
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 0.9;
}
.not-found__title {
  font-size: var(--h1);
}
.not-found__text {
  color: var(--text-dark-muted);
  font-size: var(--text-l);
}
.not-found__links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs) var(--space-l);
  margin-block-start: var(--space-m);
  padding-block-start: var(--space-m);
  border-block-start: 2px solid var(--text-dark);
}
.not-found__link {
  color: var(--text-dark);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.25em;
  &:hover { color: var(--primary); }
}
.legal {
  padding-block: var(--space-xl) var(--section-space-m);
}
.legal__inner {
  gap: var(--space-l);
  max-inline-size: 48rem;
}
.legal__head {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  padding-block-end: var(--space-l);
  border-block-end: 2px solid var(--text-dark);
}
.legal__title {
  font-size: var(--h1);
}
.legal__lead {
  color: var(--text-dark-muted);
  font-size: var(--text-l);
}
.legal__content {
  & h2:first-child { margin-block-start: 0; }
}
.journey-embed {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  margin-block-start: var(--space-l);
  padding: var(--space-l);
  border-radius: var(--radius);
  background-color: var(--bg-light);
  scroll-margin-block-start: var(--space-l);
  & .journey__list { grid-template-columns: 1fr; }
}
.treatment-areas {
  background-color: var(--bg-light);
  & .paths__link[data-variant="light"] { background-color: var(--body-bg-color); }
}
.media-img {
  position: absolute;
  inset: 0;
  z-index: 1;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  &:not([src*="/"]) { display: none; }
}
.insurers__marquee {
  grid-area: marquee;
  overflow: hidden;
  mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
  &:hover .insurers__track { animation-play-state: paused; }
}
.insurers__track {
  display: flex;
  inline-size: max-content;
  animation: insurers-scroll 40s linear infinite;
  @media (prefers-reduced-motion: reduce) { animation: none; inline-size: auto; & > [aria-hidden="true"] { display: none; } & > .insurers__group { flex-wrap: wrap; row-gap: var(--space-xs); } }
}
.insurers__group {
  display: flex;
  flex-shrink: 0;
  align-items: center;
}
.product {
  padding-block: var(--space-l) var(--section-space-m);
}
.product__inner {
  display: grid;
  gap: var(--space-l);
  align-items: start;
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); column-gap: var(--space-xxl); }
}
.product__media {
  overflow: clip;
  aspect-ratio: 15 / 17;
  border-radius: var(--radius);
  background-color: #f4f3f0;
  &[data-fit="contain"] { padding: var(--space-xl); }
  @media (min-width: 64rem) { position: sticky; inset-block-start: var(--space-l); }
}
.product__img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  .product__media[data-fit="contain"] & { object-fit: contain; }
}
.product__info {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  @media (min-width: 64rem) { padding-block-start: var(--space-xs); }
}
.product__brand {
  margin-block-start: var(--space-xs);
  color: var(--primary);
  font-size: var(--text-s);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.product__title {
  font-size: var(--h1);
}
.product__lead {
  color: var(--text-dark-muted);
  font-size: var(--text-l);
}
.product-facts {
  display: flex;
  flex-direction: column;
  margin-block-start: var(--space-xs);
  border-block-start: 2px solid var(--text-dark);
}
.product-facts__row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: calc(var(--space-xs) / 2) var(--space-m);
  padding-block: var(--space-s);
  border-block-end: 1px solid var(--border-color-light);
}
.product-facts__label {
  color: var(--text-dark-muted);
}
.product-facts__value {
  font-weight: 700;
  text-align: end;
}
.product-facts__note {
  flex-basis: 100%;
  color: var(--text-dark-muted);
  font-size: var(--text-s);
  text-align: end;
  &:empty { display: none; }
}
.buy-box {
  position: relative;
  overflow: clip;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  margin-block-start: var(--space-xs);
  padding: var(--space-l);
  border-radius: var(--radius);
  background-color: var(--primary);
  &::before { content: ""; position: absolute; inline-size: 10rem; aspect-ratio: 1; inset-block-start: -4.5rem; inset-inline-end: -3rem; border: 1px solid color-mix(in oklch, var(--text-light) 28%, transparent); border-radius: 50%; pointer-events: none; }
}
.buy-box__label {
  color: var(--text-light-muted);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.buy-box__text {
  position: relative;
  max-inline-size: 28rem;
  color: var(--text-light);
  font-family: var(--heading-font-family);
  font-size: var(--text-xl);
  font-weight: 800;
  line-height: 1.3;
}
.buy-box__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-s) var(--space-m);
  padding-block-start: var(--space-xs);
}
.buy-box__link {
  color: var(--text-light);
  font-weight: 700;
  text-underline-offset: 0.25em;
  &:hover { text-decoration-thickness: 2px; }
}
.product-details {
  background-color: var(--bg-light);
}
.product-details__inner {
  display: grid;
  gap: var(--space-xl);
  align-items: start;
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); column-gap: var(--space-xxl); }
}
.product-details__about {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  max-inline-size: 40rem;
}
.product-details__heading {
  font-size: var(--h2);
}
.product-details__text {
  color: var(--text-dark-muted);
  font-size: var(--text-l);
}
.product-claims {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  margin-block-start: var(--space-s);
  &[data-show=""] { display: none; }
}
.product-claims__title {
  font-weight: 700;
}
.product-claims__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding-inline-start: 1.25em;
  list-style: disc;
}
.product-details__aside {
  display: flex;
  flex-direction: column;
}
.product-details__item {
  display: flex;
  flex-direction: column;
  gap: calc(var(--space-xs) / 2);
  padding-block: var(--space-s);
  border-block-start: 1px solid var(--border-color-light);
  &:first-child { padding-block-start: var(--space-m); border-block-start: 2px solid var(--text-dark); }
}
.product-details__label {
  color: var(--primary);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.product-details__legal {
  padding-block-start: var(--space-s);
  border-block-start: 1px solid var(--border-color-light);
  color: var(--text-dark-muted);
  font-size: var(--text-s);
}
.product-others {
  @media (width < 48rem) {
    & .product-grid { gap: 0; border-block-start: 2px solid var(--text-dark); }
    & .product-card { padding-inline: 0; border-radius: 0; background: none; box-shadow: none; translate: none; & > :not(.product-card__media) { margin-inline: 0; } display: grid; grid-template-columns: 4.5rem minmax(0, 1fr) auto; column-gap: var(--space-s); row-gap: 0; align-items: center; padding-block: var(--space-s); border-block-end: 1px solid var(--border-color-light); }
    & .product-card__media { grid-row: 1 / span 2; aspect-ratio: 1; margin: 0; &[data-fit="contain"] { padding: calc(var(--space-xs) / 2); } }
    & .product-card__brand, & .product-card__text, & .product-card__price { display: none; }
    & .product-card__title { grid-column: 2; font-size: var(--text-l); align-self: end; }
    & .product-card__foot { grid-column: 2; margin: 0; padding: 0; border: 0; }
    & .product-card__more { font-size: var(--text-xs); }
  }
}
.product-others__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-l);
}
.product-grid {
  display: grid;
  gap: var(--space-s);
  @media (min-width: 48rem) {
    grid-template-columns: var(--grid-2);
  }
  @media (min-width: 64rem) {
    grid-template-columns: var(--grid-4);
    &[data-cols='3'] {
      grid-template-columns: var(--grid-3);
    }
  }
}
.product-grid__item {
  display: flex;
}
.product-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  inline-size: 100%;
  padding: var(--space-s) var(--space-s) var(--space-m);
  border-radius: var(--radius);
  background-color: var(--white);
  box-shadow: 0 1px 2px rgb(29 35 45 / 0.06), 0 6px 20px rgb(29 35 45 / 0.07);
  color: var(--text-dark);
  text-decoration: none;
  transition: box-shadow 0.25s ease, translate 0.25s ease;
  & > :not(.product-card__media) { margin-inline: var(--space-xs); }
  &:hover { translate: 0 -3px; box-shadow: 0 2px 4px rgb(29 35 45 / 0.06), 0 14px 32px rgb(29 35 45 / 0.11); }
  &:hover .product-card__more { text-decoration-thickness: 2px; }
  &:hover .product-card__img { scale: 1.03; }
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 4px; }
  @media (prefers-reduced-motion: reduce) { transition: none; &:hover { translate: none; } }
}
.product-card__media {
  overflow: clip;
  aspect-ratio: 4 / 5;
  margin-block-end: var(--space-xs);
  border-radius: calc(var(--radius) * 0.6);
  background-color: #f4f3f0;
  &[data-fit="contain"] { padding: var(--space-l); }
}
.product-card__img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  transition: scale 0.4s ease;
  .product-card__media[data-fit="contain"] & { object-fit: contain; }
  @media (prefers-reduced-motion: reduce) { transition: none; }
}
.product-card__brand {
  color: var(--primary);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.product-card__title {
  font-family: var(--heading-font-family);
  font-size: var(--h4);
  font-weight: 800;
  line-height: 1.15;
}
.product-card__text {
  flex-grow: 1;
  color: var(--text-dark-muted);
}
.product-card__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  margin-block-start: var(--space-xs);
  padding-block-start: var(--space-s);
  border-block-start: 1px solid var(--border-color-light);
}
.product-card__price {
  font-weight: 700;
}
.product-card__more {
  color: var(--primary);
  font-size: var(--text-s);
  font-weight: 700;
  text-decoration: underline 1px;
  text-underline-offset: 0.25em;
}
.shop-note {
  padding-block: 0 var(--space-xl);
}
.shop-note__box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-s) var(--space-m);
  padding: var(--space-m) var(--space-l);
  border-radius: var(--radius);
  background-color: var(--primary-ultra-light);
}
.shop-note__icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  inline-size: 2.75rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--primary);
  color: var(--text-light);
}
.shop-note__body {
  display: flex;
  flex: 1 1 20rem;
  flex-direction: column;
  gap: calc(var(--space-xs) / 2);
}
.shop-note__title {
  font-family: var(--heading-font-family);
  font-size: var(--text-l);
  font-weight: 800;
}
.shop-note__text {
  color: var(--text-dark-muted);
}
.shop-note__tel {
  color: var(--primary);
  font-family: var(--heading-font-family);
  font-size: var(--text-xl);
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
  &:hover { text-decoration: underline; }
}
.product-list {
  padding-block-start: 0;
}
.product-list__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}
.product-list__note {
  max-inline-size: 45rem;
  padding-block-start: var(--space-s);
  border-block-start: 1px solid var(--border-color-light);
  color: var(--text-dark-muted);
  font-size: var(--text-s);
}
.cookie-report {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  overflow-x: auto;
  font-size: var(--text-s);
  &:has(> :not(p, script)) > p:first-child { display: none; }
  & table { inline-size: 100%; border-collapse: collapse; }
  & th, & td { padding: var(--space-xs); border-block-end: 1px solid var(--border-color-light); text-align: start; vertical-align: top; }
  & th { font-weight: 700; }
}
.cta-info {
  --_star: #f2c14e;
  display: flex;
  flex-direction: column;
  padding: var(--space-m) var(--space-m) var(--space-s);
  border-radius: var(--radius);
  background-color: var(--primary-dark);
  color: var(--text-light);
  @media (min-width: 64rem) { padding: var(--space-l) var(--space-l) var(--space-m); }
}
.cta-info__rating {
  display: flex;
  align-items: center;
  gap: var(--space-s);
  padding-block-end: var(--space-m);
}
.cta-info__score {
  font-family: var(--heading-font-family);
  font-size: var(--h2);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
}
.cta-info__rating-meta {
  display: flex;
  flex-direction: column;
  gap: calc(var(--space-xs) / 2);
}
.cta-info__stars {
  color: var(--_star);
  font-size: var(--text-l);
  letter-spacing: 0.12em;
  line-height: 1;
}
.cta-info__link {
  color: inherit;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.25em;
  &:hover { text-decoration-thickness: 2px; }
}
.cta-info__list {
  display: flex;
  flex-direction: column;
}
.cta-info__row {
  display: flex;
  flex-direction: column;
  gap: calc(var(--space-xs) / 2);
  padding-block: var(--space-s);
  border-block-start: 1px solid color-mix(in oklch, var(--text-light) 18%, transparent);
  @media (min-width: 64rem) { flex-direction: row; justify-content: space-between; gap: var(--space-m); }
}
.cta-info__label {
  color: var(--text-light-muted);
  font-size: var(--text-s);
}
.cta-info__value {
  font-size: var(--text-s);
  font-weight: 700;
  @media (min-width: 64rem) { text-align: end; }
}
.cta--plain .cta__inner {
  display: grid;
  gap: var(--space-xl);
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 1fr) minmax(0, 30rem); align-items: center; column-gap: var(--space-xxl); }
  & > .cta__foot { grid-column: 1 / -1; margin-block-start: 0; }
}
.newsletter {
  position: relative;
  overflow: clip;
  padding-block: var(--space-l) var(--section-space-l);
  &::before { content: ""; position: absolute; inline-size: 24rem; aspect-ratio: 1; inset-block-start: -6rem; inset-inline-end: -8rem; border: 1.5px solid var(--border-color-light); border-radius: 50%; pointer-events: none; }
  @media (min-width: 64rem) { padding-block-start: var(--section-space-m); }
}
.newsletter__inner {
  position: relative;
  display: grid;
  gap: var(--space-l);
  grid-template-areas: "head" "form" "points";
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 1fr) minmax(0, 30rem); grid-template-areas: "head form" "points form"; align-items: start; column-gap: var(--space-xxl); row-gap: var(--space-l); }
}
.newsletter__head {
  grid-area: head;
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
}
.newsletter__title {
  font-size: var(--h1);
}
.newsletter__lead {
  max-inline-size: 40rem;
  color: var(--text-dark-muted);
  font-size: var(--text-l);
}
.newsletter-form {
  grid-area: form;
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  padding: var(--space-l) var(--space-m);
  border-radius: var(--radius);
  background-color: var(--bg-light);
  @media (min-width: 48rem) { padding: var(--space-l); }
  @media (min-width: 64rem) { margin-block-start: var(--space-xl); }
  & .newsletter-form__submit { inline-size: 100%; max-inline-size: none; }
}
.newsletter-form__title {
  font-size: var(--h3);
}
.newsletter-form__field {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.newsletter-form__label {
  font-weight: 700;
}
.newsletter-form__hint {
  margin-inline-start: 0.35em;
  color: var(--text-dark-muted);
  font-weight: 400;
}
.newsletter-form__input {
  inline-size: 100%;
  min-block-size: 3.25rem;
  padding: var(--space-xs) var(--space-s);
  border: 1.5px solid var(--border-color-dark);
  border-radius: var(--radius);
  background-color: var(--white);
  color: var(--text-dark);
  font: inherit;
  &:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; border-color: var(--primary); }
}
.newsletter-form__trap {
  position: absolute;
  inset-inline-start: -5000px;
}
.newsletter-form__submit {
  inline-size: 100%;
  margin-block-start: var(--space-xs);
}
.newsletter-form__note {
  color: var(--text-dark-muted);
  font-size: var(--text-s);
  & a { color: var(--primary); }
}
.newsletter__points {
  grid-area: points;
  display: flex;
  flex-direction: column;
  border-block-start: 2px solid var(--text-dark);
}
.newsletter__point {
  display: flex;
  gap: var(--space-s);
  padding-block: var(--space-s);
  border-block-end: 1px solid var(--border-color-light);
}
.newsletter__num {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  inline-size: 1.75rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--primary);
  color: var(--text-light);
  font-size: var(--text-xs);
  font-weight: 800;
  align-self: flex-start;
}
.newsletter__point-body {
  display: flex;
  flex-direction: column;
  gap: calc(var(--space-xs) / 2);
}
.newsletter__point-title {
  font-size: var(--text-l);
}
.newsletter__point-text {
  color: var(--text-dark-muted);
}
.blog-hero__text {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
}
.blog-hero__media {
  position: relative;
  isolation: isolate;
  aspect-ratio: 4 / 3;
  margin-block-start: var(--space-xs);
  &::before { content: ""; position: absolute; z-index: -1; inline-size: 85%; aspect-ratio: 1; inset-block-start: -16%; inset-inline-end: -18%; border: 1.5px solid var(--border-color-light); border-radius: 50%; pointer-events: none; }
  &::after { content: ""; display: none; position: absolute; inline-size: 1rem; aspect-ratio: 1; inset-block-start: 6.5%; inset-inline-end: -14.2%; border-radius: 50%; background-color: var(--primary); }
  @media (min-width: 64rem) { aspect-ratio: 52 / 46; margin-block-start: 0; &::after { display: block; } }
}
.blog-hero__img {
  inline-size: 100%;
  block-size: 100%;
  border-radius: var(--radius);
  object-fit: cover;
  object-position: 50% 80%;
  @media (min-width: 64rem) { object-position: 50% 40%; }
}
.faq__q-heading {
  margin: 0;
  font: inherit;
  letter-spacing: inherit;
  hyphens: manual;
}
.faq__panel {
  overflow: hidden;
  transition: max-height 0.32s cubic-bezier(0.4, 0, 0.2, 1);
  @media (prefers-reduced-motion: reduce) { transition: none; }
}
.price-save {
  display: inline-block;
  margin-inline-start: var(--space-xs);
  padding: 0.15em 0.6em;
  border-radius: 100vw;
  background-color: var(--primary-ultra-light);
  color: var(--primary);
  font-size: var(--text-xs);
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
  vertical-align: 0.1em;
}
.rating-band {
  position: relative;
  overflow: clip;
  padding-block: var(--space-l);
  background-color: var(--bg-ultra-dark);
  color: var(--text-light);
  &[data-show=""] { display: none; }
  /* Ring med stiplet indre ring (outline følger border-radius) */
  &::before { content: ""; position: absolute; inline-size: 20rem; aspect-ratio: 1; inset-inline-start: 55%; inset-block-start: 50%; translate: -50% -50%; border: 1.5px solid var(--primary); border-radius: 50%; outline: 1.5px dashed var(--primary); outline-offset: -3.5rem; pointer-events: none; }
  /* Prik på ringens højre side (centrum 55% fra venstre, radius 10rem), i det tomme felt mellem tekst og link */
  &::after { content: ""; position: absolute; inline-size: 0.75rem; aspect-ratio: 1; inset-inline-start: calc(55% + 9.96rem - 0.375rem); inset-block-start: calc(50% - 0.87rem - 0.375rem); border-radius: 50%; background-color: var(--primary); pointer-events: none; }
  @media (width < 48rem) { &::before { inline-size: 14rem; inset-inline-start: auto; inset-inline-end: -7rem; translate: 0 -50%; outline-offset: -2.5rem; } &::after { display: none; } }
  & .rating-band__inner { flex-direction: row; align-items: center; @media (width < 48rem) { flex-direction: column; align-items: flex-start; } }
}
.rating-band__inner {
  position: relative;
  inline-size: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-s) var(--space-l);
  @media (width < 48rem) { flex-direction: column; align-items: flex-start; }
}
.rating-band__rating {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-xs) var(--space-s);
}
.rating-band__stars {
  color: #f2c14e;
  font-size: var(--text-l);
  letter-spacing: 0.12em;
}
.rating-band__score {
  font-family: var(--heading-font-family);
  font-size: var(--text-xl);
  font-weight: 800;
}
.rating-band__count {
  color: var(--text-light-muted);
}
.rating-band__link {
  color: var(--text-light);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.25em;
  &:hover { text-decoration-thickness: 2px; }
}