/* Tailwind v4 site stylesheet. Single source of truth for design + custom CSS.
 *
 * At draft time, this is read inline into a <style type="text/tailwindcss"> block.
 * At publish time, the Tailwind CLI compiles this file (plus templates) into
 * dist/styles.css. Every directive works here: @theme, @layer, @utility,
 * @apply, @keyframes, plus plain CSS. Do NOT write <style> blocks in PHP
 * templates for theme CSS — put it here so it lands in the compiled bundle.
 *
 * functions.php also parses the @theme block at runtime to register the
 * palette + font sizes with Gutenberg via add_theme_support().
 *
 * Conventions:
 *   1. @theme: tokens only (--color-*, --font-*, --text-*, --radius-*). No
 *      selectors, no @apply. Tokens auto-generate matching utilities.
 *   2. Plain CSS: outside @theme, inside @layer. Prefer utility classes in
 *      templates first; only write CSS here when utilities cannot express it.
 *      @layer base { h1 { font-size: var(--text-2xl); } }
 *      @layer components { .card { padding: --spacing(6); } }
 *   3. New reusable utilities: prefer @utility over @apply.
 *      @utility content-auto { content-visibility: auto; }
 *   4. Custom web fonts: load via <link> in template-parts/head.php, then
 *      reference here via --font-*.
 *
 * Token naming (Tailwind v4):
 *   --color-{slug}        → bg-{slug}, text-{slug}, border-{slug}
 *   --color-{slug}-{NN}   → numeric shades (skipped in the Gutenberg palette)
 *   --font-{slug}         → font-{slug}
 *   --text-{slug}         → text-{slug}
 *   --radius-{slug}       → rounded-{slug}
 */

@theme {
	--color-primary: #2563eb;
	--color-primary-50:  #eff6ff;
	--color-primary-100: #dbeafe;
	--color-primary-500: #3b82f6;
	--color-primary-600: #2563eb;
	--color-primary-700: #1d4ed8;
	--color-primary-900: #1e3a8a;

	--color-secondary: #475569;
	--color-secondary-50:  #f8fafc;
	--color-secondary-100: #f1f5f9;
	--color-secondary-200: #e2e8f0;
	--color-secondary-300: #cbd5e1;
	--color-secondary-500: #64748b;
	--color-secondary-600: #475569;
	--color-secondary-700: #334155;
	--color-secondary-900: #0f172a;

	--color-neutral: #171717;
	--color-background: #ffffff;

	--font-sans:  system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--font-serif: Georgia, "Times New Roman", serif;
	--font-mono:  ui-monospace, "SF Mono", Menlo, monospace;

	--text-sm:   0.875rem;
	--text-base: 1rem;
	--text-lg:   1.125rem;
	--text-xl:   1.25rem;
	--text-2xl:  1.5rem;
	--text-3xl:  1.875rem;
	--text-4xl:  2.25rem;
	--text-5xl:  3rem;
}

/* Element-level defaults. Reach for utility classes in templates first; put
 * a rule here only when the same styling needs to apply across every instance
 * of an element (e.g. body font features). Keep this layer small. */
@layer base {
	/* body { font-feature-settings: "ss01", "ss02"; } */
}

/* Reusable component classes. Use for compound patterns that recur and need
 * a name (e.g. .card, .hero-heading, .divider). Reference tokens via var();
 * @apply works but is finicky — prefer var() + utility classes in templates. */
@layer components {
	/* .hero-heading em { font-style: italic; color: var(--color-primary); } */
}

/* GEKEURD local pages: deliberately scoped to the local landing-page wrapper. */
.gk-local-landing {
  --gkl-ink: #173b31;
  --gkl-body: #3d4c43;
  --gkl-muted: #617067;
  --gkl-sage: #79ad89;
  --gkl-paper: #f7f6f0;
  --gkl-tint: #eaf0e7;
  --gkl-line: #d8dfd4;
  --gkl-radius: 14px;
  background: var(--gkl-paper);
  color: var(--gkl-body);
  font-size: 1.08rem;
  line-height: 1.75;
  overflow-wrap: break-word;
}
.gk-local-landing *,
.gk-local-landing *::before,
.gk-local-landing *::after { box-sizing: border-box; }
.gk-local-landing [hidden] { display: none !important; }
.gk-local-landing .gk-wrap { width: min(1200px, calc(100% - 80px)); margin-inline: auto; }
.gk-local-landing h1,
.gk-local-landing h2,
.gk-local-landing h3 { color: var(--gkl-ink); line-height: 1.16; letter-spacing: -.035em; text-wrap: balance; }
.gk-local-landing h1 { max-width: 20ch; margin: 16px 0 24px; font-size: clamp(2.05rem, 3.5vw, 3rem); }
.gk-local-landing h2 { margin: 0 0 22px; font-size: clamp(1.65rem, 2.4vw, 2.3rem); }
.gk-local-landing h3 { margin: 0 0 12px; font-size: 1.3rem; }
.gk-local-landing p { margin: 0 0 20px; }
.gk-local-landing a { color: var(--gkl-ink); text-underline-offset: .2em; }
.gk-local-landing a:hover { text-decoration-thickness: 2px; }
.gk-local-landing :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #38764b;
  outline-offset: 4px;
}
.gk-local-landing .gk-local-eyebrow {
  display: block;
  margin-bottom: 16px;
  color: #416450;
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.gk-local-landing .gk-local-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(300px, .85fr);
  align-items: center;
  gap: clamp(32px, 5.5vw, 80px);
  padding-block: clamp(48px, 6vw, 88px);
}
.gk-local-landing .gk-local-hero > * { min-width: 0; }
.gk-local-landing .gk-local-lead { max-width: 56ch; color: var(--gkl-muted); font-size: 1.14rem; line-height: 1.75; }
.gk-local-landing .gk-local-proof {
  display: grid;
  gap: 10px;
  margin: 26px 0;
  padding: 0;
  list-style: none;
  font-size: .96rem;
  line-height: 1.6;
}
.gk-local-landing .gk-local-proof li { position: relative; margin: 0; padding-left: 28px; }
.gk-local-landing .gk-local-proof li::before { content: "✓"; position: absolute; top: 0; left: 0; color: #42714f; font-weight: 700; }
.gk-local-landing .gk-local-quicklinks { display: none; }
/* Compact project card, with optional detailed worksite information. */
.gk-local-landing .gk-local-context.gk-local-project-note { padding: 32px; border: 1px solid #d8dfd4; border-radius: 12px; background: #fff; }
.gk-local-landing .gk-local-project-note h2 { margin-bottom: 18px; font-size: clamp(1.55rem,2.2vw,2rem); max-width: 25ch; }
.gk-local-landing .gk-local-project-lead { max-width: 61ch; color: #48594e; font-size: 1rem; line-height: 1.75; }
.gk-local-landing .gk-local-project-action { margin: 24px 0; }
.gk-local-landing .gk-local-worksite { border-top: 1px solid #dce3d7; }
.gk-local-landing .gk-local-worksite > summary { position: relative; display: block; min-height: 50px; padding: 16px 32px 8px 0; color: #4b6753; font-size: .83rem; line-height: 1.5; font-weight: 600; list-style: none; cursor: pointer; }
.gk-local-landing .gk-local-worksite > summary::-webkit-details-marker { display: none; }
.gk-local-landing .gk-local-worksite > summary::marker { content: ""; }
.gk-local-landing .gk-local-worksite > summary::before,
.gk-local-landing .gk-local-worksite > summary::after { content: ""; position: absolute; right: 4px; top: 24px; width: 12px; height: 2px; background: #4b6753; border-radius: 2px; }
.gk-local-landing .gk-local-worksite > summary::after { transform: rotate(90deg); transition: transform .18s ease; }
.gk-local-landing .gk-local-worksite[open] > summary::after { transform: rotate(0); }
.gk-local-landing .gk-local-worksite > div { padding-top: 18px; font-size: .88rem; line-height: 1.75; color: #526357; }
.gk-local-landing .gk-local-worksite p:last-child { margin-bottom: 0; }
@media (max-width: 520px) {
  .gk-local-landing .gk-local-context.gk-local-project-note { padding: 24px 20px; }
  .gk-local-landing .gk-local-project-note h2 { font-size: 1.6rem; }
  .gk-local-landing .gk-local-project-action .gk-button { width: 100%; padding-inline: 15px; font-size: .9rem; }
}

/* One compact, accessible section navigator for all local landing pages. */
.gk-local-landing .gk-local-quicklinks { display: none; }
.gk-local-landing .gk-local-toc {
  margin: 10px 0 34px;
  border: 1px solid #ced9cd;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 6px 22px rgb(23 59 49 / 4%);
  overflow: clip;
}
.gk-local-landing .gk-local-toc > summary {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 88px;
  padding: 18px 22px;
  color: var(--gkl-ink);
  list-style: none;
  cursor: pointer;
}
.gk-local-landing .gk-local-toc > summary::-webkit-details-marker { display: none; }
.gk-local-landing .gk-local-toc > summary::marker { content: ""; }
.gk-local-landing .gk-local-toc > summary:hover { background: #f4f7f0; }
.gk-local-landing .gk-local-toc > summary:focus-visible { outline-offset: -4px; border-radius: 12px; }
.gk-local-landing .gk-local-toc-mark {
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: #eaf0e7;
  color: #315c45;
}
.gk-local-landing .gk-local-toc-label { display: grid; gap: 3px; min-width: 0; }
.gk-local-landing .gk-local-toc-label strong { font-size: 1.06rem; font-weight: 650; line-height: 1.4; letter-spacing: -.015em; }
.gk-local-landing .gk-local-toc-label > span { color: #5f6d63; font-size: .79rem; line-height: 1.5; }
.gk-local-landing .gk-local-toc-toggle { position: relative; flex: 0 0 18px; width: 18px; height: 18px; margin-left: auto; }
.gk-local-landing .gk-local-toc-toggle::before,
.gk-local-landing .gk-local-toc-toggle::after { content: ""; position: absolute; top: 8px; left: 2px; width: 14px; height: 2px; border-radius: 2px; background: #315c45; }
.gk-local-landing .gk-local-toc-toggle::after { transform: rotate(90deg); transition: transform .18s ease; }
.gk-local-landing .gk-local-toc[open] .gk-local-toc-toggle::after { transform: rotate(0); }
.gk-local-landing .gk-local-toc[open] > summary { border-bottom: 1px solid #e0e7dc; }
.gk-local-landing .gk-local-toc-body { padding: 14px 18px 16px; }
.gk-local-landing .gk-local-toc .wp-block-rank-math-toc-block { margin: 0; padding: 0; border: 0; background: none; }
.gk-local-landing .gk-local-toc nav ul { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; counter-reset: gk-topic; }
.gk-local-landing .gk-local-toc nav li { display: flex; margin: 0; min-width: 0; counter-increment: gk-topic; }
.gk-local-landing .gk-local-toc nav li > a { width: 100%; height: 100%; }
.gk-local-landing .gk-local-toc nav a {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 64px;
  padding: 12px;
  border: 1px solid #e1e8dc;
  border-radius: 7px;
  background: #f4f7f0;
  color: #173b31;
  font-size: .86rem;
  font-weight: 600;
  line-height: 1.5;
  text-decoration: none;
}
.gk-local-landing .gk-local-toc nav a::before { content: "0" counter(gk-topic); flex: 0 0 22px; color: #52745b; font-size: .72rem; font-weight: 600; }
.gk-local-landing .gk-local-toc nav a:hover { border-color: #91ad92; background: #eaf0e7; }
.gk-local-landing .gk-local-toc-tariff { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 48px; margin-top: 10px; padding: 10px 12px; border-top: 1px solid #e0e7dc; font-size: .86rem; font-weight: 600; text-decoration: none; }
.gk-local-landing .gk-local-toc-tariff:hover { text-decoration: underline; }
.gk-local-landing :is(#aanbod, #locatie, #project) { scroll-margin-top: 144px; }
.gk-local-landing .gk-local-main #aanbod { margin: 0 0 22px; font-size: 1.2rem; line-height: 1.4; letter-spacing: -.015em; }
@media (max-width: 800px) {
  .gk-local-landing .gk-local-toc nav ul { grid-template-columns: minmax(0,1fr); }
  .gk-local-landing .gk-local-toc nav a { min-height: 50px; }
  .gk-local-landing :is(#aanbod, #locatie, #project) { scroll-margin-top: 116px; }
}
@media (max-width: 520px) {
  .gk-local-landing .gk-local-toc { margin: 0 0 30px; border-radius: 10px; }
  .gk-local-landing .gk-local-toc > summary { gap: 11px; padding: 16px; min-height: 82px; }
  .gk-local-landing .gk-local-toc-mark { flex-basis: 36px; width: 36px; height: 36px; border-radius: 8px; }
  .gk-local-landing .gk-local-toc-label strong { font-size: 1rem; }
  .gk-local-landing .gk-local-toc-label > span { font-size: .75rem; }
  .gk-local-landing .gk-local-toc-body { padding: 12px; }
}

.gk-local-landing .gk-button,
.gk-local-landing .gk-local-contact button[type="submit"] {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 13px 23px;
  border: 1px solid var(--gkl-ink);
  border-radius: 4px;
  background: var(--gkl-ink);
  color: #fff;
  font: inherit;
  font-size: .96rem;
  font-weight: 650;
  line-height: 1.45;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease;
}
.gk-local-landing .gk-button:hover,
.gk-local-landing .gk-local-contact button[type="submit"]:hover { border-color: #2b5544; background: #2b5544; }
.gk-local-landing .gk-button--secondary { border-color: var(--gkl-line); background: transparent; color: var(--gkl-ink); }
.gk-local-landing .gk-button--secondary:hover { border-color: #95aa98; background: var(--gkl-tint); color: var(--gkl-ink); }
.gk-local-landing .gk-local-image { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--gkl-radius); }
.gk-local-landing figure.gk-local-image { overflow: hidden; margin: 0; height: auto; aspect-ratio: auto; background: #edf1e9; }
.gk-local-landing figure.gk-local-image img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.gk-local-landing figure.gk-local-image figcaption { padding: 12px 16px; font-size: .75rem; line-height: 1.5; color: #526456; }
.gk-local-landing .gk-local-small { font-size: .84rem; line-height: 1.65; color: var(--gkl-muted); }
.gk-local-landing .gk-local-sidebar { display: grid; gap: 24px; padding-top: 48px; }
.gk-local-landing .gk-local-sidebar h2 { font-size: 1.55rem; }
.gk-local-landing .gk-local-location strong, .gk-local-landing .gk-local-location > span { display:block; }
.gk-local-landing .gk-local-location > span { font-size: .78rem; color: var(--gkl-muted); }
.gk-local-landing table { width:100%; border-collapse: collapse; font-size: .92rem; margin-block: 26px; }
.gk-local-landing th, .gk-local-landing td { padding: 16px 12px; text-align:left; vertical-align:top; border-bottom:1px solid var(--gkl-line); }
.gk-local-landing th { background:var(--gkl-tint); color:var(--gkl-ink); }
.gk-local-landing .gk-local-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 320px); align-items: start; gap: 64px; padding-bottom: 64px; }
.gk-local-landing .gk-local-layout > * { min-width: 0; }
.gk-local-landing .wp-block-group__inner-container { display: contents; }
.gk-local-landing .gk-local-section { padding-block: 48px; border-top: 1px solid var(--gkl-line); scroll-margin-top: 120px; }
.gk-local-landing .gk-local-section > :last-child { margin-bottom: 0; }
.gk-local-landing .gk-local-section .gk-prose { max-width: 74ch; }
.gk-local-landing .gk-local-section ul:not([class]),
.gk-local-landing .gk-local-section ol:not([class]) { margin: 20px 0 26px; padding-left: 24px; }
.gk-local-landing .gk-local-section li + li { margin-top: 8px; }
.gk-local-landing .gk-local-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 26px 0; }
.gk-local-landing .gk-local-card { position: relative; display: flex; flex-direction: column; gap: 10px; min-width: 0; padding: 26px; border: 1px solid var(--gkl-line); border-radius: var(--gkl-radius); background: #fff; }
.gk-local-landing .gk-local-card h3 { margin-bottom: 2px; }
.gk-local-landing .gk-local-card p { margin: 0; font-size: .98rem; }
.gk-local-landing .gk-local-card > a:last-child { align-self: flex-start; margin-top: auto; padding-top: 12px; font-size: .94rem; font-weight: 650; }
.gk-local-landing .gk-local-card > svg { width: 28px; height: 28px; margin-bottom: 10px; color: #507c5d; }
.gk-local-landing figure.gk-local-card { margin: 0; padding: 0; overflow: hidden; }
.gk-local-landing figure.gk-local-card img { width:100%; height:auto; aspect-ratio: 3 / 2; object-fit:cover; }
.gk-local-landing figure.gk-local-card figcaption { padding: 18px; font-size:.9rem; line-height:1.5; }
.gk-local-landing .gk-local-context { padding: 28px; border-left: 3px solid var(--gkl-sage); border-radius: 0 var(--gkl-radius) var(--gkl-radius) 0; background: var(--gkl-tint); }
.gk-local-landing .gk-local-context p:last-child { margin-bottom: 0; }
.gk-local-landing .gk-local-contact { padding: 30px; border: 1px solid #cfd9ca; border-radius: var(--gkl-radius); background: var(--gkl-tint); }
.gk-local-landing .gk-local-contact h2 { font-size: 1.65rem; }
.gk-local-landing .gk-local-contact p { font-size: .97rem; }
.gk-local-landing .gk-local-contact label { display: block; margin: 18px 0 7px; color: var(--gkl-ink); font-size: .92rem; font-weight: 650; }
.gk-local-landing .gk-local-contact :where(input:not([type="hidden"]), select, textarea),
.gk-local-landing .gk-local-search {
  display: block;
  width: 100%;
  min-height: 50px;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid #aebdac;
  border-radius: 5px;
  background: #fff;
  color: var(--gkl-ink);
  font: inherit;
  font-size: 1rem;
  line-height: 1.5;
}
.gk-local-landing .gk-local-contact select { padding-right: 36px; }
.gk-local-landing .gk-local-contact :where(input, textarea)::placeholder,
.gk-local-landing .gk-local-search::placeholder { color: #69766b; opacity: 1; }
.gk-local-landing .gk-local-contact button[type="submit"] { width: 100%; margin-top: 22px; }
.gk-local-landing .gk-local-contact small { display: block; margin-top: 14px; color: #576b5b; font-size: .8rem; line-height: 1.6; }
.gk-local-landing .gk-local-contact a[href^="tel:"] { white-space: nowrap; }
.gk-local-landing .gk-local-directory { padding-block: 48px 64px; }
.gk-local-landing .gk-local-directory .gk-local-search { max-width: 580px; margin-block: 12px; }
.gk-local-landing [data-gk-location-count] { display: block; min-height: 24px; margin-bottom: 24px; color: var(--gkl-muted); font-size: .88rem; }
.gk-local-landing .gk-local-province,
.gk-local-landing .gk-local-faq { margin: 0 0 12px; border: 1px solid var(--gkl-line); border-radius: 8px; background: #fff; }
.gk-local-landing :where(.gk-local-province, .gk-local-faq) > summary {
  position: relative;
  display: block;
  min-height: 64px;
  padding: 20px 58px 20px 22px;
  border-radius: 8px;
  color: var(--gkl-ink);
  font-size: 1.02rem;
  font-weight: 650;
  line-height: 1.5;
  list-style: none;
  cursor: pointer;
}
.gk-local-landing :where(.gk-local-province, .gk-local-faq) > summary::-webkit-details-marker { display: none; }
.gk-local-landing :where(.gk-local-province, .gk-local-faq) > summary::before,
.gk-local-landing :where(.gk-local-province, .gk-local-faq) > summary::after { content: ""; position: absolute; top: calc(50% - 1px); right: 25px; width: 14px; height: 2px; border-radius: 2px; background: #416450; }
.gk-local-landing :where(.gk-local-province, .gk-local-faq) > summary::after { transform: rotate(90deg); transition: transform .18s ease; }
.gk-local-landing :where(.gk-local-province, .gk-local-faq)[open] > summary::after { transform: rotate(0deg); }
.gk-local-landing :where(.gk-local-province, .gk-local-faq)[open] > summary { border-bottom: 1px solid var(--gkl-line); border-radius: 8px 8px 0 0; background: #f1f5ed; }
.gk-local-landing .gk-local-province > :not(summary) { margin: 0; padding: 20px 22px; }
.gk-local-landing .gk-local-province > :where(div, ul) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 18px; list-style: none; }
.gk-local-landing .gk-local-province li { min-width: 0; margin: 0; }
.gk-local-landing .gk-local-location { display: block; padding-block: 8px; font-size: .96rem; line-height: 1.5; }
.gk-local-landing .gk-local-faq > :not(summary) { margin: 0; padding: 20px 22px; font-size: .99rem; }
.gk-local-landing .gk-local-faq > div > :last-child { margin-bottom: 0; }
@media (min-width: 1200px) {
  .gk-local-landing .gk-local-section:only-child .gk-local-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1000px) {
  .gk-local-landing .gk-local-layout { grid-template-columns: minmax(0, 1fr) minmax(250px, 290px); gap: 32px; }
  .gk-local-landing .gk-local-hero { gap: 32px; grid-template-columns: minmax(0, 1.2fr) minmax(270px, 1fr); }
  .gk-local-landing .gk-local-card { padding: 22px; }
  .gk-local-landing .gk-local-contact { padding: 24px; }
}
@media (max-width: 800px) {
  .gk-local-landing .gk-wrap { width: calc(100% - 44px); }
  .gk-local-landing .gk-local-hero { grid-template-columns: minmax(0, 1fr); align-items: start; gap: 30px; padding-block: 42px 44px; }
  .gk-local-landing h1 { max-width: 23ch; }
  .gk-local-landing .gk-local-hero .gk-local-image { max-height: 340px; }
  .gk-local-landing .gk-local-layout { grid-template-columns: minmax(0, 1fr); gap: 10px; padding-bottom: 40px; }
  .gk-local-landing .gk-local-layout > aside { order: 2; }
  .gk-local-landing .gk-local-section { padding-block: 36px; }
  .gk-local-landing .gk-local-province > :where(div, ul) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .gk-local-landing { font-size: 1.03rem; line-height: 1.7; }
  .gk-local-landing .gk-wrap { width: calc(100% - 36px); }
  .gk-local-landing h1 { margin-block: 12px 20px; font-size: clamp(1.95rem, 7.4vw, 2.55rem); }
  .gk-local-landing h2 { font-size: 1.7rem; }
  .gk-local-landing .gk-local-lead { font-size: 1.07rem; }
  .gk-local-landing .gk-local-eyebrow { font-size: .72rem; letter-spacing: .1em; }
  .gk-local-landing .gk-local-cards { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .gk-local-landing .gk-local-card,
  .gk-local-landing .gk-local-context,
  .gk-local-landing .gk-local-contact { padding: 22px; }
  .gk-local-landing .gk-local-quicklinks { gap: 16px; align-items: stretch; }
  .gk-local-landing .gk-local-quicklinks .gk-button { width: 100%; }
  .gk-local-landing .gk-local-province > :where(div, ul) { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .gk-local-landing :where(.gk-local-province, .gk-local-faq) > summary { padding-left: 18px; }
  .gk-local-landing .gk-local-province > :not(summary),
  .gk-local-landing .gk-local-faq > :not(summary) { padding: 16px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .gk-local-landing *,
  .gk-local-landing *::before,
  .gk-local-landing *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}

