:root {
  --faq-paper: #f5f2e9;
  --faq-ink: #161712;
  --faq-muted: #6b6d63;
  --faq-line: #c8c7bb;
  --faq-accent: #d4ff45;
  --faq-dark: #20231b;
  --faq-gutter: clamp(1.25rem, 6vw, 7rem);
  --faq-max: 1680px;
}

body {
  background: var(--faq-paper);
  color: var(--faq-ink);
  font-family: Arial, sans-serif;
}

body > header[data-homepage-region="01-utility-header"] {
  position: relative;
  z-index: 5;
  min-height: 103px;
  background: var(--faq-paper);
  color: var(--faq-ink);
}

body > header[data-homepage-region="01-utility-header"] > [data-homepage-region-content] {
  background: var(--faq-paper);
}

.faq-page {
  width: min(100%, var(--faq-max));
  margin-inline: auto;
  padding-inline: var(--faq-gutter);
}

.faq-page h1,
.faq-page h2,
.faq-page p {
  margin: 0;
}

.faq-page h1,
.faq-page h2 {
  font-family: Impact, "Arial Black", Arial, sans-serif;
  font-weight: 900;
  letter-spacing: -.055em;
  line-height: .84;
  text-transform: uppercase;
}

.faq-page p,
.faq-page summary,
.faq-page a,
.faq-page span {
  font-family: Arial, sans-serif;
}

.faq-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(250px, .75fr);
  align-items: end;
  gap: clamp(2rem, 8vw, 10rem);
  min-height: min(650px, 58vw);
  padding: clamp(5rem, 10vw, 10rem) 0 clamp(4rem, 8vw, 8rem);
  border-bottom: 1px solid var(--faq-line);
}

.faq-eyebrow,
.faq-section__label,
.faq-points span,
.faq-hero__number {
  color: var(--faq-muted);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .13em;
  line-height: 1.25;
  text-transform: uppercase;
}

.faq-hero h1 {
  max-width: 850px;
  margin-top: 1.25rem;
  font-size: clamp(5rem, 14vw, 14rem);
}

.faq-hero__intro {
  max-width: 36rem;
  margin-top: clamp(2rem, 5vw, 5rem) !important;
  font-size: clamp(1.15rem, 1.8vw, 1.8rem);
  line-height: 1.22;
}

.faq-hero__aside {
  max-width: 22rem;
  padding: 0 0 1.5rem 1.5rem;
  border-left: 1px solid var(--faq-line);
}

.faq-hero__aside p {
  margin-top: 2rem;
  font-size: 1rem;
  line-height: 1.45;
}

.faq-section {
  display: grid;
  grid-template-columns: minmax(180px, .45fr) minmax(0, 1.55fr);
  gap: clamp(2rem, 8vw, 10rem);
  padding: clamp(4.5rem, 9vw, 10rem) 0;
  border-bottom: 1px solid var(--faq-line);
}

.faq-section__label {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
}

.faq-section__label span:last-child {
  writing-mode: vertical-rl;
}

.faq-section__body {
  min-width: 0;
  max-width: 70rem;
}

.faq-section h2 {
  font-size: clamp(3.5rem, 8vw, 8.5rem);
}

.faq-section__body > p {
  max-width: 42rem;
  margin-top: clamp(2rem, 4vw, 4rem);
  font-size: clamp(1.05rem, 1.4vw, 1.4rem);
  line-height: 1.45;
}

.faq-section--intro .faq-section__body,
.faq-section--planning .faq-section__body,
.faq-section--access .faq-section__body,
.faq-section--responsible .faq-section__body {
  padding-bottom: 1rem;
}

.faq-section--questions {
  background: var(--faq-dark);
  color: var(--faq-paper);
  margin-inline: calc(var(--faq-gutter) * -1);
  padding-inline: var(--faq-gutter);
}

.faq-section--questions .faq-section__label,
.faq-section--questions .faq-hero__number {
  color: #b8c1ab;
}

.faq-list {
  max-width: 60rem;
  margin-top: clamp(2.5rem, 5vw, 5rem);
  border-top: 1px solid rgb(245 242 233 / 35%);
}

.faq-list details {
  border-bottom: 1px solid rgb(245 242 233 / 35%);
}

.faq-list summary {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  padding: 1.5rem 0;
  color: inherit;
  cursor: pointer;
  font-size: clamp(1.05rem, 1.7vw, 1.7rem);
  font-weight: 700;
  list-style: none;
}

.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; color: var(--faq-accent); font-size: 1.8rem; font-weight: 400; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { max-width: 45rem; padding: 0 3rem 1.75rem 0; color: #d9ddcf; font-size: 1rem; line-height: 1.5; }

.faq-points {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  max-width: 58rem;
  margin-top: clamp(2.5rem, 5vw, 5rem);
  padding-top: 1.25rem;
  border-top: 1px solid var(--faq-line);
}

.faq-text-link,
.faq-actions a {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  color: var(--faq-ink);
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
}

.faq-text-link { margin-top: 2rem; border-bottom: 1px solid currentColor; padding-bottom: .4rem; }
.faq-text-link:hover, .faq-text-link:focus-visible, .faq-actions a:hover, .faq-actions a:focus-visible { color: #587000; }

.faq-section--more {
  border-bottom: 0;
  background: var(--faq-accent);
  margin-inline: calc(var(--faq-gutter) * -1);
  padding-inline: var(--faq-gutter);
}

.faq-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
}

.faq-actions a {
  padding: 1rem 1.25rem;
  border: 1px solid var(--faq-ink);
}

.faq-actions a::after { content: "↗"; font-size: 1.2rem; }

.site-footer nav a { color: inherit; text-decoration: none; }

.cookie-settings-control {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 999;
  min-height: 2.75rem;
  padding: .6rem 1rem;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: var(--faq-paper);
  color: var(--faq-ink);
  cursor: pointer;
  font: inherit;
}

.cookie-consent[hidden] { display: none; }
.cookie-consent__banner { position: fixed; inset: auto 0 0; z-index: 1000; display: flex; align-items: center; gap: 1.5rem; padding: 1.25rem var(--faq-gutter); background: #1b1012; color: #fff; box-shadow: 0 -1rem 3rem rgb(0 0 0 / 18%); }
.cookie-consent__banner h2, .cookie-consent__panel h2 { margin: 0; font-size: 1rem; }
.cookie-consent__banner p { max-width: 38rem; margin: .4rem 0 0; line-height: 1.4; }
.cookie-consent__banner > div { display: flex; flex-wrap: wrap; gap: .6rem; margin-left: auto; }
.cookie-consent button { min-height: 2.75rem; padding: .6rem 1rem; border: 1px solid currentColor; border-radius: 999px; background: transparent; color: inherit; cursor: pointer; font: inherit; }
.cookie-consent button:first-child { background: var(--faq-accent); color: #1b1012; }
.cookie-consent__panel { position: fixed; right: 1rem; bottom: 1rem; z-index: 1001; max-width: 24rem; padding: 1.5rem; background: #1b1012; color: #fff; box-shadow: 0 1rem 3rem rgb(0 0 0 / 28%); }
.cookie-consent__panel p { margin: .75rem 0 1rem; line-height: 1.4; }
.cookie-consent__panel button + button { margin-left: .5rem; }

@media (max-width: 760px) {
  .faq-hero { grid-template-columns: 1fr; min-height: 0; gap: 3rem; padding-top: 4rem; }
  .faq-hero h1 { font-size: clamp(4.5rem, 21vw, 8rem); }
  .faq-hero__aside { max-width: none; }
  .faq-section { grid-template-columns: 1fr; gap: 2rem; padding-block: 4.5rem; }
  .faq-section__label { justify-content: flex-start; gap: 1.5rem; }
  .faq-section__label span:last-child { writing-mode: initial; }
  .faq-section h2 { font-size: clamp(3.5rem, 16vw, 6.5rem); }
  .faq-points { grid-template-columns: 1fr; gap: .75rem; }
  .cookie-consent__banner { display: block; padding: 1rem; }
  .cookie-consent__banner > div { margin-top: 1rem; }
  .cookie-consent button { flex: 1 1 auto; }
}

@media (max-width: 420px) {
  .faq-page { padding-inline: 1rem; }
  .faq-section--questions, .faq-section--more { margin-inline: -1rem; padding-inline: 1rem; }
  .faq-actions { display: grid; }
  .faq-actions a { justify-content: space-between; }
  .cookie-settings-control { right: .75rem; bottom: .75rem; }
}

/* maint-overflow-fix */
h1,h2{overflow-wrap:anywhere;}
@media (max-width:760px){
.faq-section h2{font-size:clamp(2.4rem,11vw,3.8rem);}
}
