:root { --page-surface-default: canvas; --page-on-default: canvastext; --page-surface-muted: color-mix(in oklab, canvas 92%, canvastext); --page-on-muted: canvastext; --page-surface-accent: canvastext; --page-on-accent: canvas; --page-surface-inverse: canvastext; --page-on-inverse: canvas; --page-surface-header: var(--page-surface-default); --page-on-header: var(--page-on-default); --page-surface-footer: var(--page-surface-muted); --page-on-footer: var(--page-on-muted); --page-border-subtle: color-mix(in oklab, canvastext 10%, transparent); --page-border-default: color-mix(in oklab, canvastext 20%, transparent); --page-border-strong: color-mix(in oklab, canvastext 40%, transparent); --page-space-xs: 0.25rem; --page-space-sm: 0.5rem; --page-space-md: 1rem; --page-space-lg: 2rem; --page-space-xl: 4rem; --page-space-2xl: 8rem; --page-width-narrow: 32rem; --page-width-article: 44rem; --page-width-content: 64rem; --page-width-wide: 90rem; --page-radius-sm: 0.25rem; --page-radius-md: 0.5rem; --page-radius-lg: 1rem; --page-radius-full: 9999px; --page-shadow-sm: 0 1px 2px color-mix(in oklab, canvastext 10%, transparent); --page-shadow-md: 0 4px 12px color-mix(in oklab, canvastext 12%, transparent); --page-shadow-lg: 0 8px 24px color-mix(in oklab, canvastext 18%, transparent); --page-font-body: system-ui, sans-serif; --page-font-heading: var(--page-font-body); --page-font-mono: ui-monospace, SFMono-Regular, Menlo, monospace; --page-text-display: 3.5rem; --page-text-title: 2.25rem; --page-text-heading: 1.5rem; --page-text-body: 1rem; --page-text-meta: 0.875rem; --page-text-micro: 0.75rem; --page-leading-tight: 1.1; --page-leading-body: 1.6; --page-duration-fast: 120ms; --page-duration-base: 200ms; --page-duration-slow: 320ms; --page-ease-out: cubic-bezier(0.2, 0, 0, 1); --page-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1); }
@layer bloc-base {
:where(h1.bloc-text, .bloc-richtext h1) { font-size: var(--page-text-display); text-wrap: balance; font-family: var(--page-font-heading); font-weight: 650; line-height: var(--page-leading-tight); letter-spacing: -0.015em; }
:where(h2.bloc-text, .bloc-richtext h2) { font-size: var(--page-text-title); text-wrap: balance; font-family: var(--page-font-heading); font-weight: 650; line-height: var(--page-leading-tight); letter-spacing: -0.015em; }
:where(h3.bloc-text, .bloc-richtext h3) { font-size: var(--page-text-heading); text-wrap: balance; font-family: var(--page-font-heading); font-weight: 650; line-height: var(--page-leading-tight); letter-spacing: -0.015em; }
:where(h4.bloc-text, .bloc-richtext h4) { font-size: var(--page-text-body); text-wrap: balance; font-family: var(--page-font-heading); font-weight: 650; line-height: var(--page-leading-tight); letter-spacing: -0.015em; }
:where(h5.bloc-text, .bloc-richtext h5) { font-size: var(--page-text-meta); text-wrap: balance; font-family: var(--page-font-heading); font-weight: 650; line-height: var(--page-leading-tight); letter-spacing: 0.08em; text-transform: uppercase; }
:where(h6.bloc-text, .bloc-richtext h6) { font-size: var(--page-text-meta); text-wrap: balance; font-family: var(--page-font-heading); font-weight: 650; line-height: var(--page-leading-tight); letter-spacing: 0.08em; text-transform: uppercase; }
:where(p.bloc-text, .bloc-richtext p) { font-size: var(--page-text-body); font-family: var(--page-font-body); line-height: var(--page-leading-body); }
:where(.bloc-richtext .bloc-link) { color: inherit; text-decoration-line: underline; }
}
.bloc-n-site-header { top: 0; color: var(--page-on-header); width: 100%; width: -webkit-fill-available; width: -moz-available; width: stretch; position: sticky; background-color: var(--page-surface-header); padding-top: 0; border-color: var(--page-border-subtle); border-style: solid; padding-bottom: 0; border-bottom-width: 1px; }
.bloc-n-site-strip { color: var(--page-on-muted); width: 100%; width: -webkit-fill-available; width: -moz-available; width: stretch; background-color: var(--page-surface-muted); padding-top: 0; padding-bottom: 0; }
.bloc-n-site-strip-inner { max-width: var(--page-width-wide); align-items: center; width: 100%; width: -webkit-fill-available; width: -moz-available; width: stretch; display: flex; justify-content: space-between; column-gap: var(--page-space-md); flex-direction: row; margin-left: auto; padding-top: var(--page-space-xs); margin-right: auto; padding-left: var(--page-space-lg); padding-right: var(--page-space-lg); padding-bottom: var(--page-space-xs); }
.bloc-n-site-tagline { font-size: var(--page-text-micro); }
.bloc-n-site-utility { align-items: center; display: flex; column-gap: var(--page-space-md); flex-direction: row; margin-top: 0; padding-left: 0; margin-bottom: 0; list-style-type: none; }
.bloc-n-site-utility-link { color: inherit; font-size: var(--page-text-micro); text-decoration-line: none; }
.bloc-n-site-bar { max-width: var(--page-width-wide); align-items: center; width: 100%; width: -webkit-fill-available; width: -moz-available; width: stretch; display: flex; column-gap: var(--page-space-lg); flex-direction: row; margin-left: auto; padding-top: var(--page-space-sm); margin-right: auto; padding-left: var(--page-space-lg); padding-right: var(--page-space-lg); padding-bottom: var(--page-space-sm); }
.bloc-n-site-brand { width: 140px; height: 28px; object-fit: contain; object-position: left center; }
.bloc-n-site-nav { flex-grow: 1; flex-basis: 0%; width: auto; }
.bloc-n-site-menu { align-items: center; width: 100%; width: -webkit-fill-available; width: -moz-available; width: stretch; display: flex; column-gap: var(--page-space-md); flex-direction: row; margin-top: 0; padding-left: 0; margin-bottom: 0; list-style-type: none; }
.bloc-n-site-menu-item { row-gap: 0; display: flex; position: relative; flex-direction: column; }
.bloc-n-site-menu-link { color: inherit; font-size: var(--page-text-meta); font-weight: 500; padding-top: var(--page-space-xs); padding-bottom: var(--page-space-xs); text-decoration-line: none; }
.bloc-n-site-menu-panel { top: 100%; left: 0; color: var(--page-on-header); row-gap: var(--page-space-xs); box-shadow: var(--page-shadow-lg); display: none; min-width: 12rem; position: absolute; flex-direction: column; background-color: var(--page-surface-header); padding-top: var(--page-space-xs); padding-left: var(--page-space-md); padding-right: var(--page-space-md); padding-bottom: var(--page-space-xs); border-top-left-radius: var(--page-radius-md); border-top-right-radius: var(--page-radius-md); border-bottom-left-radius: var(--page-radius-md); border-bottom-right-radius: var(--page-radius-md); }
.bloc-n-site-menu-panel:is([data-bloc-state~="open"], .bloc-state-open) { display: flex; }
.bloc-n-site-menu-subs { row-gap: var(--page-space-xs); display: flex; flex-direction: column; margin-top: 0; padding-left: 0; margin-bottom: 0; list-style-type: none; }
.bloc-n-site-menu-sub-link { color: inherit; font-size: var(--page-text-meta); text-decoration-line: none; }
.bloc-n-site-actions { align-items: center; display: flex; column-gap: var(--page-space-sm); flex-direction: row; }
.bloc-n-site-action { color: var(--page-on-accent); font-size: var(--page-text-meta); background-color: var(--page-accent-default); font-weight: 600; padding-top: var(--page-space-xs); border-color: var(--page-accent-default); border-style: solid; padding-left: var(--page-space-md); padding-right: var(--page-space-md); padding-bottom: var(--page-space-xs); border-top-left-radius: var(--page-radius-sm); border-top-width: 1px; border-top-right-radius: var(--page-radius-sm); text-decoration-line: none; border-left-width: 1px; border-right-width: 1px; border-bottom-left-radius: var(--page-radius-sm); border-bottom-width: 1px; border-bottom-right-radius: var(--page-radius-sm); }
.bloc-n-site-action:is([data-bloc-state~="outline"], .bloc-state-outline) { color: inherit; background-color: transparent; border-color: currentColor; }
.bloc-n-site-action:is([data-bloc-state~="link"], .bloc-state-link) { color: inherit; background-color: transparent; border-color: transparent; padding-left: 0; padding-right: 0; text-decoration-line: underline; }
.bloc-n-site-footer { color: var(--page-on-footer); width: 100%; width: -webkit-fill-available; width: -moz-available; width: stretch; background-color: var(--page-surface-footer); padding-top: var(--page-space-xl); padding-bottom: var(--page-space-xl); }
.bloc-n-site-footer-inner { max-width: var(--page-width-wide); width: 100%; width: -webkit-fill-available; width: -moz-available; width: stretch; row-gap: var(--page-space-lg); display: flex; flex-direction: column; margin-left: auto; margin-right: auto; padding-left: var(--page-space-lg); padding-right: var(--page-space-lg); }
.bloc-n-site-footer-actions { flex-wrap: wrap; row-gap: var(--page-space-sm); display: flex; column-gap: var(--page-space-sm); flex-direction: row; }
.bloc-n-site-footer-action { color: inherit; font-size: var(--page-text-meta); font-weight: 600; }
.bloc-n-site-footer-columns { row-gap: var(--page-space-lg); grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); display: grid; column-gap: var(--page-space-lg); }
.bloc-n-site-footer-column { row-gap: var(--page-space-sm); display: flex; flex-direction: column; }
.bloc-n-site-footer-heading { font-size: var(--page-text-micro); font-weight: 650; letter-spacing: 0.06em; text-transform: uppercase; }
.bloc-n-site-footer-links { row-gap: var(--page-space-xs); display: flex; flex-direction: column; margin-top: 0; padding-left: 0; margin-bottom: 0; list-style-type: none; }
.bloc-n-site-footer-links-link { color: inherit; font-size: var(--page-text-micro); text-decoration-line: none; }
.bloc-n-site-footer-legal { align-items: center; display: flex; justify-content: space-between; column-gap: var(--page-space-md); flex-direction: row; padding-top: var(--page-space-md); border-color: var(--page-border-subtle); border-style: solid; border-top-width: 1px; }
.bloc-n-site-footer-name { font-size: var(--page-text-heading); font-family: var(--page-font-heading); font-weight: 650; }
.bloc-n-site-footer-note { opacity: 0.75; font-size: var(--page-text-meta); }
.bloc-n-site-menu-item:hover .bloc-n-site-menu-panel { display: flex; }
.bloc-n-site-menu-item:focus-within .bloc-n-site-menu-panel { display: flex; }
.bloc-n-site-strip[data-bloc-state~="iheader-compact-0"] { opacity: 0; }
.bloc-n-site-strip[data-bloc-state~="iheader-compact-1"] { block-size: 0px; }
.bloc-n-site-header:has(.bloc-n-site-strip[data-bloc-state~="iheader-compact-1"]) { --bloc-keep-header-compact-1: var(--bloc-keep-size-header-compact-1, 0px); }
.bloc-n-site-brand[data-bloc-state~="iheader-compact-2"] { scale: 0.85; }
@property --bloc-keep-header-compact-1 { syntax: "<length>"; inherits: false; initial-value: 0px; }
.bloc-n-site-header.bloc-n-site-header { margin-bottom: calc(0px + var(--bloc-keep-header-compact-1, 0px)); }
.bloc-n-site-strip { transition: opacity 180ms var(--page-ease-out, ease), block-size 180ms var(--page-ease-out, ease); }
@media (prefers-reduced-motion: reduce) { .bloc-n-site-strip { transition-duration: 0s; } }
.bloc-n-site-brand { transition: scale 180ms var(--page-ease-out, ease); }
@media (prefers-reduced-motion: reduce) { .bloc-n-site-brand { transition-duration: 0s; } }
@supports (interpolate-size: allow-keywords) { .bloc-n-site-header { transition: --bloc-keep-header-compact-1 180ms var(--page-ease-out, ease); } }
@media (prefers-reduced-motion: reduce) { .bloc-n-site-header { transition-duration: 0s; } }