

:root {
  --color-page-background: #fafafc;
  --color-surface-primary: #ffffff;
  --color-ink-primary: #090a0f;
  --color-ink-secondary: #4b5563;
  --color-line-subtle: #d9dde7;
  --color-accent-blue: #2563eb;
  --color-accent-blue-soft: #eaf1ff;
  --color-status-success: #16704a;
  --color-status-error: #b42318;

  --font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-heading: Manrope, Inter, ui-sans-serif, system-ui, sans-serif;

  --font-size-body: 1rem;
  --font-size-body-large: 1.1875rem;
  --font-size-small: 0.8125rem;
  --font-size-nav: 0.9375rem;

  --line-height-body: 1.55;
  --line-height-heading: 1.15;

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;

  --radius-none: 0;
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;

  --border-width: 1px;
  --border-subtle: var(--border-width) solid var(--color-line-subtle);

  --shadow-overlay: 0 12px 32px rgba(9, 10, 15, 0.1);

  --container-max: 73.75rem;
  --container-padding: 2rem;

  --transition-fast: 160ms ease;
  --transition-base: 200ms ease;
}

@media (max-width: 900px) {
  :root {
    --container-padding: 1.5rem;
  }
}

@media (max-width: 640px) {
  :root {
    --container-padding: 1rem;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  min-width: 320px;
  background: var(--color-page-background);
  color: var(--color-ink-primary);
  font-family: var(--font-body);
  font-size: 100%;
  line-height: var(--line-height-body);
  scroll-behavior: smooth;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  overflow-x: hidden;
  background: var(--color-page-background);
  color: var(--color-ink-primary);
  font-family: var(--font-body);
  font-size: var(--font-size-body);
  font-weight: 400;
  line-height: var(--line-height-body);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

main,
header,
footer,
section,
article,
aside,
nav,
figure,
form,
fieldset,
details {
  min-width: 0;
}

img,
picture,
svg,
canvas,
video,
iframe,
embed,
object {
  display: block;
  max-width: 100%;
}

img,
video {
  height: auto;
}

img {
  border-style: none;
}

svg {
  fill: currentColor;
}

a {
  color: var(--color-accent-blue);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
  transition: color var(--transition-fast), text-decoration-color var(--transition-fast);
}

a:hover {
  color: var(--color-ink-primary);
}

a:not([class]) {
  text-decoration-color: currentColor;
}

button,
input,
select,
textarea {
  margin: 0;
  border: 0;
  border-radius: 0;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
}

button,
select {
  text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
  -webkit-appearance: button;
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

textarea {
  min-height: 7.5rem;
  resize: vertical;
}

select {
  background-color: var(--color-surface-primary);
}

input,
select,
textarea {
  width: 100%;
  min-width: 0;
}

input[type="checkbox"],
input[type="radio"] {
  width: auto;
  accent-color: var(--color-accent-blue);
}

input[type="search"] {
  appearance: none;
  -webkit-appearance: none;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
  appearance: none;
  -webkit-appearance: none;
}

::placeholder {
  color: var(--color-ink-secondary);
  opacity: 1;
}

:focus-visible {
  outline: 2px solid var(--color-accent-blue);
  outline-offset: 2px;
}

::selection {
  background: var(--color-accent-blue-soft);
  color: var(--color-ink-primary);
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
dl,
blockquote,
figure,
pre,
table {
  margin-top: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-bottom: var(--space-4);
  color: var(--color-ink-primary);
  font-family: var(--font-heading);
  font-style: normal;
  font-weight: 700;
  overflow-wrap: break-word;
  text-wrap: balance;
}

h1 {
  font-size: clamp(2.25rem, 4.5vw, 3.75rem);
  line-height: 1.08;
  letter-spacing: -0.04em;
}

h2 {
  font-size: clamp(1.875rem, 3vw, 2.75rem);
  line-height: 1.12;
  letter-spacing: -0.03em;
}

h3 {
  font-size: clamp(1.375rem, 2vw, 1.875rem);
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

h4 {
  font-size: 1.25rem;
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: -0.015em;
}

h5,
h6 {
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.35;
  letter-spacing: -0.01em;
}

p {
  margin-bottom: var(--space-4);
  color: inherit;
  overflow-wrap: break-word;
}

ul,
ol {
  margin-bottom: var(--space-4);
  padding-left: 1.25rem;
}

ul {
  list-style: none !important;
  padding-left: 0;
}

ol {
  list-style: decimal;
}

blockquote {
  margin-right: 0;
  margin-bottom: var(--space-5);
  margin-left: 0;
  padding: var(--space-4) 0 var(--space-4) var(--space-5);
  border-left: 2px solid var(--color-accent-blue);
  color: var(--color-ink-secondary);
  font-size: var(--font-size-body-large);
}

dl {
  margin-bottom: var(--space-4);
}

dt {
  font-weight: 600;
}

dd {
  margin: 0 0 var(--space-3);
  color: var(--color-ink-secondary);
}

hr {
  height: 1px;
  margin: var(--space-6) 0;
  border: 0;
  background: var(--color-line-subtle);
}

small {
  font-size: var(--font-size-small);
  line-height: 1.35;
}

strong,
b {
  font-weight: 700;
}

em,
i {
  font-style: italic;
}

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

code,
kbd {
  padding: 0.1em 0.35em;
  border-radius: var(--radius-sm);
  background: var(--color-accent-blue-soft);
  font-size: 0.9em;
}

pre {
  margin-bottom: var(--space-5);
  padding: var(--space-4);
  overflow: auto;
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
}

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  margin-bottom: var(--space-2);
  color: var(--color-ink-secondary);
  text-align: left;
}

th,
td {
  padding: var(--space-3) var(--space-4);
  border-bottom: var(--border-subtle);
  text-align: left;
  vertical-align: top;
}

th {
  font-weight: 650;
}

fieldset {
  margin: 0 0 var(--space-5);
  padding: 0;
  border: 0;
}

legend {
  margin-bottom: var(--space-3);
  padding: 0;
  font-family: var(--font-heading);
  font-weight: 650;
}

label {
  display: inline-block;
  margin-bottom: var(--space-2);
  color: var(--color-ink-primary);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.35;
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
  border: var(--border-subtle);
  border-radius: 0.625rem;
  background: var(--color-surface-primary);
  color: var(--color-ink-primary);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

input:not([type="checkbox"]):not([type="radio"]),
select {
  min-height: 3rem;
  padding: 0.75rem var(--space-3);
}

textarea {
  padding: 0.75rem var(--space-3);
}

input:not([type="checkbox"]):not([type="radio"]):hover,
select:hover,
textarea:hover {
  border-color: var(--color-accent-blue);
}

input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus,
textarea:focus {
  border-color: var(--color-accent-blue);
  outline: 2px solid var(--color-accent-blue);
  outline-offset: 2px;
}

input[aria-invalid="true"],
textarea[aria-invalid="true"],
select[aria-invalid="true"] {
  border-color: var(--color-status-error);
}

button,
.button {
  display: inline-flex;
  min-height: 2.75rem;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: 0.75rem var(--space-4);
  border: 1px solid var(--color-accent-blue);
  border-radius: 0.625rem;
  background: var(--color-accent-blue);
  color: #fff;
  font-family: var(--font-body);
  font-size: clamp(0.875rem, 1vw, 0.9375rem);
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition: border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);
}

button:hover,
.button:hover {
  border-color: var(--color-ink-primary);
  background: var(--color-ink-primary);
  color: #fff;
}

button:focus-visible,
.button:focus-visible {
  outline: 2px solid var(--color-accent-blue);
  outline-offset: 2px;
}

.button--secondary,
.button-secondary {
  border-color: var(--color-line-subtle);
  background: var(--color-surface-primary);
  color: var(--color-ink-primary);
}

.button--secondary:hover,
.button-secondary:hover {
  border-color: var(--color-accent-blue);
  background: var(--color-accent-blue-soft);
  color: var(--color-accent-blue);
}

.button--full {
  width: 100%;
}

.container {
  width: min(100%, calc(var(--container-max) + (var(--container-padding) * 2)));
  margin-inline: auto;
  padding-inline: var(--container-padding);
}

.section {
  padding-block: var(--space-9);
}

.section--compact {
  padding-block: var(--space-7);
}

.surface {
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
}

.card {
  min-width: 0;
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
}

.card > :last-child,
.surface > :last-child,
.panel > :last-child,
.stack > :last-child {
  margin-bottom: 0;
}

.panel {
  min-width: 0;
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
}

.panel--soft {
  border-color: transparent;
  background: var(--color-accent-blue-soft);
}

.panel--dark {
  border-color: var(--color-ink-primary);
  background: var(--color-ink-primary);
  color: #fff;
}

.panel--dark h1,
.panel--dark h2,
.panel--dark h3,
.panel--dark h4,
.panel--dark h5,
.panel--dark h6 {
  color: #fff;
}

.panel--dark p,
.panel--dark dd {
  color: rgba(255, 255, 255, 0.76);
}

.panel--dark a {
  color: #93b4ff;
}

.stack {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
}

.stack > * {
  min-width: 0;
}

.stack--compact {
  gap: var(--space-2);
}

.stack--loose {
  gap: var(--space-6);
}

.cluster {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
}

.cluster > * {
  min-width: 0;
}

.cluster--compact {
  gap: var(--space-2);
}

.cluster--spread {
  justify-content: space-between;
}

.media-frame {
  overflow: hidden;
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
}

.media-frame img,
.media-frame video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.media-frame--feature {
  aspect-ratio: 16 / 10;
}

.media-frame--card {
  aspect-ratio: 4 / 3;
}

.media-frame--square {
  aspect-ratio: 1;
}

.meta {
  color: var(--color-ink-secondary);
  font-size: var(--font-size-small);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.divider {
  height: 1px;
  border: 0;
  background: var(--color-line-subtle);
}

.notice {
  padding: var(--space-3) var(--space-4);
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  background: var(--color-accent-blue-soft);
  color: var(--color-ink-primary);
}

.notice--success {
  border-color: color-mix(in srgb, var(--color-status-success) 22%, transparent);
  background: color-mix(in srgb, var(--color-status-success) 10%, var(--color-surface-primary));
  color: var(--color-status-success);
}

.notice--error {
  border-color: color-mix(in srgb, var(--color-status-error) 22%, transparent);
  background: color-mix(in srgb, var(--color-status-error) 8%, var(--color-surface-primary));
  color: var(--color-status-error);
}

.nav-toggle {
  display: inline-flex;
  min-width: 2.75rem;
  min-height: 2.75rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  padding: var(--space-2);
  border: var(--border-subtle);
  border-radius: 0.625rem;
  background: var(--color-surface-primary);
  color: var(--color-ink-primary);
}

.nav-toggle:hover {
  border-color: var(--color-accent-blue);
  background: var(--color-accent-blue-soft);
  color: var(--color-accent-blue);
}

@media (max-width: 900px) {
  .section {
    padding-block: var(--space-8);
  }

  .section--compact {
    padding-block: var(--space-6);
  }
}

@media (max-width: 640px) {
  .section {
    padding-block: var(--space-7);
  }

  .section--compact {
    padding-block: var(--space-5);
  }

  .card,
  .panel {
    padding: var(--space-4);
  }

  .media-frame--feature {
    aspect-ratio: 4 / 3;
  }

  h1 {
    font-size: clamp(2.125rem, 10vw, 2.75rem);
  }

  h2 {
    font-size: clamp(1.75rem, 8vw, 2.25rem);
  }
}

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

  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}


.site-header {
  position: relative;
  z-index: 40;
  border-bottom: var(--border-subtle);
  background: var(--color-surface-primary);
}

.site-header__inner {
  display: flex;
  min-height: 4.75rem;
  align-items: center;
  gap: var(--space-5);
}

.site-header__brand {
  display: inline-flex;
  min-width: 0;
  flex: 0 1 auto;
  align-items: center;
  gap: 0.625rem;
  color: var(--color-ink-primary);
  text-decoration: none;
}

.site-header__logo {
  width: 2.5rem;
  height: 2.5rem;
  flex: 0 0 auto;
  object-fit: contain;
}

.site-header__brand-text {
  min-width: 0;
  overflow: hidden;
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.025em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.site-header__menu {
  min-width: 0;
  flex: 1 1 auto;
}

.site-header__nav {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(0.75rem, 1.7vw, 1.5rem);
  margin: 0;
  padding: 0;
}

.site-header__nav li,
.site-header__nav li + li {
  display: flex;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.site-header__nav a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  border-bottom: 2px solid transparent;
  color: var(--color-ink-primary);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  transition: border-color var(--transition-fast), color var(--transition-fast);
}

.site-header__nav a:hover,
.site-header__nav a[aria-current="page"] {
  border-color: var(--color-accent-blue);
  color: var(--color-accent-blue);
}

.site-header__action {
  flex: 0 0 auto;
  min-height: 2.75rem;
  padding-inline: 0.875rem;
  font-size: 0.875rem;
  white-space: nowrap;
}

.site-header .nav-toggle {
  display: none;
  flex: 0 0 auto;
  border-color: var(--color-line-subtle);
}

.site-header .nav-toggle__line {
  display: block;
  width: 1.25rem;
  height: 2px;
  border-radius: 1px;
  background: currentColor;
  transition: transform var(--transition-fast), opacity var(--transition-fast);
}

@media (max-width: 900px) {
  body.site-menu-open {
    overflow: hidden;
  }

  .site-header__inner {
    min-height: 4.375rem;
    justify-content: space-between;
    gap: var(--space-3);
  }

  .site-header__logo {
    width: 2.25rem;
    height: 2.25rem;
  }

  .site-header__brand-text {
    font-size: 0.875rem;
  }

  .site-header__action {
    display: none;
  }

  .site-header .nav-toggle {
    display: inline-flex;
  }

  .site-header__menu {
    position: fixed;
    z-index: 41;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(26rem, calc(100vw - 2rem));
    padding: 5.75rem var(--container-padding) var(--space-5);
    overflow-y: auto;
    border-left: var(--border-subtle);
    background: var(--color-surface-primary);
    box-shadow: var(--shadow-overlay);
    opacity: 0;
    pointer-events: none;
    transform: translateX(100%);
    transition: opacity var(--transition-base), transform var(--transition-base);
  }

  .site-header__menu::before {
    position: fixed;
    z-index: -1;
    top: 0;
    right: 100%;
    width: 100vw;
    height: 100vh;
    background: rgba(9, 10, 15, 0.35);
    content: "";
    opacity: 0;
    transition: opacity var(--transition-base);
  }

  .site-header__menu--open {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
  }

  .site-header__menu--open::before {
    opacity: 1;
  }

  .site-header__nav {
    align-items: stretch;
    justify-content: flex-start;
    flex-direction: column;
    gap: 0;
    border-top: var(--border-subtle);
  }

  .site-header__nav li {
    border-bottom: var(--border-subtle);
  }

  .site-header__nav a {
    width: 100%;
    min-height: 3rem;
    justify-content: space-between;
    border-bottom: 0;
    font-size: 1rem;
  }

  .site-header__nav a::after {
    color: var(--color-accent-blue);
    content: "→";
    opacity: 0;
    transform: translateX(-0.25rem);
    transition: opacity var(--transition-fast), transform var(--transition-fast);
  }

  .site-header__nav a:hover::after,
  .site-header__nav a[aria-current="page"]::after {
    opacity: 1;
    transform: translateX(0);
  }

  .site-header--menu-open .nav-toggle {
    position: relative;
    z-index: 42;
    border-color: var(--color-accent-blue);
    background: var(--color-accent-blue-soft);
    color: var(--color-accent-blue);
  }

  .site-header--menu-open .nav-toggle__line:first-child {
    transform: translateY(0.375rem) rotate(45deg);
  }

  .site-header--menu-open .nav-toggle__line:nth-child(2) {
    opacity: 0;
  }

  .site-header--menu-open .nav-toggle__line:last-child {
    transform: translateY(-0.375rem) rotate(-45deg);
  }
}

@media (max-width: 640px) {
  .site-header__brand {
    gap: var(--space-2);
  }

  .site-header__brand-text {
    max-width: 11.5rem;
  }

  .site-header__menu {
    width: min(24rem, calc(100vw - 1rem));
    padding-top: 5.25rem;
  }
}


.site-footer {
  background: var(--color-ink-primary);
  color: rgba(255, 255, 255, 0.76);
}

.site-footer__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) repeat(3, minmax(0, 0.8fr));
  gap: var(--space-6);
  padding-block: var(--space-8) var(--space-6);
}

.site-footer__brand,
.site-footer__column {
  min-width: 0;
}

.site-footer__brand {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.site-footer__identity {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  color: #fff;
  text-decoration: none;
}

.site-footer__logo {
  width: 3.5rem;
  height: 3.5rem;
  flex: 0 0 auto;
  object-fit: contain;
}

.site-footer__name {
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.site-footer__brand p,
.site-footer__column p {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
}

.site-footer__column {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.site-footer__title {
  margin: 0;
  color: #fff;
  font-family: var(--font-body);
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.site-footer__nav {
  margin: 0;
  padding: 0;
}

.site-footer__nav li,
.site-footer__nav li + li {
  margin: 0;
  padding: 0;
}

.site-footer__nav {
  display: grid;
  gap: var(--space-2);
}

.site-footer__nav a,
.site-footer__contact-link {
  color: rgba(255, 255, 255, 0.76);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.site-footer__nav a:hover,
.site-footer__contact-link:hover {
  color: #93b4ff;
}

.site-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding-block: var(--space-4);
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.62);
  font-size: var(--font-size-small);
}

.site-footer__bottom p {
  margin: 0;
}

.site-consent {
  position: fixed;
  z-index: 50;
  right: max(var(--container-padding), 1rem);
  bottom: max(var(--container-padding), 1rem);
  width: min(29rem, calc(100vw - (var(--container-padding) * 2)));
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
  box-shadow: var(--shadow-overlay);
  color: var(--color-ink-primary);
  transition: opacity var(--transition-fast), transform var(--transition-fast);
}

.site-consent[hidden] {
  display: none;
}

.site-consent--hiding {
  opacity: 0;
  transform: translateY(0.75rem);
}

.site-consent__title {
  margin: 0 0 var(--space-2);
  font-family: var(--font-heading);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.25;
}

.site-consent__copy {
  margin: 0;
  color: var(--color-ink-secondary);
  font-size: 0.9375rem;
}

.site-consent__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-4);
}

.site-consent__actions .button {
  flex: 1 1 9rem;
}

.site-consent__actions .button--secondary {
  background: var(--color-surface-primary);
}

@media (max-width: 900px) {
  .site-footer__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-block: var(--space-7) var(--space-6);
  }
}

@media (max-width: 640px) {
  .site-footer__inner {
    grid-template-columns: 1fr;
    gap: var(--space-5);
    padding-block: var(--space-7) var(--space-5);
  }

  .site-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  .site-consent {
    right: var(--container-padding);
    bottom: var(--container-padding);
    width: calc(100vw - (var(--container-padding) * 2));
    padding: var(--space-4);
  }
}


.cookies-policy {
  background: var(--color-page-background);
}

.cookies-policy__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 20px;
}

.cookies-policy__intro {
  padding-top: 72px;
}

.cookies-policy__intro-copy,
.cookies-policy__copy,
.cookies-policy__updates-copy {
  grid-column: 2 / span 8;
  width: 100%;
  max-width: 720px;
  min-width: 0;
}

.cookies-policy__eyebrow {
  margin-bottom: var(--space-3);
  color: var(--color-accent-blue);
}

.cookies-policy__lead {
  max-width: 700px;
  font-size: var(--font-size-body-large);
}

.cookies-policy__choice-note,
.cookies-policy__selection-note {
  margin-top: var(--space-5);
  border-color: transparent;
  border-radius: var(--radius-lg);
}

.cookies-policy__choice-note p,
.cookies-policy__selection-note p {
  margin-bottom: 0;
}

.cookies-policy a {
  color: var(--color-accent-blue);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
}

.cookies-policy a:hover {
  color: var(--color-ink-primary);
}

.cookies-policy__orientation {
  padding-top: 0;
}

.cookies-policy__contents {
  grid-column: 2 / span 10;
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  padding: var(--space-6);
}

.cookies-policy__contents-heading {
  width: 100%;
  max-width: 600px;
  min-width: 0;
}

.cookies-policy__contents-heading h2,
.cookies-policy__contents-heading p {
  margin-bottom: 0;
}

.cookies-policy__contents-heading {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.cookies-policy__contents-links {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: var(--border-subtle);
  border-left: var(--border-subtle);
}

.cookies-policy__contents-links > a {
  display: grid;
  min-width: 0;
  min-height: 76px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-4);
  border-right: var(--border-subtle);
  border-bottom: var(--border-subtle);
  color: var(--color-ink-primary);
  text-decoration: none;
  transition: color var(--transition-fast), background-color var(--transition-fast);
}

.cookies-policy__contents-links > a span {
  color: var(--color-ink-secondary);
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: 0.06em;
}

.cookies-policy__contents-links > a strong {
  min-width: 0;
  font-size: 0.9375rem;
  line-height: 1.35;
}

.cookies-policy__contents-links > a b {
  color: var(--color-accent-blue);
  font-size: 1.125rem;
  font-weight: 500;
}

.cookies-policy__contents-links > a:hover,
.cookies-policy__contents-links > a:focus-visible {
  background: var(--color-accent-blue-soft);
  color: var(--color-accent-blue);
}

.cookies-policy__contents-links > a:hover span,
.cookies-policy__contents-links > a:focus-visible span {
  color: var(--color-accent-blue);
}

.cookies-policy__contents-scope {
  width: 100%;
  margin-bottom: 0;
  padding-top: var(--space-4);
  border-top: var(--border-subtle);
  color: var(--color-ink-secondary);
  font-size: 0.9375rem;
}

.cookies-policy__chapter .cookies-policy__copy,
.cookies-policy__categories .cookies-policy__copy,
.cookies-policy__management > .container > .cookies-policy__copy {
  grid-column: 2 / span 8;
}

.cookies-policy__duration-cards {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: var(--space-5);
}

.cookies-policy__duration-card {
  width: 100%;
  min-width: 0;
  padding: var(--space-5);
}

.cookies-policy__duration-card h3,
.cookies-policy__duration-card p {
  margin-bottom: 0;
}

.cookies-policy__duration-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.cookies-policy__similar-tech {
  margin-top: var(--space-5);
  padding-top: var(--space-4);
  border-top: var(--border-subtle);
}

.cookies-policy__similar-tech p {
  margin-bottom: 0;
  color: var(--color-ink-secondary);
}

.cookies-policy__category-table {
  grid-column: 1 / -1;
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  margin-top: var(--space-6);
  overflow: hidden;
}

.cookies-policy__table-head,
.cookies-policy__table-row {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: minmax(0, 20fr) minmax(0, 34fr) minmax(0, 28fr) minmax(0, 18fr);
}

.cookies-policy__table-head {
  background: var(--color-page-background);
  border-bottom: var(--border-subtle);
}

.cookies-policy__table-head > span {
  min-width: 0;
  padding: var(--space-3) var(--space-4);
  border-right: var(--border-subtle);
  color: var(--color-ink-secondary);
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.35;
  text-transform: uppercase;
}

.cookies-policy__table-head > span:last-child {
  border-right: 0;
}

.cookies-policy__table-row {
  border-bottom: var(--border-subtle);
}

.cookies-policy__table-row:last-child {
  border-bottom: 0;
}

.cookies-policy__table-row > div {
  width: 100%;
  min-width: 0;
  padding: var(--space-4);
  border-right: var(--border-subtle);
}

.cookies-policy__table-row > div:last-child {
  border-right: 0;
}

.cookies-policy__table-row--essential {
  background: color-mix(in srgb, var(--color-accent-blue-soft) 45%, var(--color-surface-primary));
}

.cookies-policy__table-row strong {
  display: block;
  font-family: var(--font-heading);
  font-size: 1.0625rem;
  line-height: 1.25;
}

.cookies-policy__table-row p {
  margin-bottom: 0;
  font-size: 0.9375rem;
}

.cookies-policy__fact-label {
  display: none;
}

.cookies-policy__selection-note {
  margin-top: var(--space-5);
}

.cookies-policy__management-layout {
  grid-column: 1 / -1;
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: minmax(0, 7fr) minmax(280px, 5fr);
  gap: 32px;
  margin-top: var(--space-6);
}

.cookies-policy__steps,
.cookies-policy__settings-panel {
  width: 100%;
  min-width: 0;
}

.cookies-policy__steps {
  display: flex;
  flex-direction: column;
}

.cookies-policy__step {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: 60px minmax(0, 1fr);
  gap: var(--space-4);
  padding-block: var(--space-5);
  border-top: var(--border-subtle);
}

.cookies-policy__step:last-child {
  border-bottom: var(--border-subtle);
}

.cookies-policy__step-number {
  display: inline-flex;
  width: 44px;
  min-width: 0;
  height: 32px;
  align-items: center;
  justify-content: center;
  border: var(--border-subtle);
  border-radius: var(--radius-md);
  color: var(--color-accent-blue);
  font-size: var(--font-size-small);
  font-weight: 700;
  letter-spacing: 0.06em;
}

.cookies-policy__step > div {
  min-width: 0;
}

.cookies-policy__step h3,
.cookies-policy__step p {
  margin-bottom: 0;
}

.cookies-policy__step > div {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.cookies-policy__settings-panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  align-self: start;
  padding: var(--space-5);
}

.cookies-policy__settings-action,
.cookies-policy__questions-card {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
}

.cookies-policy__settings-action h3,
.cookies-policy__settings-action p,
.cookies-policy__questions-card h3,
.cookies-policy__questions-card p {
  margin-bottom: 0;
}

.cookies-policy__questions-card {
  padding-top: var(--space-5);
  border-top: var(--border-subtle);
}

.cookies-policy__settings-button {
  width: 100%;
  margin-top: var(--space-2);
}

.cookies-policy__updates {
  padding-block: 80px;
  background: var(--color-ink-primary);
  color: #fff;
}

.cookies-policy__updates-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  max-width: 760px;
}

.cookies-policy__updates-copy h2,
.cookies-policy__updates-copy p {
  margin-bottom: 0;
}

.cookies-policy__updates-copy h2 {
  color: #fff;
}

.cookies-policy__updates-copy p {
  max-width: 700px;
  color: rgba(255, 255, 255, 0.78);
}

.cookies-policy__updates-button {
  border-color: rgba(255, 255, 255, 0.7);
  background: transparent;
  color: #fff;
}

.cookies-policy__updates-button:hover {
  border-color: #fff;
  background: var(--color-accent-blue-soft);
  color: var(--color-ink-primary);
}

.cookies-policy__updates-button:focus-visible {
  outline-color: var(--color-accent-blue);
  outline-offset: 3px;
}

@media (max-width: 900px) {
  .cookies-policy__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .cookies-policy__intro {
    padding-top: 56px;
  }

  .cookies-policy__intro-copy,
  .cookies-policy__copy,
  .cookies-policy__updates-copy,
  .cookies-policy__chapter .cookies-policy__copy,
  .cookies-policy__categories .cookies-policy__copy,
  .cookies-policy__management > .container > .cookies-policy__copy {
    grid-column: 1 / -1;
    max-width: 720px;
  }

  .cookies-policy__contents {
    grid-column: 1 / -1;
  }

  .cookies-policy__contents-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cookies-policy__category-table,
  .cookies-policy__management-layout {
    grid-column: 1 / -1;
  }

  .cookies-policy__management-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .cookies-policy__settings-panel {
    grid-row: 1;
  }

  .cookies-policy__steps {
    grid-row: 2;
  }

  .cookies-policy__updates {
    padding-block: 72px;
  }
}

@media (max-width: 820px) {
  .cookies-policy__category-table {
    gap: var(--space-3);
    overflow: visible;
    border: 0;
    background: transparent;
  }

  .cookies-policy__table-head {
    display: none;
  }

  .cookies-policy__table-row {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    padding: var(--space-5);
    border: var(--border-subtle);
    border-radius: var(--radius-lg);
    background: var(--color-surface-primary);
  }

  .cookies-policy__table-row--essential {
    background: color-mix(in srgb, var(--color-accent-blue-soft) 45%, var(--color-surface-primary));
  }

  .cookies-policy__table-row > div {
    padding: 0;
    border: 0;
  }

  .cookies-policy__fact-label {
    display: block;
    margin-bottom: var(--space-1);
    color: var(--color-ink-secondary);
    font-size: var(--font-size-small);
    font-weight: 600;
    letter-spacing: 0.06em;
    line-height: 1.35;
    text-transform: uppercase;
  }
}

@media (max-width: 680px) {
  .cookies-policy__duration-cards {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }
}

@media (max-width: 640px) {
  .cookies-policy__intro {
    padding-top: 48px;
  }

  .cookies-policy__lead {
    font-size: 1.0625rem;
  }

  .cookies-policy__contents {
    gap: var(--space-4);
    padding: var(--space-4);
  }

  .cookies-policy__contents-links {
    grid-template-columns: minmax(0, 1fr);
  }

  .cookies-policy__contents-links > a {
    min-height: 48px;
    padding: var(--space-3);
  }

  .cookies-policy__duration-card,
  .cookies-policy__table-row,
  .cookies-policy__settings-panel {
    padding: var(--space-4);
  }

  .cookies-policy__management-layout {
    gap: var(--space-4);
    margin-top: var(--space-5);
  }

  .cookies-policy__step {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
    padding-block: var(--space-4);
  }

  .cookies-policy__step-number {
    width: 44px;
  }

  .cookies-policy__settings-button,
  .cookies-policy__updates-button {
    width: 100%;
  }

  .cookies-policy__updates {
    padding-block: 56px;
  }

  .cookies-policy__updates-copy {
    gap: var(--space-4);
  }
}


.regulations-page {
  background: var(--color-page-background);
}

.regulations-page :is(a, button, input, textarea, select):focus-visible {
  outline: 2px solid var(--color-accent-blue);
  outline-offset: 2px;
}

.regulations-hero__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 20px;
}

.regulations-hero__content {
  grid-column: 1 / span 8;
  min-width: 0;
  max-width: 760px;
}

.regulations-hero__space {
  grid-column: 9 / span 4;
  min-width: 0;
}

.regulations-hero__eyebrow {
  margin-bottom: var(--space-3);
  color: var(--color-accent-blue);
}

.regulations-hero__lead {
  max-width: 620px;
  font-size: var(--font-size-body-large);
  line-height: 1.55;
}

.regulations-hero__meta {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 620px;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-3);
  padding-top: var(--space-4);
  border-top: var(--border-subtle);
  color: var(--color-ink-secondary);
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: 0.04em;
}

.regulations-hero__meta strong {
  color: var(--color-ink-primary);
}

.regulations-index {
  width: 100%;
  min-width: 0;
  padding: var(--space-6);
}

.regulations-index__inner {
  display: flex;
  min-width: 0;
  max-width: 900px;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
}

.regulations-index__inner > :is(p, h2) {
  margin-bottom: 0;
}

.regulations-index__inner .meta {
  color: var(--color-accent-blue);
}

.regulations-index__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--space-6);
  width: 100%;
  min-width: 0;
  margin-top: var(--space-2);
}

.regulations-index__links a {
  display: flex;
  min-width: 0;
  min-height: 48px;
  align-items: center;
  gap: var(--space-3);
  border-bottom: var(--border-subtle);
  color: var(--color-ink-primary);
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
}

.regulations-index__links a span {
  flex: 0 0 auto;
  color: var(--color-accent-blue);
  font-size: var(--font-size-small);
  font-weight: 700;
  letter-spacing: 0.06em;
}

.regulations-index__links a:hover,
.regulations-index__links a.is-active {
  border-color: var(--color-accent-blue);
  color: var(--color-accent-blue);
}

.regulations-offline-notice {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: stretch;
  gap: var(--space-5);
  padding: var(--space-6);
  border-radius: var(--radius-lg);
  background: var(--color-accent-blue-soft);
}

.regulations-offline-notice__rule {
  width: 4px;
  min-width: 4px;
  border-radius: 4px;
  background: var(--color-accent-blue);
}

.regulations-offline-notice__content {
  display: flex;
  min-width: 0;
  max-width: 820px;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
}

.regulations-offline-notice__content > :is(p, h2) {
  margin-bottom: 0;
}

.regulations-offline-notice__content .meta {
  color: var(--color-accent-blue);
}

.regulations-document__layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 20px;
  align-items: start;
}

.regulations-document__content {
  grid-column: 1 / span 8;
  display: flex;
  min-width: 0;
  max-width: 760px;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-8);
}

.regulations-side-index {
  grid-column: 10 / span 3;
  position: sticky;
  top: 120px;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  padding-left: var(--space-4);
  border-left: var(--border-subtle);
}

.regulations-side-index .meta {
  margin-bottom: 0;
  color: var(--color-ink-secondary);
}

.regulations-side-index nav {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
}

.regulations-side-index a {
  display: flex;
  min-width: 0;
  gap: var(--space-2);
  padding: var(--space-2) 0;
  color: var(--color-ink-secondary);
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.04em;
  text-decoration: none;
}

.regulations-side-index a span {
  min-width: 0;
  font-weight: 600;
  letter-spacing: normal;
}

.regulations-side-index a:hover,
.regulations-side-index a.is-active {
  color: var(--color-accent-blue);
}

.regulation-chapter {
  min-width: 0;
  scroll-margin-top: 128px;
}

.regulation-chapter__heading {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  gap: var(--space-3);
  padding-bottom: var(--space-5);
  border-bottom: var(--border-subtle);
}

.regulation-chapter__heading h2 {
  min-width: 0;
  margin-bottom: 0;
}

.regulation-chapter__number {
  flex: 0 0 auto;
  padding-top: 0.45em;
  color: var(--color-accent-blue);
  font-size: var(--font-size-small);
  font-weight: 700;
  letter-spacing: 0.08em;
}

.regulation-chapter > .regulation-clause,
.regulation-chapter > .regulations-contact-panel {
  min-width: 0;
  padding-top: var(--space-6);
  padding-bottom: var(--space-6);
  border-bottom: var(--border-subtle);
}

.regulation-chapter > :last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.regulation-clause h3,
.regulations-contact-panel h3 {
  max-width: 720px;
  margin-bottom: var(--space-3);
}

.regulation-clause p {
  max-width: 720px;
}

.regulation-clause p:last-child {
  margin-bottom: 0;
}

.regulations-exclusions {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 720px;
  flex-direction: column;
  align-items: stretch;
  margin-top: var(--space-5);
  border-top: var(--border-subtle);
}

.regulations-exclusions > div {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-3) 0;
  border-bottom: var(--border-subtle);
}

.regulations-exclusions span {
  flex: 0 0 auto;
  color: var(--color-accent-blue);
  font-size: var(--font-size-small);
  font-weight: 700;
  letter-spacing: 0.06em;
}

.regulations-exclusions p {
  min-width: 0;
  margin-bottom: 0;
}

.regulations-voluntary-note {
  width: 100%;
  min-width: 0;
  max-width: 600px;
  margin-top: var(--space-5);
  padding: var(--space-4);
  border: 1px solid var(--color-line-subtle);
  border-radius: var(--radius-md);
  background: var(--color-accent-blue-soft);
}

.regulations-facts {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 720px;
  flex-direction: column;
  align-items: stretch;
  margin-top: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
}

.regulations-facts > div {
  display: grid;
  grid-template-columns: minmax(150px, 0.8fr) minmax(0, 1.7fr);
  gap: var(--space-4);
  min-width: 0;
  padding: var(--space-4);
  border-bottom: var(--border-subtle);
}

.regulations-facts > div:last-child {
  border-bottom: 0;
}

.regulations-facts span {
  min-width: 0;
  color: var(--color-ink-primary);
  font-size: var(--font-size-small);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.regulations-facts p {
  min-width: 0;
  margin-bottom: 0;
  color: var(--color-ink-secondary);
}

.regulations-page blockquote {
  max-width: 640px;
  margin-top: var(--space-5);
  margin-bottom: 0;
}

.regulations-email-link {
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  margin-top: var(--space-2);
  overflow-wrap: anywhere;
  color: var(--color-accent-blue);
  font-weight: 700;
}

.regulations-update-meta {
  max-width: 720px;
  margin-top: var(--space-5);
  margin-bottom: 0;
  padding-top: var(--space-3);
  border-top: var(--border-subtle);
  color: var(--color-ink-secondary);
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: 0.04em;
}

.regulations-update-meta strong {
  color: var(--color-ink-primary);
}

.regulations-contact-panel {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 560px;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  padding: var(--space-5) !important;
  border: var(--border-subtle) !important;
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
}

.regulations-contact-panel > :is(h3, p, a) {
  margin: 0;
}

@media (max-width: 1199px) {
  .regulations-document__content {
    grid-column: 1 / span 8;
  }

  .regulations-side-index {
    grid-column: 10 / span 3;
  }
}

@media (max-width: 980px) {
  .regulations-hero__grid,
  .regulations-document__layout {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .regulations-hero__content,
  .regulations-document__content {
    grid-column: 1 / -1;
    width: 100%;
    max-width: none;
  }

  .regulations-hero__space,
  .regulations-side-index {
    display: none;
  }

  .regulation-clause p,
  .regulation-clause h3,
  .regulations-exclusions,
  .regulations-facts,
  .regulations-update-meta {
    max-width: 740px;
  }
}

@media (max-width: 900px) {
  .regulations-index {
    padding: var(--space-5);
  }

  .regulations-document__content {
    gap: var(--space-7);
  }
}

@media (max-width: 640px) {
  .regulations-hero__grid,
  .regulations-document__layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .regulations-hero__lead {
    max-width: none;
    font-size: 1.125rem;
  }

  .regulations-hero__meta {
    max-width: none;
    flex-direction: column;
    gap: var(--space-1);
  }

  .regulations-index {
    padding: var(--space-4);
  }

  .regulations-index__links {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .regulations-offline-notice {
    gap: var(--space-4);
    padding: var(--space-5);
  }

  .regulations-offline-notice__content {
    max-width: none;
  }

  .regulations-document__content {
    gap: var(--space-7);
  }

  .regulation-chapter__heading {
    gap: var(--space-2);
    padding-bottom: var(--space-4);
  }

  .regulation-chapter > .regulation-clause,
  .regulation-chapter > .regulations-contact-panel {
    padding-top: var(--space-5);
    padding-bottom: var(--space-5);
  }

  .regulations-facts > div {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }

  .regulations-contact-panel {
    max-width: none;
    padding: var(--space-5) !important;
  }
}


.kontakt-page {
  overflow: hidden;
}

.kontakt-page .section {
  position: relative;
}

.kontakt-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(17.5rem, 4fr);
  column-gap: calc((100% / 12) + 20px);
  align-items: start;
}

.kontakt-hero__grid > * {
  min-width: 0;
}

.kontakt-hero__content {
  display: flex;
  min-width: 0;
  max-width: 40rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.kontakt-hero__content h1,
.kontakt-hero__content p,
.kontakt-hero__clarification p {
  margin: 0;
}

.kontakt-hero__eyebrow,
.kontakt-preparation .meta,
.kontakt-invitation .meta {
  color: var(--color-accent-blue);
}

.kontakt-hero__lead {
  max-width: 40rem;
  font-size: var(--font-size-body-large);
  line-height: 1.55;
}

.kontakt-hero__clarification {
  width: 100%;
  max-width: 32.5rem;
  padding-top: var(--space-5);
  border-top: var(--border-subtle);
  color: var(--color-ink-secondary);
}

.kontakt-hero__button {
  min-height: 2.75rem;
}

.kontakt-direct-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-6);
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
}

.kontakt-direct-card > * {
  min-width: 0;
  margin: 0;
}

.kontakt-direct-card h2 {
  font-size: 1.5rem;
}

.kontakt-direct-card__facts {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  margin: 0;
}

.kontakt-direct-card__facts > div {
  min-width: 0;
  padding-top: var(--space-4);
  border-top: var(--border-subtle);
}

.kontakt-direct-card__facts dt {
  color: var(--color-ink-secondary);
  font-size: var(--font-size-small);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.kontakt-direct-card__facts dd {
  margin: var(--space-1) 0 0;
  color: var(--color-ink-primary);
  font-weight: 600;
  overflow-wrap: anywhere;
  word-break: normal;
}

.kontakt-details {
  background: var(--color-surface-primary);
}

.kontakt-details__intro {
  display: flex;
  width: min(100%, 31.25rem);
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  margin-bottom: var(--space-6);
}

.kontakt-details__intro > * {
  margin: 0;
}

.kontakt-details__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.kontakt-details__grid > * {
  min-width: 0;
  width: 100%;
}

.kontakt-detail-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-6);
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
}

.kontakt-detail-card > * {
  min-width: 0;
  margin: 0;
}

.kontakt-detail-card h3 {
  font-size: 1.25rem;
}

.kontakt-detail-card h3 a,
.kontakt-detail-card address {
  overflow-wrap: anywhere;
  word-break: normal;
}

.kontakt-detail-card address {
  color: var(--color-ink-primary);
  font-style: normal;
  font-weight: 600;
  line-height: 1.5;
}

.kontakt-detail-card > p:last-child {
  color: var(--color-ink-secondary);
}

.kontakt-topics__intro {
  display: flex;
  width: min(100%, 30rem);
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  margin-bottom: var(--space-6);
}

.kontakt-topics__intro > * {
  margin: 0;
}

.kontakt-topics__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
}

.kontakt-topics__grid > * {
  min-width: 0;
  width: 100%;
}

.kontakt-topic-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
  transition: border-color var(--transition-base), color var(--transition-base);
}

.kontakt-topic-card > * {
  min-width: 0;
  margin: 0;
}

.kontakt-topic-card h3 {
  font-size: 1.25rem;
}

.kontakt-topic-card:hover {
  border-color: var(--color-accent-blue);
}

.kontakt-topic-card:hover h3 {
  color: var(--color-accent-blue);
}

.kontakt-topic-card p:last-child {
  color: var(--color-ink-secondary);
}

.kontakt-preparation {
  background: var(--color-accent-blue-soft);
}

.kontakt-preparation__module {
  width: min(100%, 51.25rem);
  min-width: 0;
  margin-inline: auto;
}

.kontakt-preparation__intro {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  margin-bottom: var(--space-6);
}

.kontakt-preparation__intro > * {
  margin: 0;
}

.kontakt-preparation__intro p:last-child {
  max-width: 43.75rem;
}

.kontakt-steps {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kontakt-step {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding: var(--space-5) 0;
  border-top: var(--border-subtle);
}

.kontakt-step:last-child {
  border-bottom: var(--border-subtle);
}

.kontakt-step__number {
  min-width: 0;
  color: var(--color-accent-blue);
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.03em;
}

.kontakt-step__content {
  display: flex;
  min-width: 0;
  max-width: 31.25rem;
  flex-direction: column;
  gap: var(--space-2);
}

.kontakt-step__content > * {
  margin: 0;
}

.kontakt-form-section__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}

.kontakt-form-section__grid > * {
  min-width: 0;
}

.kontakt-form-section__intro {
  display: flex;
  grid-column: 1 / span 5;
  min-width: 0;
  max-width: 35rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.kontakt-form-section__intro > * {
  margin: 0;
}

.kontakt-required-note {
  color: var(--color-ink-secondary);
  font-size: 0.9375rem;
}

.kontakt-form-note {
  grid-column: 10 / span 3;
  grid-row: 2;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border-left: 2px solid var(--color-accent-blue);
  background: var(--color-accent-blue-soft);
}

.kontakt-form-note > * {
  margin: 0;
}

.kontakt-form-note ul {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.kontakt-form-note li {
  position: relative;
  min-width: 0;
  padding-left: var(--space-4);
  color: var(--color-ink-secondary);
  font-size: 0.9375rem;
}

.kontakt-form-note li::before {
  position: absolute;
  top: 0.62em;
  left: 0;
  width: 0.35rem;
  height: 0.35rem;
  border-radius: 50%;
  background: var(--color-accent-blue);
  content: "";
}

.kontakt-form-shell {
  grid-column: 1 / span 9;
  grid-row: 2;
  min-width: 0;
  padding: var(--space-6);
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
}

.kontakt-form {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-6);
}

.kontakt-form__contact-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}

.kontakt-form__context-row {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-5);
}

.kontakt-form__contact-row > *,
.kontakt-form__context-row > * {
  min-width: 0;
  width: 100%;
}

.kontakt-field {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-2);
}

.kontakt-field > * {
  min-width: 0;
  margin: 0;
}

.kontakt-field__hint {
  color: var(--color-ink-secondary);
  font-size: 0.875rem;
  line-height: 1.45;
}

.kontakt-field__error {
  min-height: 1.35em;
  color: var(--color-status-error);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.35;
}

.kontakt-field.has-error input,
.kontakt-field.has-error select,
.kontakt-field.has-error textarea,
.kontakt-confirmation.has-error label {
  border-color: var(--color-status-error);
}

.kontakt-field--message textarea {
  min-height: 10rem;
}

.kontakt-format-options {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin: 0;
  padding: var(--space-5) 0;
  border-top: var(--border-subtle);
  border-bottom: var(--border-subtle);
}

.kontakt-format-options > * {
  min-width: 0;
  margin: 0;
}

.kontakt-format-options__intro,
.kontakt-format-options__notice {
  max-width: 32.5rem;
  color: var(--color-ink-secondary);
  font-size: 0.9375rem;
}

.kontakt-format-options__notice {
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md);
  background: var(--color-accent-blue-soft);
  color: var(--color-ink-primary);
}

.kontakt-optional {
  color: var(--color-ink-secondary);
  font-family: var(--font-body);
  font-size: 0.9375rem;
  font-weight: 400;
}

.kontakt-format-options__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3) var(--space-5);
}

.kontakt-format-options__grid > * {
  min-width: 0;
  width: 100%;
}

.kontakt-format-options__grid label,
.kontakt-confirmation label {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  gap: var(--space-2);
  margin: 0;
  font-weight: 500;
}

.kontakt-format-options__grid input,
.kontakt-confirmation input {
  flex: 0 0 auto;
  margin-top: 0.25rem;
}

.kontakt-confirmation {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
}

.kontakt-confirmation > * {
  min-width: 0;
  margin: 0;
}

.kontakt-confirmation.has-error label {
  color: var(--color-status-error);
}

.kontakt-form__actions {
  display: flex;
  min-width: 0;
  justify-content: flex-start;
}

.kontakt-form__actions > * {
  min-width: 0;
}

.kontakt-form__submit {
  min-height: 3rem;
}

.kontakt-success-panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-6);
  border: 1px solid color-mix(in srgb, var(--color-status-success) 30%, var(--color-line-subtle));
  border-radius: var(--radius-lg);
  background: color-mix(in srgb, var(--color-status-success) 8%, var(--color-surface-primary));
}

.kontakt-success-panel > * {
  margin: 0;
}

.kontakt-success-panel .meta,
.kontakt-success-panel h3 {
  color: var(--color-status-success);
}

.kontakt-faq {
  background: var(--color-surface-primary);
}

.kontakt-faq__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}

.kontakt-faq__grid > * {
  min-width: 0;
}

.kontakt-faq__intro {
  display: flex;
  grid-column: 1 / span 4;
  min-width: 0;
  max-width: 26.25rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.kontakt-faq__intro > * {
  margin: 0;
}

.kontakt-faq__list {
  grid-column: 5 / span 8;
  min-width: 0;
  border-top: var(--border-subtle);
}

.kontakt-faq-item {
  min-width: 0;
  border-bottom: var(--border-subtle);
}

.kontakt-faq-item summary {
  display: flex;
  min-width: 0;
  min-height: 4rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-4) 0;
  color: var(--color-ink-primary);
  cursor: pointer;
  font-family: var(--font-heading);
  font-size: 1.125rem;
  font-weight: 650;
  line-height: 1.35;
  list-style: none;
}

.kontakt-faq-item summary::-webkit-details-marker {
  display: none;
}

.kontakt-faq-item summary::after {
  flex: 0 0 auto;
  color: var(--color-accent-blue);
  content: "+";
  font-family: var(--font-body);
  font-size: 1.5rem;
  font-weight: 400;
}

.kontakt-faq-item[open] summary::after {
  content: "−";
}

.kontakt-faq-item__answer {
  max-width: 42.5rem;
  padding: 0 0 var(--space-5);
}

.kontakt-faq-item__answer p {
  margin: 0;
  color: var(--color-ink-secondary);
}

.kontakt-invitation {
  padding-block: 4.5rem;
  background: var(--color-ink-primary);
  color: #fff;
}

.kontakt-invitation__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(11.25rem, 5fr);
  gap: var(--space-6);
  align-items: end;
}

.kontakt-invitation__grid > * {
  min-width: 0;
}

.kontakt-invitation__content {
  display: flex;
  min-width: 0;
  max-width: 40rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.kontakt-invitation__content > * {
  margin: 0;
}

.kontakt-invitation h2 {
  color: #fff;
}

.kontakt-invitation__content > p:last-child {
  color: rgba(255, 255, 255, 0.78);
}

.kontakt-invitation__action {
  display: flex;
  min-width: 0;
  align-items: flex-end;
  justify-content: flex-start;
}

.kontakt-invitation__action > * {
  min-width: 11.25rem;
}

@media (max-width: 1199px) {
  .kontakt-hero__grid {
    column-gap: var(--space-5);
  }

  .kontakt-topics__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kontakt-topics__grid > * {
    min-width: 0;
  }
}

@media (max-width: 900px) {
  .kontakt-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .kontakt-hero__content,
  .kontakt-direct-card {
    width: 100%;
  }

  .kontakt-direct-card {
    max-width: 34rem;
  }

  .kontakt-details__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kontakt-form-section__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .kontakt-form-section__intro,
  .kontakt-form-note,
  .kontakt-form-shell {
    grid-column: 1;
    grid-row: auto;
    width: 100%;
    max-width: none;
  }

  .kontakt-form-note {
    order: 2;
  }

  .kontakt-form-shell {
    order: 3;
  }

  .kontakt-step {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }

  .kontakt-faq__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .kontakt-faq__intro,
  .kontakt-faq__list {
    grid-column: 1;
    width: 100%;
    max-width: none;
  }

  .kontakt-faq__intro {
    max-width: 26.25rem;
  }

  .kontakt-invitation__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
    align-items: start;
  }

  .kontakt-invitation__action {
    justify-content: flex-start;
  }
}

@media (max-width: 640px) {
  .kontakt-hero__content {
    gap: var(--space-4);
  }

  .kontakt-hero__lead {
    font-size: 1.125rem;
  }

  .kontakt-hero__button {
    width: 100%;
  }

  .kontakt-direct-card,
  .kontakt-detail-card,
  .kontakt-form-shell {
    padding: var(--space-5);
  }

  .kontakt-details__grid,
  .kontakt-topics__grid,
  .kontakt-form__contact-row,
  .kontakt-form__context-row,
  .kontakt-format-options__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .kontakt-details__grid,
  .kontakt-topics__grid {
    gap: var(--space-4);
  }

  .kontakt-topics__intro,
  .kontakt-details__intro {
    margin-bottom: var(--space-5);
  }

  .kontakt-step__number {
    font-size: 1.125rem;
  }

  .kontakt-form {
    gap: var(--space-5);
  }

  .kontakt-form__contact-row,
  .kontakt-form__context-row {
    gap: var(--space-4);
  }

  .kontakt-field--message textarea {
    min-height: 10rem;
  }

  .kontakt-format-options {
    padding-block: var(--space-4);
  }

  .kontakt-form__actions,
  .kontakt-form__submit {
    width: 100%;
  }

  .kontakt-faq-item summary {
    min-height: 3rem;
    font-size: 1.0625rem;
  }

  .kontakt-invitation {
    padding-block: var(--space-6);
  }

  .kontakt-invitation__action,
  .kontakt-invitation__action > * {
    width: 100%;
  }
}


.privacy-page {
  min-width: 0;
  background: var(--color-page-background);
}

.privacy-page__reading-progress {
  position: sticky;
  z-index: 1;
  top: 0;
  width: 100%;
  height: 2px;
  pointer-events: none;
  background: transparent;
}

.privacy-page__reading-progress-bar {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0);
  transform-origin: left center;
  background: var(--color-accent-blue);
}

.privacy-intro__grid,
.privacy-administrator__grid,
.privacy-contents__grid,
.privacy-purpose__grid,
.privacy-data__grid,
.privacy-closing__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 20px;
}

.privacy-intro__content {
  grid-column: 1 / span 8;
  min-width: 0;
}

.privacy-intro__eyebrow {
  margin-bottom: var(--space-3);
}

.privacy-intro__lead {
  max-width: 620px;
  font-size: var(--font-size-body-large);
}

.privacy-intro__context {
  max-width: 680px;
  margin-top: var(--space-4);
  margin-bottom: 0;
  color: var(--color-ink-secondary);
}

.privacy-administrator__card {
  grid-column: 1 / span 9;
  min-width: 0;
  padding: var(--space-6);
}

.privacy-administrator__header {
  display: flex;
  min-width: 0;
  max-width: 680px;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.privacy-administrator__header > * {
  min-width: 0;
  margin: 0;
}

.privacy-administrator__facts {
  display: flex;
  min-width: 0;
  max-width: 760px;
  flex-direction: column;
  margin: var(--space-6) 0 0;
  border-top: var(--border-subtle);
}

.privacy-administrator__fact {
  display: grid;
  grid-template-columns: minmax(0, 30%) minmax(0, 70%);
  gap: var(--space-4);
  min-width: 0;
  padding-block: var(--space-4);
  border-bottom: var(--border-subtle);
}

.privacy-administrator__fact > * {
  min-width: 0;
  margin: 0;
}

.privacy-administrator__fact dd {
  color: var(--color-ink-primary);
}

.privacy-administrator__fact a,
.privacy-sharing__notice a,
.privacy-rights__complaint a,
.privacy-closing__content a:not(.button) {
  overflow-wrap: anywhere;
}

.privacy-contents__panel {
  grid-column: 1 / span 8;
  min-width: 0;
  padding: var(--space-5);
}

.privacy-contents__panel > h2 {
  margin-bottom: var(--space-4);
  font-size: 1.25rem;
}

.privacy-contents__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  border-top: 1px solid color-mix(in srgb, var(--color-accent-blue) 18%, var(--color-line-subtle));
}

.privacy-contents__list > li {
  min-width: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--color-accent-blue) 18%, var(--color-line-subtle));
}

.privacy-contents__list > li:nth-child(odd) {
  border-right: 1px solid color-mix(in srgb, var(--color-accent-blue) 18%, var(--color-line-subtle));
}

.privacy-contents__list a {
  display: flex;
  min-width: 0;
  min-height: 48px;
  align-items: center;
  padding: var(--space-3) var(--space-4);
  color: var(--color-ink-primary);
  font-weight: 600;
  text-decoration: none;
}

.privacy-contents__list a:hover {
  color: var(--color-accent-blue);
  text-decoration: underline;
}

.privacy-purpose__content,
.privacy-data__content,
.privacy-closing__content {
  grid-column: 1 / span 7;
  min-width: 0;
}

.privacy-section-heading {
  max-width: 680px;
}

.privacy-section-heading > :last-child {
  margin-bottom: 0;
}

.privacy-purpose__content,
.privacy-data__content,
.privacy-closing__content {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-6);
}

.privacy-purpose__content > *,
.privacy-data__content > *,
.privacy-closing__content > * {
  min-width: 0;
}

.privacy-purpose__content::before,
.privacy-data__content::before,
.privacy-closing__content::before {
  display: block;
  width: 100%;
  height: 1px;
  content: "";
  background: var(--color-line-subtle);
}

.privacy-purpose__card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-5);
}

.privacy-purpose__card > * {
  min-width: 0;
  margin: 0;
}

.privacy-purpose__card p:last-child {
  max-width: 660px;
}

.privacy-purpose__legal-basis {
  min-width: 0;
  max-width: 700px;
  padding-top: var(--space-5);
  border-top: var(--border-subtle);
}

.privacy-purpose__legal-basis > :last-child {
  margin-bottom: 0;
}

.privacy-data__definitions {
  display: flex;
  min-width: 0;
  flex-direction: column;
  margin: 0;
  padding: 0 var(--space-5);
}

.privacy-data__definition {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 9fr);
  gap: var(--space-5);
  min-width: 0;
  padding-block: var(--space-5);
  border-bottom: var(--border-subtle);
}

.privacy-data__definition:last-child {
  border-bottom: 0;
}

.privacy-data__definition > * {
  min-width: 0;
  margin: 0;
}

.privacy-data__definition dd {
  max-width: 520px;
}

.privacy-data__voluntary {
  max-width: 700px;
  padding-top: var(--space-5);
  border-top: var(--border-subtle);
}

.privacy-data__voluntary > :last-child {
  margin-bottom: 0;
}

.privacy-sharing {
  padding-block: var(--space-9);
}

.privacy-sharing__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5) 20px;
}

.privacy-sharing__card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-5);
}

.privacy-sharing__card > * {
  min-width: 0;
  margin: 0;
}

.privacy-sharing__card--recipients {
  grid-column: 1 / span 6;
}

.privacy-sharing__card--retention {
  grid-column: 8 / span 5;
}

.privacy-sharing__opening {
  font-weight: 600;
}

.privacy-sharing__notice {
  grid-column: 1 / span 11;
  min-width: 0;
  margin-top: var(--space-3);
}

.privacy-sharing__notice > :last-child {
  margin-bottom: 0;
}

.privacy-sharing__notice h3 {
  margin-bottom: var(--space-2);
}

.privacy-rights__container {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-6);
}

.privacy-rights__container > * {
  min-width: 0;
}

.privacy-rights__intro {
  width: calc((100% - 220px) * 7 / 12 + 120px);
  max-width: 680px;
}

.privacy-rights__intro > :last-child {
  margin-bottom: 0;
}

.privacy-rights__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
}

.privacy-rights__card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-5);
}

.privacy-rights__card > * {
  min-width: 0;
  margin: 0;
}

.privacy-rights__card p {
  flex: 1 1 auto;
}

.privacy-rights__card a {
  overflow-wrap: anywhere;
  font-weight: 600;
}

.privacy-rights__complaint {
  width: calc((100% - 220px) * 7 / 12 + 120px);
  max-width: 700px;
  padding-top: var(--space-5);
  border-top: var(--border-subtle);
}

.privacy-rights__complaint > :last-child {
  margin-bottom: 0;
}

.privacy-closing__security,
.privacy-closing__cookies,
.privacy-closing__changes {
  max-width: 700px;
}

.privacy-closing__security > :last-child,
.privacy-closing__cookies > :last-child,
.privacy-closing__changes > :last-child {
  margin-bottom: 0;
}

.privacy-closing__emphasis {
  margin-top: var(--space-5);
  padding-left: var(--space-4);
  border-left: 2px solid var(--color-accent-blue);
  color: var(--color-ink-secondary);
  font-weight: 600;
}

.privacy-closing__cookies,
.privacy-closing__changes {
  padding-top: var(--space-5);
  border-top: var(--border-subtle);
}

.privacy-closing__contact {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  max-width: 700px;
  padding: var(--space-5);
}

.privacy-closing__contact > * {
  min-width: 0;
  margin: 0;
}

.privacy-closing__contact-action {
  margin-top: var(--space-2);
}

.privacy-page [id] {
  scroll-margin-top: 7rem;
}

@media (max-width: 900px) {
  .privacy-intro__grid,
  .privacy-administrator__grid,
  .privacy-contents__grid,
  .privacy-purpose__grid,
  .privacy-data__grid,
  .privacy-closing__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .privacy-intro__content,
  .privacy-administrator__card,
  .privacy-contents__panel,
  .privacy-purpose__content,
  .privacy-data__content,
  .privacy-closing__content {
    grid-column: 1 / span 6;
  }

  .privacy-sharing {
    padding-block: var(--space-8);
  }

  .privacy-sharing__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .privacy-sharing__card--recipients,
  .privacy-sharing__card--retention,
  .privacy-sharing__notice {
    grid-column: 1 / span 6;
  }

  .privacy-sharing__notice {
    margin-top: 0;
  }

  .privacy-rights__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .privacy-rights__intro,
  .privacy-rights__complaint {
    width: 100%;
    max-width: 700px;
  }
}

@media (max-width: 640px) {
  .privacy-intro__grid,
  .privacy-administrator__grid,
  .privacy-contents__grid,
  .privacy-purpose__grid,
  .privacy-data__grid,
  .privacy-closing__grid,
  .privacy-sharing__grid {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-4);
  }

  .privacy-intro__content,
  .privacy-administrator__card,
  .privacy-contents__panel,
  .privacy-purpose__content,
  .privacy-data__content,
  .privacy-closing__content,
  .privacy-sharing__card--recipients,
  .privacy-sharing__card--retention,
  .privacy-sharing__notice {
    grid-column: 1;
  }

  .privacy-intro__lead {
    font-size: 1.0625rem;
  }

  .privacy-administrator__card,
  .privacy-purpose__card,
  .privacy-sharing__card,
  .privacy-rights__card,
  .privacy-closing__contact {
    padding: 1.25rem;
  }

  .privacy-administrator__fact {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }

  .privacy-contents__panel {
    padding: 1.25rem;
  }

  .privacy-contents__list {
    grid-template-columns: minmax(0, 1fr);
  }

  .privacy-contents__list > li:nth-child(odd) {
    border-right: 0;
  }

  .privacy-contents__list a {
    padding-inline: 0;
  }

  .privacy-purpose__content,
  .privacy-data__content,
  .privacy-closing__content,
  .privacy-rights__container {
    gap: var(--space-5);
  }

  .privacy-data__definitions {
    padding-inline: 1.25rem;
  }

  .privacy-data__definition {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
    padding-block: var(--space-4);
  }

  .privacy-data__definition dt {
    color: var(--color-ink-secondary);
    font-size: var(--font-size-small);
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .privacy-sharing {
    padding-block: var(--space-7);
  }

  .privacy-sharing__grid {
    gap: var(--space-4);
  }

  .privacy-sharing__notice {
    margin-top: var(--space-2);
  }

  .privacy-rights__cards {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  .privacy-closing__contact-action {
    width: 100%;
  }

  .privacy-page [id] {
    scroll-margin-top: 6rem;
  }
}


.rz-page {
  background: var(--color-page-background);
}

.rz-page .section {
  min-width: 0;
}

.rz-page .meta {
  display: block;
  margin: 0;
}

.rz-page .button {
  white-space: normal;
}

.rz-page .rz-text-link {
  display: inline-flex;
  width: fit-content;
  min-width: 0;
  align-items: center;
  font-weight: 600;
  text-underline-offset: 0.2em;
}

.rz-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 32px;
  align-items: center;
}

.rz-hero__content,
.rz-hero__media,
.rz-format-card__content,
.rz-format-card__media,
.rz-groups__content,
.rz-groups__media,
.rz-contact-band__content {
  min-width: 0;
  width: 100%;
}

.rz-hero__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}

.rz-hero__copy {
  width: 100%;
  max-width: 620px;
}

.rz-hero__copy > :last-child,
.rz-offline-notice > :last-child,
.rz-principle__intro > :last-child,
.rz-format-card__main > :last-child,
.rz-format-card__detail > :last-child,
.rz-format-card__notice > :last-child,
.rz-format-card__closing > :last-child,
.rz-scenario__intro > :last-child,
.rz-standard__intro > :last-child,
.rz-groups__copy > :last-child,
.rz-joining__intro > :last-child,
.rz-faq__intro > :last-child,
.rz-contact-band__copy > :last-child,
.rz-contact-band__support {
  margin-bottom: 0;
}

.rz-hero__lead {
  max-width: 620px;
  margin-bottom: 0;
  font-size: var(--font-size-body-large);
}

.rz-hero__action {
  width: auto;
  min-width: 0;
}

.rz-offline-notice {
  display: flex;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 16px;
  border: 1px solid transparent;
  border-radius: var(--radius-lg);
  background: var(--color-accent-blue-soft);
}

.rz-offline-notice p {
  margin: 0;
}

.rz-hero__media {
  justify-self: end;
  aspect-ratio: 16 / 10;
}

.rz-hero__media img {
  object-position: 58% center;
}

.rz-principle__intro,
.rz-scenario__intro,
.rz-joining__intro {
  width: 58.333%;
  max-width: 690px;
}

.rz-principle__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
  width: 83.333%;
  margin-top: 48px;
}

.rz-principle__card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding-right: 32px;
}

.rz-principle__card + .rz-principle__card {
  padding-right: 0;
  padding-left: 32px;
  border-left: var(--border-subtle);
}

.rz-principle__card h3,
.rz-principle__card p,
.rz-step h3,
.rz-step p,
.rz-standard-card h3,
.rz-standard-card p,
.rz-joining-card h3,
.rz-joining-card p {
  margin: 0;
}

.rz-number,
.rz-step__number {
  color: var(--color-accent-blue);
  font-size: var(--font-size-small);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.35;
}

.rz-format-card {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 32px;
  width: 100%;
  min-width: 0;
  padding: 24px;
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
}

.rz-format-card--blackjack {
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}

.rz-format-card__media {
  align-self: stretch;
  aspect-ratio: 4 / 3;
}

.rz-format-card--roulette .rz-format-card__media img {
  object-position: 58% center;
}

.rz-format-card--blackjack .rz-format-card__media img {
  object-position: center;
}

.rz-format-card__content {
  display: flex;
  max-width: 640px;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}

.rz-format-card__main,
.rz-format-card__detail,
.rz-format-card__notice,
.rz-format-card__closing {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

.rz-format-card__main {
  max-width: 610px;
}

.rz-format-card__detail {
  max-width: 610px;
  padding-top: 24px;
  border-top: var(--border-subtle);
}

.rz-format-card__detail h3 {
  margin: 0;
}

.rz-format-card__notice {
  max-width: 610px;
}

.rz-format-card__notice p {
  margin: 0;
}

.rz-format-card__closing {
  max-width: 640px;
}

.rz-format-card__closing p {
  max-width: 580px;
  margin: 0;
}

.rz-facts,
.rz-groups__facts {
  display: flex;
  width: 100%;
  max-width: 580px;
  min-width: 0;
  flex-direction: column;
  margin: 0;
}

.rz-facts__row,
.rz-groups__fact {
  display: grid;
  grid-template-columns: minmax(128px, 0.32fr) minmax(0, 1fr);
  gap: 16px;
  width: 100%;
  min-width: 0;
  padding: 16px 0;
  border-top: var(--border-subtle);
}

.rz-facts__row:last-child,
.rz-groups__fact:last-child {
  border-bottom: var(--border-subtle);
}

.rz-facts dt,
.rz-groups__facts dt {
  color: var(--color-ink-secondary);
  font-size: var(--font-size-small);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.35;
  text-transform: uppercase;
}

.rz-facts dd,
.rz-groups__facts dd {
  margin: 0;
  color: var(--color-ink-primary);
}

.rz-scenario__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  width: 100%;
  margin-top: 48px;
}

.rz-step {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 24px;
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
}

.rz-standard {
  border-top: var(--border-subtle);
  border-bottom: var(--border-subtle);
  background: var(--color-surface-primary);
}

.rz-standard__intro {
  width: 100%;
  max-width: 660px;
  margin-inline: auto;
  text-align: center;
}

.rz-standard__grid,
.rz-joining__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
  margin-top: 48px;
}

.rz-standard-card,
.rz-joining-card {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 24px;
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
}

.rz-groups__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: 32px;
  align-items: center;
}

.rz-groups__content {
  display: flex;
  max-width: 650px;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}

.rz-groups__copy {
  width: 100%;
}

.rz-groups__media {
  aspect-ratio: 4 / 3;
  justify-self: end;
}

.rz-groups__media img {
  object-position: center;
}

.rz-joining-card--rule::after {
  display: block;
  width: 44px;
  height: 2px;
  margin-top: auto;
  background: var(--color-accent-blue);
  content: "";
}

.rz-faq__inner {
  width: 66.666%;
  max-width: 760px;
}

.rz-faq__intro {
  width: 100%;
}

.rz-faq__list {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  margin-top: 32px;
  border-top: var(--border-subtle);
}

.rz-faq-item {
  width: 100%;
  min-width: 0;
  border-bottom: var(--border-subtle);
}

.rz-faq-item h3 {
  margin: 0;
}

.rz-faq-item__button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 32px;
  width: 100%;
  min-width: 0;
  min-height: 64px;
  align-items: center;
  gap: 16px;
  padding: 16px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-ink-primary);
  font-family: var(--font-heading);
  font-size: 1.125rem;
  font-weight: 650;
  letter-spacing: -0.015em;
  line-height: 1.3;
  text-align: left;
}

.rz-faq-item__button:hover {
  background: transparent;
  color: var(--color-accent-blue);
}

.rz-faq-item__icon {
  display: inline-flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  border: var(--border-subtle);
  border-radius: 50%;
  color: var(--color-accent-blue);
  font-family: var(--font-body);
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1;
}

.rz-faq-item__answer {
  width: 100%;
  max-width: 620px;
  padding: 0 0 24px;
}

.rz-faq-item__answer p {
  margin: 0;
}

.rz-contact-band {
  background: var(--color-ink-primary);
  color: #fff;
}

.rz-contact-band .meta {
  color: #93b4ff;
}

.rz-contact-band__grid {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  gap: 32px;
}

.rz-contact-band__content {
  display: flex;
  max-width: 760px;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}

.rz-contact-band__copy {
  width: 100%;
}

.rz-contact-band h2 {
  color: #fff;
}

.rz-contact-band__copy p,
.rz-contact-band__support {
  color: rgba(255, 255, 255, 0.76);
}

.rz-contact-band__button:hover {
  border-color: #fff;
  background: #fff;
  color: var(--color-ink-primary);
}

.rz-contact-band__button:focus-visible {
  outline-color: #fff;
}

.rz-contact-band__support {
  width: 100%;
  max-width: 720px;
}

@media (max-width: 1199px) {
  .rz-hero__grid,
  .rz-format-card,
  .rz-format-card--blackjack,
  .rz-groups__grid {
    gap: 24px;
  }

  .rz-principle__cards {
    width: 100%;
  }

  .rz-principle__intro,
  .rz-scenario__intro,
  .rz-joining__intro {
    width: 66.666%;
  }
}

@media (max-width: 900px) {
  .rz-hero__grid,
  .rz-format-card,
  .rz-format-card--blackjack,
  .rz-groups__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .rz-hero__grid {
    gap: 32px;
  }

  .rz-hero__content {
    gap: 24px;
  }

  .rz-hero__media,
  .rz-format-card__media,
  .rz-groups__media {
    width: 100%;
    max-width: none;
    justify-self: stretch;
    aspect-ratio: 4 / 3;
  }

  .rz-hero__media {
    order: 2;
  }

  .rz-hero__content {
    order: 1;
  }

  .rz-format-card {
    padding: 24px;
  }

  .rz-format-card--roulette .rz-format-card__media {
    order: 1;
  }

  .rz-format-card--roulette .rz-format-card__content {
    order: 2;
  }

  .rz-format-card--blackjack .rz-format-card__content {
    order: 1;
  }

  .rz-format-card--blackjack .rz-format-card__media {
    order: 2;
  }

  .rz-format-card__content,
  .rz-groups__content {
    max-width: none;
  }

  .rz-format-card--blackjack .rz-format-card__content {
    display: contents;
  }

  .rz-format-card--blackjack .rz-format-card__main {
    order: 1;
    max-width: 640px;
  }

  .rz-format-card--blackjack .rz-format-card__media {
    order: 2;
  }

  .rz-format-card--blackjack .rz-facts {
    order: 3;
  }

  .rz-format-card--blackjack .rz-format-card__closing {
    order: 4;
  }

  .rz-principle__intro,
  .rz-scenario__intro,
  .rz-joining__intro,
  .rz-faq__inner {
    width: 100%;
    max-width: 680px;
  }

  .rz-principle__cards {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    margin-top: 32px;
  }

  .rz-principle__card {
    width: 100%;
    padding: 24px 0;
  }

  .rz-principle__card + .rz-principle__card {
    padding-left: 0;
    border-top: var(--border-subtle);
    border-left: 0;
  }

  .rz-scenario__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 32px;
  }

  .rz-standard__grid,
  .rz-joining__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 32px;
  }

  .rz-standard-card:first-child,
  .rz-joining-card:first-child {
    grid-column: 1 / -1;
  }

  .rz-groups__grid {
    gap: 32px;
  }

  .rz-groups__content {
    order: 1;
  }

  .rz-groups__media {
    order: 2;
  }

  .rz-groups__facts,
  .rz-facts {
    max-width: 580px;
  }

  .rz-contact-band__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 640px) {
  .rz-hero__copy {
    max-width: none;
  }

  .rz-hero__lead {
    max-width: none;
    font-size: 1.125rem;
  }

  .rz-hero__action,
  .rz-hero__action .button,
  .rz-contact-band__button {
    width: 100%;
  }

  .rz-offline-notice {
    padding: 16px;
  }

  .rz-format-card {
    gap: 24px;
    padding: 16px;
  }

  .rz-format-card__content {
    gap: 24px;
  }

  .rz-format-card__main,
  .rz-format-card__detail,
  .rz-format-card__notice,
  .rz-format-card__closing,
  .rz-format-card--blackjack .rz-format-card__main {
    max-width: none;
  }

  .rz-facts__row,
  .rz-groups__fact {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  .rz-scenario__grid,
  .rz-standard__grid,
  .rz-joining__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .rz-standard-card:first-child,
  .rz-joining-card:first-child {
    grid-column: auto;
  }

  .rz-step,
  .rz-standard-card,
  .rz-joining-card {
    padding: 24px;
  }

  .rz-standard__intro {
    max-width: none;
  }

  .rz-standard__intro h2,
  .rz-standard__intro p {
    text-align: center;
  }

  .rz-faq-item__button {
    grid-template-columns: minmax(0, 1fr) 32px;
    min-height: 56px;
    font-size: 1rem;
  }

  .rz-faq-item__answer {
    max-width: none;
    padding-bottom: 20px;
  }

  .rz-contact-band__content {
    max-width: none;
  }
}


.koncepcja-page {
  overflow: clip;
}

.koncepcja-page .section {
  position: relative;
}

.koncepcja-hero__grid,
.koncepcja-host__grid,
.koncepcja-table__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 20px;
  align-items: center;
}

.koncepcja-hero__content {
  grid-column: 1 / span 5;
  min-width: 0;
  max-width: 510px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}

.koncepcja-hero__content > * {
  min-width: 0;
  margin: 0;
}

.koncepcja-hero__eyebrow,
.koncepcja-host__eyebrow {
  color: var(--color-accent-blue);
}

.koncepcja-hero h1 {
  width: 100%;
  max-width: 520px;
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  line-height: 1.05;
}

.koncepcja-hero__lead {
  width: 100%;
  max-width: 480px;
  color: var(--color-ink-secondary);
  font-size: var(--font-size-body-large);
}

.koncepcja-offline-note {
  width: 100%;
  min-width: 0;
  padding: 20px 24px;
  border-radius: var(--radius-lg);
  background: var(--color-accent-blue-soft);
}

.koncepcja-offline-note h2 {
  margin: 0 0 8px;
  font-size: 1rem;
  letter-spacing: -0.01em;
}

.koncepcja-offline-note p {
  margin: 0;
  color: var(--color-ink-primary);
}

.koncepcja-hero__media {
  grid-column: 7 / -1;
  width: 100%;
  min-width: 0;
  height: 100%;
  min-height: 470px;
}

.koncepcja-hero__media img {
  object-position: 65% center;
}

.koncepcja-formats__intro,
.koncepcja-flow__intro,
.koncepcja-scenarios__intro {
  width: 100%;
  max-width: 620px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 48px;
}

.koncepcja-formats__intro > *,
.koncepcja-flow__intro > *,
.koncepcja-scenarios__intro > * {
  min-width: 0;
  margin: 0;
}

.koncepcja-formats__intro p:last-child,
.koncepcja-flow__intro p:last-child,
.koncepcja-scenarios__intro p:last-child {
  color: var(--color-ink-secondary);
}

.koncepcja-format-grid,
.koncepcja-scenario-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.koncepcja-format-grid > *,
.koncepcja-scenario-grid > * {
  min-width: 0;
  width: 100%;
}

.koncepcja-format-card,
.koncepcja-scenario-card {
  min-width: 0;
  min-height: 100%;
  padding: 24px;
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: space-between;
  gap: 32px;
  transition: border-color var(--transition-base);
}

.koncepcja-format-card:hover,
.koncepcja-scenario-card:hover {
  border-color: var(--color-accent-blue);
}

.koncepcja-format-card__body,
.koncepcja-scenario-card__body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

.koncepcja-format-card__body > *,
.koncepcja-scenario-card__body > * {
  min-width: 0;
  margin: 0;
}

.koncepcja-format-card h3,
.koncepcja-scenario-card h3 {
  width: 100%;
}

.koncepcja-format-card p:not(.meta),
.koncepcja-scenario-card p {
  color: var(--color-ink-secondary);
}

.koncepcja-text-link {
  display: inline-flex;
  width: fit-content;
  min-width: 0;
  align-items: center;
  gap: 8px;
  color: var(--color-ink-primary);
  font-size: 0.9375rem;
  font-weight: 650;
  text-decoration: none;
  text-decoration-color: var(--color-accent-blue);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.35em;
  transition: color var(--transition-fast), text-decoration-color var(--transition-fast);
}

.koncepcja-text-link:hover {
  color: var(--color-accent-blue);
  text-decoration: underline;
}

.koncepcja-flow {
  border-block: var(--border-subtle);
  background: var(--color-surface-primary);
}

.koncepcja-flow__intro {
  max-width: 580px;
}

.koncepcja-flow__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.koncepcja-flow__steps > * {
  width: 100%;
  min-width: 0;
}

.koncepcja-flow__step {
  min-width: 0;
  padding-top: 20px;
  border-top: 1px solid var(--color-line-subtle);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

.koncepcja-flow__step > * {
  min-width: 0;
  margin: 0;
}

.koncepcja-flow__step:not(:first-child) {
  border-left: 1px solid var(--color-line-subtle);
  padding-left: 20px;
}

.koncepcja-flow__number {
  color: var(--color-accent-blue);
  font-size: var(--font-size-small);
  font-weight: 700;
  letter-spacing: 0.08em;
}

.koncepcja-flow__step h3 {
  font-size: 1.25rem;
}

.koncepcja-flow__step p:last-child {
  color: var(--color-ink-secondary);
}

.koncepcja-host__content {
  grid-column: 1 / span 5;
  width: 100%;
  min-width: 0;
  max-width: 520px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 32px;
}

.koncepcja-host__copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.koncepcja-host__copy > * {
  min-width: 0;
  margin: 0;
}

.koncepcja-host__copy h2::before {
  content: "";
  display: block;
  width: 48px;
  height: 2px;
  margin-bottom: 16px;
  background: var(--color-accent-blue);
}

.koncepcja-host__copy p {
  color: var(--color-ink-secondary);
  font-size: var(--font-size-body-large);
}

.koncepcja-host__quote {
  width: 100%;
  max-width: 470px;
  margin: 0;
  padding: 16px 0 16px 24px;
  color: var(--color-ink-secondary);
  font-size: 1rem;
}

.koncepcja-host__facts {
  min-width: 0;
  padding: 24px;
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
}

.koncepcja-host__facts h3 {
  margin: 0 0 16px;
  font-size: 1.125rem;
}

.koncepcja-host__fact-list {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.koncepcja-host__fact-list > * {
  width: 100%;
  min-width: 0;
}

.koncepcja-host__fact-list div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  padding: 12px 0;
}

.koncepcja-host__fact-list div + div {
  border-top: var(--border-subtle);
}

.koncepcja-host__fact-list strong {
  font-size: 0.9375rem;
}

.koncepcja-host__fact-list span {
  color: var(--color-ink-secondary);
  font-size: 0.9375rem;
}

.koncepcja-host__media {
  grid-column: 7 / -1;
  width: 100%;
  min-width: 0;
}

.koncepcja-host__media img {
  object-position: center center;
}

.koncepcja-table__intro {
  width: 100%;
  max-width: 560px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 48px;
}

.koncepcja-table__intro > * {
  min-width: 0;
  margin: 0;
}

.koncepcja-table__intro p:last-child {
  color: var(--color-ink-secondary);
  font-size: var(--font-size-body-large);
}

.koncepcja-table__content {
  grid-column: 1 / span 5;
  width: 100%;
  min-width: 0;
  max-width: 560px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 32px;
}

.koncepcja-table__copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.koncepcja-table__copy > * {
  min-width: 0;
  margin: 0;
}

.koncepcja-table__copy p {
  color: var(--color-ink-secondary);
}

.koncepcja-table__audience {
  min-width: 0;
  padding: 24px;
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
}

.koncepcja-table__audience h3,
.koncepcja-table__audience p {
  margin: 0;
}

.koncepcja-table__audience h3 {
  margin-bottom: 12px;
  font-size: 1.25rem;
}

.koncepcja-table__audience p {
  max-width: 420px;
  color: var(--color-ink-secondary);
}

.koncepcja-table__media {
  grid-column: 7 / -1;
  width: 100%;
  min-width: 0;
}

.koncepcja-table__media img {
  object-position: center center;
}

.koncepcja-boundaries {
  background: var(--color-accent-blue-soft);
}

.koncepcja-boundaries__card {
  width: min(100%, 780px);
  min-width: 0;
  margin-inline: auto;
  padding: 32px;
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
}

.koncepcja-boundaries__card > .meta,
.koncepcja-boundaries__card > h2,
.koncepcja-boundaries__summary {
  margin-top: 0;
}

.koncepcja-boundaries__card > h2 {
  max-width: 620px;
}

.koncepcja-boundaries__items {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  margin-top: 32px;
}

.koncepcja-boundaries__items > * {
  width: 100%;
  min-width: 0;
}

.koncepcja-boundaries__item {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr);
  gap: 16px;
  padding: 24px 0;
}

.koncepcja-boundaries__item + .koncepcja-boundaries__item {
  border-top: var(--border-subtle);
}

.koncepcja-boundaries__marker {
  width: 8px;
  height: 8px;
  margin-top: 9px;
  border-radius: 50%;
  background: var(--color-accent-blue);
}

.koncepcja-boundaries__item div {
  min-width: 0;
}

.koncepcja-boundaries__item h3,
.koncepcja-boundaries__item p {
  margin: 0;
}

.koncepcja-boundaries__item h3 {
  margin-bottom: 8px;
  font-size: 1.25rem;
}

.koncepcja-boundaries__item p {
  max-width: 620px;
  color: var(--color-ink-secondary);
}

.koncepcja-boundaries__item--emphasis h3 {
  color: var(--color-accent-blue);
  font-size: clamp(1.375rem, 2vw, 1.625rem);
}

.koncepcja-boundaries__summary {
  margin-bottom: 0;
  padding: 16px;
  border-radius: var(--radius-md);
  background: var(--color-accent-blue-soft);
  color: var(--color-ink-primary);
  font-weight: 600;
}

.koncepcja-scenario-card__body {
  gap: 16px;
}

.koncepcja-scenario-card p {
  max-width: 320px;
}

.koncepcja-faq__inner {
  width: min(100%, 820px);
  min-width: 0;
}

.koncepcja-faq__intro {
  width: 100%;
  max-width: 680px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 32px;
}

.koncepcja-faq__intro > * {
  min-width: 0;
  margin: 0;
}

.koncepcja-faq__intro p:last-child {
  color: var(--color-ink-secondary);
}

.koncepcja-faq__list {
  border-top: var(--border-subtle);
}

.koncepcja-faq__item {
  width: 100%;
  min-width: 0;
  border-bottom: var(--border-subtle);
}

.koncepcja-faq__item h3 {
  margin: 0;
}

.koncepcja-faq__trigger {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 32px;
  width: 100%;
  min-width: 0;
  min-height: 64px;
  align-items: center;
  gap: 16px;
  padding: 20px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-ink-primary);
  font-family: var(--font-heading);
  font-size: 1.125rem;
  font-weight: 650;
  line-height: 1.3;
  text-align: left;
}

.koncepcja-faq__trigger:hover {
  border-color: transparent;
  background: transparent;
  color: var(--color-accent-blue);
}

.koncepcja-faq__icon {
  width: 32px;
  height: 32px;
  border: var(--border-subtle);
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  color: var(--color-accent-blue);
  font-family: var(--font-body);
  font-size: 1.25rem;
  font-weight: 400;
}

.koncepcja-faq__answer {
  width: 100%;
  min-width: 0;
  padding: 0 48px 24px 0;
}

.koncepcja-faq__answer p {
  max-width: 680px;
  margin: 0;
  color: var(--color-ink-secondary);
}

.koncepcja-invitation {
  background: var(--color-ink-primary);
  color: #fff;
}

.koncepcja-invitation__inner {
  width: min(100%, 700px);
  min-width: 0;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}

.koncepcja-invitation__inner > * {
  min-width: 0;
  margin: 0;
}

.koncepcja-invitation .meta {
  color: #93b4ff;
}

.koncepcja-invitation h2 {
  max-width: 620px;
  color: #fff;
}

.koncepcja-invitation__inner > p:not(.koncepcja-invitation__secondary) {
  max-width: 620px;
  color: rgba(255, 255, 255, 0.78);
  font-size: var(--font-size-body-large);
}

.koncepcja-invitation__cta {
  margin-top: 4px;
}

.koncepcja-invitation__secondary {
  color: rgba(255, 255, 255, 0.72);
}

.koncepcja-invitation__secondary a {
  color: #93b4ff;
}

.koncepcja-invitation__secondary a:hover {
  color: #fff;
}

@media (max-width: 1200px) {
  .koncepcja-hero__media {
    min-height: 420px;
  }

  .koncepcja-format-card,
  .koncepcja-scenario-card {
    padding: 24px;
  }
}

@media (max-width: 900px) {
  .koncepcja-hero__grid,
  .koncepcja-host__grid,
  .koncepcja-table__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    row-gap: 32px;
  }

  .koncepcja-hero__content,
  .koncepcja-host__content,
  .koncepcja-table__content {
    grid-column: 1 / -1;
    max-width: 620px;
  }

  .koncepcja-hero__media,
  .koncepcja-host__media,
  .koncepcja-table__media {
    grid-column: 1 / -1;
    max-width: 100%;
  }

  .koncepcja-hero__media {
    min-height: 0;
    aspect-ratio: 16 / 10;
  }

  .koncepcja-format-grid,
  .koncepcja-scenario-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .koncepcja-format-card:nth-child(3),
  .koncepcja-scenario-card:nth-child(3) {
    grid-column: 1 / -1;
  }

  .koncepcja-flow__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }

  .koncepcja-flow__step:nth-child(3) {
    border-left: 0;
    padding-left: 0;
  }

  .koncepcja-host__content {
    max-width: 620px;
  }

  .koncepcja-host__quote {
    max-width: 520px;
  }

  .koncepcja-table__content {
    max-width: 620px;
  }

  .koncepcja-scenario-card p {
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  .koncepcja-hero__grid,
  .koncepcja-host__grid,
  .koncepcja-table__grid {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 24px;
  }

  .koncepcja-hero__content,
  .koncepcja-host__content,
  .koncepcja-table__content,
  .koncepcja-hero__media,
  .koncepcja-host__media,
  .koncepcja-table__media {
    grid-column: 1;
  }

  .koncepcja-hero__content {
    gap: 20px;
  }

  .koncepcja-hero h1 {
    font-size: clamp(2.375rem, 10vw, 2.75rem);
  }

  .koncepcja-hero__lead {
    font-size: 1.125rem;
  }

  .koncepcja-hero__media {
    min-height: 260px;
    aspect-ratio: 4 / 3;
  }

  .koncepcja-offline-note {
    padding: 20px;
  }

  .koncepcja-formats__intro,
  .koncepcja-flow__intro,
  .koncepcja-scenarios__intro,
  .koncepcja-table__intro {
    gap: 12px;
    margin-bottom: 32px;
  }

  .koncepcja-format-grid,
  .koncepcja-scenario-grid,
  .koncepcja-flow__steps {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .koncepcja-format-card:nth-child(3),
  .koncepcja-scenario-card:nth-child(3) {
    grid-column: 1;
  }

  .koncepcja-format-card,
  .koncepcja-scenario-card {
    min-height: 0;
    padding: 24px;
    gap: 24px;
  }

  .koncepcja-flow__steps {
    gap: 24px;
  }

  .koncepcja-flow__step,
  .koncepcja-flow__step:not(:first-child) {
    padding-top: 16px;
    padding-left: 0;
    border-left: 0;
  }

  .koncepcja-host__content {
    gap: 24px;
  }

  .koncepcja-host__copy {
    gap: 16px;
  }

  .koncepcja-host__copy p,
  .koncepcja-table__intro p:last-child {
    font-size: 1.125rem;
  }

  .koncepcja-host__facts,
  .koncepcja-table__audience {
    padding: 24px;
  }

  .koncepcja-host__media,
  .koncepcja-table__media {
    min-height: 250px;
    aspect-ratio: 4 / 3;
  }

  .koncepcja-table__content {
    gap: 24px;
  }

  .koncepcja-boundaries__card {
    padding: 24px;
  }

  .koncepcja-boundaries__items {
    margin-top: 24px;
  }

  .koncepcja-boundaries__item {
    grid-template-columns: 8px minmax(0, 1fr);
    gap: 12px;
    padding: 20px 0;
  }

  .koncepcja-boundaries__marker {
    width: 7px;
    height: 7px;
  }

  .koncepcja-faq__trigger {
    grid-template-columns: minmax(0, 1fr) 28px;
    min-height: 56px;
    gap: 12px;
    font-size: 1.0625rem;
  }

  .koncepcja-faq__icon {
    width: 28px;
    height: 28px;
  }

  .koncepcja-faq__answer {
    padding: 0 0 20px;
  }

  .koncepcja-invitation__inner {
    width: 100%;
    gap: 16px;
  }

  .koncepcja-invitation__cta {
    width: 100%;
    min-height: 48px;
  }
}


main[data-private-events-page] {
  overflow: clip;
}

[data-private-events-page] .wp-section {
  padding-block: 6rem;
}

[data-private-events-page] .wp-section--soft {
  background: var(--color-accent-blue-soft);
}

[data-private-events-page] .wp-section--dark {
  background: var(--color-ink-primary);
  color: #fff;
}

[data-private-events-page] .wp-section--dark h2,
[data-private-events-page] .wp-section--dark h3 {
  color: #fff;
}

[data-private-events-page] .wp-section--dark p {
  color: rgba(255, 255, 255, 0.8);
}

[data-private-events-page] .wp-eyebrow {
  margin: 0;
  color: var(--color-ink-secondary);
  font-size: var(--font-size-small);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

[data-private-events-page] .wp-hero-grid,
[data-private-events-page] .wp-host-grid,
[data-private-events-page] .wp-form-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.5rem;
  align-items: center;
}

[data-private-events-page] .wp-hero-copy {
  grid-column: span 5;
  min-width: 0;
  max-width: 32.5rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
}

[data-private-events-page] .wp-hero-copy > * {
  min-width: 0;
  margin: 0;
}

[data-private-events-page] .wp-hero-copy h1 {
  max-width: 32.5rem;
}

[data-private-events-page] .wp-hero-lead {
  max-width: 31rem;
  font-size: var(--font-size-body-large);
  line-height: 1.55;
}

[data-private-events-page] .wp-hero-note {
  width: 100%;
  max-width: 31rem;
  padding: 1rem 1.25rem;
  border: 1px solid transparent;
  border-radius: var(--radius-lg);
  background: var(--color-accent-blue-soft);
}

[data-private-events-page] .wp-hero-note p {
  margin: 0;
  color: var(--color-ink-primary);
}

[data-private-events-page] .wp-hero-media {
  grid-column: 7 / span 6;
  width: 100%;
  min-width: 0;
}

[data-private-events-page] .wp-hero-media img {
  object-position: 68% center;
}

[data-private-events-page] .wp-section-intro {
  max-width: 37.5rem;
}

[data-private-events-page] .wp-section-intro h2,
[data-private-events-page] .wp-section-intro p {
  min-width: 0;
}

[data-private-events-page] .wp-section-intro p {
  max-width: 36rem;
  color: var(--color-ink-secondary);
}

[data-private-events-page] .wp-benefits-grid,
[data-private-events-page] .wp-format-grid,
[data-private-events-page] .wp-process-grid,
[data-private-events-page] .wp-custom-grid {
  display: grid;
  gap: 1.5rem;
  margin-top: 3rem;
}

[data-private-events-page] .wp-benefits-grid,
[data-private-events-page] .wp-format-grid,
[data-private-events-page] .wp-process-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

[data-private-events-page] .wp-custom-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

[data-private-events-page] .wp-benefits-grid > *,
[data-private-events-page] .wp-format-grid > *,
[data-private-events-page] .wp-process-grid > *,
[data-private-events-page] .wp-custom-grid > * {
  min-width: 0;
}

[data-private-events-page] .wp-benefit-card,
[data-private-events-page] .wp-format-card,
[data-private-events-page] .wp-custom-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.75rem;
  padding: 1.5rem;
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
}

[data-private-events-page] .wp-benefit-card > *,
[data-private-events-page] .wp-format-card > *,
[data-private-events-page] .wp-custom-card > * {
  min-width: 0;
  margin: 0;
}

[data-private-events-page] .wp-benefit-card--accent {
  border-top: 3px solid var(--color-accent-blue);
}

[data-private-events-page] .wp-card-number {
  color: var(--color-accent-blue);
  font-size: var(--font-size-small);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.35;
}

[data-private-events-page] .wp-benefit-card p,
[data-private-events-page] .wp-format-card p,
[data-private-events-page] .wp-custom-card p {
  color: var(--color-ink-secondary);
}

[data-private-events-page] .wp-formats-heading {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.5rem;
  align-items: end;
}

[data-private-events-page] .wp-formats-heading > * {
  min-width: 0;
}

[data-private-events-page] .wp-formats-heading .wp-section-intro {
  grid-column: span 5;
}

[data-private-events-page] .wp-format-media {
  grid-column: 7 / span 6;
  width: 100%;
  min-width: 0;
}

[data-private-events-page] .wp-format-media img {
  object-position: center;
}

[data-private-events-page] .wp-format-card {
  gap: 1rem;
}

[data-private-events-page] .wp-format-facts {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  margin: auto 0 0;
  border-top: var(--border-subtle);
}

[data-private-events-page] .wp-format-facts li {
  min-width: 0;
  padding: 0.75rem 0;
  border-bottom: var(--border-subtle);
  color: var(--color-ink-primary);
  font-size: 0.875rem;
  line-height: 1.45;
}

[data-private-events-page] .wp-process-wrap {
  position: relative;
}

[data-private-events-page] .wp-process-wrap::before {
  position: absolute;
  top: 2rem;
  right: 16.666%;
  left: 16.666%;
  z-index: 0;
  height: 1px;
  background: var(--color-line-subtle);
  content: '';
}

[data-private-events-page] .wp-process-step {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
  background: var(--color-page-background);
}

[data-private-events-page] .wp-process-step > * {
  min-width: 0;
  margin: 0;
}

[data-private-events-page] .wp-process-number {
  display: inline-flex;
  width: 4rem;
  min-width: 4rem;
  height: 4rem;
  align-items: center;
  justify-content: center;
  border: var(--border-subtle);
  border-radius: 50%;
  background: var(--color-surface-primary);
  color: var(--color-ink-primary);
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 700;
}

[data-private-events-page] .wp-process-step--final .wp-process-number {
  border-color: var(--color-accent-blue);
  color: var(--color-accent-blue);
}

[data-private-events-page] .wp-process-step p {
  max-width: 19rem;
  color: var(--color-ink-secondary);
}

[data-private-events-page] .wp-host-media {
  grid-column: span 7;
  width: 100%;
  min-width: 0;
}

[data-private-events-page] .wp-host-media img {
  object-position: 45% center;
}

[data-private-events-page] .wp-host-copy {
  grid-column: 9 / span 4;
  min-width: 0;
  max-width: 28.75rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
}

[data-private-events-page] .wp-host-copy > * {
  min-width: 0;
  margin: 0;
}

[data-private-events-page] .wp-host-copy p {
  max-width: 28.75rem;
  color: var(--color-ink-secondary);
}

[data-private-events-page] .wp-host-facts {
  width: 100%;
  margin: 0;
  border-top: var(--border-subtle);
}

[data-private-events-page] .wp-host-facts div {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.4fr);
  gap: 1rem;
  min-width: 0;
  padding: 0.75rem 0;
  border-bottom: var(--border-subtle);
}

[data-private-events-page] .wp-host-facts dt,
[data-private-events-page] .wp-host-facts dd {
  min-width: 0;
  margin: 0;
}

[data-private-events-page] .wp-host-facts dd {
  color: var(--color-ink-secondary);
}

[data-private-events-page] .wp-host-highlight {
  width: 100%;
  padding-top: 1rem;
  border-top: 1px solid var(--color-line-subtle);
}

[data-private-events-page] .wp-host-highlight p {
  color: var(--color-ink-primary);
}

[data-private-events-page] .wp-custom-intro {
  max-width: 42.5rem;
}

[data-private-events-page] .wp-custom-intro p {
  max-width: 40rem;
  color: var(--color-ink-secondary);
}

[data-private-events-page] .wp-custom-icon {
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-line-subtle);
  border-radius: var(--radius-md);
  color: var(--color-accent-blue);
  font-size: 0.875rem;
  font-weight: 700;
}

[data-private-events-page] .wp-clarity-inner {
  max-width: 45rem;
  margin-inline: auto;
  text-align: center;
}

[data-private-events-page] .wp-clarity-inner h2 {
  margin-bottom: 1.5rem;
}

[data-private-events-page] .wp-clarity-inner > p {
  max-width: 43rem;
  margin-inline: auto;
}

[data-private-events-page] .wp-clarity-rules {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 53.75rem;
  margin: 2rem auto 0;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

[data-private-events-page] .wp-clarity-rule {
  min-width: 0;
  padding: 1.25rem 1.5rem;
  text-align: left;
}

[data-private-events-page] .wp-clarity-rule + .wp-clarity-rule {
  border-left: 1px solid rgba(255, 255, 255, 0.2);
}

[data-private-events-page] .wp-clarity-rule strong {
  color: #fff;
}

[data-private-events-page] .wp-clarity-rule p {
  margin: 0;
}

[data-private-events-page] .wp-faq-intro {
  max-width: 37.5rem;
}

[data-private-events-page] .wp-faq-intro p {
  max-width: 35rem;
  color: var(--color-ink-secondary);
}

[data-private-events-page] .wp-faq-list {
  width: 66.666%;
  max-width: 51.25rem;
  min-width: 0;
  margin: 3rem 0 0;
  border-top: var(--border-subtle);
}

[data-private-events-page] .wp-faq-item {
  min-width: 0;
  border-bottom: var(--border-subtle);
}

[data-private-events-page] .wp-faq-button {
  width: 100%;
  min-width: 0;
  min-height: 4rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 2rem;
  gap: 1rem;
  align-items: center;
  justify-content: stretch;
  padding: 1rem 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-ink-primary);
  font-family: var(--font-heading);
  font-size: 1.125rem;
  font-weight: 650;
  text-align: left;
}

[data-private-events-page] .wp-faq-button:hover {
  background: transparent;
  color: var(--color-accent-blue);
}

[data-private-events-page] .wp-faq-icon {
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  align-items: center;
  justify-content: center;
  color: var(--color-accent-blue);
  font-size: 1.5rem;
  font-weight: 400;
}

[data-private-events-page] .wp-faq-button[aria-expanded='true'] .wp-faq-icon::before {
  content: '−';
}

[data-private-events-page] .wp-faq-button[aria-expanded='false'] .wp-faq-icon::before {
  content: '+';
}

[data-private-events-page] .wp-faq-answer {
  max-width: 42.5rem;
  padding: 0 0 1.5rem;
}

[data-private-events-page] .wp-faq-answer p {
  margin: 0;
  color: var(--color-ink-secondary);
}

[data-private-events-page] .wp-form-copy {
  grid-column: span 5;
  min-width: 0;
  max-width: 32.5rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
}

[data-private-events-page] .wp-form-copy > * {
  min-width: 0;
  margin: 0;
}

[data-private-events-page] .wp-form-copy > p {
  max-width: 32.5rem;
  color: var(--color-ink-secondary);
}

[data-private-events-page] .wp-form-tips {
  width: 100%;
  padding: 1.25rem;
  border: 1px solid transparent;
  border-radius: var(--radius-lg);
  background: var(--color-accent-blue-soft);
}

[data-private-events-page] .wp-form-tips h3,
[data-private-events-page] .wp-form-tips p {
  margin: 0;
}

[data-private-events-page] .wp-form-tips p {
  margin-top: 0.75rem;
  color: var(--color-ink-primary);
}

[data-private-events-page] .wp-form-tips ul {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 1rem 0 0;
}

[data-private-events-page] .wp-form-tips li {
  min-width: 0;
  padding-left: 1rem;
  position: relative;
}

[data-private-events-page] .wp-form-tips li::before {
  position: absolute;
  top: 0.63em;
  left: 0;
  width: 0.3rem;
  height: 0.3rem;
  border-radius: 50%;
  background: var(--color-accent-blue);
  content: '';
}

[data-private-events-page] .wp-form-card {
  grid-column: 7 / span 6;
  min-width: 0;
  padding: 2rem;
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
}

[data-private-events-page] .wp-event-form {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
}

[data-private-events-page] .wp-event-form > * {
  min-width: 0;
}

[data-private-events-page] .wp-form-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

[data-private-events-page] .wp-form-row > * {
  min-width: 0;
}

[data-private-events-page] .wp-field {
  min-width: 0;
}

[data-private-events-page] .wp-field label {
  display: block;
}

[data-private-events-page] .wp-field textarea {
  min-height: 8.25rem;
}

[data-private-events-page] .wp-field-error {
  display: block;
  margin-top: 0.5rem;
  color: var(--color-status-error);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.4;
}

[data-private-events-page] .wp-form-status {
  margin: 0;
}

[data-private-events-page] .wp-form-alternative {
  margin: 0;
  color: var(--color-ink-secondary);
  font-size: 0.9375rem;
}

[data-private-events-page] .wp-final-cta {
  padding-block: 4rem;
}

[data-private-events-page] .wp-final-inner {
  max-width: 42.5rem;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  text-align: center;
}

[data-private-events-page] .wp-final-inner > * {
  min-width: 0;
  margin: 0;
}

[data-private-events-page] .wp-final-inner p {
  max-width: 38rem;
}

[data-private-events-page] .wp-final-inner .button:hover {
  border-color: #fff;
  background: #fff;
  color: var(--color-ink-primary);
}

@media (max-width: 1200px) {
  [data-private-events-page] .wp-custom-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1000px) {
  [data-private-events-page] .wp-hero-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  [data-private-events-page] .wp-hero-copy {
    grid-column: span 3;
  }

  [data-private-events-page] .wp-hero-media {
    grid-column: 4 / span 3;
  }

  [data-private-events-page] .wp-formats-heading {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: start;
  }

  [data-private-events-page] .wp-formats-heading .wp-section-intro,
  [data-private-events-page] .wp-format-media {
    grid-column: span 6;
  }

  [data-private-events-page] .wp-format-media {
    max-width: 42rem;
  }

  [data-private-events-page] .wp-format-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  [data-private-events-page] .wp-format-grid > :last-child {
    grid-column: span 2;
  }
}

@media (max-width: 900px) {
  [data-private-events-page] .wp-section {
    padding-block: 4.5rem;
  }

  [data-private-events-page] .wp-benefits-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  [data-private-events-page] .wp-benefits-grid > :last-child {
    grid-column: span 2;
  }

  [data-private-events-page] .wp-process-wrap::before {
    top: 2rem;
    bottom: 2rem;
    left: 2rem;
    right: auto;
    width: 1px;
    height: auto;
  }

  [data-private-events-page] .wp-process-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }

  [data-private-events-page] .wp-process-step {
    padding-left: 5rem;
  }

  [data-private-events-page] .wp-process-number {
    position: absolute;
    top: 0;
    left: 0;
  }

  [data-private-events-page] .wp-host-grid,
  [data-private-events-page] .wp-form-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }

  [data-private-events-page] .wp-host-copy {
    grid-column: 1;
    grid-row: 1;
    max-width: 36rem;
  }

  [data-private-events-page] .wp-host-media {
    grid-column: 1;
    grid-row: 2;
  }

  [data-private-events-page] .wp-form-copy,
  [data-private-events-page] .wp-form-card {
    grid-column: 1;
  }

  [data-private-events-page] .wp-form-copy {
    max-width: 36rem;
  }

  [data-private-events-page] .wp-faq-list {
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 760px) {
  [data-private-events-page] .wp-hero-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }

  [data-private-events-page] .wp-hero-copy,
  [data-private-events-page] .wp-hero-media {
    grid-column: 1;
    max-width: none;
  }

  [data-private-events-page] .wp-hero-copy {
    gap: 1.25rem;
  }

  [data-private-events-page] .wp-hero-copy .button {
    order: 4;
  }

  [data-private-events-page] .wp-hero-media {
    order: 2;
  }

  [data-private-events-page] .wp-hero-grid .wp-hero-copy {
    grid-row: 1;
  }

  [data-private-events-page] .wp-hero-grid .wp-hero-media {
    grid-row: 2;
  }

  [data-private-events-page] .wp-hero-media.media-frame--feature {
    aspect-ratio: 4 / 3;
  }

  [data-private-events-page] .wp-clarity-inner {
    max-width: none;
    text-align: left;
  }

  [data-private-events-page] .wp-clarity-inner > p {
    margin-inline: 0;
  }

  [data-private-events-page] .wp-clarity-rules {
    grid-template-columns: minmax(0, 1fr);
    margin-inline: 0;
  }

  [data-private-events-page] .wp-clarity-rule + .wp-clarity-rule {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    border-left: 0;
  }
}

@media (max-width: 640px) {
  [data-private-events-page] .wp-section {
    padding-block: 3.5rem;
  }

  [data-private-events-page] .wp-benefits-grid,
  [data-private-events-page] .wp-format-grid,
  [data-private-events-page] .wp-custom-grid {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 2rem;
  }

  [data-private-events-page] .wp-benefits-grid > :last-child,
  [data-private-events-page] .wp-format-grid > :last-child {
    grid-column: 1;
  }

  [data-private-events-page] .wp-benefit-card,
  [data-private-events-page] .wp-format-card,
  [data-private-events-page] .wp-custom-card {
    padding: 1.5rem;
  }

  [data-private-events-page] .wp-formats-heading {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
  }

  [data-private-events-page] .wp-formats-heading .wp-section-intro,
  [data-private-events-page] .wp-format-media {
    grid-column: 1;
  }

  [data-private-events-page] .wp-format-media.media-frame--card {
    aspect-ratio: 4 / 3;
  }

  [data-private-events-page] .wp-host-grid {
    gap: 1.5rem;
  }

  [data-private-events-page] .wp-host-media.media-frame--feature {
    aspect-ratio: 4 / 3;
  }

  [data-private-events-page] .wp-host-copy {
    gap: 1.25rem;
  }

  [data-private-events-page] .wp-host-facts div {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.25rem;
  }

  [data-private-events-page] .wp-process-step {
    padding-left: 4.5rem;
  }

  [data-private-events-page] .wp-process-number {
    width: 3.25rem;
    min-width: 3.25rem;
    height: 3.25rem;
  }

  [data-private-events-page] .wp-faq-list {
    margin-top: 2rem;
  }

  [data-private-events-page] .wp-faq-button {
    font-size: 1rem;
  }

  [data-private-events-page] .wp-form-card {
    padding: 1.5rem;
  }

  [data-private-events-page] .wp-form-row {
    grid-template-columns: minmax(0, 1fr);
  }

  [data-private-events-page] .wp-event-form .button {
    width: 100%;
  }

  [data-private-events-page] .wp-final-cta {
    padding-block: 3.5rem;
  }

  [data-private-events-page] .wp-final-inner .button {
    width: 100%;
  }
}


.poker-formats-page {
  background: var(--color-page-background);
}

.poker-formats-page .section {
  overflow: clip;
}

.poker-formats-page .meta {
  margin-bottom: 0;
}

.pf-hero {
  padding-top: var(--space-9);
}

.pf-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  grid-template-areas: "content media" "facts media";
  gap: var(--space-6) minmax(var(--space-5), 6.5%);
  align-items: start;
}

.pf-hero__content,
.pf-hero__media,
.pf-facts {
  min-width: 0;
  width: 100%;
}

.pf-hero__content {
  grid-area: content;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  padding-top: var(--space-4);
}

.pf-hero__content h1,
.pf-hero__content p {
  margin: 0;
}

.pf-kicker {
  color: var(--color-accent-blue);
}

.pf-hero__lead {
  max-width: 36.25rem;
  font-size: var(--font-size-body-large);
  line-height: 1.55;
}

.pf-hero__action {
  margin-top: var(--space-2);
}

.pf-hero__media {
  grid-area: media;
  align-self: stretch;
  aspect-ratio: 16 / 10;
}

.pf-hero__media img {
  object-position: 62% center;
}

.pf-facts {
  grid-area: facts;
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
}

.pf-facts__row {
  display: grid;
  grid-template-columns: minmax(6.75rem, 0.8fr) minmax(0, 2fr);
  gap: var(--space-3);
  min-width: 0;
  padding-block: var(--space-3);
}

.pf-facts__row + .pf-facts__row {
  border-top: var(--border-subtle);
}

.pf-facts__row .meta,
.pf-facts__row p {
  min-width: 0;
  margin: 0;
}

.pf-facts__row p {
  color: var(--color-ink-secondary);
  font-size: 0.9375rem;
}

.pf-principles__layout {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
  gap: minmax(var(--space-6), 8.33%);
  align-items: start;
}

.pf-principles__content,
.pf-principles__index {
  min-width: 0;
  width: 100%;
}

.pf-principles__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  max-width: 43.75rem;
}

.pf-principles__content > * {
  margin: 0;
}

.pf-principles__intro {
  max-width: 42.5rem;
}

.pf-principles__index {
  color: var(--color-line-subtle);
  font-family: var(--font-heading);
  font-size: clamp(4rem, 8vw, 7rem);
  font-weight: 700;
  letter-spacing: -0.07em;
  line-height: 0.8;
  text-align: right;
}

.pf-principles__index span {
  color: var(--color-accent-blue);
  font-family: var(--font-body);
  font-size: var(--font-size-small);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.pf-recreation-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-3);
  width: 100%;
  min-width: 0;
  padding: var(--space-4);
  border-radius: var(--radius-lg);
  background: var(--color-accent-blue-soft);
}

.pf-recreation-note__marker {
  width: 0.75rem;
  height: 0.75rem;
  margin-top: 0.35rem;
  border-radius: 50%;
  background: var(--color-accent-blue);
}

.pf-recreation-note div,
.pf-recreation-note p {
  min-width: 0;
  margin: 0;
}

.pf-recreation-note div {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.pf-recreation-note p:last-child {
  max-width: 40rem;
}

.pf-principles__rules {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}

.pf-rule {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding-block: var(--space-4);
  border-top: var(--border-subtle);
}

.pf-rule:last-child {
  border-bottom: var(--border-subtle);
}

.pf-rule__number {
  color: var(--color-accent-blue);
  font-size: var(--font-size-small);
  font-weight: 700;
  letter-spacing: 0.08em;
}

.pf-rule div,
.pf-rule h3,
.pf-rule p {
  min-width: 0;
  margin: 0;
}

.pf-rule div {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.pf-rule h3 {
  font-size: 1.125rem;
}

.pf-rule p {
  color: var(--color-ink-secondary);
}

.pf-formats {
  background: var(--color-surface-primary);
  border-block: var(--border-subtle);
}

.pf-formats__heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  width: 100%;
  max-width: 40.625rem;
  margin-bottom: var(--space-7);
}

.pf-formats__heading > * {
  margin: 0;
}

.pf-formats__heading > p:last-child {
  max-width: 40.625rem;
}

.pf-format-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: stretch;
}

.pf-format-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-5);
  min-width: 0;
  width: 100%;
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
}

.pf-format-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
}

.pf-format-card__body > * {
  min-width: 0;
  margin: 0;
}

.pf-format-card__body p:last-child {
  color: var(--color-ink-secondary);
}

.pf-card-meta {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
  margin: 0;
  border-top: var(--border-subtle);
}

.pf-card-meta div {
  display: grid;
  grid-template-columns: minmax(5rem, 0.75fr) minmax(0, 1.25fr);
  gap: var(--space-3);
  min-width: 0;
  padding-block: var(--space-2);
  border-bottom: var(--border-subtle);
}

.pf-card-meta dt,
.pf-card-meta dd {
  min-width: 0;
  margin: 0;
  font-size: 0.8125rem;
}

.pf-card-meta dt {
  color: var(--color-ink-secondary);
  font-weight: 600;
}

.pf-card-meta dd {
  color: var(--color-ink-primary);
}

.pf-format-card > a,
.pf-inline-link,
.pf-path__steps a,
.pf-faq__aside a {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  min-height: 2.75rem;
  width: fit-content;
  color: var(--color-ink-primary);
  font-weight: 650;
  text-decoration: none;
}

.pf-format-card > a:hover,
.pf-inline-link:hover,
.pf-path__steps a:hover,
.pf-faq__aside a:hover {
  color: var(--color-accent-blue);
}

.pf-formats__closing {
  max-width: 43.75rem;
  margin: var(--space-6) 0 0;
  color: var(--color-ink-secondary);
}

.pf-process__layout {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  gap: minmax(var(--space-6), 8.33%);
  align-items: start;
}

.pf-process__intro,
.pf-process__steps {
  min-width: 0;
  width: 100%;
}

.pf-process__intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  max-width: 32.5rem;
}

.pf-process__intro > * {
  margin: 0;
}

.pf-process__steps {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pf-process__steps li {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  width: 100%;
  padding-block: var(--space-4);
  border-top: var(--border-subtle);
}

.pf-process__steps li:last-child {
  border-bottom: var(--border-subtle);
}

.pf-process__steps li > span {
  min-width: 0;
  color: var(--color-accent-blue);
  font-size: var(--font-size-small);
  font-weight: 700;
  letter-spacing: 0.08em;
}

.pf-process__steps li > div,
.pf-process__steps h3,
.pf-process__steps p {
  min-width: 0;
  margin: 0;
}

.pf-process__steps li > div {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  max-width: 35rem;
}

.pf-process__steps h3 {
  font-size: 1.25rem;
}

.pf-process__steps p {
  color: var(--color-ink-secondary);
}

.pf-host {
  background: var(--color-surface-primary);
  border-block: var(--border-subtle);
}

.pf-host__layout {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
  gap: minmax(var(--space-6), 8.33%);
  align-items: center;
}

.pf-host__media,
.pf-host__content {
  min-width: 0;
  width: 100%;
}

.pf-host__media {
  aspect-ratio: 4 / 3;
}

.pf-host__media img {
  object-position: 44% center;
}

.pf-host__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  max-width: 31.875rem;
}

.pf-host__content > * {
  margin: 0;
}

.pf-host__content > p:not(.meta) {
  max-width: 31.875rem;
}

.pf-host__roles {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  width: 100%;
  margin: 0;
  padding: 0;
}

.pf-host__roles li {
  display: grid;
  grid-template-columns: minmax(6rem, 0.7fr) minmax(0, 1.5fr);
  gap: var(--space-3);
  min-width: 0;
  width: 100%;
}

.pf-host__roles strong,
.pf-host__roles span {
  min-width: 0;
}

.pf-host__roles span {
  color: var(--color-ink-secondary);
}

.pf-comfort-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  width: 100%;
  min-width: 0;
  margin: var(--space-2) 0 0;
  padding: var(--space-4);
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
}

.pf-comfort-card h3,
.pf-comfort-card p {
  margin: 0;
}

.pf-comfort-card h3 {
  font-size: 1.125rem;
}

.pf-comfort-card p {
  color: var(--color-ink-secondary);
}

.pf-dining__heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  width: 100%;
  max-width: 38.75rem;
  margin-bottom: var(--space-7);
}

.pf-dining__heading > * {
  margin: 0;
}

.pf-dining__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: stretch;
}

.pf-value-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  min-width: 0;
  width: 100%;
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
}

.pf-value-card > * {
  min-width: 0;
  margin: 0;
}

.pf-value-card > p:last-child {
  color: var(--color-ink-secondary);
}

.pf-private {
  background: var(--color-surface-primary);
  border-block: var(--border-subtle);
}

.pf-private__layout {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
  gap: minmax(var(--space-6), 8.33%);
  align-items: start;
}

.pf-private__content,
.pf-private__media {
  min-width: 0;
  width: 100%;
}

.pf-private__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  max-width: 38.75rem;
}

.pf-private__content > * {
  margin: 0;
}

.pf-private__media {
  aspect-ratio: 4 / 3;
  margin-top: var(--space-4);
}

.pf-private__media img {
  object-position: 55% center;
}

.pf-planning-rows {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  margin-top: var(--space-2);
  border-top: var(--border-subtle);
}

.pf-planning-rows > div {
  display: grid;
  grid-template-columns: minmax(7rem, 0.7fr) minmax(0, 1.7fr);
  gap: var(--space-4);
  min-width: 0;
  width: 100%;
  padding-block: var(--space-3);
  border-bottom: var(--border-subtle);
}

.pf-planning-rows strong,
.pf-planning-rows p {
  min-width: 0;
  margin: 0;
}

.pf-planning-rows p {
  color: var(--color-ink-secondary);
}

.pf-path__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  width: 100%;
  max-width: 38.75rem;
  margin: 0 auto var(--space-7);
  text-align: center;
}

.pf-path__heading > * {
  margin: 0;
}

.pf-path__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pf-path__steps li {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  min-width: 0;
  width: 100%;
  padding: 0 var(--space-5);
  border-left: var(--border-subtle);
}

.pf-path__steps li:first-child {
  padding-left: 0;
  border-left: 0;
}

.pf-path__steps li:last-child {
  padding-right: 0;
}

.pf-path__steps li > * {
  min-width: 0;
  margin: 0;
}

.pf-path__steps li > span {
  color: var(--color-accent-blue);
  font-size: var(--font-size-small);
  font-weight: 700;
  letter-spacing: 0.08em;
}

.pf-path__steps h3 {
  font-size: 1.25rem;
}

.pf-path__steps p {
  color: var(--color-ink-secondary);
}

.pf-path__steps a {
  margin-top: auto;
}

.pf-faq {
  background: var(--color-surface-primary);
  border-block: var(--border-subtle);
}

.pf-faq__layout {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 3fr);
  gap: minmax(var(--space-6), 8.33%);
  align-items: start;
}

.pf-faq__content,
.pf-faq__aside {
  min-width: 0;
  width: 100%;
}

.pf-faq__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  max-width: 47.5rem;
}

.pf-faq__content > * {
  margin: 0;
}

.pf-faq__content > p:last-of-type {
  max-width: 43.75rem;
}

.pf-faq-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  margin-top: var(--space-3);
  border-top: var(--border-subtle);
}

.pf-faq-item {
  width: 100%;
  min-width: 0;
  border-bottom: var(--border-subtle);
}

.pf-faq-item h3 {
  margin: 0;
}

.pf-faq-item button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1.5rem;
  gap: var(--space-4);
  width: 100%;
  min-height: 3.75rem;
  padding: var(--space-4) 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-ink-primary);
  font-family: var(--font-heading);
  font-size: 1.0625rem;
  font-weight: 650;
  line-height: 1.3;
  text-align: left;
}

.pf-faq-item button:hover {
  background: transparent;
  color: var(--color-accent-blue);
}

.pf-faq-item button span {
  align-self: start;
  color: var(--color-accent-blue);
  font-family: var(--font-body);
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
  text-align: right;
}

.pf-faq-item__answer {
  max-width: 46rem;
  padding: 0 var(--space-6) var(--space-5) 0;
}

.pf-faq-item__answer p {
  margin: 0;
  color: var(--color-ink-secondary);
}

.pf-faq__aside {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding-top: var(--space-8);
}

.pf-faq__aside p,
.pf-faq__aside a {
  margin: 0;
}

.pf-faq__aside p {
  max-width: 14rem;
  color: var(--color-ink-secondary);
}

.pf-final-cta {
  padding-block: var(--space-9);
  background: var(--color-ink-primary);
  color: #fff;
}

.pf-final-cta__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  width: 100%;
  max-width: 42.5rem;
  margin-inline: auto;
  text-align: center;
}

.pf-final-cta__content > * {
  margin: 0;
}

.pf-final-cta__content .meta {
  color: #93b4ff;
}

.pf-final-cta__content h2 {
  color: #fff;
}

.pf-final-cta__content p:not(.meta) {
  max-width: 42.5rem;
  color: rgba(255, 255, 255, 0.78);
}

.pf-final-cta__content .button:hover {
  border-color: #fff;
  background: #fff;
  color: var(--color-ink-primary);
}

@media (max-width: 1199px) {
  .pf-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas: "content media" "facts media";
    gap: var(--space-5);
  }

  .pf-hero__content {
    padding-top: 0;
  }

  .pf-hero__lead {
    max-width: none;
  }
}

@media (max-width: 900px) {
  .pf-hero {
    padding-top: var(--space-8);
  }

  .pf-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "content" "media" "facts";
    gap: var(--space-5);
  }

  .pf-hero__content {
    max-width: 40.625rem;
  }

  .pf-hero__media {
    aspect-ratio: 16 / 10;
  }

  .pf-principles__layout,
  .pf-process__layout,
  .pf-host__layout,
  .pf-private__layout,
  .pf-faq__layout {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .pf-principles__content,
  .pf-host__content,
  .pf-private__content,
  .pf-faq__content {
    max-width: 40.625rem;
  }

  .pf-principles__index {
    display: none;
  }

  .pf-format-cards,
  .pf-dining__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pf-format-card:nth-child(3),
  .pf-value-card:nth-child(3) {
    grid-column: 1 / -1;
  }

  .pf-process__intro {
    max-width: 40.625rem;
  }

  .pf-process__steps {
    max-width: 43.75rem;
  }

  .pf-host__media,
  .pf-private__media {
    max-width: 40.625rem;
    margin-top: 0;
  }

  .pf-host__content > p:not(.meta) {
    max-width: 40.625rem;
  }

  .pf-private__layout {
    grid-template-areas: "content" "media";
  }

  .pf-private__content {
    grid-area: content;
  }

  .pf-private__media {
    grid-area: media;
  }

  .pf-path__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: var(--space-6);
  }

  .pf-path__steps li:nth-child(3) {
    padding-left: 0;
    border-left: 0;
  }

  .pf-path__steps li:nth-child(2) {
    padding-right: 0;
  }

  .pf-faq__aside {
    padding-top: 0;
  }

  .pf-faq__aside p {
    max-width: none;
  }
}

@media (max-width: 640px) {
  .pf-hero {
    padding-top: var(--space-7);
  }

  .pf-hero__content {
    gap: var(--space-4);
  }

  .pf-hero__lead {
    font-size: 1.0625rem;
  }

  .pf-hero__action {
    width: 100%;
  }

  .pf-hero__media {
    aspect-ratio: 4 / 3;
  }

  .pf-facts {
    padding: var(--space-4);
  }

  .pf-facts__row {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }

  .pf-principles__content,
  .pf-formats__heading,
  .pf-dining__heading,
  .pf-process__intro,
  .pf-host__content,
  .pf-private__content,
  .pf-faq__content {
    gap: var(--space-4);
  }

  .pf-recreation-note {
    padding: var(--space-4);
  }

  .pf-format-cards,
  .pf-dining__cards,
  .pf-path__steps {
    grid-template-columns: minmax(0, 1fr);
  }

  .pf-format-card:nth-child(3),
  .pf-value-card:nth-child(3) {
    grid-column: auto;
  }

  .pf-format-card,
  .pf-value-card {
    padding: 1.25rem;
  }

  .pf-card-meta div,
  .pf-host__roles li,
  .pf-planning-rows > div {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-1);
  }

  .pf-formats__heading,
  .pf-dining__heading,
  .pf-path__heading {
    margin-bottom: var(--space-6);
  }

  .pf-process__steps li {
    grid-template-columns: 2.25rem minmax(0, 1fr);
    gap: var(--space-3);
  }

  .pf-process__steps h3 {
    font-size: 1.125rem;
  }

  .pf-host__media,
  .pf-private__media {
    aspect-ratio: 4 / 3;
  }

  .pf-path__heading {
    gap: var(--space-3);
  }

  .pf-path__steps {
    gap: 0;
    border-top: var(--border-subtle);
  }

  .pf-path__steps li,
  .pf-path__steps li:first-child,
  .pf-path__steps li:last-child,
  .pf-path__steps li:nth-child(2),
  .pf-path__steps li:nth-child(3) {
    padding: var(--space-4) 0;
    border-right: 0;
    border-bottom: var(--border-subtle);
    border-left: 0;
  }

  .pf-path__steps li:last-child {
    border-bottom: 0;
  }

  .pf-path__steps a {
    margin-top: 0;
  }

  .pf-faq-item button {
    min-height: 3rem;
    gap: var(--space-3);
    font-size: 1rem;
  }

  .pf-faq-item__answer {
    padding-right: 0;
    padding-bottom: var(--space-4);
  }

  .pf-final-cta {
    padding-block: var(--space-7);
  }

  .pf-final-cta__content {
    gap: var(--space-4);
  }

  .pf-final-cta__content .button {
    width: 100%;
  }
}


.home-page { overflow: clip; }
.home-page .section { position: relative; }
.home-page .meta { margin-bottom: 0; }
.home-page .button { border-radius: 10px; }
.home-page .home-text-link { display: inline-flex; min-width: 0; min-height: 44px; align-items: center; gap: var(--space-2); color: var(--color-ink-primary); font-weight: 650; text-decoration: none; border-bottom: 1px solid var(--color-line-subtle); transition: color var(--transition-fast), border-color var(--transition-fast); }
.home-page .home-text-link:hover { color: var(--color-accent-blue); border-color: var(--color-accent-blue); }
.home-section-heading { display: grid; min-width: 0; align-items: end; gap: var(--space-6); }
.home-section-heading > * { min-width: 0; }
.home-section-heading > div { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.home-section-heading h2, .home-section-heading p { margin-bottom: 0; }

.home-hero { padding-top: 72px; }
.home-hero__grid { display: grid; min-width: 0; grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr); align-items: start; gap: 20px; }
.home-hero__content { grid-column: 1 / span 1; display: flex; min-width: 0; flex-direction: column; align-items: stretch; gap: var(--space-5); }
.home-hero__intro { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-hero__intro h1, .home-hero__intro p { margin-bottom: 0; }
.home-hero__intro h1 { max-width: 540px; }
.home-hero__lead { max-width: 500px; font-size: var(--font-size-body-large); }
.home-hero__button { width: auto; max-width: 100%; }
.home-hero__notice { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); max-width: 460px; padding: var(--space-4); border: 1px solid transparent; border-radius: var(--radius-lg); background: var(--color-accent-blue-soft); }
.home-hero__notice h2 { margin-bottom: 0; font-size: 1.125rem; letter-spacing: -0.015em; }
.home-hero__notice p { margin-bottom: 0; }
.home-hero__facts { display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: var(--border-subtle); }
.home-hero__fact { min-width: 0; padding: var(--space-3) var(--space-3) 0 0; border-right: var(--border-subtle); }
.home-hero__fact + .home-hero__fact { padding-left: var(--space-3); }
.home-hero__fact:last-child { padding-right: 0; border-right: 0; }
.home-hero__fact p { margin-bottom: 0; font-size: 0.875rem; }
.home-hero__fact .meta { margin-bottom: var(--space-2); }
.home-hero__media { grid-column: 3 / span 1; width: 100%; aspect-ratio: 16 / 10; }
.home-hero__media img { object-position: 42% center; }

.home-pillars__heading, .home-formats__heading, .home-process__heading { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); }
.home-pillars__heading > p, .home-formats__heading > p, .home-process__heading > p { max-width: 620px; justify-self: end; }
.home-pillars__grid { display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-pillar { display: flex; min-width: 0; min-height: 100%; flex-direction: column; justify-content: space-between; gap: var(--space-5); padding: var(--space-6); }
.home-pillar__body { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.home-pillar__body h3, .home-pillar__body p { margin-bottom: 0; }
.home-pillar__number { color: var(--color-accent-blue); font-family: var(--font-heading); font-size: 1.25rem; font-weight: 700; letter-spacing: -0.02em; }
.home-pillar__rule { width: 100%; height: 1px; background: var(--color-line-subtle); }

.home-formats__grid { display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-format { display: flex; min-width: 0; min-height: 100%; flex-direction: column; justify-content: space-between; gap: var(--space-5); padding: var(--space-6); }
.home-format__body { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.home-format__body h3, .home-format__body p { margin-bottom: 0; }
.home-formats__callout { display: flex; min-width: 0; flex-direction: column; gap: var(--space-2); margin-top: var(--space-5); padding: var(--space-4) var(--space-5); }
.home-formats__callout p { margin-bottom: 0; }

.home-concept__grid { display: grid; min-width: 0; grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(340px, 4fr); align-items: start; gap: 20px; }
.home-concept__media { grid-column: 1 / span 1; width: 100%; aspect-ratio: 4 / 3; }
.home-concept__media img { object-position: 52% center; }
.home-concept__content { grid-column: 3 / span 1; display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); }
.home-concept__intro { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.home-concept__intro h2, .home-concept__intro p { margin-bottom: 0; }
.home-concept__intro h2 { max-width: 500px; }
.home-concept__lead { max-width: 500px; font-size: var(--font-size-body-large); }
.home-concept__fact { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); padding: var(--space-5); }
.home-concept__fact h3, .home-concept__fact p { margin-bottom: 0; }
.home-concept__blue-rule { width: 44px; height: 2px; background: var(--color-accent-blue); }
.home-concept__link { align-self: flex-start; }

.home-gallery__heading { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); max-width: 560px; }
.home-gallery__heading h2, .home-gallery__heading p { margin-bottom: 0; }
.home-gallery__mosaic { display: grid; min-width: 0; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(180px, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-gallery__item { grid-column: span 3; display: flex; min-width: 0; flex-direction: column; gap: var(--space-2); margin: 0; }
.home-gallery__item--large { grid-column: span 6; grid-row: span 2; }
.home-gallery__trigger { display: block; width: 100%; min-width: 0; min-height: 0; padding: 0; overflow: hidden; border: var(--border-subtle); border-radius: var(--radius-lg); background: var(--color-surface-primary); color: inherit; }
.home-gallery__trigger:hover { border-color: var(--color-accent-blue); background: var(--color-surface-primary); }
.home-gallery__trigger img { width: 100%; height: 100%; min-height: 0; aspect-ratio: 4 / 3; object-fit: cover; transition: transform var(--transition-base); }
.home-gallery__item--large .home-gallery__trigger, .home-gallery__item--large .home-gallery__trigger img { height: 100%; aspect-ratio: auto; }
.home-gallery__trigger:hover img { transform: scale(1.02); }
.home-gallery__item figcaption { color: var(--color-ink-secondary); font-size: var(--font-size-small); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
.home-gallery__footer { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: var(--space-5); margin-top: var(--space-5); }
.home-gallery__footer > * { min-width: 0; margin-bottom: 0; }
.home-gallery__footer > p { max-width: 520px; color: var(--color-ink-secondary); }

.home-private { background: var(--color-ink-primary); color: #fff; }
.home-private__grid { display: grid; min-width: 0; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); }
.home-private__content { grid-column: 1 / span 1; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); max-width: 760px; }
.home-private h2 { margin-bottom: 0; color: #fff; }
.home-private__lead { max-width: 760px; margin-bottom: 0; color: rgba(255,255,255,.78); font-size: var(--font-size-body-large); }
.home-private .meta { color: #93b4ff; }
.home-private__button { width: auto; max-width: 100%; }
.home-private__facts { display: grid; width: 100%; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: var(--space-3); border-top: 1px solid rgba(255,255,255,.22); }
.home-private__facts > div { min-width: 0; padding: var(--space-4) var(--space-4) 0 0; border-right: 1px solid rgba(255,255,255,.22); }
.home-private__facts > div + div { padding-left: var(--space-4); }
.home-private__facts > div:last-child { padding-right: 0; border-right: 0; }
.home-private__facts p { margin-bottom: 0; color: rgba(255,255,255,.76); font-size: 0.9375rem; }
.home-private__facts .meta { margin-bottom: var(--space-2); }
.home-private__link { display: inline-flex; min-height: 44px; align-items: center; gap: var(--space-2); color: #93b4ff; font-weight: 650; text-decoration: none; border-bottom: 1px solid rgba(147,180,255,.5); }
.home-private__link:hover { color: #fff; border-color: #fff; }

.home-process__grid { display: grid; min-width: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-top: var(--space-7); }
.home-process__step { min-width: 0; padding: 0 var(--space-5); border-right: var(--border-subtle); }
.home-process__step:first-child { padding-left: 0; }
.home-process__step:last-child { padding-right: 0; border-right: 0; }
.home-process__step h3 { margin-bottom: var(--space-3); }
.home-process__step p { margin-bottom: 0; }
.home-process__number { margin-bottom: var(--space-3); color: var(--color-accent-blue); font-family: var(--font-heading); font-size: 1.25rem; font-weight: 700; }
.home-process__link { margin-top: var(--space-6); }

.home-faq__intro { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); max-width: 680px; }
.home-faq__intro h2, .home-faq__intro p { margin-bottom: 0; }
.home-faq__list { display: flex; min-width: 0; flex-direction: column; gap: 0; width: min(100%, 760px); margin-top: var(--space-7); border-top: var(--border-subtle); }
.home-faq__item { min-width: 0; border-bottom: var(--border-subtle); }
.home-faq__item h3 { margin-bottom: 0; }
.home-faq__button { display: flex; width: 100%; min-width: 0; min-height: 64px; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) 0; border: 0; border-radius: 0; background: transparent; color: var(--color-ink-primary); font-family: var(--font-heading); font-size: 1.125rem; font-weight: 650; line-height: 1.3; text-align: left; }
.home-faq__button:hover { background: transparent; color: var(--color-accent-blue); }
.home-faq__icon { flex: 0 0 auto; color: var(--color-accent-blue); font-family: var(--font-body); font-size: 1.5rem; font-weight: 400; }
.home-faq__answer { max-width: 650px; padding: 0 0 var(--space-5); }
.home-faq__answer p { margin-bottom: 0; }

.home-contact__panel { padding: var(--space-7); border-radius: var(--radius-lg); background: var(--color-accent-blue-soft); }
.home-contact__content { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); max-width: 650px; }
.home-contact__content h2, .home-contact__content p { margin-bottom: 0; }
.home-contact__note { max-width: 520px; color: var(--color-ink-secondary); font-size: var(--font-size-small); font-weight: 600; line-height: 1.45; }

.home-lightbox[hidden] { display: none; }
.home-lightbox { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; padding: var(--space-4); }
.home-lightbox__scrim { position: absolute; inset: 0; background: rgba(9,10,15,.78); }
.home-lightbox__dialog { position: relative; z-index: 1; display: flex; width: min(100%, 980px); max-height: calc(100vh - 32px); min-width: 0; flex-direction: column; gap: var(--space-3); padding: var(--space-4); overflow: auto; border-radius: var(--radius-lg); background: var(--color-surface-primary); box-shadow: var(--shadow-overlay); }
.home-lightbox__top, .home-lightbox__controls { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: var(--space-3); }
.home-lightbox__count, .home-lightbox__caption { margin-bottom: 0; }
.home-lightbox__count { color: var(--color-ink-secondary); font-size: var(--font-size-small); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.home-lightbox__image { width: 100%; min-height: 0; max-height: 70vh; object-fit: contain; border-radius: var(--radius-md); background: var(--color-ink-primary); }

@media (max-width: 1199px) {
  .home-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(440px, 1fr); gap: var(--space-6); }
  .home-hero__content, .home-hero__media { grid-column: auto; }
  .home-concept__grid { grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr); gap: var(--space-6); }
  .home-concept__media, .home-concept__content { grid-column: auto; }
  .home-gallery__mosaic { grid-template-rows: repeat(2, minmax(160px, 1fr)); }
}

@media (max-width: 900px) {
  .home-hero { padding-top: var(--space-8); }
  .home-hero__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
  .home-hero__media { min-width: 0; }
  .home-pillars__heading, .home-formats__heading, .home-process__heading { grid-template-columns: 1fr; gap: var(--space-3); }
  .home-pillars__heading > p, .home-formats__heading > p, .home-process__heading > p { justify-self: start; max-width: 620px; }
  .home-pillars__grid, .home-formats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-pillars__grid > :last-child, .home-formats__grid > :last-child { grid-column: 1 / -1; }
  .home-concept__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .home-concept__media, .home-concept__content { grid-column: auto; }
  .home-concept__content { max-width: 680px; }
  .home-gallery__mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; }
  .home-gallery__item, .home-gallery__item--large { grid-column: auto; grid-row: auto; }
  .home-gallery__item--large { grid-column: span 2; }
  .home-gallery__item--large .home-gallery__trigger, .home-gallery__item--large .home-gallery__trigger img { height: auto; aspect-ratio: 16 / 10; }
  .home-private__grid { grid-template-columns: 1fr; }
  .home-private__content { grid-column: auto; }
  .home-process__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--space-6); }
  .home-process__step { padding: 0 var(--space-5); }
  .home-process__step:nth-child(odd) { padding-left: 0; }
  .home-process__step:nth-child(even) { border-right: 0; }
}

@media (max-width: 640px) {
  .home-hero { padding-top: var(--space-7); }
  .home-hero__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .home-hero__content, .home-hero__media { grid-column: auto; }
  .home-hero__media { order: 2; aspect-ratio: 4 / 3; }
  .home-hero__content { display: contents; }
  .home-hero__intro { order: 1; }
  .home-hero__notice { order: 3; }
  .home-hero__facts { order: 4; }
  .home-hero__intro h1 { max-width: 100%; }
  .home-hero__button { width: min(100%, 480px); }
  .home-hero__facts { grid-template-columns: 1fr; gap: 0; border-top: var(--border-subtle); }
  .home-hero__fact, .home-hero__fact + .home-hero__fact { padding: var(--space-3) 0; border-right: 0; border-bottom: var(--border-subtle); }
  .home-hero__fact:last-child { border-bottom: 0; }
  .home-pillars__grid, .home-formats__grid { grid-template-columns: 1fr; gap: var(--space-4); margin-top: var(--space-6); }
  .home-pillars__grid > :last-child, .home-formats__grid > :last-child { grid-column: auto; }
  .home-pillar, .home-format { padding: var(--space-5); }
  .home-formats__callout { padding: var(--space-4); }
  .home-concept__intro h2 { max-width: 100%; }
  .home-concept__fact { padding: var(--space-4); }
  .home-gallery__mosaic { grid-template-columns: 1fr; gap: var(--space-5); margin-top: var(--space-6); }
  .home-gallery__item, .home-gallery__item--large { grid-column: auto; }
  .home-gallery__item--large .home-gallery__trigger, .home-gallery__item--large .home-gallery__trigger img { aspect-ratio: 4 / 3; }
  .home-gallery__item:last-child .home-gallery__trigger img { aspect-ratio: 1; }
  .home-gallery__footer { flex-direction: column; align-items: flex-start; gap: var(--space-3); }
  .home-private__facts { grid-template-columns: 1fr; }
  .home-private__facts > div, .home-private__facts > div + div { padding: var(--space-3) 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.22); }
  .home-private__facts > div:last-child { border-bottom: 0; }
  .home-private__button { width: 100%; }
  .home-process__grid { grid-template-columns: 1fr; gap: 0; margin-top: var(--space-6); }
  .home-process__step, .home-process__step:nth-child(odd) { padding: var(--space-4) 0; border-right: 0; border-bottom: var(--border-subtle); }
  .home-process__step:first-child { padding-top: 0; }
  .home-process__step:last-child { padding-bottom: var(--space-4); }
  .home-faq__list { width: 100%; margin-top: var(--space-6); }
  .home-faq__button { font-size: 1rem; }
  .home-contact__panel { padding: var(--space-5); }
  .home-contact__content .button { width: 100%; }
  .home-lightbox { padding: var(--space-2); }
  .home-lightbox__dialog { max-height: calc(100vh - 16px); padding: var(--space-3); }
  .home-lightbox__top, .home-lightbox__controls { align-items: stretch; flex-direction: column; }
  .home-lightbox__close, .home-lightbox__controls button { width: 100%; }
}


[data-wt-page] {
  background: var(--color-page-background);
}

[data-wt-page] .wt-section {
  padding-block: var(--space-9);
}

[data-wt-page] .wt-section--hero {
  padding-block: 4.5rem 5rem;
}

[data-wt-page] .wt-section__intro {
  width: min(100%, 35rem);
  min-width: 0;
}

[data-wt-page] .wt-eyebrow {
  margin-bottom: var(--space-3);
  color: var(--color-accent-blue);
  font-size: var(--font-size-small);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

[data-wt-page] .wt-lead {
  margin-bottom: 0;
  font-size: var(--font-size-body-large);
  line-height: 1.55;
}

[data-wt-page] .wt-hero-grid,
[data-wt-page] .wt-feature-grid,
[data-wt-page] .wt-audience-grid,
[data-wt-page] .wt-final-grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-5);
}

[data-wt-page] .wt-hero-copy,
[data-wt-page] .wt-hero-rail,
[data-wt-page] .wt-feature-copy,
[data-wt-page] .wt-feature-media,
[data-wt-page] .wt-audience-card,
[data-wt-page] .wt-final-copy,
[data-wt-page] .wt-final-direction {
  min-width: 0;
  width: 100%;
}

[data-wt-page] .wt-hero-copy {
  width: min(100%, 38.75rem);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

[data-wt-page] .wt-hero-copy h1,
[data-wt-page] .wt-hero-copy p,
[data-wt-page] .wt-hero-copy .button {
  margin: 0;
}

[data-wt-page] .wt-hero-rail {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

[data-wt-page] .wt-hero-image {
  width: 100%;
  aspect-ratio: 16 / 10;
}

[data-wt-page] .wt-hero-image img {
  object-position: 58% center;
}

[data-wt-page] .wt-rules-panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 1px solid transparent;
  border-radius: var(--radius-lg);
  background: var(--color-accent-blue-soft);
}

[data-wt-page] .wt-rules-panel h2,
[data-wt-page] .wt-rules-panel p {
  margin: 0;
}

[data-wt-page] .wt-rules-panel h2 {
  font-size: 1.25rem;
}

[data-wt-page] .wt-rules-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin: 0;
}

[data-wt-page] .wt-rules-list li {
  min-width: 0;
  padding-top: var(--space-3);
  border-top: var(--border-subtle);
  color: var(--color-ink-primary);
}

[data-wt-page] .wt-card-grid,
[data-wt-page] .wt-steps-grid,
[data-wt-page] .wt-gallery-grid,
[data-wt-page] .wt-tips-grid {
  display: grid;
  min-width: 0;
  gap: var(--space-5);
}

[data-wt-page] .wt-card-grid,
[data-wt-page] .wt-gallery-grid,
[data-wt-page] .wt-tips-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: var(--space-6);
}

[data-wt-page] .wt-steps-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: var(--space-6);
}

[data-wt-page] .wt-format-card,
[data-wt-page] .wt-step-card,
[data-wt-page] .wt-audience-card,
[data-wt-page] .wt-tip-card {
  display: flex;
  min-width: 0;
  width: 100%;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
}

[data-wt-page] .wt-format-card {
  min-height: 100%;
  transition: border-color var(--transition-base);
}

[data-wt-page] .wt-format-card:hover {
  border-color: var(--color-accent-blue);
}

[data-wt-page] .wt-format-card h3,
[data-wt-page] .wt-format-card p,
[data-wt-page] .wt-format-card a,
[data-wt-page] .wt-step-card h3,
[data-wt-page] .wt-step-card p,
[data-wt-page] .wt-audience-card h3,
[data-wt-page] .wt-audience-card p,
[data-wt-page] .wt-tip-card h3,
[data-wt-page] .wt-tip-card p {
  margin: 0;
}

[data-wt-page] .wt-format-card .meta,
[data-wt-page] .wt-tip-card .meta {
  margin-bottom: var(--space-1);
}

[data-wt-page] .wt-card-facts {
  margin: 0;
  color: var(--color-ink-secondary);
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

[data-wt-page] .wt-card-link {
  margin-top: auto !important;
  padding-top: var(--space-3);
  font-weight: 650;
}

[data-wt-page] .wt-step-card {
  min-height: 100%;
}

[data-wt-page] .wt-step-card--final {
  border-color: transparent;
  background: var(--color-accent-blue-soft);
}

[data-wt-page] .wt-step-number {
  color: var(--color-accent-blue);
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

[data-wt-page] .wt-step-rule {
  width: 100%;
  height: 1px;
  margin-top: auto;
  background: var(--color-line-subtle);
}

[data-wt-page] .wt-feature-grid {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: start;
}

[data-wt-page] .wt-feature-copy {
  width: min(100%, 33.75rem);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

[data-wt-page] .wt-feature-copy h2,
[data-wt-page] .wt-feature-copy p {
  margin: 0;
}

[data-wt-page] .wt-feature-copy .divider {
  width: 100%;
  margin: var(--space-2) 0 0;
}

[data-wt-page] .wt-feature-media {
  margin-top: var(--space-6);
}

[data-wt-page] .wt-feature-media .media-frame {
  width: 100%;
  aspect-ratio: 4 / 3;
}

[data-wt-page] .wt-feature-media img {
  object-position: center center;
}

[data-wt-page] .wt-facts {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 0;
  margin: var(--space-6) 0 0;
}

[data-wt-page] .wt-facts div {
  display: grid;
  min-width: 0;
  grid-template-columns: 0.625rem minmax(0, 1fr);
  gap: var(--space-3);
  padding-block: var(--space-4);
  border-top: var(--border-subtle);
}

[data-wt-page] .wt-facts div:last-child {
  border-bottom: var(--border-subtle);
}

[data-wt-page] .wt-facts span {
  width: 0.5rem;
  height: 0.5rem;
  margin-top: 0.45rem;
  border-radius: 50%;
  background: var(--color-accent-blue);
}

[data-wt-page] .wt-facts dt,
[data-wt-page] .wt-facts dd {
  min-width: 0;
  margin: 0;
}

[data-wt-page] .wt-facts dt {
  margin-bottom: var(--space-1);
}

[data-wt-page] .wt-facts dd {
  width: min(100%, 32.5rem);
}

[data-wt-page] .wt-audience-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: var(--space-6);
}

[data-wt-page] .wt-audience-card {
  min-height: 100%;
}

[data-wt-page] .wt-audience-accents {
  margin: auto 0 0;
  padding-top: var(--space-3);
  color: var(--color-ink-secondary);
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: 0.04em;
}

[data-wt-page] .wt-audience-action {
  margin-top: var(--space-5);
}

[data-wt-page] .wt-dark-band {
  background: var(--color-ink-primary);
  color: #fff;
}

[data-wt-page] .wt-dark-band h2,
[data-wt-page] .wt-dark-band h3 {
  color: #fff;
}

[data-wt-page] .wt-dark-band p {
  color: rgba(255, 255, 255, 0.78);
}

[data-wt-page] .wt-policy-inner {
  width: min(100%, 46.25rem);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

[data-wt-page] .wt-policy-inner h2,
[data-wt-page] .wt-policy-inner p {
  margin: 0;
}

[data-wt-page] .wt-policy-rules {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  margin: var(--space-3) 0 0;
}

[data-wt-page] .wt-policy-rules li {
  min-width: 0;
  padding-top: var(--space-3);
  border-top: 1px solid rgba(255, 255, 255, 0.24);
  color: #fff;
  font-weight: 600;
}

[data-wt-page] .wt-gallery-card {
  min-width: 0;
  width: 100%;
}

[data-wt-page] .wt-gallery-button {
  display: block;
  width: 100%;
  min-width: 0;
  padding: 0;
  overflow: hidden;
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
}

[data-wt-page] .wt-gallery-button:hover {
  border-color: var(--color-accent-blue);
  background: var(--color-surface-primary);
}

[data-wt-page] .wt-gallery-button img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

[data-wt-page] .wt-gallery-card:nth-child(1) img {
  object-position: 58% center;
}

[data-wt-page] .wt-gallery-card:nth-child(2) img {
  object-position: center center;
}

[data-wt-page] .wt-gallery-card:nth-child(3) img {
  object-position: 42% center;
}

[data-wt-page] .wt-gallery-card figcaption {
  margin-top: var(--space-3);
  color: var(--color-ink-secondary);
}

[data-wt-page] .wt-tip-card {
  min-height: 100%;
}

[data-wt-page] .wt-faq-intro {
  width: min(100%, 37.5rem);
}

[data-wt-page] .wt-faq-list {
  display: flex;
  width: 100%;
  flex-direction: column;
  margin-top: var(--space-6);
  border-top: var(--border-subtle);
}

[data-wt-page] .wt-faq-item {
  min-width: 0;
  border-bottom: var(--border-subtle);
}

[data-wt-page] .wt-faq-button {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr) 1.5rem;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-5) 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-ink-primary);
  font-family: var(--font-heading);
  font-size: clamp(1.0625rem, 1.5vw, 1.25rem);
  font-weight: 650;
  line-height: 1.3;
  text-align: left;
}

[data-wt-page] .wt-faq-button:hover {
  background: transparent;
  color: var(--color-accent-blue);
}

[data-wt-page] .wt-faq-symbol {
  display: grid;
  width: 1.5rem;
  height: 1.5rem;
  place-items: center;
  border: 1px solid var(--color-line-subtle);
  border-radius: 50%;
  color: var(--color-accent-blue);
  font-family: var(--font-body);
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1;
}

[data-wt-page] .wt-faq-button[aria-expanded="true"] .wt-faq-symbol::before {
  content: "−";
}

[data-wt-page] .wt-faq-button[aria-expanded="false"] .wt-faq-symbol::before {
  content: "+";
}

[data-wt-page] .wt-faq-panel {
  width: min(100%, 42.5rem);
  padding: 0 0 var(--space-5);
}

[data-wt-page] .wt-faq-panel p {
  margin: 0;
}

[data-wt-page] .wt-faq-panel p + p {
  margin-top: var(--space-4);
}

[data-wt-page] .wt-final-section {
  padding-top: var(--space-7);
}

[data-wt-page] .wt-final-box {
  padding: var(--space-7);
  border: 1px solid var(--color-ink-primary);
  background: var(--color-ink-primary);
  color: #fff;
}

[data-wt-page] .wt-final-grid {
  align-items: center;
}

[data-wt-page] .wt-final-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

[data-wt-page] .wt-final-copy h2,
[data-wt-page] .wt-final-copy p,
[data-wt-page] .wt-final-copy .button {
  margin: 0;
}

[data-wt-page] .wt-final-copy h2 {
  color: #fff;
}

[data-wt-page] .wt-final-copy p {
  width: min(100%, 37.5rem);
  color: rgba(255, 255, 255, 0.78);
}

[data-wt-page] .wt-final-copy .button {
  border-color: var(--color-accent-blue);
  background: var(--color-accent-blue);
}

[data-wt-page] .wt-final-copy .button:hover {
  border-color: #fff;
  background: #fff;
  color: var(--color-ink-primary);
}

[data-wt-page] .wt-final-direction {
  padding: var(--space-5);
  border: 1px solid rgba(255, 255, 255, 0.26);
  border-radius: var(--radius-lg);
}

[data-wt-page] .wt-final-direction p {
  width: min(100%, 21.25rem);
  margin: var(--space-2) 0 0;
  color: rgba(255, 255, 255, 0.78);
}

[data-wt-page] .wt-lightbox {
  position: fixed;
  z-index: 1000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: var(--space-4);
  background: rgba(9, 10, 15, 0.84);
}

[data-wt-page] .wt-lightbox[hidden] {
  display: none;
}

[data-wt-page] .wt-lightbox-dialog {
  position: relative;
  width: min(100%, 68rem);
  min-width: 0;
  max-height: calc(100vh - 2rem);
  padding: var(--space-5);
  overflow: auto;
  border-radius: var(--radius-lg);
  background: var(--color-surface-primary);
  box-shadow: var(--shadow-overlay);
}

[data-wt-page] .wt-lightbox-close {
  position: absolute;
  z-index: 1;
  top: var(--space-4);
  right: var(--space-4);
}

[data-wt-page] .wt-lightbox-image {
  width: 100%;
  max-height: min(68vh, 42rem);
  object-fit: contain;
  background: var(--color-ink-primary);
}

[data-wt-page] .wt-lightbox-footer {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-4);
  margin-top: var(--space-4);
  padding-right: 7rem;
}

[data-wt-page] .wt-lightbox-caption,
[data-wt-page] .wt-lightbox-counter {
  margin: 0;
}

[data-wt-page] .wt-lightbox-caption {
  color: var(--color-ink-secondary);
}

[data-wt-page] .wt-lightbox-counter {
  color: var(--color-ink-primary);
  font-size: var(--font-size-small);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

[data-wt-page] .wt-lightbox-navigation {
  display: flex;
  width: 100%;
  min-width: 0;
  justify-content: space-between;
  gap: var(--space-3);
  margin-top: var(--space-4);
}

@media (max-width: 1050px) {
  [data-wt-page] .wt-steps-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  [data-wt-page] .wt-section {
    padding-block: var(--space-8);
  }

  [data-wt-page] .wt-section--hero {
    padding-block: var(--space-8);
  }

  [data-wt-page] .wt-hero-grid,
  [data-wt-page] .wt-feature-grid,
  [data-wt-page] .wt-final-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  [data-wt-page] .wt-hero-copy,
  [data-wt-page] .wt-feature-copy {
    width: min(100%, 38.75rem);
  }

  [data-wt-page] .wt-feature-media {
    margin-top: 0;
  }

  [data-wt-page] .wt-feature-copy {
    grid-row: 1;
  }

  [data-wt-page] .wt-feature-media {
    grid-row: 2;
  }

  [data-wt-page] .wt-facts {
    grid-row: 3;
    margin-top: calc(var(--space-6) * -0.25);
  }

  [data-wt-page] .wt-card-grid,
  [data-wt-page] .wt-gallery-grid,
  [data-wt-page] .wt-tips-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  [data-wt-page] .wt-card-grid > :last-child,
  [data-wt-page] .wt-gallery-grid > :last-child,
  [data-wt-page] .wt-tips-grid > :last-child {
    grid-column: 1 / -1;
    width: min(100%, calc((100% - var(--space-5)) / 2));
  }

  [data-wt-page] .wt-policy-rules {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  [data-wt-page] .wt-policy-rules li {
    padding-block: var(--space-4);
  }

  [data-wt-page] .wt-final-box {
    padding: var(--space-6);
  }
}

@media (max-width: 640px) {
  [data-wt-page] .wt-section,
  [data-wt-page] .wt-section--hero {
    padding-block: var(--space-7);
  }

  [data-wt-page] .wt-hero-grid,
  [data-wt-page] .wt-feature-grid,
  [data-wt-page] .wt-audience-grid,
  [data-wt-page] .wt-final-grid,
  [data-wt-page] .wt-card-grid,
  [data-wt-page] .wt-steps-grid,
  [data-wt-page] .wt-gallery-grid,
  [data-wt-page] .wt-tips-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  [data-wt-page] .wt-card-grid > :last-child,
  [data-wt-page] .wt-gallery-grid > :last-child,
  [data-wt-page] .wt-tips-grid > :last-child {
    grid-column: auto;
    width: 100%;
  }

  [data-wt-page] .wt-hero-copy,
  [data-wt-page] .wt-feature-copy,
  [data-wt-page] .wt-section__intro,
  [data-wt-page] .wt-faq-intro {
    width: 100%;
  }

  [data-wt-page] .wt-hero-copy h1 {
    font-size: clamp(2.375rem, 10vw, 2.625rem);
  }

  [data-wt-page] .wt-lead {
    font-size: 1.125rem;
  }

  [data-wt-page] .wt-rules-panel,
  [data-wt-page] .wt-format-card,
  [data-wt-page] .wt-step-card,
  [data-wt-page] .wt-audience-card,
  [data-wt-page] .wt-tip-card {
    padding: var(--space-5);
  }

  [data-wt-page] .wt-audience-action,
  [data-wt-page] .wt-final-copy .button {
    width: 100%;
  }

  [data-wt-page] .wt-feature-media .media-frame {
    aspect-ratio: 4 / 3;
  }

  [data-wt-page] .wt-faq-button {
    gap: var(--space-3);
    padding-block: var(--space-4);
    font-size: 1rem;
  }

  [data-wt-page] .wt-faq-panel {
    padding-bottom: var(--space-4);
  }

  [data-wt-page] .wt-final-section {
    padding-top: var(--space-5);
  }

  [data-wt-page] .wt-final-box {
    padding: var(--space-5);
  }

  [data-wt-page] .wt-lightbox-dialog {
    padding: var(--space-4);
  }

  [data-wt-page] .wt-lightbox-close {
    position: static;
    margin-left: auto;
  }

  [data-wt-page] .wt-lightbox-footer {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
    padding-right: 0;
  }
}

@media (max-width: 390px) {
  [data-wt-page] .wt-hero-copy .button {
    width: 100%;
  }
}


.galeria-page { overflow: clip; }
.galeria-page .section { padding-block: 6rem; }
.galeria-page .galeria-kicker { margin: 0; color: var(--color-accent-blue); font-size: var(--font-size-small); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.galeria-hero__grid { display: grid; grid-template-columns: minmax(380px, 5fr) minmax(460px, 7fr); gap: 2rem; align-items: center; }
.galeria-hero__copy, .galeria-hero__feature, .galeria-collection__heading, .galeria-collection__lead, .galeria-photo-card, .galeria-context__label, .galeria-context__copy, .galeria-formats__intro, .galeria-format-card, .galeria-kitchen__copy, .galeria-kitchen__links, .galeria-private__copy, .galeria-private__reference, .galeria-briefing__intro, .galeria-tips, .galeria-faq__intro, .galeria-faq__list { min-width: 0; }
.galeria-hero__copy { display: flex; flex-direction: column; align-items: flex-start; gap: 1.5rem; max-width: 32.5rem; }
.galeria-hero__copy h1, .galeria-hero__copy p, .galeria-hero__copy h2 { margin: 0; }
.galeria-hero__lead { max-width: 38ch; font-size: var(--font-size-body-large); }
.galeria-hero__notice { display: flex; flex-direction: column; gap: .75rem; max-width: 52ch; padding: 1rem 1.25rem; border: 1px solid transparent; border-radius: .75rem; background: var(--color-accent-blue-soft); }
.galeria-hero__notice h2 { font-size: 1.125rem; letter-spacing: -.02em; }
.galeria-hero__notice p { font-size: .9375rem; }
.galeria-hero__feature { width: 100%; }
.galeria-hero__feature .galeria-image-trigger { width: 100%; aspect-ratio: 16 / 10; }
.galeria-hero__feature img { object-position: 38% 50%; }
.galeria-hero__feature figcaption { margin-top: .75rem; max-width: 48ch; color: var(--color-ink-secondary); font-size: .875rem; }
.galeria-image-trigger, .galeria-text-trigger { padding: 0; border: 0; border-radius: 0; background: transparent; color: inherit; text-align: left; }
.galeria-image-trigger { display: block; overflow: hidden; border: var(--border-subtle); border-radius: .75rem; }
.galeria-image-trigger:hover { border-color: var(--color-accent-blue); background: transparent; }
.galeria-image-trigger img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-base); }
.galeria-image-trigger:hover img { transform: scale(1.02); }
.galeria-collection { border-top: var(--border-subtle); }
.galeria-collection__intro { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 4fr) minmax(0, 3fr); gap: 1.5rem; align-items: end; }
.galeria-collection__heading { grid-column: 1; display: flex; flex-direction: column; gap: .75rem; }
.galeria-collection__heading h2, .galeria-collection__lead { margin: 0; }
.galeria-collection__lead { grid-column: 2; max-width: 58ch; color: var(--color-ink-secondary); }
.galeria-filters { display: flex; width: 100%; min-width: 0; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.galeria-filter { min-height: 2.75rem; border-color: var(--color-line-subtle); background: var(--color-surface-primary); color: var(--color-ink-primary); }
.galeria-filter:hover, .galeria-filter.is-active { border-color: var(--color-accent-blue); background: var(--color-accent-blue-soft); color: var(--color-ink-primary); }
.galeria-filter.is-active { box-shadow: inset 0 -2px 0 var(--color-accent-blue); }
.galeria-collection__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.5rem 1.25rem; margin-top: 2rem; }
.galeria-photo-card { display: flex; flex-direction: column; width: 100%; border: var(--border-subtle); border-radius: .75rem; background: var(--color-surface-primary); overflow: hidden; }
.galeria-photo-card--wide { grid-column: span 6; }
.galeria-photo-card--square { grid-column: span 3; }
.galeria-photo-card:last-child { grid-column: 7 / span 6; }
.galeria-photo-card[hidden] { display: none; }
.galeria-photo-card__image { width: 100%; aspect-ratio: 4 / 3; }
.galeria-photo-card--square .galeria-photo-card__image { aspect-ratio: 1; }
.galeria-photo-card__image img { object-position: 50% 45%; }
.galeria-photo-card--square:first-of-type img { object-position: 50% 42%; }
.galeria-photo-card--square:last-child img { object-position: 50% 52%; }
.galeria-photo-card__body { display: flex; flex: 1; flex-direction: column; gap: .75rem; padding: 1.5rem; }
.galeria-photo-card__body > * { margin: 0; }
.galeria-photo-card__body p:last-child { max-width: 48ch; color: var(--color-ink-secondary); }
.galeria-text-trigger { min-height: 0; color: var(--color-ink-primary); font-family: var(--font-heading); font-size: inherit; font-weight: 650; line-height: 1.2; letter-spacing: -.02em; }
.galeria-text-trigger:hover { color: var(--color-accent-blue); text-decoration: underline; text-underline-offset: .16em; }
.galeria-context { background: var(--color-surface-primary); border-block: var(--border-subtle); }
.galeria-context__grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 7fr) minmax(0, 3fr); gap: 1.25rem; }
.galeria-context__label { grid-column: 1; margin: .5rem 0 0; color: var(--color-accent-blue); font-size: var(--font-size-small); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.galeria-context__copy { grid-column: 2; max-width: 43.75rem; }
.galeria-context__copy h2 { max-width: 24ch; }
.galeria-context__copy > p { max-width: 66ch; }
.galeria-context__rule { width: 100%; height: 1px; margin: 2rem 0; background: var(--color-line-subtle); }
.galeria-observations { display: flex; flex-direction: column; gap: 1rem; margin-top: 2rem; }
.galeria-observations h3 { margin: 0; }
.galeria-observations ol { display: flex; flex-direction: column; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.galeria-observations li { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: .75rem; align-items: start; }
.galeria-observations li span, .galeria-tips > li > span { color: var(--color-accent-blue); font-size: var(--font-size-small); font-weight: 700; letter-spacing: .06em; }
.galeria-observations li p { max-width: 54ch; margin: 0; }
.galeria-formats__intro { display: flex; flex-direction: column; gap: .75rem; width: min(100%, 40rem); }
.galeria-formats__intro > * { margin: 0; }
.galeria-formats__intro > p:last-child { max-width: 58ch; color: var(--color-ink-secondary); }
.galeria-formats__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-top: 2rem; }
.galeria-format-card { display: flex; flex-direction: column; width: 100%; border: var(--border-subtle); border-radius: .75rem; background: var(--color-surface-primary); overflow: hidden; }
.galeria-format-card__image { width: 100%; aspect-ratio: 4 / 3; }
.galeria-format-card__image img { object-position: 52% 50%; }
.galeria-format-card:last-child img { object-position: 48% 48%; }
.galeria-format-card__body { display: flex; flex: 1; flex-direction: column; gap: .75rem; padding: 1.5rem; }
.galeria-format-card__body > * { margin: 0; }
.galeria-format-card__body p:last-child { max-width: 46ch; color: var(--color-ink-secondary); }
.galeria-format-card__footer { margin: 0; padding: 1rem 1.5rem; border-top: var(--border-subtle); color: var(--color-ink-secondary); font-size: .875rem; font-weight: 600; }
.galeria-format-card--text { justify-content: space-between; }
.galeria-kitchen { border-top: var(--border-subtle); }
.galeria-kitchen__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(280px, 7fr); gap: 2rem; align-items: start; }
.galeria-kitchen__copy { max-width: 37.5rem; }
.galeria-kitchen__copy > p { max-width: 64ch; }
.galeria-kitchen__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.galeria-crosslink { display: flex; min-width: 0; min-height: 11rem; flex-direction: column; justify-content: space-between; gap: 1rem; padding: 1.5rem; border: var(--border-subtle); border-radius: .75rem; background: var(--color-surface-primary); color: var(--color-ink-primary); text-decoration: none; }
.galeria-crosslink:hover { border-color: var(--color-accent-blue); color: var(--color-accent-blue); }
.galeria-crosslink strong { font-family: var(--font-heading); font-size: 1.25rem; letter-spacing: -.02em; }
.galeria-crosslink small { max-width: 38ch; color: var(--color-ink-secondary); }
.galeria-editorial-note { grid-column: span 2; padding-top: 1rem; border-top: 2px solid var(--color-accent-blue); }
.galeria-editorial-note p { max-width: 52ch; margin: 0; color: var(--color-ink-secondary); }
.galeria-private { padding-block: 6rem; background: var(--color-ink-primary); color: #fff; }
.galeria-private__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(280px, 7fr); gap: 2rem; align-items: center; }
.galeria-private__copy { display: flex; flex-direction: column; align-items: flex-start; gap: 1.5rem; max-width: 32.5rem; }
.galeria-private__copy > * { margin: 0; }
.galeria-private h2 { color: #fff; }
.galeria-private__copy p, .galeria-private__reference > span:last-child { color: rgba(255,255,255,.76); }
.galeria-private__reference { display: flex; min-height: 13rem; flex-direction: column; justify-content: center; gap: 1rem; padding: 2rem; border: 1px solid rgba(255,255,255,.28); border-radius: .75rem; color: #fff; text-decoration: none; }
.galeria-private__reference:hover { border-color: #93b4ff; color: #93b4ff; }
.galeria-private__reference .meta { color: #93b4ff; }
.galeria-private__reference strong { max-width: 32ch; font-family: var(--font-heading); font-size: clamp(1.25rem, 2vw, 1.625rem); line-height: 1.2; letter-spacing: -.02em; }
.galeria-private__reference > span:last-child { max-width: 50ch; }
.galeria-briefing__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(430px, 6fr); gap: 1.25rem; align-items: start; }
.galeria-briefing__intro { grid-column: 1; max-width: 35rem; }
.galeria-briefing__intro p { max-width: 58ch; }
.galeria-tips { display: flex; grid-column: 3; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.galeria-tips > li { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: 1rem; padding-block: 1.25rem; border-top: var(--border-subtle); }
.galeria-tips > li:last-child { border-bottom: var(--border-subtle); }
.galeria-tips h3, .galeria-tips p { margin: 0; }
.galeria-tips h3 { margin-bottom: .5rem; }
.galeria-tips p { max-width: 55ch; color: var(--color-ink-secondary); }
.galeria-faq { background: var(--color-surface-primary); border-block: var(--border-subtle); }
.galeria-faq__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 2rem; }
.galeria-faq__intro { max-width: 31.25rem; }
.galeria-faq__intro > p:last-child { max-width: 52ch; color: var(--color-ink-secondary); }
.galeria-faq__list { display: flex; flex-direction: column; }
.galeria-faq-item { border-bottom: var(--border-subtle); }
.galeria-faq-item:first-child { border-top: var(--border-subtle); }
.galeria-faq-item h3 { margin: 0; }
.galeria-faq-item h3 button { display: grid; width: 100%; min-height: 4rem; grid-template-columns: minmax(0, 1fr) 2rem; gap: 1rem; padding: 1rem 0; border: 0; border-radius: 0; background: transparent; color: var(--color-ink-primary); font-family: var(--font-heading); font-size: 1.125rem; font-weight: 650; text-align: left; }
.galeria-faq-item h3 button:hover { background: transparent; color: var(--color-accent-blue); }
.galeria-faq-item h3 button span { color: var(--color-accent-blue); font-size: 1.5rem; font-weight: 400; line-height: 1; text-align: right; }
.galeria-faq-item__answer { padding: 0 0 1.5rem; }
.galeria-faq-item__answer p { max-width: 62ch; margin: 0; color: var(--color-ink-secondary); }
.galeria-closing__card { display: flex; width: min(100%, 43.75rem); min-width: 0; flex-direction: column; align-items: center; gap: 1.5rem; margin-inline: auto; padding: 3rem; border: var(--border-subtle); border-radius: .75rem; background: var(--color-surface-primary); text-align: center; }
.galeria-closing__card > * { margin: 0; }
.galeria-closing__card p { max-width: 46ch; color: var(--color-ink-secondary); }
.galeria-lightbox-open { overflow: hidden; }
.galeria-lightbox[hidden] { display: none; }
.galeria-lightbox { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; padding: 1.5rem; }
.galeria-lightbox__scrim { position: absolute; inset: 0; background: rgba(9,10,15,.82); }
.galeria-lightbox__dialog { position: relative; z-index: 1; display: flex; width: min(100%, 70rem); max-height: calc(100vh - 3rem); min-width: 0; flex-direction: column; padding: 1rem; border-radius: .75rem; background: var(--color-surface-primary); box-shadow: var(--shadow-overlay); }
.galeria-lightbox__topbar { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; }
.galeria-lightbox__topbar p { margin: 0; color: var(--color-ink-secondary); font-size: var(--font-size-small); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.galeria-lightbox__close { min-height: 2.5rem; border-color: var(--color-line-subtle); background: var(--color-surface-primary); color: var(--color-ink-primary); }
.galeria-lightbox__close:hover { border-color: var(--color-accent-blue); background: var(--color-accent-blue-soft); color: var(--color-accent-blue); }
.galeria-lightbox__content { display: grid; min-height: 0; grid-template-columns: 2.75rem minmax(0, 1fr) 2.75rem; gap: .75rem; align-items: center; }
.galeria-lightbox__content figure { min-width: 0; margin: 0; }
.galeria-lightbox__content figure img { width: 100%; max-height: calc(100vh - 13rem); object-fit: contain; background: var(--color-ink-primary); }
.galeria-lightbox__content figcaption { padding-top: .75rem; }
.galeria-lightbox__content figcaption h2, .galeria-lightbox__content figcaption p { margin: 0; }
.galeria-lightbox__content figcaption p { max-width: 62ch; margin-top: .25rem; color: var(--color-ink-secondary); }
.galeria-lightbox__nav { width: 2.75rem; min-width: 2.75rem; padding: .5rem; }
@media (max-width: 1199px) { .galeria-page .section { padding-block: 4.5rem; } .galeria-hero__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } .galeria-hero__copy { grid-column: span 3; min-width: 0; } .galeria-hero__feature { grid-column: span 3; min-width: 0; } .galeria-collection__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } .galeria-photo-card--wide { grid-column: span 3; } .galeria-photo-card--square { grid-column: span 3; } .galeria-photo-card:last-child { grid-column: 4 / span 3; } }
@media (max-width: 900px) { .galeria-page .section { padding-block: 4.5rem; } .galeria-hero__grid, .galeria-kitchen__grid, .galeria-private__grid, .galeria-faq__grid { grid-template-columns: 1fr; } .galeria-hero__copy, .galeria-hero__feature, .galeria-kitchen__copy, .galeria-kitchen__links, .galeria-private__copy, .galeria-private__reference, .galeria-faq__intro, .galeria-faq__list { grid-column: 1; width: 100%; } .galeria-hero__copy { max-width: 40rem; } .galeria-hero__feature { max-width: 100%; } .galeria-collection__intro { grid-template-columns: repeat(6, minmax(0, 1fr)); } .galeria-collection__heading { grid-column: span 3; } .galeria-collection__lead { grid-column: span 3; } .galeria-context__grid { grid-template-columns: 1fr; gap: 1rem; } .galeria-context__label, .galeria-context__copy { grid-column: 1; } .galeria-context__copy { max-width: 43.75rem; } .galeria-formats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .galeria-format-card:last-child { grid-column: span 2; } .galeria-briefing__grid { grid-template-columns: 1fr; gap: 1.5rem; } .galeria-briefing__intro, .galeria-tips { grid-column: 1; width: 100%; } .galeria-tips { max-width: 43rem; } }
@media (max-width: 640px) { .galeria-page .section { padding-block: 3.5rem; } .galeria-hero__grid { gap: 1.5rem; } .galeria-hero__copy { gap: 1.25rem; } .galeria-hero__lead { max-width: none; font-size: 1rem; } .galeria-hero__notice { max-width: none; } .galeria-hero__cta, .galeria-private__copy .button, .galeria-closing__card .button { width: 100%; min-height: 3rem; } .galeria-hero__feature .galeria-image-trigger { aspect-ratio: 4 / 3; } .galeria-collection__intro { grid-template-columns: 1fr; gap: 1rem; } .galeria-collection__heading, .galeria-collection__lead { grid-column: 1; } .galeria-collection__lead { max-width: none; } .galeria-filters { gap: .5rem; } .galeria-filter { flex: 1 1 auto; padding-inline: .75rem; } .galeria-collection__grid { grid-template-columns: 1fr; gap: 1rem; } .galeria-photo-card--wide, .galeria-photo-card--square, .galeria-photo-card:last-child { grid-column: 1; } .galeria-photo-card--square .galeria-photo-card__image { aspect-ratio: 4 / 3; } .galeria-photo-card__body, .galeria-format-card__body { padding: 1.25rem; } .galeria-context__copy h2 { max-width: none; } .galeria-observations li { grid-template-columns: 1.75rem minmax(0, 1fr); } .galeria-formats__grid, .galeria-kitchen__links { grid-template-columns: 1fr; } .galeria-format-card:last-child, .galeria-editorial-note { grid-column: 1; } .galeria-format-card__footer { padding-inline: 1.25rem; } .galeria-crosslink { min-height: 9rem; padding: 1.25rem; } .galeria-private { padding-block: 3.5rem; } .galeria-private__grid { gap: 1.5rem; } .galeria-private__copy { gap: 1.25rem; } .galeria-private__reference { min-height: 0; padding: 1.5rem; } .galeria-tips > li { grid-template-columns: 2rem minmax(0, 1fr); gap: .75rem; } .galeria-faq-item h3 button { font-size: 1.0625rem; } .galeria-closing__card { width: 100%; padding: 1.5rem; } .galeria-lightbox { padding: .5rem; } .galeria-lightbox__dialog { max-height: calc(100vh - 1rem); padding: .75rem; } .galeria-lightbox__content { grid-template-columns: 2.5rem minmax(0, 1fr) 2.5rem; gap: .25rem; } .galeria-lightbox__nav { width: 2.5rem; min-width: 2.5rem; padding: .25rem; } .galeria-lightbox__content figure img { max-height: calc(100vh - 14rem); } .galeria-lightbox__close { padding-inline: .5rem; font-size: .8125rem; } }
@media (prefers-reduced-motion: reduce) { .galeria-image-trigger img { transition: none; } }


body:has(.thank-you-page) {
  display: flex;
  min-height: 100vh;
  flex-direction: column;
}

.thank-you-page {
  display: flex;
  flex: 1;
  align-items: center;
}

.thank-you-page__section {
  width: 100%;
}

.thank-you-page__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 24rem);
  align-items: center;
  gap: var(--space-7);
}

.thank-you-page__content {
  max-width: 43rem;
}

.thank-you-page__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
  color: var(--color-status-success);
  font-size: var(--font-size-small);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.35;
  text-transform: uppercase;
}

.thank-you-page__eyebrow::before {
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 50%;
  background: var(--color-status-success);
  content: "";
}

.thank-you-page__content h1 {
  margin-bottom: var(--space-5);
}

.thank-you-page__lead {
  max-width: 40rem;
  margin-bottom: var(--space-4);
  color: var(--color-ink-primary);
  font-size: var(--font-size-body-large);
}

.thank-you-page__copy {
  max-width: 38rem;
  margin-bottom: var(--space-6);
  color: var(--color-ink-secondary);
}

.thank-you-page__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.thank-you-page__panel {
  padding: var(--space-6);
}

.thank-you-page__panel-mark {
  display: flex;
  width: 2.75rem;
  height: 2.75rem;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--space-5);
  border-radius: var(--radius-md);
  background: var(--color-accent-blue-soft);
  color: var(--color-accent-blue);
}

.thank-you-page__panel-mark svg {
  width: 1.375rem;
  height: 1.375rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.thank-you-page__panel h2 {
  margin-bottom: var(--space-3);
  font-size: 1.25rem;
}

.thank-you-page__panel p {
  margin-bottom: var(--space-5);
  color: var(--color-ink-secondary);
}

.thank-you-page__contact-link {
  font-weight: 600;
}

@media (max-width: 900px) {
  .thank-you-page {
    align-items: flex-start;
  }

  .thank-you-page__layout {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .thank-you-page__content {
    max-width: 42rem;
  }

  .thank-you-page__panel {
    max-width: 42rem;
  }
}

@media (max-width: 640px) {
  .thank-you-page__section {
    padding-block: var(--space-7);
  }

  .thank-you-page__lead {
    font-size: 1.0625rem;
  }

  .thank-you-page__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .thank-you-page__actions .button {
    width: 100%;
  }

  .thank-you-page__panel {
    padding: var(--space-5);
  }
}

/* =========================================================
   RESTAURACJA + MENU
   ========================================================= */

.page-kicker {
  margin-bottom: var(--space-3);
  color: var(--color-accent-blue);
  font-size: var(--font-size-small);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.text-link {
  display: inline-flex;
  font-weight: 700;
  text-decoration: none;
}

.restaurant-page h1,
.menu-page h1 {
  max-width: 14ch;
  font-size: clamp(2.75rem, 6vw, 5.75rem);
  letter-spacing: -0.055em;
}

.restaurant-page h2,
.menu-page h2 {
  font-size: clamp(2rem, 4vw, 3.75rem);
  letter-spacing: -0.04em;
}

/* Restaurant hero */

.restaurant-hero,
.menu-hero {
  padding-top: clamp(4rem, 8vw, 8rem);
}

.restaurant-hero__grid,
.menu-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(24rem, 1.1fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
}

.restaurant-hero__lead,
.menu-hero__lead {
  max-width: 42rem;
  margin-bottom: var(--space-6);
  color: var(--color-ink-secondary);
  font-size: clamp(1.1rem, 2vw, 1.35rem);
}

.restaurant-hero__actions,
.restaurant-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.restaurant-hero__image,
.menu-hero__image {
  margin: 0;
}

.restaurant-hero__image img,
.menu-hero__image img {
  width: 100%;
  height: clamp(28rem, 52vw, 44rem);
  object-fit: cover;
}

.restaurant-hero__image figcaption {
  margin-top: var(--space-3);
  color: var(--color-ink-secondary);
  font-size: var(--font-size-small);
}

/* Restaurant concept */

.restaurant-concept {
  background: var(--color-surface-primary);
}

.restaurant-concept__grid,
.restaurant-service__grid,
.menu-information__grid {
  display: grid;
  grid-template-columns: minmax(16rem, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(2rem, 8vw, 8rem);
}

.restaurant-concept__copy {
  color: var(--color-ink-secondary);
  font-size: var(--font-size-body-large);
}

.restaurant-concept__copy p:last-child {
  margin-bottom: 0;
}

/* Restaurant features */

.restaurant-features__intro {
  max-width: 45rem;
  margin-bottom: var(--space-7);
}

.restaurant-features__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: var(--border-subtle);
  border-left: var(--border-subtle);
}

.restaurant-feature {
  min-width: 0;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-right: var(--border-subtle);
  border-bottom: var(--border-subtle);
  background: var(--color-surface-primary);
}

.restaurant-feature__number {
  display: block;
  margin-bottom: var(--space-7);
  color: var(--color-accent-blue);
  font-weight: 700;
}

.restaurant-feature p {
  margin-bottom: 0;
  color: var(--color-ink-secondary);
}

/* Restaurant kitchen */

.restaurant-kitchen {
  background: var(--color-ink-primary);
  color: #ffffff;
}

.restaurant-kitchen h2,
.restaurant-kitchen .page-kicker {
  color: #ffffff;
}

.restaurant-kitchen__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(20rem, 0.92fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: center;
}

.restaurant-kitchen__image {
  margin: 0;
}

.restaurant-kitchen__image img {
  width: 100%;
  height: clamp(28rem, 50vw, 43rem);
  object-fit: cover;
}

.restaurant-kitchen__content p:not(.page-kicker) {
  color: #c9ced9;
}

.restaurant-kitchen__content .text-link {
  color: #ffffff;
}

/* Restaurant service */

.restaurant-service__list {
  border-top: var(--border-subtle);
}

.restaurant-service__list article {
  padding: var(--space-6) 0;
  border-bottom: var(--border-subtle);
}

.restaurant-service__list h3 {
  margin-bottom: var(--space-2);
}

.restaurant-service__list p {
  max-width: 46rem;
  margin-bottom: 0;
  color: var(--color-ink-secondary);
}

/* Restaurant gallery */

.restaurant-gallery {
  background: var(--color-surface-primary);
}

.restaurant-gallery__heading {
  display: flex;
  gap: var(--space-6);
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: var(--space-7);
}

.restaurant-gallery__grid {
  display: grid;
  grid-template-columns: 1.35fr 0.65fr;
  gap: var(--space-4);
}

.restaurant-gallery__item {
  margin: 0;
}

.restaurant-gallery__item--large {
  grid-row: span 2;
}

.restaurant-gallery__item img {
  width: 100%;
  height: 19rem;
  object-fit: cover;
}

.restaurant-gallery__item--large img {
  height: 100%;
  min-height: 40rem;
}

.restaurant-gallery__item figcaption {
  padding-top: var(--space-3);
  color: var(--color-ink-secondary);
  font-size: var(--font-size-small);
}

/* Restaurant CTA */

.restaurant-cta__card {
  padding: clamp(2rem, 7vw, 6rem);
  background: var(--color-accent-blue-soft);
  text-align: center;
}

.restaurant-cta__card h2,
.restaurant-cta__card p {
  max-width: 48rem;
  margin-right: auto;
  margin-left: auto;
}

.restaurant-cta__actions {
  justify-content: center;
  margin-top: var(--space-6);
}

/* Menu hero */

.menu-hero__note {
  max-width: 36rem;
  padding-left: var(--space-4);
  border-left: 2px solid var(--color-accent-blue);
  color: var(--color-ink-secondary);
  font-size: var(--font-size-small);
}

.menu-hero__image img {
  height: clamp(25rem, 45vw, 38rem);
}

/* Menu navigation */

.menu-categories {
  position: sticky;
  z-index: 20;
  top: 0;
  overflow-x: auto;
  border-top: var(--border-subtle);
  border-bottom: var(--border-subtle);
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(12px);
}

.menu-categories__inner {
  display: flex;
  gap: var(--space-5);
  min-width: max-content;
}

.menu-categories a {
  display: block;
  padding: 1rem 0;
  color: var(--color-ink-primary);
  font-size: var(--font-size-small);
  font-weight: 700;
  text-decoration: none;
}

.menu-categories a:hover {
  color: var(--color-accent-blue);
}

/* Menu content */

.menu-content__inner {
  display: grid;
  gap: var(--space-9);
}

.menu-category {
  scroll-margin-top: 5rem;
}

.menu-category__heading {
  display: grid;
  grid-template-columns: 5rem minmax(0, 1fr);
  gap: var(--space-5);
  margin-bottom: var(--space-6);
  padding-bottom: var(--space-5);
  border-bottom: 2px solid var(--color-ink-primary);
}

.menu-category__number {
  margin: 0;
  color: var(--color-accent-blue);
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 700;
}

.menu-category__heading h2 {
  margin-bottom: 0;
}

.menu-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(2rem, 7vw, 7rem);
}

.menu-item {
  padding: var(--space-5) 0;
  border-bottom: var(--border-subtle);
}

.menu-item__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-4);
  align-items: baseline;
}

.menu-item h3,
.menu-item__price {
  margin-bottom: var(--space-2);
}

.menu-item h3 {
  overflow-wrap: anywhere;
  font-size: 1.2rem;
}

.menu-item__price {
  color: var(--color-accent-blue);
  font-weight: 700;
  white-space: nowrap;
}

.menu-item > p {
  max-width: 34rem;
  margin-bottom: 0;
  color: var(--color-ink-secondary);
  font-size: 0.9375rem;
}

/* Menu information */

.menu-information {
  background: var(--color-ink-primary);
  color: #ffffff;
}

.menu-information h2,
.menu-information .page-kicker {
  color: #ffffff;
}

.menu-information p {
  color: #c9ced9;
}

.menu-information .button {
  margin-top: var(--space-4);
}

/* Responsive */

@media (max-width: 1100px) {
  .restaurant-features__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .restaurant-hero__grid,
  .menu-hero__grid,
  .restaurant-concept__grid,
  .restaurant-kitchen__grid,
  .restaurant-service__grid,
  .menu-information__grid {
    grid-template-columns: 1fr;
  }

  .restaurant-hero__image img,
  .menu-hero__image img {
    height: min(34rem, 75vw);
  }

  .restaurant-kitchen__image {
    order: 2;
  }

  .restaurant-gallery__grid {
    grid-template-columns: 1fr 1fr;
  }

  .restaurant-gallery__item--large {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .restaurant-gallery__item--large img {
    min-height: 0;
    height: min(36rem, 70vw);
  }

  .menu-list {
    column-gap: var(--space-6);
  }
}

@media (max-width: 640px) {
  .restaurant-page h1,
  .menu-page h1 {
    font-size: clamp(2.35rem, 13vw, 3.75rem);
    overflow-wrap: anywhere;
  }

  .restaurant-features__grid,
  .menu-list,
  .restaurant-gallery__grid {
    grid-template-columns: 1fr;
  }

  .restaurant-gallery__item--large {
    grid-column: auto;
  }

  .restaurant-gallery__item img,
  .restaurant-gallery__item--large img {
    height: 20rem;
  }

  .restaurant-gallery__heading {
    display: block;
  }

  .restaurant-gallery__heading .text-link {
    margin-top: var(--space-3);
  }

  .menu-category__heading {
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: var(--space-3);
  }

  .menu-item__top {
    gap: var(--space-3);
  }

  .restaurant-hero__actions,
  .restaurant-cta__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .restaurant-hero__actions .button,
  .restaurant-cta__actions .button {
    width: 100%;
    text-align: center;
  }
}