@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 300 800;
font-display: swap;
src: url(../fonts/inter-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root {
--pm-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
"Helvetica Neue", Arial, sans-serif;
--pm-font-display: var(--pm-font-sans);
--pm-font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas,
"Liberation Mono", monospace;
--pm-text-h1: clamp(2.5rem, 1.6rem + 3.6vw, 3.5rem);
--pm-text-h2: clamp(2.25rem, 1.55rem + 2.8vw, 3rem);
--pm-text-h3: clamp(2rem, 1.5rem + 2vw, 2.5rem);
--pm-text-h4: clamp(1.75rem, 1.45rem + 1.2vw, 2rem);
--pm-text-h5: clamp(1.375rem, 1.25rem + 0.5vw, 1.5rem);
--pm-text-h6: clamp(1.25rem, 1.2rem + 0.2vw, 1.25rem);
--pm-text-xl: 1.5rem;
--pm-text-lg: 1.25rem;
--pm-text-md: 1.125rem;
--pm-text-base: 1rem;
--pm-text-sm: 0.875rem;
--pm-text-xs: 0.75rem;
--pm-leading-tight: 1.2;
--pm-leading-snug: 1.3;
--pm-leading-normal: 1.4;
--pm-leading-relaxed: 1.5;
--pm-leading-loose: 1.6;
--pm-tracking-tight: -0.02em;
--pm-tracking-heading: -0.01em;
--pm-tracking-normal: 0;
--pm-tracking-wide: 0.06em;
--pm-tracking-widest: 0.16em;
--pm-weight-light: 300;
--pm-weight-regular: 400;
--pm-weight-medium: 500;
--pm-weight-semibold: 600;
--pm-weight-bold: 700;
--pm-weight-black: 800;
--pm-weight-heading: var(--pm-weight-bold);
--pm-weight-body: var(--pm-weight-regular);
--pm-space-0: 0rem;
--pm-space-1: 0.25rem;
--pm-space-2: 0.5rem;
--pm-space-3: 0.75rem;
--pm-space-4: 1rem;
--pm-space-5: 1.25rem;
--pm-space-6: 1.5rem;
--pm-space-8: 2rem;
--pm-space-10: 2.5rem;
--pm-space-12: 3rem;
--pm-space-14: 3.5rem;
--pm-space-16: 4rem;
--pm-space-18: 4.5rem;
--pm-space-20: 5rem;
--pm-space-24: 6rem;
--pm-space-28: 7rem;
--pm-space-32: 8rem;
--pm-section-py: var(--pm-space-16);
--pm-section-py-sm: var(--pm-space-12);
--pm-section-py-lg: var(--pm-space-28);
--pm-gutter: 5%;
--pm-container: 80rem;
--pm-container-narrow: 48rem;
--pm-container-wide: 90rem;
--pm-measure: 70ch;
--pm-radius-none: 0rem;
--pm-radius-xs: 0.25rem;
--pm-radius-sm: 0.375rem;
--pm-radius-md: 0.5rem;
--pm-radius-lg: 0.75rem;
--pm-radius-xl: 1rem;
--pm-radius-2xl: 1.5rem;
--pm-radius-full: 62.5rem;
--pm-radius-button: var(--pm-radius-none);
--pm-radius-card: var(--pm-radius-none);
--pm-radius-image: var(--pm-radius-none);
--pm-radius-form: var(--pm-radius-none);
--pm-radius-badge: var(--pm-radius-none);
--pm-radius-checkbox: var(--pm-radius-none);
--pm-radius-dropdown: var(--pm-radius-none);
--pm-radius-avatar: var(--pm-radius-full);
--pm-border-width: 1px;
--pm-border-width-thick: 2px;
--pm-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
--pm-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
--pm-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.06);
--pm-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.05);
--pm-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.05);
--pm-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
--pm-shadow-focus: 0 0 0 3px rgb(0 0 0 / 0.12);
--pm-ease: cubic-bezier(0.4, 0, 0.2, 1);
--pm-ease-out: cubic-bezier(0, 0, 0.2, 1);
--pm-ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
--pm-duration-fast: 150ms;
--pm-duration: 300ms;
--pm-duration-slow: 500ms;
--pm-z-base: 1;
--pm-z-sticky: 100;
--pm-z-dropdown: 500;
--pm-z-navbar: 900;
--pm-z-overlay: 990;
--pm-z-modal: 1000;
--pm-z-toast: 1100;
--pm-nav-height: 6.25rem;
--pm-nav-height-mobile: 4rem;
--pm-palette-white: #ffffff;
--pm-palette-black: #000000;
--pm-palette-neutral-50: #fafafa;
--pm-palette-neutral-100: #f5f5f5;
--pm-palette-neutral-200: #e9e9e9;
--pm-palette-neutral-300: #d4d4d4;
--pm-palette-neutral-400: #a3a3a3;
--pm-palette-neutral-500: #737373;
--pm-palette-neutral-600: #525252;
--pm-palette-neutral-700: #404040;
--pm-palette-neutral-800: #262626;
--pm-palette-neutral-900: #171717;
--pm-palette-neutral-950: #0a0a0a;
--pm-palette-primary: #000000;
--pm-palette-primary-hover: #333333;
--pm-palette-on-primary: #ffffff;
--pm-palette-accent: #000000;
--pm-palette-on-accent: #ffffff;
--pm-palette-success: #12a87b;
--pm-palette-warning: #f5a623;
--pm-palette-danger: #d92d20;
--pm-palette-info: #3156fe;
--pm-color-page: var(--pm-palette-white);
--pm-color-surface: var(--pm-palette-white);
--pm-color-surface-subtle: var(--pm-palette-neutral-100);
--pm-color-surface-inverse: var(--pm-palette-neutral-950);
--pm-color-surface-inverse-raised: var(--pm-palette-neutral-900);
--pm-color-text: var(--pm-palette-black);
--pm-color-text-muted: var(--pm-palette-neutral-600);
--pm-color-text-inverse: var(--pm-palette-white);
--pm-color-text-inverse-muted: var(--pm-palette-neutral-300);
--pm-color-border: var(--pm-palette-black);
--pm-color-border-subtle: var(--pm-palette-neutral-200);
--pm-color-border-inverse: var(--pm-palette-white);
--pm-color-primary: var(--pm-palette-primary);
--pm-color-primary-hover: var(--pm-palette-primary-hover);
--pm-color-on-primary: var(--pm-palette-on-primary);
--pm-color-accent: var(--pm-palette-accent);
--pm-color-on-accent: var(--pm-palette-on-accent);
--pm-color-overlay: rgb(0 0 0 / 0.6);
--pm-bg: var(--pm-color-page);
--pm-fg: var(--pm-color-text);
--pm-fg-muted: var(--pm-color-text-muted);
--pm-border-color: var(--pm-color-border);
--pm-border-soft: var(--pm-color-border-subtle);
--pm-surface: var(--pm-color-surface);
--pm-surface-raised: var(--pm-color-surface-subtle);
--pm-btn-bg: var(--pm-color-primary);
--pm-btn-fg: var(--pm-color-on-primary);
--pm-btn-border: var(--pm-color-primary);
--pm-accent: var(--pm-color-accent);
--pm-on-accent: var(--pm-color-on-accent);
}
.pm-scheme-light {
--pm-bg: var(--pm-color-page);
--pm-fg: var(--pm-color-text);
--pm-fg-muted: var(--pm-color-text-muted);
--pm-border-color: var(--pm-color-border);
--pm-border-soft: var(--pm-color-border-subtle);
--pm-surface: var(--pm-color-surface);
--pm-surface-raised: var(--pm-color-surface-subtle);
--pm-btn-bg: var(--pm-color-primary);
--pm-btn-fg: var(--pm-color-on-primary);
--pm-btn-border: var(--pm-color-primary);
}
.pm-scheme-subtle {
--pm-bg: var(--pm-color-surface-subtle);
--pm-fg: var(--pm-color-text);
--pm-fg-muted: var(--pm-color-text-muted);
--pm-border-color: var(--pm-color-border);
--pm-border-soft: var(--pm-color-border-subtle);
--pm-surface: var(--pm-color-surface);
--pm-surface-raised: var(--pm-color-page);
--pm-btn-bg: var(--pm-color-primary);
--pm-btn-fg: var(--pm-color-on-primary);
--pm-btn-border: var(--pm-color-primary);
}
.pm-scheme-dark {
--pm-bg: var(--pm-color-surface-inverse);
--pm-fg: var(--pm-color-text-inverse);
--pm-fg-muted: var(--pm-color-text-inverse-muted);
--pm-border-color: var(--pm-color-border-inverse);
--pm-border-soft: rgb(255 255 255 / 0.16);
--pm-surface: var(--pm-color-surface-inverse-raised);
--pm-surface-raised: var(--pm-color-surface-inverse-raised);
--pm-btn-bg: var(--pm-color-text-inverse);
--pm-btn-fg: var(--pm-color-surface-inverse);
--pm-btn-border: var(--pm-color-text-inverse);
--pm-shadow-focus: 0 0 0 3px rgb(255 255 255 / 0.25);
background-image:
radial-gradient(60rem 40rem at 100% 0%, color-mix(in srgb, var(--pm-fg) 10%, transparent), transparent 60%),
radial-gradient(55rem 38rem at 0% 100%, color-mix(in srgb, var(--pm-fg) 7%, transparent), transparent 62%);
background-repeat: no-repeat;
}
.pm-scheme-brand {
--pm-bg: var(--pm-color-primary);
--pm-fg: var(--pm-color-on-primary);
--pm-fg-muted: color-mix(in srgb, var(--pm-color-on-primary) 72%, transparent);
--pm-border-color: var(--pm-color-on-primary);
--pm-border-soft: color-mix(in srgb, var(--pm-color-on-primary) 20%, transparent);
--pm-surface: color-mix(in srgb, var(--pm-color-on-primary) 8%, var(--pm-color-primary));
--pm-surface-raised: color-mix(in srgb, var(--pm-color-on-primary) 14%, var(--pm-color-primary));
--pm-btn-bg: var(--pm-color-on-primary);
--pm-btn-fg: var(--pm-color-primary);
--pm-btn-border: var(--pm-color-on-primary);
--pm-shadow-focus: 0 0 0 3px rgb(255 255 255 / 0.25);
}
.pm-scheme-accent {
--pm-bg: var(--pm-color-accent);
--pm-fg: var(--pm-color-on-accent);
--pm-fg-muted: color-mix(in srgb, var(--pm-color-on-accent) 72%, transparent);
--pm-border-color: var(--pm-color-on-accent);
--pm-border-soft: color-mix(in srgb, var(--pm-color-on-accent) 20%, transparent);
--pm-surface: color-mix(in srgb, var(--pm-color-on-accent) 10%, var(--pm-color-accent));
--pm-surface-raised: color-mix(in srgb, var(--pm-color-on-accent) 16%, var(--pm-color-accent));
--pm-btn-bg: var(--pm-color-on-accent);
--pm-btn-fg: var(--pm-color-accent);
--pm-btn-border: var(--pm-color-on-accent);
--pm-shadow-focus: 0 0 0 3px rgb(255 255 255 / 0.25);
}
*,
*::before,
*::after {
box-sizing: border-box;
}
* {
margin: 0;
}
html {
-webkit-text-size-adjust: 100%;
-moz-tab-size: 4;
tab-size: 4;
scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
html {
scroll-behavior: auto;
}
*,
*::before,
*::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
scroll-behavior: auto !important;
}
}
body {
margin: 0;
background-color: var(--pm-color-page);
color: var(--pm-color-text);
font-family: var(--pm-font-sans);
font-size: var(--pm-text-base);
font-weight: var(--pm-weight-body);
line-height: var(--pm-leading-relaxed);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
}
img,
picture,
video,
canvas,
svg {
display: block;
max-width: 100%;
}
img,
video {
height: auto;
}
input,
button,
textarea,
select {
font: inherit;
color: inherit;
}
button {
background: none;
border: 0;
padding: 0;
cursor: pointer;
}
p,
h1,
h2,
h3,
h4,
h5,
h6 {
overflow-wrap: break-word;
}
:where(ul, ol) {
margin: 0;
padding: 0;
list-style: none;
}
a {
color: inherit;
text-decoration: none;
}
address {
font-style: normal;
}
hr {
border: 0;
border-top: var(--pm-border-width) solid var(--pm-border-soft);
margin: 0;
}
table {
border-collapse: collapse;
width: 100%;
}
:focus-visible {
outline: 2px solid var(--pm-fg, currentColor);
outline-offset: 2px;
}
::selection {
background-color: var(--pm-color-primary);
color: var(--pm-color-on-primary);
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: var(--pm-font-display);
font-weight: var(--pm-weight-heading);
letter-spacing: var(--pm-tracking-heading);
color: inherit;
text-wrap: balance;
}
h1,
.pm-h1 {
font-size: var(--pm-text-h1);
line-height: var(--pm-leading-tight);
}
h2,
.pm-h2 {
font-size: var(--pm-text-h2);
line-height: var(--pm-leading-tight);
}
h3,
.pm-h3 {
font-size: var(--pm-text-h3);
line-height: var(--pm-leading-tight);
}
h4,
.pm-h4 {
font-size: var(--pm-text-h4);
line-height: var(--pm-leading-snug);
}
h5,
.pm-h5 {
font-size: var(--pm-text-h5);
line-height: var(--pm-leading-normal);
}
h6,
.pm-h6 {
font-size: var(--pm-text-h6);
line-height: var(--pm-leading-normal);
}
.pm-text-xl {
font-size: var(--pm-text-xl);
line-height: var(--pm-leading-relaxed);
}
.pm-text-lg {
font-size: var(--pm-text-lg);
line-height: var(--pm-leading-relaxed);
}
.pm-text-md {
font-size: var(--pm-text-md);
line-height: var(--pm-leading-relaxed);
}
.pm-text-base {
font-size: var(--pm-text-base);
line-height: var(--pm-leading-relaxed);
}
.pm-text-sm {
font-size: var(--pm-text-sm);
line-height: var(--pm-leading-relaxed);
}
.pm-text-xs {
font-size: var(--pm-text-xs);
line-height: var(--pm-leading-relaxed);
}
.pm-muted {
color: var(--pm-fg-muted);
}
:where(h1, h2, h3, h4, h5, h6, .pm-h1, .pm-h2, .pm-h3, .pm-h4, .pm-h5, .pm-h6)
+ :where(p, ul, ol, blockquote, figure, dl, .pm-lede, .pm-prose) {
margin-top: var(--pm-space-5);
}
@media (min-width: 768px) {
:where(h1, h2, h3, h4, h5, h6, .pm-h1, .pm-h2, .pm-h3, .pm-h4, .pm-h5, .pm-h6)
+ :where(p, ul, ol, blockquote, figure, dl, .pm-lede, .pm-prose) {
margin-top: var(--pm-space-6);
}
}
:where(.pm-eyebrow) + :where(h1, h2, h3, h4, h5, h6) {
margin-top: 0;
}
.pm-lede {
font-size: var(--pm-text-md);
line-height: var(--pm-leading-loose);
color: var(--pm-fg-muted);
max-width: var(--pm-measure);
}
.pm-eyebrow {
display: inline-block;
font-size: var(--pm-text-base);
font-weight: var(--pm-weight-semibold);
line-height: var(--pm-leading-relaxed);
margin-bottom: var(--pm-space-4);
}
.pm-eyebrow--mono {
font-family: var(--pm-font-mono);
font-size: var(--pm-text-xs);
font-weight: var(--pm-weight-medium);
letter-spacing: var(--pm-tracking-widest);
text-transform: uppercase;
color: var(--pm-accent);
}
.pm-highlight {
color: var(--pm-accent);
}
.pm-highlight--underline {
color: inherit;
text-decoration: underline;
text-decoration-color: var(--pm-accent);
text-decoration-thickness: 0.14em;
text-underline-offset: 0.14em;
}
.pm-prose > * + * {
margin-top: var(--pm-space-5);
}
.pm-prose h2 {
font-size: var(--pm-text-h4);
margin-top: var(--pm-space-10);
}
.pm-prose h3 {
font-size: var(--pm-text-h5);
margin-top: var(--pm-space-8);
}
.pm-prose h4 {
font-size: var(--pm-text-h6);
margin-top: var(--pm-space-6);
}
.pm-prose p,
.pm-prose li {
color: var(--pm-fg-muted);
line-height: var(--pm-leading-loose);
}
.pm-prose ul,
.pm-prose ol {
padding-left: var(--pm-space-6);
display: grid;
gap: var(--pm-space-2);
}
.pm-prose ul {
list-style: disc;
}
.pm-prose ol {
list-style: decimal;
}
.pm-prose a {
text-decoration: underline;
text-underline-offset: 3px;
}
.pm-prose blockquote {
border-left: var(--pm-border-width-thick) solid var(--pm-border-color);
padding-left: var(--pm-space-5);
font-size: var(--pm-text-lg);
}
.pm-prose img {
width: 100%;
border-radius: var(--pm-radius-image);
}
.pm-prose figcaption {
margin-top: var(--pm-space-3);
font-size: var(--pm-text-sm);
color: var(--pm-fg-muted);
}
.pm-prose code {
font-family: var(--pm-font-mono);
font-size: 0.9em;
background-color: var(--pm-surface-raised);
padding: 0.15em 0.4em;
border-radius: var(--pm-radius-xs);
}
.pm-prose pre {
font-family: var(--pm-font-mono);
background-color: var(--pm-surface-raised);
padding: var(--pm-space-5);
border-radius: var(--pm-radius-card);
overflow-x: auto;
}
.pm-section {
background-color: var(--pm-bg);
color: var(--pm-fg);
padding-inline: var(--pm-gutter);
padding-block: var(--pm-section-py);
position: relative;
}
.pm-section--tight {
padding-block: var(--pm-space-12);
}
.pm-section--flush {
padding-block: 0;
}
.pm-section--hero {
padding-block: var(--pm-space-16);
}
@media (min-width: 768px) {
.pm-section {
padding-block: var(--pm-space-24);
}
.pm-section--tight {
padding-block: var(--pm-space-16);
}
.pm-section--flush {
padding-block: 0;
}
.pm-section--hero {
padding-block: var(--pm-space-24);
}
}
@media (min-width: 992px) {
.pm-section {
padding-block: var(--pm-section-py-lg);
}
.pm-section--tight {
padding-block: var(--pm-space-20);
}
.pm-section--flush {
padding-block: 0;
}
.pm-section--hero {
padding-block: var(--pm-space-28);
}
}
.pm-container {
width: 100%;
max-width: var(--pm-container);
margin-inline: auto;
}
.pm-container--narrow {
max-width: var(--pm-container-narrow);
}
.pm-container--wide {
max-width: var(--pm-container-wide);
}
.pm-container--full {
max-width: none;
}
.pm-section-head {
max-width: 48rem;
margin-bottom: var(--pm-space-12);
}
.pm-section-head--center {
margin-inline: auto;
text-align: center;
}
.pm-section-head > p:not(.pm-eyebrow) {
color: var(--pm-fg-muted);
font-size: var(--pm-text-md);
margin-top: var(--pm-space-5);
}
@media (min-width: 768px) {
.pm-section-head {
margin-bottom: var(--pm-space-20);
}
.pm-section-head > p:not(.pm-eyebrow) {
margin-top: var(--pm-space-6);
}
}
.pm-visually-hidden {
position: absolute !important;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
body.pm-scroll-locked {
overflow: hidden;
}
.pm-stack {
display: flex;
flex-direction: column;
}
.pm-stack--1 > * + * { margin-top: var(--pm-space-1); }
.pm-stack--2 > * + * { margin-top: var(--pm-space-2); }
.pm-stack--3 > * + * { margin-top: var(--pm-space-3); }
.pm-stack--4 > * + * { margin-top: var(--pm-space-4); }
.pm-stack--5 > * + * { margin-top: var(--pm-space-5); }
.pm-stack--6 > * + * { margin-top: var(--pm-space-6); }
.pm-stack--8 > * + * { margin-top: var(--pm-space-8); }
.pm-stack--10 > * + * { margin-top: var(--pm-space-10); }
.pm-stack--12 > * + * { margin-top: var(--pm-space-12); }
.pm-cluster {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--pm-space-4);
}
.pm-cluster--2 { gap: var(--pm-space-2); }
.pm-cluster--3 { gap: var(--pm-space-3); }
.pm-cluster--6 { gap: var(--pm-space-6); }
.pm-cluster--8 { gap: var(--pm-space-8); }
.pm-cluster--center { justify-content: center; }
.pm-cluster--end { justify-content: flex-end; }
.pm-cluster--between { justify-content: space-between; }
.pm-cluster--top { align-items: flex-start; }
.pm-grid {
display: grid;
gap: var(--pm-space-6);
}
.pm-grid--gap-2 { gap: var(--pm-space-2); }
.pm-grid--gap-4 { gap: var(--pm-space-4); }
.pm-grid--gap-8 { gap: var(--pm-space-8); }
.pm-grid--gap-10 { gap: var(--pm-space-10); }
.pm-grid--gap-12 { gap: var(--pm-space-12); }
.pm-grid--gap-16 { gap: var(--pm-space-16); }
.pm-grid--gap-20 { gap: var(--pm-space-20); }
.pm-grid--2,
.pm-grid--3,
.pm-grid--4,
.pm-grid--5,
.pm-grid--6 {
grid-template-columns: 1fr;
}
@media (min-width: 768px) {
.pm-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pm-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pm-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pm-grid--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pm-grid--6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 992px) {
.pm-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pm-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pm-grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.pm-grid--6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
.pm-split {
display: grid;
gap: var(--pm-space-12);
align-items: center;
grid-template-columns: 1fr;
}
.pm-split--top { align-items: start; }
@media (min-width: 992px) {
.pm-split {
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: var(--pm-space-20);
}
.pm-split--wide-left { grid-template-columns: 1.4fr 1fr; }
.pm-split--wide-right { grid-template-columns: 1fr 1.4fr; }
.pm-split--narrow-left { grid-template-columns: 0.8fr 1fr; }
.pm-split--reverse > :first-child { order: 2; }
.pm-split--reverse > :last-child { order: 1; }
}
.pm-media {
display: block;
width: 100%;
border-radius: var(--pm-radius-image);
overflow: hidden;
}
.pm-media img,
.pm-media video {
width: 100%;
height: 100%;
object-fit: cover;
}
.pm-ratio-1x1 { aspect-ratio: 1 / 1; }
.pm-ratio-3x2 { aspect-ratio: 3 / 2; }
.pm-ratio-4x3 { aspect-ratio: 4 / 3; }
.pm-ratio-16x9 { aspect-ratio: 16 / 9; }
.pm-ratio-2x3 { aspect-ratio: 2 / 3; }
.pm-ratio-3x4 { aspect-ratio: 3 / 4; }
.pm-ratio-9x16 { aspect-ratio: 9 / 16; }
.pm-cover {
width: 100%;
height: 100%;
object-fit: cover;
}
.pm-bg-layer {
position: absolute;
inset: 0;
z-index: 0;
overflow: hidden;
}
.pm-bg-layer img,
.pm-bg-layer video {
width: 100%;
height: 100%;
object-fit: cover;
}
.pm-bg-overlay {
position: absolute;
inset: 0;
background-color: var(--pm-color-overlay);
}
.pm-bg-overlay--gradient {
background-color: transparent;
background-image: linear-gradient(
100deg,
var(--pm-color-overlay) 0%,
color-mix(in srgb, var(--pm-color-overlay) 65%, transparent) 45%,
transparent 100%
);
}
.pm-relative { position: relative; z-index: var(--pm-z-base); }
.pm-float-bottom {
position: relative;
z-index: 2;
margin-top: var(--pm-space-16);
margin-bottom: calc((var(--pm-space-16) + 3rem) * -1);
}
@media (min-width: 768px) {
.pm-float-bottom {
margin-bottom: calc((var(--pm-space-24) + 3rem) * -1);
}
}
@media (min-width: 992px) {
.pm-float-bottom {
margin-bottom: calc((var(--pm-section-py-lg) + 3rem) * -1);
}
}
.pm-slant-top { clip-path: polygon(0 3.5vw, 100% 0, 100% 100%, 0 100%); }
.pm-slant-bottom { clip-path: polygon(0 0, 100% 0, 100% calc(100% - 3.5vw), 0 100%); }
.pm-slant-top.pm-slant-bottom {
clip-path: polygon(0 3.5vw, 100% 0, 100% calc(100% - 3.5vw), 0 100%);
}
.pm-decor-blob {
position: absolute;
z-index: 0;
border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
background-color: currentColor;
opacity: 0.14;
pointer-events: none;
}
.pm-decor-angle {
position: absolute;
z-index: 0;
background-color: currentColor;
opacity: 0.16;
transform: skewX(-18deg);
pointer-events: none;
}
.pm-decor-dots {
position: absolute;
z-index: 0;
background-image: radial-gradient(currentColor 1.5px, transparent 1.5px);
background-size: 1.25rem 1.25rem;
opacity: 0.3;
pointer-events: none;
}
.pm-text-center { text-align: center; }
.pm-text-left { text-align: left; }
.pm-text-right { text-align: right; }
.pm-mx-auto { margin-inline: auto; }
.pm-w-full { width: 100%; }
.pm-h-full { height: 100%; }
.pm-measure { max-width: var(--pm-measure); }
.pm-flex-1 { flex: 1 1 0%; }
.pm-truncate {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.pm-clamp-2,
.pm-clamp-3,
.pm-clamp-4 {
display: -webkit-box;
-webkit-box-orient: vertical;
overflow: hidden;
}
.pm-clamp-2 { -webkit-line-clamp: 2; line-clamp: 2; }
.pm-clamp-3 { -webkit-line-clamp: 3; line-clamp: 3; }
.pm-clamp-4 { -webkit-line-clamp: 4; line-clamp: 4; }
.pm-hide { display: none !important; }
@media (max-width: 767px) {
.pm-hide-sm { display: none !important; }
}
@media (max-width: 991px) {
.pm-hide-md { display: none !important; }
}
@media (min-width: 992px) {
.pm-hide-lg { display: none !important; }
}
.pm-scrollbar-none {
scrollbar-width: none;
-ms-overflow-style: none;
}
.pm-scrollbar-none::-webkit-scrollbar {
display: none;
}
[data-pm-reveal] {
opacity: 0;
transform: translateY(1.5rem);
transition: opacity var(--pm-duration-slow) var(--pm-ease-out),
transform var(--pm-duration-slow) var(--pm-ease-out);
}
[data-pm-reveal][data-pm-revealed="true"] {
opacity: 1;
transform: none;
}
[data-pm-reveal][data-pm-delay="1"] { transition-delay: 80ms; }
[data-pm-reveal][data-pm-delay="2"] { transition-delay: 160ms; }
[data-pm-reveal][data-pm-delay="3"] { transition-delay: 240ms; }
[data-pm-reveal][data-pm-delay="4"] { transition-delay: 320ms; }
@media (prefers-reduced-motion: reduce) {
[data-pm-reveal] { opacity: 1; transform: none; }
}
.pm-btn {
--_btn-bg: var(--pm-btn-bg);
--_btn-fg: var(--pm-btn-fg);
--_btn-border: var(--pm-btn-border);
display: inline-flex;
align-items: center;
justify-content: center;
gap: var(--pm-space-2);
padding: var(--pm-space-2) var(--pm-space-6);
min-height: 2.75rem;
border: var(--pm-border-width) solid var(--_btn-border);
border-radius: var(--pm-radius-button);
background-color: var(--_btn-bg);
color: var(--_btn-fg);
font-size: var(--pm-text-base);
font-weight: var(--pm-weight-medium);
line-height: var(--pm-leading-relaxed);
text-align: center;
white-space: nowrap;
cursor: pointer;
transition: background-color var(--pm-duration-fast) var(--pm-ease),
color var(--pm-duration-fast) var(--pm-ease),
border-color var(--pm-duration-fast) var(--pm-ease),
opacity var(--pm-duration-fast) var(--pm-ease);
}
.pm-btn:hover {
opacity: 0.88;
}
.pm-btn:focus-visible {
outline: 2px solid var(--pm-fg);
outline-offset: 2px;
}
.pm-btn[disabled],
.pm-btn[aria-disabled="true"] {
opacity: 0.5;
cursor: not-allowed;
}
.pm-btn--secondary {
--_btn-bg: var(--pm-surface);
--_btn-fg: var(--pm-fg);
--_btn-border: var(--pm-border-soft);
}
.pm-btn--secondary:hover {
--_btn-bg: var(--pm-surface-raised);
opacity: 1;
}
.pm-btn--tertiary {
--_btn-bg: transparent;
--_btn-fg: var(--pm-fg);
--_btn-border: transparent;
padding-inline: var(--pm-space-4);
}
.pm-btn--tertiary:hover {
opacity: 1;
background-color: color-mix(in srgb, var(--pm-fg) 8%, transparent);
}
.pm-btn--accent {
--_btn-bg: var(--pm-accent);
--_btn-fg: var(--pm-on-accent);
--_btn-border: var(--pm-accent);
}
.pm-btn--link,
.pm-btn--link-alt {
--_btn-bg: transparent;
--_btn-fg: var(--pm-fg);
--_btn-border: transparent;
padding: 0;
min-height: 0;
gap: var(--pm-space-2);
}
.pm-btn--link-alt {
text-decoration: underline;
text-underline-offset: 4px;
}
.pm-btn--link:hover,
.pm-btn--link-alt:hover {
opacity: 0.7;
background-color: transparent;
}
.pm-btn--sm {
padding: var(--pm-space-1) var(--pm-space-5);
min-height: 2.25rem;
font-size: var(--pm-text-sm);
}
.pm-btn--lg {
padding: var(--pm-space-3) var(--pm-space-8);
min-height: 3.25rem;
font-size: var(--pm-text-md);
}
.pm-btn--icon {
padding: 0;
width: 2.75rem;
min-width: 2.75rem;
height: 2.75rem;
}
.pm-btn--icon.pm-btn--sm {
width: 2.25rem;
min-width: 2.25rem;
height: 2.25rem;
}
.pm-btn--icon.pm-btn--lg {
width: 3.25rem;
min-width: 3.25rem;
height: 3.25rem;
}
.pm-btn--full {
width: 100%;
}
.pm-btn--link.pm-btn--sm,
.pm-btn--link.pm-btn--lg,
.pm-btn--link-alt.pm-btn--sm,
.pm-btn--link-alt.pm-btn--lg {
padding: 0;
min-height: 0;
}
.pm-btn--round {
border-radius: var(--pm-radius-full);
}
.pm-btn .pm-icon {
flex: none;
}
.pm-btn-group {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--pm-space-4);
margin-top: var(--pm-space-6);
}
.pm-btn-group--center { justify-content: center; }
@media (min-width: 768px) {
.pm-btn-group { margin-top: var(--pm-space-8); }
}
i.pm-icon,
.fa-solid.pm-icon,
.fa-regular.pm-icon,
.fa-brands.pm-icon {
display: inline-block;
width: auto;
font-size: 1.5rem;
line-height: 1;
flex: none;
vertical-align: middle;
}
svg.pm-icon {
display: inline-block;
width: 1.5rem;
height: 1.5rem;
flex: none;
vertical-align: middle;
}
.pm-icon--solid { fill: currentColor; stroke: none; }
.pm-icon--stroke { fill: none; stroke: currentColor; }
.pm-icon--xs { font-size: 0.75rem; }
.pm-icon--sm { font-size: 1rem; }
.pm-icon--md { font-size: 1.25rem; }
.pm-icon--lg { font-size: 2rem; }
.pm-icon--xl { font-size: 3rem; }
.pm-icon--2xl { font-size: 4rem; }
svg.pm-icon--xs { width: 0.75rem; height: 0.75rem; }
svg.pm-icon--sm { width: 1rem; height: 1rem; }
svg.pm-icon--md { width: 1.25rem; height: 1.25rem; }
svg.pm-icon--lg { width: 2rem; height: 2rem; }
svg.pm-icon--xl { width: 3rem; height: 3rem; }
svg.pm-icon--2xl { width: 4rem; height: 4rem; }
.pm-icon-tile {
display: inline-flex;
align-items: center;
justify-content: center;
width: 3.5rem;
height: 3.5rem;
border-radius: var(--pm-radius-card);
background-color: var(--pm-surface-raised);
color: var(--pm-fg);
flex: none;
}
.pm-icon-tile--round { border-radius: var(--pm-radius-full); }
.pm-icon-tile--sm { width: 2.5rem; height: 2.5rem; }
.pm-icon-tile--lg { width: 4.5rem; height: 4.5rem; }
.pm-icon-tile--outline {
background-color: transparent;
border: var(--pm-border-width) solid var(--pm-border-color);
}
.pm-icon-tile--accent {
background-color: var(--pm-accent);
color: var(--pm-on-accent);
}
.pm-card {
display: flex;
flex-direction: column;
background-color: var(--pm-surface);
color: var(--pm-fg);
border: var(--pm-border-width) solid var(--pm-border-soft);
border-radius: var(--pm-radius-card);
box-shadow: var(--pm-shadow-sm);
overflow: hidden;
}
.pm-card--soft {
border-color: transparent;
background-color: var(--pm-surface-raised);
box-shadow: none;
}
.pm-card--ghost {
border-color: transparent;
background-color: transparent;
box-shadow: none;
}
.pm-card--raised {
border-color: transparent;
box-shadow: var(--pm-shadow-lg);
}
.pm-card--floating {
border-color: transparent;
box-shadow: var(--pm-shadow-2xl);
}
.pm-card--pad {
padding: var(--pm-space-6);
}
@media (min-width: 768px) {
.pm-card--pad { padding: var(--pm-space-8); }
}
.pm-card__body {
padding: var(--pm-space-6);
display: flex;
flex-direction: column;
flex: 1;
}
@media (min-width: 768px) {
.pm-card__body { padding: var(--pm-space-8); }
}
.pm-card__media {
width: 100%;
overflow: hidden;
}
.pm-card__media img {
width: 100%;
height: 100%;
object-fit: cover;
}
.pm-card__title {
font-size: var(--pm-text-h6);
font-weight: var(--pm-weight-bold);
line-height: var(--pm-leading-normal);
}
.pm-card__text {
color: var(--pm-fg-muted);
margin-top: var(--pm-space-3);
}
.pm-card__footer {
margin-top: auto;
padding-top: var(--pm-space-5);
}
.pm-card > .pm-btn,
.pm-card__body > .pm-btn,
.pm-card__footer > .pm-btn,
.pm-card > .pm-badge,
.pm-card__body > .pm-badge,
.pm-card__footer > .pm-badge,
.pm-card > .pm-rating,
.pm-card__body > .pm-rating {
align-self: flex-start;
}
.pm-card > .pm-btn--full,
.pm-card__body > .pm-btn--full,
.pm-card__footer > .pm-btn--full {
align-self: stretch;
}
.pm-card--link {
transition: transform var(--pm-duration) var(--pm-ease),
box-shadow var(--pm-duration) var(--pm-ease);
}
.pm-card--link:hover {
transform: translateY(-4px);
box-shadow: var(--pm-shadow-lg);
}
.pm-badge {
display: inline-flex;
align-items: center;
gap: var(--pm-space-2);
padding: var(--pm-space-1) var(--pm-space-2);
border: var(--pm-border-width) solid var(--pm-border-color);
border-radius: var(--pm-radius-badge);
background-color: transparent;
font-size: var(--pm-text-sm);
font-weight: var(--pm-weight-semibold);
line-height: var(--pm-leading-relaxed);
white-space: nowrap;
}
.pm-badge--solid {
background-color: var(--pm-fg);
color: var(--pm-bg);
}
.pm-badge--soft {
background-color: var(--pm-surface-raised);
border-color: transparent;
}
.pm-badge--accent {
background-color: var(--pm-accent);
border-color: var(--pm-accent);
color: var(--pm-on-accent);
}
.pm-badge--round { border-radius: var(--pm-radius-full); }
.pm-badge--sm {
font-size: var(--pm-text-xs);
padding: 0.125rem var(--pm-space-2);
}
.pm-tag-list {
display: flex;
flex-wrap: wrap;
gap: var(--pm-space-2);
}
.pm-avatar {
display: block;
width: 3rem;
height: 3rem;
border-radius: var(--pm-radius-avatar);
object-fit: cover;
overflow: hidden;
flex: none;
}
.pm-avatar > img {
width: 100%;
height: 100%;
object-fit: cover;
}
.pm-avatar--xs { width: 2rem; height: 2rem; }
.pm-avatar--sm { width: 2.5rem; height: 2.5rem; }
.pm-avatar--lg { width: 4rem; height: 4rem; }
.pm-avatar--xl { width: 5rem; height: 5rem; }
.pm-avatar--2xl { width: 8rem; height: 8rem; }
.pm-avatar--square { border-radius: var(--pm-radius-image); }
.pm-avatar-group {
display: flex;
align-items: center;
}
.pm-avatar-group .pm-avatar {
border: 2px solid var(--pm-bg);
}
.pm-avatar-group .pm-avatar + .pm-avatar {
margin-left: -0.75rem;
}
.pm-person {
display: flex;
align-items: center;
gap: var(--pm-space-4);
}
.pm-person__name {
font-weight: var(--pm-weight-semibold);
}
.pm-person__role {
color: var(--pm-fg-muted);
font-size: var(--pm-text-sm);
}
.pm-rating {
display: inline-flex;
align-items: center;
gap: var(--pm-space-1);
color: var(--pm-fg);
}
.pm-rating .pm-icon {
width: 1.25rem;
height: 1.25rem;
}
.pm-rating__label {
margin-left: var(--pm-space-2);
font-size: var(--pm-text-sm);
color: var(--pm-fg-muted);
}
.pm-trustbar {
display: inline-flex;
align-items: center;
flex-wrap: wrap;
gap: var(--pm-space-3);
font-size: var(--pm-text-sm);
color: var(--pm-fg-muted);
}
.pm-trustbar__stars {
display: inline-flex;
gap: 0.125rem;
color: var(--pm-accent);
}
.pm-trustbar__stars .pm-icon {
font-size: 1rem;
}
.pm-trustbar strong {
color: var(--pm-fg);
font-weight: var(--pm-weight-semibold);
}
.pm-field {
display: flex;
flex-direction: column;
gap: var(--pm-space-2);
}
.pm-label {
font-size: var(--pm-text-sm);
font-weight: var(--pm-weight-medium);
}
.pm-hint {
font-size: var(--pm-text-sm);
color: var(--pm-fg-muted);
}
.pm-input,
.pm-select,
.pm-textarea {
width: 100%;
min-height: 3rem;
padding: var(--pm-space-2) var(--pm-space-3);
background-color: transparent;
color: var(--pm-fg);
border: var(--pm-border-width) solid var(--pm-border-color);
border-radius: var(--pm-radius-form);
font-size: var(--pm-text-base);
line-height: var(--pm-leading-relaxed);
transition: border-color var(--pm-duration-fast) var(--pm-ease);
}
.pm-input::placeholder,
.pm-textarea::placeholder {
color: var(--pm-fg-muted);
}
.pm-input:focus,
.pm-select:focus,
.pm-textarea:focus {
outline: none;
border-color: var(--pm-fg);
box-shadow: var(--pm-shadow-focus);
}
.pm-textarea {
min-height: 11.25rem;
padding: var(--pm-space-3);
resize: vertical;
}
.pm-select {
appearance: none;
padding-right: var(--pm-space-10);
background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),
linear-gradient(135deg, currentColor 50%, transparent 50%);
background-position: calc(100% - 1.25rem) 1.35rem, calc(100% - 0.9rem) 1.35rem;
background-size: 0.35rem 0.35rem, 0.35rem 0.35rem;
background-repeat: no-repeat;
}
.pm-check {
display: flex;
align-items: flex-start;
gap: var(--pm-space-2);
font-size: var(--pm-text-base);
cursor: pointer;
}
.pm-check input[type="checkbox"],
.pm-check input[type="radio"] {
appearance: none;
width: 1.125rem;
height: 1.125rem;
margin: 0.2rem 0 0;
flex: none;
border: var(--pm-border-width) solid var(--pm-border-color);
border-radius: var(--pm-radius-checkbox);
background-color: transparent;
cursor: pointer;
display: grid;
place-content: center;
}
.pm-check input[type="radio"] {
border-radius: var(--pm-radius-full);
}
.pm-check input[type="checkbox"]::before {
content: "";
width: 0.65rem;
height: 0.65rem;
transform: scale(0);
transition: transform var(--pm-duration-fast) var(--pm-ease);
box-shadow: inset 1em 1em var(--pm-bg);
clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}
.pm-check input[type="radio"]::before {
content: "";
width: 0.55rem;
height: 0.55rem;
border-radius: var(--pm-radius-full);
transform: scale(0);
transition: transform var(--pm-duration-fast) var(--pm-ease);
box-shadow: inset 1em 1em var(--pm-bg);
}
.pm-check input:checked {
background-color: var(--pm-fg);
border-color: var(--pm-fg);
}
.pm-check input:checked::before {
transform: scale(1);
}
.pm-check input:focus-visible {
outline: 2px solid var(--pm-fg);
outline-offset: 2px;
}
.pm-inline-form {
display: flex;
flex-direction: column;
gap: var(--pm-space-4);
max-width: 30rem;
}
@media (min-width: 480px) {
.pm-inline-form {
flex-direction: row;
align-items: center;
}
.pm-inline-form .pm-input { flex: 1; }
}
.pm-inline-form__note {
font-size: var(--pm-text-xs);
color: var(--pm-fg-muted);
}
.pm-accordion {
border-top: var(--pm-border-width) solid var(--pm-border-color);
}
.pm-accordion__item {
border-bottom: var(--pm-border-width) solid var(--pm-border-color);
}
.pm-accordion__trigger {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--pm-space-4);
width: 100%;
padding: var(--pm-space-4) 0;
text-align: left;
font-size: var(--pm-text-md);
font-weight: var(--pm-weight-semibold);
color: inherit;
}
@media (min-width: 768px) {
.pm-accordion__trigger {
padding: var(--pm-space-5) 0;
font-size: var(--pm-text-lg);
}
}
.pm-accordion__icon {
transition: transform var(--pm-duration) var(--pm-ease);
flex: none;
}
.pm-accordion__trigger[aria-expanded="true"] .pm-accordion__icon {
transform: rotate(180deg);
}
.pm-accordion__panel {
display: grid;
grid-template-rows: 0fr;
transition: grid-template-rows var(--pm-duration) var(--pm-ease);
}
.pm-accordion__panel[data-pm-open="true"] {
grid-template-rows: 1fr;
}
.pm-accordion__panel > div {
overflow: hidden;
}
.pm-accordion__content {
padding-bottom: var(--pm-space-5);
color: var(--pm-fg-muted);
}
.pm-accordion--boxed {
border-top: 0;
display: grid;
gap: var(--pm-space-4);
}
.pm-accordion--boxed .pm-accordion__item {
border: var(--pm-border-width) solid var(--pm-border-color);
border-radius: var(--pm-radius-card);
padding-inline: var(--pm-space-5);
}
.pm-tabs__list {
display: flex;
flex-wrap: wrap;
gap: var(--pm-space-2);
border-bottom: var(--pm-border-width) solid var(--pm-border-soft);
}
.pm-tabs__tab {
padding: var(--pm-space-3) var(--pm-space-4);
font-weight: var(--pm-weight-medium);
color: var(--pm-fg-muted);
border-bottom: var(--pm-border-width-thick) solid transparent;
margin-bottom: -1px;
transition: color var(--pm-duration-fast) var(--pm-ease),
border-color var(--pm-duration-fast) var(--pm-ease);
}
.pm-tabs__tab[aria-selected="true"] {
color: var(--pm-fg);
border-bottom-color: var(--pm-fg);
}
.pm-tabs__panel[hidden] { display: none; }
.pm-tabs__panel { padding-top: var(--pm-space-8); }
.pm-tabs--pills .pm-tabs__list {
border-bottom: 0;
gap: var(--pm-space-2);
}
.pm-tabs--pills .pm-tabs__tab {
border: var(--pm-border-width) solid var(--pm-border-color);
border-radius: var(--pm-radius-full);
padding: var(--pm-space-2) var(--pm-space-5);
margin-bottom: 0;
}
.pm-tabs--pills .pm-tabs__tab[aria-selected="true"] {
background-color: var(--pm-fg);
color: var(--pm-bg);
}
.pm-dropdown {
position: relative;
}
.pm-dropdown__trigger {
display: inline-flex;
align-items: center;
gap: var(--pm-space-2);
color: inherit;
font-size: inherit;
}
.pm-dropdown__chevron {
transition: transform var(--pm-duration) var(--pm-ease);
}
.pm-dropdown[data-pm-open="true"] > .pm-dropdown__trigger .pm-dropdown__chevron,
.pm-dropdown__trigger[aria-expanded="true"] .pm-dropdown__chevron {
transform: rotate(180deg);
}
.pm-dropdown__menu {
display: none;
background-color: var(--pm-bg);
color: var(--pm-fg);
border-radius: var(--pm-radius-dropdown);
padding: var(--pm-space-2) 0;
min-width: 16rem;
overflow: hidden;
}
.pm-dropdown[data-pm-open="true"] > .pm-dropdown__menu {
display: block;
}
@media (min-width: 992px) {
.pm-dropdown__menu {
position: absolute;
top: 100%;
left: 0;
z-index: var(--pm-z-dropdown);
box-shadow: var(--pm-shadow-lg);
}
.pm-dropdown__menu--right { left: auto; right: 0; }
.pm-dropdown__menu--center { left: 50%; transform: translateX(-50%); }
}
.pm-dropdown__link {
display: flex;
align-items: center;
gap: var(--pm-space-3);
padding: var(--pm-space-3) var(--pm-space-5);
transition: background-color var(--pm-duration-fast) var(--pm-ease);
}
.pm-dropdown__link:not(:last-child) {
border-bottom: var(--pm-border-width) solid var(--pm-border-soft);
}
.pm-dropdown__link:hover {
background-color: color-mix(in srgb, var(--pm-fg) 6%, transparent);
}
.pm-dropdown__link-title { font-weight: var(--pm-weight-medium); }
.pm-dropdown__link-desc {
font-size: var(--pm-text-sm);
color: var(--pm-fg-muted);
}
.pm-nav {
position: relative;
z-index: var(--pm-z-navbar);
display: flex;
width: 100%;
align-items: center;
background-color: var(--pm-bg);
color: var(--pm-fg);
border-bottom: var(--pm-border-width) solid var(--pm-border-soft);
}
@media (min-width: 992px) {
.pm-nav {
min-height: var(--pm-nav-height);
padding-inline: var(--pm-gutter);
}
}
.pm-nav__inner {
width: 100%;
height: 100%;
}
@media (min-width: 992px) {
.pm-nav__inner {
display: flex;
align-items: center;
justify-content: space-between;
max-width: var(--pm-container);
margin-inline: auto;
}
}
.pm-nav__bar {
display: flex;
align-items: center;
justify-content: space-between;
min-height: var(--pm-nav-height-mobile);
padding-inline: var(--pm-gutter);
}
@media (min-width: 992px) {
.pm-nav__bar {
min-height: 100%;
padding-inline: 0;
}
}
.pm-nav__logo img,
.pm-nav__logo svg {
height: 2rem;
width: auto;
}
.pm-nav__menu {
padding-inline: var(--pm-gutter);
overflow: hidden;
height: 0;
transition: height var(--pm-duration) var(--pm-ease);
}
.pm-nav__menu[data-pm-open="true"] {
height: auto;
max-height: calc(100dvh - var(--pm-nav-height-mobile));
overflow-y: auto;
padding-bottom: var(--pm-space-8);
}
@media (min-width: 992px) {
.pm-nav__menu,
.pm-nav__menu[data-pm-open="true"] {
display: flex;
align-items: center;
height: auto;
max-height: none;
overflow: visible;
padding-inline: 0;
padding-bottom: 0;
}
}
.pm-nav__link {
display: block;
padding: var(--pm-space-3) 0;
font-size: var(--pm-text-base);
}
.pm-nav__link:first-child { padding-top: var(--pm-space-6); }
@media (min-width: 992px) {
.pm-nav__link,
.pm-nav__link:first-child {
padding: var(--pm-space-2) var(--pm-space-4);
}
}
.pm-nav__actions {
display: flex;
flex-direction: column;
gap: var(--pm-space-4);
margin-top: var(--pm-space-6);
}
.pm-nav__actions > .pm-btn { width: 100%; }
@media (min-width: 992px) {
.pm-nav__actions {
flex-direction: row;
align-items: center;
margin-top: 0;
margin-left: var(--pm-space-4);
}
.pm-nav__actions > .pm-btn { width: auto; }
}
.pm-burger {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 3rem;
height: 3rem;
margin-right: -0.5rem;
}
@media (min-width: 992px) {
.pm-burger--hide-desktop { display: none; }
}
.pm-burger__line {
display: block;
width: 1.5rem;
height: 2px;
margin: 3px 0;
background-color: currentColor;
transition: transform var(--pm-duration) var(--pm-ease),
width var(--pm-duration-fast) var(--pm-ease),
opacity var(--pm-duration-fast) var(--pm-ease);
}
.pm-burger[aria-expanded="true"] .pm-burger__line:nth-child(1) {
transform: translateY(8px) rotate(-45deg);
}
.pm-burger[aria-expanded="true"] .pm-burger__line:nth-child(2) {
width: 0;
opacity: 0;
}
.pm-burger[aria-expanded="true"] .pm-burger__line:nth-child(3) {
transform: translateY(-8px) rotate(45deg);
}
.pm-modal {
position: fixed;
inset: 0;
z-index: var(--pm-z-modal);
display: none;
align-items: center;
justify-content: center;
padding: var(--pm-gutter);
}
.pm-modal[data-pm-open="true"] { display: flex; }
.pm-modal__backdrop {
position: absolute;
inset: 0;
background-color: var(--pm-color-overlay);
}
.pm-modal__panel {
position: relative;
z-index: 1;
width: 100%;
max-width: 34rem;
max-height: 90dvh;
overflow-y: auto;
background-color: var(--pm-color-page);
color: var(--pm-color-text);
border: var(--pm-border-width) solid var(--pm-color-border);
border-radius: var(--pm-radius-card);
padding: var(--pm-space-6);
}
@media (min-width: 768px) {
.pm-modal__panel { padding: var(--pm-space-8); }
}
.pm-modal__panel--wide { max-width: 60rem; }
.pm-modal__panel--video {
max-width: 60rem;
padding: 0;
border: 0;
background: transparent;
overflow: visible;
}
.pm-modal__close {
position: absolute;
top: var(--pm-space-4);
right: var(--pm-space-4);
display: inline-flex;
align-items: center;
justify-content: center;
width: 2.5rem;
height: 2.5rem;
color: inherit;
}
.pm-modal__panel--video .pm-modal__close {
top: -3rem;
right: 0;
color: #fff;
}
.pm-play {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
background-color: rgb(0 0 0 / 0.25);
transition: background-color var(--pm-duration) var(--pm-ease);
}
.pm-play:hover { background-color: rgb(0 0 0 / 0.4); }
.pm-play__icon {
width: 4rem;
height: 4rem;
}
@media (min-width: 768px) {
.pm-play__icon { width: 5rem; height: 5rem; }
}
.pm-carousel { position: relative; }
.pm-carousel__viewport {
overflow: hidden;
}
.pm-carousel__track {
display: flex;
gap: var(--pm-space-6);
transition: transform var(--pm-duration-slow) var(--pm-ease);
will-change: transform;
}
.pm-carousel__slide {
flex: 0 0 100%;
min-width: 0;
}
@media (min-width: 768px) {
.pm-carousel--2 .pm-carousel__slide { flex-basis: calc(50% - (var(--pm-space-6) / 2)); }
}
@media (min-width: 992px) {
.pm-carousel--3 .pm-carousel__slide { flex-basis: calc(33.3333% - (var(--pm-space-6) * 2 / 3)); }
.pm-carousel--4 .pm-carousel__slide { flex-basis: calc(25% - (var(--pm-space-6) * 3 / 4)); }
}
.pm-carousel__controls {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--pm-space-4);
margin-top: var(--pm-space-8);
}
.pm-carousel__nav {
display: flex;
gap: var(--pm-space-3);
}
.pm-carousel__dots {
display: flex;
align-items: center;
gap: var(--pm-space-2);
}
.pm-carousel__dot {
width: 0.5rem;
height: 0.5rem;
border-radius: var(--pm-radius-full);
background-color: color-mix(in srgb, var(--pm-fg) 25%, transparent);
transition: background-color var(--pm-duration-fast) var(--pm-ease);
}
.pm-carousel__dot[aria-current="true"] {
background-color: var(--pm-fg);
}
.pm-carousel__arrow[disabled] { opacity: 0.35; cursor: not-allowed; }
.pm-table-wrap {
width: 100%;
overflow-x: auto;
border: var(--pm-border-width) solid var(--pm-border-color);
border-radius: var(--pm-radius-card);
}
.pm-table {
width: 100%;
border-collapse: collapse;
font-size: var(--pm-text-sm);
text-align: left;
}
.pm-table th,
.pm-table td {
padding: var(--pm-space-4);
border-bottom: var(--pm-border-width) solid var(--pm-border-soft);
vertical-align: middle;
}
.pm-table thead th {
background-color: var(--pm-surface-raised);
font-weight: var(--pm-weight-semibold);
white-space: nowrap;
}
.pm-table tbody tr:last-child td { border-bottom: 0; }
.pm-table--center th:not(:first-child),
.pm-table--center td:not(:first-child) { text-align: center; }
.pm-breadcrumb {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--pm-space-2);
font-size: var(--pm-text-sm);
color: var(--pm-fg-muted);
}
.pm-breadcrumb a:hover { color: var(--pm-fg); }
.pm-breadcrumb [aria-current="page"] { color: var(--pm-fg); }
.pm-pagination {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--pm-space-4);
padding-top: var(--pm-space-8);
border-top: var(--pm-border-width) solid var(--pm-border-soft);
margin-top: var(--pm-space-12);
}
.pm-pagination__pages {
display: flex;
align-items: center;
gap: var(--pm-space-1);
}
.pm-pagination__page {
display: inline-flex;
align-items: center;
justify-content: center;
width: 2.5rem;
height: 2.5rem;
border-radius: var(--pm-radius-button);
font-size: var(--pm-text-sm);
}
.pm-pagination__page[aria-current="page"] {
background-color: var(--pm-surface-raised);
font-weight: var(--pm-weight-semibold);
}
.pm-feature-row {
display: flex;
align-items: flex-start;
gap: var(--pm-space-4);
}
.pm-feature-row__body > p {
color: var(--pm-fg-muted);
margin-top: var(--pm-space-2);
}
.pm-ticks {
display: grid;
gap: var(--pm-space-3);
}
.pm-ticks li {
display: flex;
align-items: flex-start;
gap: var(--pm-space-3);
list-style: none;
}
.pm-ticks .pm-icon { margin-top: 0.15rem; }
.pm-stat__value {
font-size: var(--pm-text-h3);
font-weight: var(--pm-weight-bold);
line-height: var(--pm-leading-tight);
letter-spacing: var(--pm-tracking-tight);
}
.pm-stat__label {
color: var(--pm-fg-muted);
margin-top: var(--pm-space-2);
}
.pm-logo {
max-height: 3rem;
width: auto;
object-fit: contain;
}
.pm-divider {
border: 0;
border-top: var(--pm-border-width) solid var(--pm-border-soft);
margin-block: var(--pm-space-8);
}
.pm-quote {
font-size: var(--pm-text-lg);
font-weight: var(--pm-weight-medium);
line-height: var(--pm-leading-relaxed);
}
@media (min-width: 768px) {
.pm-quote { font-size: var(--pm-text-xl); }
}
.pm-social {
display: flex;
align-items: center;
gap: var(--pm-space-3);
}
.pm-social a {
display: inline-flex;
transition: opacity var(--pm-duration-fast) var(--pm-ease);
}
.pm-social a:hover { opacity: 0.6; }
.pm-footer-col__title {
font-size: var(--pm-text-sm);
font-weight: var(--pm-weight-semibold);
margin-bottom: var(--pm-space-3);
}
.pm-footer-col ul {
display: grid;
gap: var(--pm-space-2);
list-style: none;
}
.pm-footer-col a {
font-size: var(--pm-text-sm);
transition: opacity var(--pm-duration-fast) var(--pm-ease);
}
.pm-footer-col a:hover { opacity: 0.65; }
.pm-footer-bottom {
display: flex;
flex-direction: column;
gap: var(--pm-space-6);
padding-top: var(--pm-space-8);
border-top: var(--pm-border-width) solid var(--pm-border-soft);
margin-top: var(--pm-space-12);
font-size: var(--pm-text-sm);
}
@media (min-width: 768px) {
.pm-footer-bottom {
flex-direction: row;
align-items: center;
justify-content: space-between;
margin-top: var(--pm-space-20);
}
}
.pm-footer-legal {
display: flex;
flex-wrap: wrap;
gap: var(--pm-space-6);
}
.pm-footer-legal a {
text-decoration: underline;
text-underline-offset: 3px;
}
.pm-banner {
background-color: var(--pm-bg);
color: var(--pm-fg);
padding: var(--pm-space-3) var(--pm-gutter);
font-size: var(--pm-text-sm);
}
.pm-banner__inner {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: var(--pm-space-4);
}
.pm-banner__close {
display: inline-flex;
margin-left: auto;
}
.pm-spinner {
width: 2.5rem;
height: 2.5rem;
border: 3px solid color-mix(in srgb, var(--pm-fg) 20%, transparent);
border-top-color: var(--pm-fg);
border-radius: var(--pm-radius-full);
animation: pm-spin 0.8s linear infinite;
}
@keyframes pm-spin {
to { transform: rotate(360deg); }
}
.pm-progress {
width: 100%;
height: 0.25rem;
background-color: color-mix(in srgb, var(--pm-fg) 15%, transparent);
border-radius: var(--pm-radius-full);
overflow: hidden;
}
.pm-progress__bar {
height: 100%;
background-color: var(--pm-fg);
border-radius: inherit;
transition: width var(--pm-duration) var(--pm-ease);
}
.pm-marquee {
display: flex;
overflow: hidden;
gap: var(--pm-space-12);
mask-image: linear-gradient(90deg, transparent, #000 12.5%, #000 87.5%, transparent);
-webkit-mask-image: linear-gradient(90deg, transparent, #000 12.5%, #000 87.5%, transparent);
}
.pm-marquee__group {
display: flex;
align-items: center;
gap: var(--pm-space-12);
flex: none;
padding-right: var(--pm-space-12);
animation: pm-marquee 30s linear infinite;
}
.pm-marquee:hover .pm-marquee__group {
animation-play-state: paused;
}
@keyframes pm-marquee {
from { transform: translateX(0); }
to { transform: translateX(-100%); }
}
.pm-timeline {
position: relative;
display: grid;
gap: var(--pm-space-12);
}
.pm-timeline::before {
content: "";
position: absolute;
left: 0.4375rem;
top: 0;
bottom: 0;
width: 1px;
background-color: var(--pm-border-soft);
}
.pm-timeline__item {
position: relative;
padding-left: var(--pm-space-10);
}
.pm-timeline__dot {
position: absolute;
left: 0;
top: 0.4rem;
width: 0.9375rem;
height: 0.9375rem;
border-radius: var(--pm-radius-full);
background-color: var(--pm-fg);
}
:host,:root{--fa-family-classic:"Font Awesome 7 Free";--fa-font-solid:normal 900 1em/1 var(--fa-family-classic);--fa-style-family-classic:var(--fa-family-classic)}:host,:root{--fa-family-brands:"Font Awesome 7 Brands";--fa-font-brands:normal 400 1em/1 var(--fa-family-brands)}
.fa,.fa-brands,.fa-classic,.fa-regular,.fa-solid,.fab,.far,.fas{--_fa-family:var(--fa-family,var(--fa-style-family,"Font Awesome 7 Free"));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:var(--fa-display,inline-block);font-family:var(--_fa-family);font-feature-settings:normal;font-style:normal;font-synthesis:none;font-variant:normal;font-weight:var(--fa-style,900);line-height:1;text-align:center;text-rendering:auto;width:var(--fa-width,1.25em)}:is(.fas,.far,.fab,.fa-solid,.fa-regular,.fa-brands,.fa-classic,.fa):before{content:var(--fa)/""}@supports not (content:""/""){:is(.fas,.far,.fab,.fa-solid,.fa-regular,.fa-brands,.fa-classic,.fa):before{content:var(--fa)}}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-width-auto{--fa-width:auto}.fa-fw,.fa-width-fixed{--fa-width:1.25em}.fa-canvas-square{padding-block:.125em;margin-block-end:-.125em}.fa-canvas-roomy{padding-block:.25em;padding-inline:.125em;margin-block-end:-.25em;box-sizing:content-box}.fa-ul{list-style-type:none;margin-inline-start:var(--fa-li-margin,2.5em);padding-inline-start:0}.fa-ul>li{position:relative}.fa-li{inset-inline-start:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.0625em) var(--fa-border-style,solid) var(--fa-border-color,#eee);box-sizing:var(--fa-border-box-sizing,content-box);padding:var(--fa-border-padding,.1875em .25em)}.fa-pull-left,.fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin,.3em)}.fa-pull-end,.fa-pull-right{float:inline-end;margin-inline-start:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{animation-name:fa-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-beat-fade,.fa-fade{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{animation-name:fa-beat-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-flip{animation-name:fa-flip;animation-duration:var(--fa-animation-duration,1.5s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-flip,.fa-flip-360{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-flip-360{animation-name:fa-flip-360;animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,.75s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-spin{animation-name:fa-spin;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}.fa-spin-snap{animation-name:fa-spin-snap;animation-duration:var(--fa-animation-duration,3s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-snap,.fa-spin-snap-4{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-spin-snap-4{animation-name:fa-spin-snap-4;animation-duration:var(--fa-animation-duration,2.4s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-snap-8{animation-name:fa-spin-snap-8;animation-duration:var(--fa-animation-duration,4s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-buzz,.fa-spin-snap-8{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-buzz{animation-name:fa-buzz;animation-duration:var(--fa-animation-duration,.6s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-wag{animation-name:fa-wag;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,.9s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-out);transform-origin:bottom center}.fa-float{animation-name:fa-float;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,3s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out);will-change:transform}.fa-swing{animation-name:fa-swing;animation-duration:var(--fa-animation-duration,1.2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-out);transform-origin:top center}.fa-jello,.fa-swing{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-jello{animation-name:fa-jello;animation-duration:var(--fa-animation-duration,.9s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-out)}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-buzz,.fa-fade,.fa-flip,.fa-flip-360,.fa-float,.fa-jello,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse,.fa-spin-snap,.fa-spin-snap-4,.fa-spin-snap-8,.fa-swing,.fa-wag{animation:none!important;transition:none!important}}@keyframes fa-beat{0%{transform:scale(1)}25%{transform:scale(calc(var(--fa-beat-scale, 1.25)*1.25))}45%{transform:scale(calc(var(--fa-beat-scale, 1.22)*1.22))}65%{transform:scale(calc(var(--fa-beat-scale, 1.25)*1.25))}90%{transform:scale(1)}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0);animation-timing-function:var(--fa-animation-timing)}14%{transform:scale(var(--fa-bounce-start-scale-x,1.06),var(--fa-bounce-start-scale-y,.94)) translateY(var(--fa-bounce-anticipation,3px));animation-timing-function:cubic-bezier(.33,0,.66,.33)}32%{transform:scale(var(--fa-bounce-jump-scale-x,.94),var(--fa-bounce-jump-scale-y,1.12)) translateY(calc(var(--fa-bounce-height, .5em)*-1));animation-timing-function:cubic-bezier(.33,.66,.66,1)}52%{transform:scale(1) translateY(calc(var(--fa-bounce-height, .5em)*-1*1.1));animation-timing-function:cubic-bezier(.5,0,1,.5)}70%{transform:scale(var(--fa-bounce-land-scale-x,1.06),var(--fa-bounce-land-scale-y,.92)) translateY(0);animation-timing-function:cubic-bezier(.33,.33,.66,1)}85%{transform:scale(.98,1.04) translateY(calc(-2px*var(--fa-bounce-rebound, 1)));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{0%{opacity:1;transform:scale(1);animation-timing-function:cubic-bezier(.2,0,.4,1)}40%{opacity:var(--fa-fade-opacity,.4);transform:scale(.98);animation-timing-function:cubic-bezier(.4,0,.6,1)}to{opacity:1;transform:scale(1)}}@keyframes fa-beat-fade{0%{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1);animation-timing-function:cubic-bezier(.2,0,.4,1)}25%{opacity:calc(var(--fa-beat-fade-opacity, .4) + .4);transform:scale(var(--fa-beat-fade-scale,1.28));animation-timing-function:cubic-bezier(.4,0,.6,1)}45%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.25));animation-timing-function:cubic-bezier(.4,0,.2,1)}65%{opacity:calc(var(--fa-beat-fade-opacity, .4) + .4);transform:scale(var(--fa-beat-fade-scale,1.28));animation-timing-function:cubic-bezier(.4,0,.6,1)}to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}}@keyframes fa-flip{0%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),0deg);animation-timing-function:cubic-bezier(.2,0,.4,1)}8%{transform:perspective(2em) scale(var(--fa-flip-anticipation-scale,.95)) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),0deg);animation-timing-function:cubic-bezier(.33,0,.66,.33)}35%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),calc(var(--fa-flip-angle, -1turn)*0.6));animation-timing-function:linear}65%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),calc(var(--fa-flip-angle, -1turn)*0.5));animation-timing-function:cubic-bezier(.33,.66,.66,1)}92%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),calc(var(--fa-flip-angle, -1turn)*var(--fa-flip-overshoot, 1.04)));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-1turn))}}@keyframes fa-flip-360{0%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),0deg);animation-timing-function:cubic-bezier(.2,0,.4,1)}8%{transform:perspective(2em) scale(var(--fa-flip-anticipation-scale,.95)) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),0deg);animation-timing-function:cubic-bezier(.33,0,.66,.33)}50%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),calc(var(--fa-flip-angle, -1turn)*0.6));animation-timing-function:cubic-bezier(.33,.66,.66,1)}80%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),calc(var(--fa-flip-angle, -1turn)*var(--fa-flip-overshoot, 1.04)));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-1turn))}}@keyframes fa-shake{0%{transform:rotate(0deg);animation-timing-function:cubic-bezier(.2,0,.8,1)}8%{transform:rotate(35deg) translateX(1px);animation-timing-function:cubic-bezier(.3,0,.7,1)}20%{transform:rotate(-22deg) translateX(-1px);animation-timing-function:cubic-bezier(.3,0,.7,1)}35%{transform:rotate(15deg) translateX(1px);animation-timing-function:cubic-bezier(.3,0,.7,1)}50%{transform:rotate(-9deg);animation-timing-function:cubic-bezier(.4,0,.6,1)}65%{transform:rotate(5deg);animation-timing-function:cubic-bezier(.4,0,.6,1)}78%{transform:rotate(-3deg);animation-timing-function:cubic-bezier(.4,0,.6,1)}90%{transform:rotate(1deg);animation-timing-function:cubic-bezier(.4,0,.2,1)}to{transform:rotate(0deg)}}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fa-spin-snap{0%{transform:rotate(0deg);animation-timing-function:cubic-bezier(0,0,.2,1)}12%{transform:rotate(60deg);animation-timing-function:cubic-bezier(.8,0,1,1)}16.67%{transform:rotate(60deg);animation-timing-function:cubic-bezier(0,0,.2,1)}28.67%{transform:rotate(120deg);animation-timing-function:cubic-bezier(.8,0,1,1)}33.33%{transform:rotate(120deg);animation-timing-function:cubic-bezier(0,0,.2,1)}45.33%{transform:rotate(180deg);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:rotate(180deg);animation-timing-function:cubic-bezier(0,0,.2,1)}62%{transform:rotate(240deg);animation-timing-function:cubic-bezier(.8,0,1,1)}66.67%{transform:rotate(240deg);animation-timing-function:cubic-bezier(0,0,.2,1)}78.67%{transform:rotate(300deg);animation-timing-function:cubic-bezier(.8,0,1,1)}83.33%{transform:rotate(300deg);animation-timing-function:cubic-bezier(0,0,.2,1)}95.33%{transform:rotate(1turn);animation-timing-function:cubic-bezier(.8,0,1,1)}to{transform:rotate(1turn)}}@keyframes fa-spin-snap-4{0%{transform:rotate(0deg);animation-timing-function:cubic-bezier(0,0,.2,1)}15%{transform:rotate(90deg);animation-timing-function:cubic-bezier(.8,0,1,1)}25%{transform:rotate(90deg);animation-timing-function:cubic-bezier(0,0,.2,1)}40%{transform:rotate(180deg);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:rotate(180deg);animation-timing-function:cubic-bezier(0,0,.2,1)}65%{transform:rotate(270deg);animation-timing-function:cubic-bezier(.8,0,1,1)}75%{transform:rotate(270deg);animation-timing-function:cubic-bezier(0,0,.2,1)}90%{transform:rotate(1turn);animation-timing-function:cubic-bezier(.8,0,1,1)}to{transform:rotate(1turn)}}@keyframes fa-spin-snap-8{0%{transform:rotate(0deg);animation-timing-function:cubic-bezier(0,0,.2,1)}9%{transform:rotate(45deg);animation-timing-function:cubic-bezier(.8,0,1,1)}12.5%{transform:rotate(45deg);animation-timing-function:cubic-bezier(0,0,.2,1)}21.5%{transform:rotate(90deg);animation-timing-function:cubic-bezier(.8,0,1,1)}25%{transform:rotate(90deg);animation-timing-function:cubic-bezier(0,0,.2,1)}34%{transform:rotate(135deg);animation-timing-function:cubic-bezier(.8,0,1,1)}37.5%{transform:rotate(135deg);animation-timing-function:cubic-bezier(0,0,.2,1)}46.5%{transform:rotate(180deg);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:rotate(180deg);animation-timing-function:cubic-bezier(0,0,.2,1)}59%{transform:rotate(225deg);animation-timing-function:cubic-bezier(.8,0,1,1)}62.5%{transform:rotate(225deg);animation-timing-function:cubic-bezier(0,0,.2,1)}71.5%{transform:rotate(270deg);animation-timing-function:cubic-bezier(.8,0,1,1)}75%{transform:rotate(270deg);animation-timing-function:cubic-bezier(0,0,.2,1)}84%{transform:rotate(315deg);animation-timing-function:cubic-bezier(.8,0,1,1)}87.5%{transform:rotate(315deg);animation-timing-function:cubic-bezier(0,0,.2,1)}96.5%{transform:rotate(1turn);animation-timing-function:cubic-bezier(.8,0,1,1)}to{transform:rotate(1turn)}}@keyframes fa-buzz{0%{transform:translateX(0) rotate(0deg);animation-timing-function:cubic-bezier(.1,0,.9,1)}5%{transform:translateX(var(--fa-buzz-distance,4px)) rotate(.5deg)}10%{transform:translateX(calc(var(--fa-buzz-distance, 4px)*-1)) rotate(-.5deg)}15%{transform:translateX(var(--fa-buzz-distance,4px)) rotate(.3deg)}20%{transform:translateX(calc(var(--fa-buzz-distance, 4px)*-1)) rotate(-.3deg)}25%{transform:translateX(calc(var(--fa-buzz-distance, 4px)*0.7)) rotate(.2deg)}30%{transform:translateX(calc(var(--fa-buzz-distance, 4px)*-1*0.7)) rotate(-.2deg)}35%{transform:translateX(calc(var(--fa-buzz-distance, 4px)*0.4)) rotate(.1deg)}40%{transform:translateX(0) rotate(0deg)}to{transform:translateX(0) rotate(0deg)}}@keyframes fa-wag{0%{transform:rotate(0deg);animation-timing-function:cubic-bezier(.2,0,.6,1)}12%{transform:rotate(var(--fa-wag-angle,12deg));animation-timing-function:cubic-bezier(.4,0,.2,1)}24%{transform:rotate(2deg);animation-timing-function:cubic-bezier(.2,0,.6,1)}36%{transform:rotate(calc(var(--fa-wag-angle, 12deg)*0.85));animation-timing-function:cubic-bezier(.4,0,.2,1)}48%{transform:rotate(1deg);animation-timing-function:cubic-bezier(.2,0,.6,1)}58%{transform:rotate(calc(var(--fa-wag-angle, 12deg)*0.6));animation-timing-function:cubic-bezier(.4,0,.2,1)}68%{transform:rotate(0deg)}to{transform:rotate(0deg)}}@keyframes fa-float{0%{transform:translateY(0) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x,1.02),var(--fa-float-squash-y,.98));animation-timing-function:cubic-bezier(.33,0,.66,.33)}15%{transform:translateY(calc(var(--fa-float-height, 6px)*-0.4)) translateX(var(--fa-float-drift,1px)) rotate(var(--fa-float-tilt,1deg)) scale(1);animation-timing-function:cubic-bezier(.33,.66,.66,1)}35%{transform:translateY(calc(var(--fa-float-height, 6px)*-1)) translateX(0) rotate(0deg) scale(var(--fa-float-stretch-x,.98),var(--fa-float-stretch-y,1.03));animation-timing-function:cubic-bezier(.5,0,.5,0)}50%{transform:translateY(calc(var(--fa-float-height, 6px)*-0.92)) translateX(calc(var(--fa-float-drift, 1px)*-0.5)) rotate(calc(var(--fa-float-tilt, 1deg)*-0.5)) scale(.995,1.01);animation-timing-function:cubic-bezier(.33,0,.66,.33)}70%{transform:translateY(calc(var(--fa-float-height, 6px)*-0.3)) translateX(calc(var(--fa-float-drift, 1px)*-1)) rotate(calc(var(--fa-float-tilt, 1deg)*-1)) scale(1);animation-timing-function:cubic-bezier(.33,.66,.66,1)}90%{transform:translateY(calc(var(--fa-float-height, 6px)*0.05)) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x,1.02),var(--fa-float-squash-y,.98));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:translateY(0) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x,1.02),var(--fa-float-squash-y,.98))}}@keyframes fa-swing{0%{transform:rotate(0deg);animation-timing-function:cubic-bezier(.2,0,.8,1)}8%{transform:rotate(var(--fa-swing-angle,22deg));animation-timing-function:cubic-bezier(.3,0,.7,1)}18%{transform:rotate(calc(var(--fa-swing-angle, 22deg)*-1*0.85));animation-timing-function:cubic-bezier(.3,0,.7,1)}28%{transform:rotate(calc(var(--fa-swing-angle, 22deg)*0.65));animation-timing-function:cubic-bezier(.35,0,.65,1)}38%{transform:rotate(calc(var(--fa-swing-angle, 22deg)*-1*0.45));animation-timing-function:cubic-bezier(.4,0,.6,1)}48%{transform:rotate(calc(var(--fa-swing-angle, 22deg)*0.25));animation-timing-function:cubic-bezier(.4,0,.6,1)}56%{transform:rotate(calc(var(--fa-swing-angle, 22deg)*-1*0.1));animation-timing-function:cubic-bezier(.4,0,.6,1)}64%{transform:rotate(0deg)}to{transform:rotate(0deg)}}@keyframes fa-jello{0%{transform:scale(1);animation-timing-function:cubic-bezier(.2,0,.8,1)}12%{transform:scale(var(--fa-jello-scale-x,1.15),calc(2 - var(--fa-jello-scale-x, 1.15)));animation-timing-function:cubic-bezier(.3,0,.7,1)}24%{transform:scale(calc(2 - var(--fa-jello-scale-y, 1.12)),var(--fa-jello-scale-y,1.12));animation-timing-function:cubic-bezier(.3,0,.7,1)}36%{transform:scale(calc(.5 + var(--fa-jello-scale-x, 1.15)*0.5),calc(1.5 - var(--fa-jello-scale-x, 1.15)*0.5));animation-timing-function:cubic-bezier(.4,0,.6,1)}48%{transform:scale(calc(1.3 - var(--fa-jello-scale-y, 1.12)*0.3),calc(.7 + var(--fa-jello-scale-y, 1.12)*0.3));animation-timing-function:cubic-bezier(.4,0,.6,1)}58%{transform:scale(1.02,.98);animation-timing-function:cubic-bezier(.4,0,.2,1)}68%{transform:scale(1)}to{transform:scale(1)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{--fa-width:100%;inset:0;position:absolute;text-align:center;width:var(--fa-width);z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}@font-face{font-family:"Font Awesome 7 Free";font-style:normal;font-weight:900;font-display:block;src:url(../fonts/fa-solid-sub.woff2)}.fa-percent,.fa-percentage{--fa:"\%"}.fa-heart{--fa:"\f004"}.fa-star{--fa:"\f005"}.fa-check{--fa:"\f00c"}.fa-home,.fa-home-alt,.fa-home-lg-alt,.fa-house{--fa:"\f015"}.fa-clock,.fa-clock-four{--fa:"\f017"}.fa-flag{--fa:"\f024"}.fa-tag{--fa:"\f02b"}.fa-chevron-right{--fa:"\f054"}.fa-circle-xmark,.fa-times-circle,.fa-xmark-circle{--fa:"\f057"}.fa-check-circle,.fa-circle-check{--fa:"\f058"}.fa-circle-question,.fa-question-circle{--fa:"\f059"}.fa-ban,.fa-cancel{--fa:"\f05e"}.fa-arrow-right{--fa:"\f061"}.fa-leaf{--fa:"\f06c"}.fa-chevron-down{--fa:"\f078"}.fa-comments{--fa:"\f086"}.fa-phone{--fa:"\f095"}.fa-certificate{--fa:"\f0a3"}.fa-briefcase{--fa:"\f0b1"}.fa-truck{--fa:"\f0d1"}.fa-envelope{--fa:"\f0e0"}.fa-bolt,.fa-zap{--fa:"\f0e7"}.fa-laptop{--fa:"\f109"}.fa-calendar{--fa:"\f133"}.fa-file-alt,.fa-file-lines,.fa-file-text{--fa:"\f15c"}.fa-building{--fa:"\f1ad"}.fa-cube{--fa:"\f1b2"}.fa-recycle{--fa:"\f1b8"}.fa-tree{--fa:"\f1bb"}.fa-plug{--fa:"\f1e6"}.fa-calculator{--fa:"\f1ec"}.fa-balance-scale,.fa-scale-balanced{--fa:"\f24e"}.fa-bag-shopping,.fa-shopping-bag{--fa:"\f290"}.fa-trash-alt,.fa-trash-can{--fa:"\f2ed"}.fa-location-dot,.fa-map-marker-alt{--fa:"\f3c5"}.fa-mobile-android-alt,.fa-mobile-screen{--fa:"\f3cf"}.fa-shield-alt,.fa-shield-halved{--fa:"\f3ed"}.fa-box-open{--fa:"\f49e"}.fa-couch{--fa:"\f4b8"}.fa-dove{--fa:"\f4ba"}.fa-hand-holding-heart{--fa:"\f4be"}.fa-route{--fa:"\f4d7"}.fa-user-tie{--fa:"\f508"}.fa-ruler-combined{--fa:"\f546"}.fa-file-invoice{--fa:"\f570"}.fa-grid-horizontal,.fa-grip,.fa-grip-horizontal{--fa:"\f58d"}.fa-weight-hanging{--fa:"\f5cd"}.fa-chair{--fa:"\f6c0"}.fa-hard-hat,.fa-hat-hard,.fa-helmet-safety{--fa:"\f807"}
@font-face {
font-family: "Nunito";
font-style: normal;
font-weight: 700 900;
font-display: swap;
src: url(../fonts/nunito-latin.woff2) format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root {
--pm-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
--pm-font-display: "Nunito", "Inter", -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
--pm-weight-heading: 800;
--pm-tracking-heading: -0.015em;
--pm-palette-primary: #01162e;
--pm-palette-primary-hover: #0a2748;
--pm-palette-on-primary: #ffffff;
--pm-palette-accent: #3bba96;
--pm-palette-on-accent: #01162e;
--pm-color-page: #ffffff;
--pm-color-surface: #ffffff;
--pm-color-surface-subtle: #f2f6f9;
--pm-color-surface-inverse: #01162e;
--pm-color-surface-inverse-raised: #0b2645;
--pm-color-text: #01162e;
--pm-color-text-muted: #4a5a6e;
--pm-color-text-inverse: #ffffff;
--pm-color-text-inverse-muted: #b9c6d6;
--pm-color-border: #01162e;
--pm-color-border-subtle: #dfe6ee;
--pm-color-overlay: rgb(1 22 46 / 0.78);
--pm-radius-button: 62.5rem;
--pm-radius-card: 1.125rem;
--pm-radius-image: 1.125rem;
--pm-radius-form: 0.75rem;
--pm-radius-badge: 62.5rem;
--pm-radius-checkbox: 0.3rem;
--pm-radius-dropdown: 1rem;
--pm-radius-avatar: 62.5rem;
--jb-navy: #01162e;
--jb-navy-2: #0b2645;
--jb-teal: #3bba96;
--jb-teal-ink: #137559;
--jb-yellow: #ffbf0d;
--jb-yellow-hover: #ffcd3f;
--jb-green-strip: #3bba96;
}
.pm-scheme-dark {
background-image:
radial-gradient(60rem 40rem at 100% 0%, rgb(59 186 150 / 0.16), transparent 60%),
radial-gradient(55rem 38rem at 0% 100%, rgb(24 99 220 / 0.14), transparent 62%);
background-repeat: no-repeat;
}
.pm-btn:not(.pm-btn--secondary):not(.pm-btn--tertiary):not(.pm-btn--link):not(.pm-btn--link-alt) {
--_btn-bg: var(--jb-yellow);
--_btn-fg: var(--jb-navy);
--_btn-border: var(--jb-yellow);
font-weight: 700;
}
.pm-btn:not(.pm-btn--secondary):not(.pm-btn--tertiary):not(.pm-btn--link):not(.pm-btn--link-alt):hover {
--_btn-bg: var(--jb-yellow-hover);
--_btn-border: var(--jb-yellow-hover);
}
.pm-highlight { color: var(--jb-teal-ink); }
.pm-scheme-dark .pm-highlight,
.pm-scheme-brand .pm-highlight { color: var(--jb-teal); }
html { scroll-behavior: smooth; scroll-padding-top: 5rem; }
body { background: var(--pm-color-page); }
h1, h2, h3, h4, .jb-display { font-family: var(--pm-font-display); letter-spacing: var(--pm-tracking-heading); }
a { text-underline-offset: 0.18em; }
.jb-skip { position: absolute; left: -999px; top: 0; z-index: 1000; background: var(--jb-yellow); color: var(--jb-navy); padding: var(--pm-space-3) var(--pm-space-4); font-weight: 700; }
.jb-skip:focus { left: var(--pm-space-4); top: var(--pm-space-4); }
.jb-eyebrow { display: inline-block; font-size: var(--pm-text-sm); font-weight: 700; letter-spacing: var(--pm-tracking-wide); text-transform: uppercase; color: var(--jb-teal-ink); margin-bottom: var(--pm-space-3); }
.pm-scheme-dark .jb-eyebrow, .pm-scheme-brand .jb-eyebrow { color: var(--jb-teal); }
.jb-h2 { font-size: clamp(1.9rem, 1.3rem + 2.2vw, 2.75rem); line-height: 1.12; }
.jb-h3 { font-size: var(--pm-text-xl); line-height: 1.25; }
.jb-h4 { font-size: var(--pm-text-lg); line-height: 1.3; }
.jb-lede { font-size: var(--pm-text-md); line-height: var(--pm-leading-loose); color: var(--pm-fg-muted); max-width: 44rem; }
.jb-center { text-align: center; margin-inline: auto; }
.jb-head { max-width: 46rem; margin-bottom: var(--pm-space-10); }
.jb-head.jb-center .jb-lede { margin-inline: auto; }
.jb-muted { color: var(--pm-fg-muted); }
.jb-small { font-size: var(--pm-text-sm); }
.jb-icon { width: 1.1em; text-align: center; }
.jb-topbar { background: var(--jb-navy-2); color: #dfe7f1; font-size: var(--pm-text-sm); padding: var(--pm-space-2) var(--pm-gutter); }
.jb-topbar__inner { max-width: var(--pm-container); margin-inline: auto; display: flex; gap: var(--pm-space-6); justify-content: center; flex-wrap: wrap; }
.jb-topbar__item { display: inline-flex; align-items: center; gap: var(--pm-space-2); }
.jb-topbar__item i { color: var(--jb-teal); }
.jb-topbar__item--hide { display: none; }
@media (min-width: 768px) { .jb-topbar__inner { justify-content: space-between; } .jb-topbar__item--hide { display: inline-flex; } }
.jb-header { position: sticky; top: 0; z-index: var(--pm-z-navbar); }
.jb-header .pm-nav { border-bottom: 0; }
.jb-header .pm-nav__logo img { height: 2.8rem; width: auto; max-height: none; }
.jb-header .pm-nav__link { font-weight: 600; }
.jb-header .pm-nav__link[aria-current="page"] { color: var(--jb-teal); }
.jb-mega__inner { display: grid; gap: var(--pm-space-6); padding-block: var(--pm-space-6); }
.jb-mega__title { font-size: var(--pm-text-xs); font-weight: 700; letter-spacing: var(--pm-tracking-widest); text-transform: uppercase; color: var(--pm-fg-muted); margin-bottom: var(--pm-space-2); }
.jb-mega__list { display: grid; gap: var(--pm-space-1); }
.jb-mega__item { display: flex; align-items: center; gap: var(--pm-space-3); padding: var(--pm-space-2) var(--pm-space-2); border-radius: 0.6rem; font-weight: 600; text-decoration: none; }
.jb-mega__item:hover { background: color-mix(in srgb, var(--pm-fg) 7%, transparent); }
.jb-mega__item i { width: 1.9rem; height: 1.9rem; display: grid; place-items: center; border-radius: 0.5rem; background: color-mix(in srgb, var(--jb-teal) 18%, transparent); color: var(--jb-teal); font-size: 0.85rem; }
.jb-mega__item small { display: block; font-weight: 400; color: var(--pm-fg-muted); font-size: var(--pm-text-xs); }
.jb-mega__cta { border-radius: var(--pm-radius-card); padding: var(--pm-space-6); background: color-mix(in srgb, var(--jb-teal) 14%, transparent); }
.jb-nav__phone { display: inline-flex; align-items: center; gap: var(--pm-space-2); font-weight: 700; white-space: nowrap; }
@media (min-width: 992px) {
.jb-header .pm-nav__menu { flex: 1; justify-content: space-between; margin-left: var(--pm-space-8); }
.jb-nav__links { display: flex; align-items: center; }
.jb-mega { position: static; }
.jb-mega > .pm-dropdown__menu { left: 0; right: 0; width: auto; min-width: 0; padding: 0 var(--pm-gutter); border-radius: 0 0 var(--pm-radius-card) var(--pm-radius-card); }
.jb-mega__inner { grid-template-columns: 1fr 1fr 1fr 17rem; max-width: var(--pm-container); margin-inline: auto; padding-block: var(--pm-space-8); }
}
.jb-crumbs { font-size: var(--pm-text-sm); color: var(--pm-fg-muted); margin-bottom: var(--pm-space-6); }
.jb-crumbs ol { display: flex; flex-wrap: wrap; gap: var(--pm-space-2); list-style: none; padding: 0; margin: 0; }
.jb-crumbs li + li::before { content: "/"; margin-right: var(--pm-space-2); opacity: 0.6; }
.jb-crumbs a { color: inherit; }
.jb-hero { position: relative; overflow: hidden; padding-bottom: var(--pm-space-24); }
.jb-hero::after { content: ""; position: absolute; left: -10%; right: -10%; bottom: -1px; height: 5rem; background: var(--pm-color-page); border-radius: 50% 50% 0 0 / 100% 100% 0 0; }
.jb-hero--flat::after { display: none; }
.jb-hero--flat { padding-bottom: var(--pm-space-16); }
.jb-hero__grid { position: relative; z-index: 1; display: grid; gap: var(--pm-space-10); align-items: center; max-width: var(--pm-container); margin-inline: auto; }
.jb-hero h1 { font-size: clamp(2.4rem, 1.4rem + 4.2vw, 4.4rem); line-height: 1.02; margin-bottom: var(--pm-space-5); }
.jb-hero h1 .jb-hero__big { display: block; color: var(--jb-teal); font-size: 1.28em; line-height: 0.95; }
.jb-hero__lede { font-size: var(--pm-text-lg); line-height: 1.55; color: var(--pm-fg-muted); max-width: 36rem; }
.jb-hero__price { margin-top: var(--pm-space-6); font-weight: 700; }
.jb-hero__price strong { display: block; font-family: var(--pm-font-display); font-size: 2rem; font-weight: 900; line-height: 1.1; }
.jb-hero__actions { display: flex; flex-wrap: wrap; gap: var(--pm-space-3); margin-top: var(--pm-space-6); }
.jb-hero__actions .pm-btn { min-height: 3.25rem; padding-inline: var(--pm-space-8); font-size: var(--pm-text-md); }
.jb-hero__art { position: relative; }
.jb-hero__art img { width: 100%; height: auto; max-width: 38rem; margin-inline: auto; display: block; }
.jb-hero__trust { display: flex; flex-wrap: wrap; gap: var(--pm-space-4) var(--pm-space-6); align-items: center; margin-top: var(--pm-space-8); font-size: var(--pm-text-sm); color: var(--pm-fg-muted); }
.jb-ticks { list-style: none; padding: 0; margin: var(--pm-space-6) 0 0; display: grid; gap: var(--pm-space-3); }
.jb-ticks li { display: flex; gap: var(--pm-space-3); align-items: flex-start; line-height: 1.5; }
.jb-ticks li i { color: var(--jb-teal); margin-top: 0.2rem; }
.pm-scheme-light .jb-ticks li i, .pm-scheme-subtle .jb-ticks li i { color: var(--jb-teal-ink); }
@media (min-width: 992px) {
.jb-hero__grid { grid-template-columns: 1.1fr 0.9fr; }
.jb-hero--service .jb-hero__grid { grid-template-columns: 1.15fr 0.85fr; }
}
.jb-rating { display: inline-flex; align-items: center; gap: var(--pm-space-3); padding: var(--pm-space-2) var(--pm-space-4); border-radius: 999px; background: color-mix(in srgb, var(--pm-fg) 8%, transparent); font-size: var(--pm-text-sm); color: var(--pm-fg); text-decoration: none; }
.jb-rating__g { font-weight: 800; font-family: var(--pm-font-display); }
.jb-rating__stars { color: var(--jb-yellow); letter-spacing: 1px; }
.jb-licence { font-size: var(--pm-text-sm); color: var(--pm-fg-muted); }
.jb-services { position: relative; z-index: 2; margin-top: calc(var(--pm-space-16) * -1); }
.jb-panel { max-width: var(--pm-container); margin-inline: auto; background: var(--pm-color-surface-subtle); border: 3px solid var(--jb-yellow); border-radius: calc(var(--pm-radius-card) + 0.5rem); padding: var(--pm-space-6) var(--pm-space-4); box-shadow: var(--pm-shadow-xl); }
.jb-tabs__list { display: flex; justify-content: center; gap: 0; margin: calc(var(--pm-space-6) * -1 - 1.4rem) auto var(--pm-space-8); width: max-content; max-width: 100%; background: var(--jb-navy); border-radius: 999px; padding: 0.3rem; }
.jb-tabs__tab { border: 0; background: transparent; color: #fff; font-weight: 700; font-size: var(--pm-text-sm); padding: var(--pm-space-3) var(--pm-space-6); border-radius: 999px; cursor: pointer; }
.jb-tabs__tab[aria-selected="true"] { background: var(--jb-yellow); color: var(--jb-navy); }
.jb-cards { display: grid; gap: var(--pm-space-5); grid-template-columns: 1fr; }
@media (min-width: 560px) { .jb-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 992px) { .jb-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } .jb-cards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } .jb-panel { padding: var(--pm-space-10) var(--pm-space-8) var(--pm-space-8); } }
.jb-card { position: relative; display: grid; grid-template-rows: auto 1fr; background: #fff; color: var(--jb-navy); border-radius: var(--pm-radius-card); box-shadow: 0 1px 2px rgb(1 22 46 / 0.06), 0 8px 24px -12px rgb(1 22 46 / 0.18); text-decoration: none; padding: var(--pm-space-6); transition: transform var(--pm-duration) var(--pm-ease), box-shadow var(--pm-duration) var(--pm-ease); }
.jb-card:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgb(1 22 46 / 0.08), 0 18px 36px -16px rgb(1 22 46 / 0.35); }
.jb-card:focus-visible { outline: 3px solid var(--jb-yellow); outline-offset: 3px; }
.jb-card__badge { position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%); background: #e8541e; color: #fff; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; padding: 0.3rem 0.85rem; border-radius: 999px; white-space: nowrap; }
.jb-card__badge--teal { background: var(--jb-teal); color: var(--jb-navy); }
.jb-card__badge--navy { background: var(--jb-navy); color: #fff; }
.jb-card__img { display: block; width: 100%; max-width: 13rem; height: 9.5rem; object-fit: contain; margin: var(--pm-space-2) auto var(--pm-space-4); }
.jb-card__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--pm-space-3); }
.jb-card__name { font-family: var(--pm-font-display); font-weight: 800; font-size: var(--pm-text-md); line-height: 1.2; margin: 0; }
.jb-card__price { font-family: var(--pm-font-display); font-weight: 900; font-size: 1.45rem; color: var(--jb-teal-ink); line-height: 1.15; }
.jb-card__price small { font-size: 0.95rem; font-weight: 700; }
.jb-card__chev { color: var(--jb-teal-ink); font-size: 1.15rem; }
.jb-card--wide { grid-template-rows: none; grid-template-columns: 1fr auto; align-items: center; }
.jb-card--wide .jb-card__img { margin: 0; height: 7rem; max-width: 9rem; }
.jb-usp { max-width: var(--pm-container); margin: var(--pm-space-8) auto 0; background: var(--jb-green-strip); color: var(--jb-navy); border-radius: var(--pm-radius-card); padding: var(--pm-space-5) var(--pm-space-6); display: grid; gap: var(--pm-space-4); grid-template-columns: 1fr; }
.jb-usp__item { display: flex; align-items: center; gap: var(--pm-space-3); font-weight: 700; }
.jb-usp__item i { display: grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: #fff; color: var(--jb-teal-ink); font-size: 0.85rem; flex: none; }
@media (min-width: 560px) { .jb-usp { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .jb-usp { grid-template-columns: repeat(4, 1fr); } }
.jb-steps { display: grid; gap: var(--pm-space-6); counter-reset: step; }
@media (min-width: 768px) { .jb-steps { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .jb-steps--4 { grid-template-columns: repeat(4, 1fr); } .jb-steps--3 { grid-template-columns: repeat(3, 1fr); } }
.jb-step { position: relative; padding: var(--pm-space-8) var(--pm-space-6) var(--pm-space-6); border-radius: var(--pm-radius-card); background: var(--pm-surface); border: 1px solid var(--pm-border-soft); }
.jb-step::before { counter-increment: step; content: counter(step); position: absolute; top: calc(var(--pm-space-5) * -1); left: var(--pm-space-6); width: 2.6rem; height: 2.6rem; display: grid; place-items: center; border-radius: 50%; background: var(--jb-yellow); color: var(--jb-navy); font-family: var(--pm-font-display); font-weight: 900; font-size: 1.15rem; }
.jb-step h3 { font-size: var(--pm-text-lg); margin-bottom: var(--pm-space-2); }
.jb-step p { color: var(--pm-fg-muted); margin: 0; }
.jb-step ul { margin: var(--pm-space-3) 0 0; padding-left: 1.1rem; color: var(--pm-fg-muted); }
.jb-features { display: grid; gap: var(--pm-space-5); }
@media (min-width: 640px) { .jb-features { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .jb-features--3 { grid-template-columns: repeat(3, 1fr); } .jb-features--4 { grid-template-columns: repeat(4, 1fr); } }
.jb-feature { padding: var(--pm-space-6); border-radius: var(--pm-radius-card); background: var(--pm-surface); border: 1px solid var(--pm-border-soft); }
.pm-scheme-dark .jb-feature { background: var(--pm-surface); border-color: rgb(255 255 255 / 0.08); }
.jb-feature__icon { width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: 0.9rem; background: color-mix(in srgb, var(--jb-teal) 20%, transparent); color: var(--jb-teal-ink); font-size: 1.2rem; margin-bottom: var(--pm-space-4); }
.pm-scheme-dark .jb-feature__icon { color: var(--jb-teal); }
.jb-feature h3 { font-size: var(--pm-text-lg); margin-bottom: var(--pm-space-2); line-height: 1.3; }
.jb-feature p { margin: 0; color: var(--pm-fg-muted); }
.jb-split { display: grid; gap: var(--pm-space-10); align-items: center; max-width: var(--pm-container); margin-inline: auto; }
@media (min-width: 992px) { .jb-split { grid-template-columns: 1fr 1fr; gap: var(--pm-space-16); } .jb-split--rev > :first-child { order: 2; } .jb-split--top { align-items: start; } }
.jb-split__art img { width: 100%; height: auto; display: block; max-width: 34rem; margin-inline: auto; }
.jb-prose { max-width: 46rem; }
.jb-prose h2 { font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.1rem); line-height: 1.2; margin: var(--pm-space-10) 0 var(--pm-space-4); }
.jb-prose h3 { font-size: var(--pm-text-xl); line-height: 1.3; margin: var(--pm-space-8) 0 var(--pm-space-3); }
.jb-prose h4 { font-size: var(--pm-text-lg); margin: var(--pm-space-6) 0 var(--pm-space-2); }
.jb-prose p, .jb-prose li { font-size: 1.0625rem; line-height: 1.75; color: color-mix(in srgb, var(--pm-fg) 88%, transparent); }
.jb-prose p { margin: 0 0 var(--pm-space-5); }
.jb-prose ul, .jb-prose ol { margin: 0 0 var(--pm-space-5); padding-left: 1.3rem; }
.jb-prose li { margin-bottom: var(--pm-space-2); }
.jb-prose a { color: var(--jb-teal-ink); font-weight: 600; }
.jb-prose blockquote { border-left: 4px solid var(--jb-teal); padding-left: var(--pm-space-5); margin: var(--pm-space-6) 0; font-style: italic; }
.jb-prose > :first-child { margin-top: 0; }
.jb-prose table { width: 100%; border-collapse: collapse; margin-bottom: var(--pm-space-6); }
.jb-prose th, .jb-prose td { border: 1px solid var(--pm-border-soft); padding: var(--pm-space-2) var(--pm-space-3); text-align: left; }
.jb-loads { display: grid; gap: var(--pm-space-4); }
@media (min-width: 640px) { .jb-loads { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .jb-loads { grid-template-columns: repeat(3, 1fr); } }
.jb-load { display: grid; grid-template-columns: 1fr auto; gap: var(--pm-space-2) var(--pm-space-4); padding: var(--pm-space-5); border-radius: var(--pm-radius-card); background: #fff; border: 1px solid var(--pm-border-soft); color: var(--jb-navy); }
.jb-load__name { font-family: var(--pm-font-display); font-weight: 900; font-size: var(--pm-text-lg); }
.jb-load__price { font-family: var(--pm-font-display); font-weight: 900; font-size: var(--pm-text-lg); color: var(--jb-teal-ink); }
.jb-load__eq { grid-column: 1 / -1; color: var(--pm-color-text-muted); font-size: var(--pm-text-sm); margin: 0; }
.jb-load__spec { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: var(--pm-space-2); }
.jb-chip { display: inline-flex; align-items: center; gap: 0.35rem; font-size: var(--pm-text-xs); font-weight: 600; padding: 0.25rem 0.6rem; border-radius: 999px; background: var(--pm-color-surface-subtle); color: var(--jb-navy); }
.jb-load .pm-btn { grid-column: 1 / -1; margin-top: var(--pm-space-2); }
.jb-table-wrap { overflow-x: auto; border-radius: var(--pm-radius-card); border: 1px solid var(--pm-border-soft); background: #fff; }
.jb-table { width: 100%; border-collapse: collapse; font-size: var(--pm-text-base); color: var(--jb-navy); }
.jb-table caption { text-align: left; padding: var(--pm-space-4) var(--pm-space-5) 0; font-size: var(--pm-text-sm); color: var(--pm-color-text-muted); caption-side: bottom; padding-bottom: var(--pm-space-4); }
.jb-table th, .jb-table td { padding: var(--pm-space-3) var(--pm-space-5); text-align: left; border-bottom: 1px solid var(--pm-color-border-subtle); }
.jb-table th { background: var(--pm-color-surface-subtle); font-weight: 700; font-size: var(--pm-text-sm); }
.jb-table td:last-child, .jb-table th:last-child { text-align: right; white-space: nowrap; font-weight: 700; }
.jb-table tr:last-child td { border-bottom: 0; }
.jb-price-cols { display: grid; gap: var(--pm-space-6); }
@media (min-width: 992px) { .jb-price-cols { grid-template-columns: 1fr 1fr; } }
.jb-two-lists { display: grid; gap: var(--pm-space-6); }
@media (min-width: 768px) { .jb-two-lists { grid-template-columns: 1fr 1fr; } }
.jb-list-card { padding: var(--pm-space-6); border-radius: var(--pm-radius-card); background: var(--pm-surface); border: 1px solid var(--pm-border-soft); }
.jb-list-card h3 { font-size: var(--pm-text-lg); margin-bottom: var(--pm-space-3); display: flex; gap: var(--pm-space-3); align-items: center; }
.jb-list-card--yes h3 i { color: var(--jb-teal-ink); }
.jb-list-card--no h3 i { color: #c2410c; }
.jb-list-card ul { margin: 0; padding-left: 1.15rem; display: grid; gap: var(--pm-space-2); }
.jb-reviews { display: grid; gap: var(--pm-space-5); }
@media (min-width: 768px) { .jb-reviews { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .jb-reviews { grid-template-columns: repeat(3, 1fr); } }
.jb-review { margin: 0; padding: var(--pm-space-6); border-radius: var(--pm-radius-card); background: var(--pm-surface); border: 1px solid var(--pm-border-soft); display: flex; flex-direction: column; gap: var(--pm-space-4); }
.jb-review__stars { color: var(--jb-yellow); letter-spacing: 2px; }
.jb-review blockquote { margin: 0; line-height: 1.65; }
.jb-review figcaption { margin-top: auto; font-weight: 700; font-size: var(--pm-text-sm); }
.jb-review figcaption span { font-weight: 400; color: var(--pm-fg-muted); }
.jb-accred { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: var(--pm-space-6) var(--pm-space-10); }
.jb-accred img { height: 3.4rem; width: auto; object-fit: contain; }
.jb-areas { display: flex; flex-wrap: wrap; gap: var(--pm-space-3); }
.jb-area { display: inline-flex; align-items: center; gap: var(--pm-space-2); padding: var(--pm-space-2) var(--pm-space-4); border-radius: 999px; background: var(--pm-surface); border: 1px solid var(--pm-border-soft); font-weight: 600; text-decoration: none; color: inherit; }
a.jb-area:hover { border-color: var(--jb-teal); }
.jb-area i { color: var(--jb-teal-ink); }
.pm-scheme-dark .jb-area i { color: var(--jb-teal); }
.jb-area--plain { background: transparent; }
.jb-faq { max-width: 52rem; margin-inline: auto; }
.jb-faq .pm-accordion__trigger { font-family: var(--pm-font-display); font-weight: 800; font-size: var(--pm-text-md); text-align: left; }
.jb-faq .pm-accordion__content p { margin: 0 0 var(--pm-space-3); }
.jb-faq .pm-accordion__content ul { margin: 0 0 var(--pm-space-3); padding-left: 1.2rem; }
.jb-cta { max-width: var(--pm-container); margin-inline: auto; position: relative; overflow: hidden; border-radius: calc(var(--pm-radius-card) + 0.5rem); padding: var(--pm-space-12) var(--pm-space-6); display: grid; gap: var(--pm-space-8); align-items: center; }
.jb-cta h2 { margin-bottom: var(--pm-space-3); }
.jb-cta__actions { display: flex; flex-wrap: wrap; gap: var(--pm-space-3); }
.jb-cta__art { max-width: 20rem; justify-self: center; }
.jb-cta__art img { width: 100%; height: auto; display: block; }
@media (min-width: 992px) { .jb-cta { grid-template-columns: 1fr auto; padding: var(--pm-space-16); } }
.jb-cta .pm-decor-blob { position: absolute; width: 28rem; height: 28rem; right: -8rem; top: -10rem; color: var(--jb-teal); opacity: 0.18; }
.jb-posts { display: grid; gap: var(--pm-space-6); }
@media (min-width: 640px) { .jb-posts { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .jb-posts { grid-template-columns: repeat(3, 1fr); } }
.jb-post-card { display: flex; flex-direction: column; border-radius: var(--pm-radius-card); overflow: hidden; background: #fff; border: 1px solid var(--pm-color-border-subtle); text-decoration: none; color: var(--jb-navy); transition: box-shadow var(--pm-duration) var(--pm-ease); }
.jb-post-card:hover { box-shadow: var(--pm-shadow-lg); }
.jb-post-card img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.jb-post-card__body { padding: var(--pm-space-5) var(--pm-space-5) var(--pm-space-6); display: flex; flex-direction: column; gap: var(--pm-space-2); flex: 1; }
.jb-post-card__date { font-size: var(--pm-text-xs); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--jb-teal-ink); }
.jb-post-card__title { font-family: var(--pm-font-display); font-weight: 800; font-size: var(--pm-text-lg); line-height: 1.3; margin: 0; }
.jb-post-card__ex { font-size: var(--pm-text-sm); color: var(--pm-color-text-muted); margin: 0; }
.jb-post-card__more { margin-top: auto; padding-top: var(--pm-space-3); font-weight: 700; font-size: var(--pm-text-sm); color: var(--jb-teal-ink); }
.jb-article { display: grid; gap: var(--pm-space-12); max-width: var(--pm-container); margin-inline: auto; }
@media (min-width: 1100px) { .jb-article { grid-template-columns: minmax(0, 1fr) 20rem; } }
.jb-article__img { width: 100%; height: auto; border-radius: var(--pm-radius-image); margin-bottom: var(--pm-space-8); display: block; aspect-ratio: 16/9; object-fit: cover; }
.jb-article__meta { display: flex; flex-wrap: wrap; gap: var(--pm-space-4); color: var(--pm-fg-muted); font-size: var(--pm-text-sm); margin-top: var(--pm-space-4); }
.jb-aside { display: grid; gap: var(--pm-space-6); align-content: start; }
@media (min-width: 1100px) { .jb-aside { position: sticky; top: 6rem; } }
.jb-aside__box { padding: var(--pm-space-6); border-radius: var(--pm-radius-card); background: var(--pm-color-surface-subtle); }
.jb-aside__box h2 { font-size: var(--pm-text-lg); margin-bottom: var(--pm-space-3); }
.jb-aside__box ul { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--pm-space-2); }
.jb-aside__box a { font-weight: 600; color: var(--jb-navy); }
.jb-aside__box--dark { background: var(--jb-navy); color: #fff; }
.jb-aside__box--dark p { color: var(--pm-color-text-inverse-muted); }
.jb-form { display: grid; gap: var(--pm-space-5); }
.jb-form__row { display: grid; gap: var(--pm-space-5); }
@media (min-width: 640px) { .jb-form__row { grid-template-columns: 1fr 1fr; } }
.jb-form fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: var(--pm-space-4); }
.jb-form legend { font-family: var(--pm-font-display); font-weight: 800; font-size: var(--pm-text-lg); margin-bottom: var(--pm-space-3); display: flex; align-items: center; gap: var(--pm-space-3); }
.jb-form legend span { width: 2rem; height: 2rem; border-radius: 50%; background: var(--jb-yellow); color: var(--jb-navy); display: inline-grid; place-items: center; font-size: 0.95rem; }
.jb-choice { display: grid; gap: var(--pm-space-3); grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); }
.jb-choice label { position: relative; display: flex; align-items: center; gap: var(--pm-space-3); padding: var(--pm-space-3) var(--pm-space-4); border: 2px solid var(--pm-color-border-subtle); border-radius: 0.9rem; cursor: pointer; font-weight: 600; background: #fff; }
.jb-choice input { position: absolute; opacity: 0; pointer-events: none; }
.jb-choice i { color: var(--jb-teal-ink); width: 1.2rem; text-align: center; }
.jb-choice input:checked + span { color: var(--jb-navy); }
.jb-choice label:has(input:checked) { border-color: var(--jb-teal); background: color-mix(in srgb, var(--jb-teal) 10%, #fff); }
.jb-choice label:has(input:focus-visible) { outline: 3px solid var(--jb-yellow); outline-offset: 2px; }
.jb-form__note { font-size: var(--pm-text-sm); color: var(--pm-color-text-muted); }
.jb-form__done { display: none; padding: var(--pm-space-8); border-radius: var(--pm-radius-card); background: color-mix(in srgb, var(--jb-teal) 14%, #fff); text-align: center; }
.jb-form--sent .jb-form__done { display: block; }
.jb-form--sent .jb-form__fields { display: none; }
.jb-card-form { background: #fff; color: var(--jb-navy); border-radius: calc(var(--pm-radius-card) + 0.25rem); padding: var(--pm-space-6); box-shadow: var(--pm-shadow-xl); }
@media (min-width: 768px) { .jb-card-form { padding: var(--pm-space-10); } }
.jb-calc { display: grid; gap: var(--pm-space-8); }
@media (min-width: 992px) { .jb-calc { grid-template-columns: minmax(0, 1fr) 22rem; align-items: start; } }
.jb-calc__search { width: 100%; }
.jb-calc__groups { display: grid; gap: var(--pm-space-6); margin-top: var(--pm-space-6); }
.jb-calc__group h3 { font-size: var(--pm-text-lg); margin-bottom: var(--pm-space-3); }
.jb-calc__items { display: grid; gap: var(--pm-space-2); }
@media (min-width: 640px) { .jb-calc__items { grid-template-columns: 1fr 1fr; } }
.jb-calc__item { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: var(--pm-space-3); padding: var(--pm-space-3) var(--pm-space-4); border-radius: 0.8rem; background: #fff; border: 1px solid var(--pm-color-border-subtle); }
.jb-calc__item[data-qty]:not([data-qty="0"]) { border-color: var(--jb-teal); background: color-mix(in srgb, var(--jb-teal) 8%, #fff); }
.jb-calc__name { font-weight: 600; font-size: var(--pm-text-sm); }
.jb-calc__name small { display: block; color: var(--pm-color-text-muted); font-weight: 400; }
.jb-qty { display: inline-flex; align-items: center; gap: var(--pm-space-2); }
.jb-qty button { width: 2rem; height: 2rem; border-radius: 50%; border: 1px solid var(--pm-color-border-subtle); background: #fff; cursor: pointer; font-weight: 800; color: var(--jb-navy); }
.jb-qty button:hover { border-color: var(--jb-teal); }
.jb-qty output { min-width: 1.4rem; text-align: center; font-weight: 700; }
.jb-calc__summary { position: sticky; top: 6rem; background: var(--jb-navy); color: #fff; border-radius: var(--pm-radius-card); padding: var(--pm-space-6); }
.jb-calc__summary h2 { font-size: var(--pm-text-xl); margin-bottom: var(--pm-space-4); }
.jb-calc__total { font-family: var(--pm-font-display); font-weight: 900; font-size: 2.6rem; color: var(--jb-teal); line-height: 1; }
.jb-calc__lines { list-style: none; padding: 0; margin: var(--pm-space-4) 0; display: grid; gap: var(--pm-space-2); font-size: var(--pm-text-sm); color: var(--pm-color-text-inverse-muted); max-height: 14rem; overflow: auto; }
.jb-calc__lines li { display: flex; justify-content: space-between; gap: var(--pm-space-3); }
.jb-calc__summary .pm-btn { width: 100%; margin-top: var(--pm-space-4); }
.jb-footer { background: var(--jb-navy); color: #dbe4ef; padding: var(--pm-space-16) var(--pm-gutter) var(--pm-space-8); }
.jb-footer__grid { max-width: var(--pm-container); margin-inline: auto; display: grid; gap: var(--pm-space-10); }
@media (min-width: 768px) { .jb-footer__grid { grid-template-columns: 1.3fr 1fr 1fr; } }
@media (min-width: 1100px) { .jb-footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; } }
.jb-footer h2 { font-size: var(--pm-text-sm); letter-spacing: var(--pm-tracking-widest); text-transform: uppercase; color: #fff; margin-bottom: var(--pm-space-4); font-family: var(--pm-font-sans); font-weight: 700; }
.jb-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--pm-space-2); }
.jb-footer a { color: #dbe4ef; text-decoration: none; }
.jb-footer a:hover { color: var(--jb-teal); text-decoration: underline; }
.jb-footer__brand img { height: 2.8rem; width: auto; margin-bottom: var(--pm-space-4); }
.jb-footer__brand p { color: #b9c6d6; max-width: 26rem; }
.jb-footer__contact li { display: flex; gap: var(--pm-space-3); align-items: flex-start; }
.jb-footer__contact i { color: var(--jb-teal); margin-top: 0.25rem; width: 1rem; }
.jb-footer__legal { max-width: var(--pm-container); margin: var(--pm-space-12) auto 0; padding-top: var(--pm-space-6); border-top: 1px solid rgb(255 255 255 / 0.12); display: flex; flex-wrap: wrap; gap: var(--pm-space-3) var(--pm-space-6); justify-content: space-between; font-size: var(--pm-text-sm); color: #9fb0c5; }
.jb-footer__legal ul { display: flex; flex-wrap: wrap; gap: var(--pm-space-4); }
.jb-mbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: grid; grid-template-columns: 1fr 1fr; gap: var(--pm-space-2); padding: var(--pm-space-2) var(--pm-space-3) calc(var(--pm-space-2) + env(safe-area-inset-bottom)); background: var(--jb-navy); box-shadow: 0 -6px 18px rgb(1 22 46 / 0.25); }
.jb-mbar .pm-btn { width: 100%; min-height: 2.9rem; }
.jb-mbar .pm-btn--secondary { --_btn-bg: #fff; --_btn-fg: var(--jb-navy); --_btn-border: #fff; }
body { padding-bottom: 4.4rem; }
@media (min-width: 992px) { .jb-mbar { display: none; } body { padding-bottom: 0; } }
.jb-section-subtle { background: var(--pm-color-surface-subtle); }
.jb-map img { width: 100%; height: auto; display: block; max-width: 34rem; margin-inline: auto; }
.jb-stat-row { display: flex; flex-wrap: wrap; gap: var(--pm-space-8); margin-top: var(--pm-space-8); }
.jb-stat strong { display: block; font-family: var(--pm-font-display); font-weight: 900; font-size: 2.2rem; color: var(--jb-teal-ink); line-height: 1.1; }
.pm-scheme-dark .jb-stat strong { color: var(--jb-teal); }
.jb-stat span { font-size: var(--pm-text-sm); color: var(--pm-fg-muted); }
.jb-accounts { display: grid; gap: var(--pm-space-6); }
@media (min-width: 768px) { .jb-accounts { grid-template-columns: 1fr 1fr; } }
.jb-account { display: grid; gap: var(--pm-space-4); padding: var(--pm-space-8); border-radius: var(--pm-radius-card); background: #fff; color: var(--jb-navy); box-shadow: var(--pm-shadow-md); }
.jb-account img { width: 7rem; height: 7rem; object-fit: contain; }
.jb-account h3 { font-size: var(--pm-text-xl); margin: 0; }
.jb-inline-links { display: flex; flex-wrap: wrap; gap: var(--pm-space-2) var(--pm-space-5); }
.jb-inline-links a { font-weight: 600; color: var(--jb-teal-ink); }
.jb-notice { padding: var(--pm-space-4) var(--pm-space-5); border-radius: 0.8rem; background: #fff7db; border: 1px solid #f4d77a; color: #5b4500; font-size: var(--pm-text-sm); }
.jb-cta { background-color: var(--pm-bg); color: var(--pm-fg); }
@media (max-width: 559px) { .jb-card__img { height: 7.5rem; } .jb-card { padding: var(--pm-space-5); } .jb-reviews > .jb-review:nth-child(n+4) { display: none; } }
.jb-mega__cta { align-self: start; }
.jb-wa { position: fixed; right: 1rem; bottom: 5.4rem; z-index: 61; width: 3.4rem; height: 3.4rem; border-radius: 50%; display: grid; place-items: center; background: #25d366; color: #fff; box-shadow: 0 8px 20px rgb(0 0 0 / 0.25); }
.jb-wa:hover { transform: scale(1.06); }
@media (min-width: 992px) { .jb-wa { bottom: 1.5rem; right: 1.5rem; } }
.jb-cookie { position: fixed; left: 1rem; right: 1rem; bottom: 5rem; z-index: 70; max-width: 30rem; background: #fff; color: var(--jb-navy); border-radius: var(--pm-radius-card); box-shadow: var(--pm-shadow-xl); padding: var(--pm-space-5); font-size: var(--pm-text-sm); }
.jb-cookie[hidden] { display: none; }
.jb-cookie p { margin: 0 0 var(--pm-space-3); }
.jb-cookie a { color: var(--jb-teal-ink); font-weight: 600; }
.jb-cookie__btns { display: flex; gap: var(--pm-space-2); justify-content: flex-end; }
@media (min-width: 992px) { .jb-cookie { bottom: 1.5rem; left: 1.5rem; right: auto; } }
.jb-form__err { color: #b42318; font-weight: 600; }
/* ============================================================ WordPress layer */
/* Visual Editor wrappers must not change layout. */
.pmve-editable { display: inline; }
.pmve-editable-paras { display: block; }
.jb-prose > .jb-prose__sec:first-child > h2:first-child { margin-top: 0; }
/* Sticky header clears the admin bar for logged-in editors. */
.admin-bar .jb-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .jb-header { top: 46px; } }
/* Editor content (posts, legal pages) */
.jb-prose img { max-width: 100%; height: auto; border-radius: var(--pm-radius-md, 12px); }
.jb-prose .wp-block-image, .jb-prose figure { margin: var(--pm-space-6) 0; }
.jb-article__img { width: 100%; height: auto; border-radius: var(--pm-radius-lg, 16px); margin-bottom: var(--pm-space-8); display: block; }
.jb-post-card img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
/* Pagination */
.jb-pagination, .navigation.pagination { margin-top: var(--pm-space-12); }
.nav-links { display: flex; gap: var(--pm-space-2); justify-content: center; flex-wrap: wrap; }
.nav-links .page-numbers { display: inline-flex; min-width: 2.75rem; min-height: 2.75rem; align-items: center; justify-content: center; padding: 0 var(--pm-space-3); border-radius: 999px; border: 1px solid var(--pm-color-border-subtle, #d9e1ea); text-decoration: none; font-weight: 700; color: inherit; }
.nav-links .page-numbers.current { background: var(--jb-navy); color: #fff; border-color: var(--jb-navy); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
/* WooCommerce (booking migration) */
.jb-woo { max-width: var(--pm-container); }
.jb-woo .button, .woocommerce .button, .woocommerce button.button, .woocommerce a.button.alt, .woocommerce button.button.alt { background: var(--jb-teal); color: var(--jb-navy); border-radius: 999px; font-weight: 800; padding: .85em 1.6em; }
.woocommerce .button:hover { filter: brightness(1.05); }
.woocommerce-message, .woocommerce-info { border-top-color: var(--jb-teal); }

/* "Website by Pure Marketing" footer credit (PM standard) */
.footer-bottom-row { max-width: var(--pm-container); margin: var(--pm-space-6) auto 0; padding-top: var(--pm-space-5); border-top: 1px solid rgb(255 255 255 / 0.12); display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; font-size: 0.85rem; }
.back-to-top { display: inline-flex; align-items: center; gap: 8px; color: rgba(255, 255, 255, 0.68); text-decoration: none; }
.back-to-top:hover { color: #fff; }
.footer-credit { display: inline-flex; align-items: center; gap: 9px; color: rgba(255, 255, 255, 0.68); text-decoration: none !important; border: 0 !important; box-shadow: none !important; }
.footer-credit:hover { color: #fff; }
.footer-credit-logo { height: 20px; width: auto; display: block; filter: brightness(0) invert(1); }

/* Book page: online booking chooser */
.jb-book-online__grid { display: grid; gap: var(--pm-space-3); grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); margin-top: var(--pm-space-5); }
.jb-book-online__item { display: flex; align-items: center; gap: var(--pm-space-3); padding: var(--pm-space-4); border: 1px solid var(--pm-color-border-subtle, #d9e1ea); border-radius: 14px; text-decoration: none; color: var(--jb-navy); font-weight: 700; background: #fff; transition: border-color .15s, box-shadow .15s; }
.jb-book-online__item:hover { border-color: var(--jb-teal); box-shadow: 0 6px 18px rgb(1 22 46 / .08); }
.jb-book-online__item > i:first-child { color: var(--jb-teal-ink, #0f7a5a); width: 1.4rem; text-align: center; }
.jb-book-online__item span { flex: 1; display: flex; flex-direction: column; }
.jb-book-online__item small { font-weight: 600; color: var(--pm-fg-muted, #5b6b7f); }
.jb-book-online__item > i:last-child { color: #9fb0c5; font-size: .8em; }
/* ------------------------------------------------------------ booking product page */
.jb-product__grid { max-width: var(--pm-container); margin-inline: auto; padding-inline: var(--pm-gutter); display: grid; gap: var(--pm-space-6); align-items: start; }
@media (min-width: 992px) { .jb-product__grid { grid-template-columns: 1fr 1fr; } .jb-product__book { position: sticky; top: 7rem; } }
.jb-product__card { background: #fff; border-radius: 20px; padding: clamp(1.25rem, 1rem + 1.5vw, 2rem); box-shadow: 0 10px 30px rgb(1 22 46 / .07); }
.jb-product__head { display: grid; grid-template-columns: 1fr auto; gap: var(--pm-space-4); align-items: start; }
.jb-product__img img { width: clamp(7rem, 6rem + 6vw, 11rem); height: auto; display: block; }
.jb-product__desc p { margin: 0 0 .3rem; color: var(--pm-fg-muted, #5b6b7f); }
.jb-product__vat { margin: var(--pm-space-3) 0 0; font-weight: 700; font-size: .9rem; }
.jb-product__price { font-size: 1.9rem; font-weight: 800; color: var(--jb-navy); margin: 0; }
.jb-product__price del { opacity: .5; font-size: .7em; }
.jb-product__callout { display: inline-flex; gap: .5rem; align-items: center; margin-top: var(--pm-space-3); background: var(--jb-navy); color: #fff; padding: .55rem 1rem; border-radius: 10px; font-weight: 700; font-size: .9rem; }
.jb-product__cant { margin-top: var(--pm-space-6); background: #f5c242; border-radius: 16px; padding: var(--pm-space-5); color: var(--jb-navy); }
.jb-product__cant h3 { margin: 0 0 var(--pm-space-3); font-size: 1.15rem; }
.jb-product__cant ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
@media (min-width: 600px) { .jb-product__cant ul { grid-template-columns: 1fr 1fr; } }
.jb-product__cant li { display: flex; gap: .55rem; align-items: center; font-weight: 600; font-size: .92rem; }
.jb-product__cant li i { flex: 0 0 1.4rem; height: 1.4rem; border-radius: 50%; background: var(--jb-navy); color: #fff; display: grid; place-items: center; font-size: .7rem; }
.jb-product__details { margin-top: var(--pm-space-6); }
#custom-fields-shortcode { display: grid; gap: var(--pm-space-3) var(--pm-space-4); }
@media (min-width: 600px) { #custom-fields-shortcode { grid-template-columns: 1fr 1fr; } }
#custom-fields-shortcode br { display: none; }
#custom-fields-shortcode label { display: flex; flex-direction: column; gap: .35rem; font-weight: 700; font-size: .9rem; color: var(--jb-navy); }
#custom-fields-shortcode input, .jb-product .wc-pao-addon input[type=text], .jb-product .wc-pao-addon textarea { width: 100%; min-height: 2.9rem; padding: .6rem .8rem; border: 1px solid #cfd8e3; border-radius: 10px; font: inherit; background: #fff; }
#custom-fields-shortcode input:focus { outline: 2px solid var(--jb-teal); outline-offset: 1px; border-color: transparent; }
#full-address-display { margin-top: var(--pm-space-3); color: var(--pm-fg-muted, #5b6b7f); }
/* add-ons as rows */
.jb-product .wc-pao-addon-container, .jb-product .wc-pao-addon { margin: 0 0 var(--pm-space-3); }
.jb-product .product-addon, .jb-product .wc-pao-addon-wrap { border: 1px solid #e3e9f0; border-radius: 14px; padding: var(--pm-space-3) var(--pm-space-4); background: #fff; }
.jb-product .wc-pao-addon-name { font-weight: 700; color: var(--jb-navy); }
.jb-product img { max-width: 100%; height: auto; }
.jb-product .wc-pao-addon-image-swatch img, .jb-product .addon-image img, .jb-product .product-addon img { max-width: 44px; }
.jb-product input[type=radio], .jb-product input[type=checkbox] { accent-color: var(--jb-teal-ink, #0f7a5a); width: 1.1rem; height: 1.1rem; }
.jb-product .wc-pao-addon-radio label, .jb-product .wc-pao-addon-wrap p > label { display: flex; gap: .6rem; align-items: center; padding: .7rem .9rem; border: 1px solid #e3e9f0; border-radius: 12px; margin-bottom: .5rem; font-weight: 600; cursor: pointer; }
.jb-product .wc-pao-addon-radio label:hover { border-color: var(--jb-teal); }
.jb-product button.minus, .jb-product button.plus, .jb-product .qty-btn { width: 2.2rem; height: 2.2rem; border-radius: 50%; border: 0; background: #eef2f6; font-weight: 800; cursor: pointer; }
.jb-product button.plus { background: #fbbf24; }
/* bookings calendar */
.jb-product .wc-bookings-booking-form { border: 1px solid #e3e9f0 !important; border-radius: 16px; padding: var(--pm-space-4) !important; margin: var(--pm-space-5) 0 !important; }
.jb-product .wc-bookings-date-picker .ui-datepicker-header { background: var(--jb-navy) !important; color: #fff !important; border-radius: 10px; border: 0 !important; }
.jb-product .wc-bookings-date-picker .ui-datepicker td.bookable a { background: #3ec48b !important; color: #fff !important; }
.jb-product .wc-bookings-date-picker .ui-datepicker td.ui-datepicker-current-day a, .jb-product .wc-bookings-date-picker .ui-datepicker td.bookable-range a { background: #fbbf24 !important; color: var(--jb-navy) !important; }
.jb-product .wc-bookings-booking-cost { background: #f4f7fa; border-radius: 10px; padding: .8rem 1rem !important; font-weight: 700; }
.jb-product .single_add_to_cart_button, .jb-product button[type=submit].button { width: 100%; min-height: 3.2rem; border-radius: 999px !important; background: #fbbf24 !important; color: var(--jb-navy) !important; font-weight: 800 !important; font-size: 1.05rem !important; border: 0; margin-top: var(--pm-space-4); }
.jb-product .single_add_to_cart_button.disabled { opacity: .55; }
.jb-product .custom-confirm-checkbox { margin: var(--pm-space-4) 0 0; font-weight: 600; }
.jb-product__help { margin-top: var(--pm-space-4); text-align: center; }
.jb-product .quantity { display: none; }
/* surcharge rows (custom-addon-quantities) above the calendar, like the old site */
.jb-product form.cart { display: flex; flex-direction: column; }
.jb-product form.cart > .custom-bundle-grid { order: -1; gap: .6rem !important; margin-top: 0 !important; }
.jb-product .custom-bundle-grid .addon-item { display: grid; grid-template-columns: 44px 1fr auto auto; align-items: center; gap: .9rem; border: 1px solid #e3e9f0; border-radius: 14px; padding: .55rem .9rem; background: #fff; }
.jb-product .custom-bundle-grid .addon-item img { max-width: 40px !important; }
.jb-product .custom-bundle-grid .addon-item label { margin: 0 !important; font-weight: 700; color: var(--jb-navy); font-size: .92rem; }
.jb-product .custom-bundle-grid .product_price { font-weight: 800; color: var(--jb-navy); }
.jb-product .addon-quantity { display: flex; align-items: center; gap: .35rem; }
.jb-product .addon-quantity input { width: 2.6rem; text-align: center; border: 0; font-weight: 700; background: transparent; -moz-appearance: textfield; }
.jb-product .addon-quantity input::-webkit-outer-spin-button, .jb-product .addon-quantity input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
@media (max-width: 480px) { .jb-product .custom-bundle-grid .addon-item { grid-template-columns: 36px 1fr auto; } .jb-product .custom-bundle-grid .product_price { grid-column: 2; grid-row: 2; } .jb-product .addon-quantity { grid-column: 3; grid-row: 1 / span 2; } }
/* time slots + upload (Product Add-ons) */
.jb-product .wc-pao-addons-container { margin-top: var(--pm-space-2); }
/* Chris: hide the Product Add-Ons running summary (showed £0.00 lines); the booking cost line stays */
.jb-product #product-addons-total, .jb-product .product-addon-totals { display: none !important; }
.jb-product .wc-pao-addon-container { border: 0 !important; padding: 0 !important; }
.jb-product .wc-pao-addon-container p.form-row, .jb-product .wc-pao-addon-wrap p { margin: 0 0 .5rem; }
.jb-product .wc-pao-addon-container label.wc-pao-addon-name, .jb-product .wc-pao-addon-heading { display: block; font-weight: 800; color: var(--jb-navy); margin-bottom: .5rem; }
.jb-product .wc-pao-addon-container input[type=radio] + label, .jb-product .wc-pao-addon-container label:has(input[type=radio]) { display: flex; gap: .6rem; align-items: center; padding: .75rem .9rem; border: 1px solid #e3e9f0; border-radius: 12px; font-weight: 600; cursor: pointer; background: #fff; }
.jb-product .wc-pao-addon-container label:has(input[type=radio]:checked) { border-color: var(--jb-teal); background: #effaf5; }
.jb-product .wc-pao-addon-file-upload { width: 100%; padding: .6rem; border: 1px dashed #b8c4d2; border-radius: 12px; background: #f8fafc; }
.jb-product .wc-pao-addon-description, .jb-product .wc-pao-addon-description p { color: var(--pm-fg-muted, #5b6b7f); font-size: .9rem; }
.jb-product .validation_message.woocommerce-info { display: none; }

/* ---- time-slot radios (Product Add-ons radio groups) ---- */
.jb-product .wc-pao-addon-wrap > div:has(> input[type=radio]) { display: flex; align-items: center; gap: .65rem; padding: .7rem .9rem; border: 1px solid #e3e9f0; border-radius: 12px; margin-bottom: .5rem; background: #fff; cursor: pointer; transition: border-color .15s, background .15s; }
.jb-product .wc-pao-addon-wrap > div:has(> input[type=radio]):hover { border-color: var(--jb-teal, #3ec48b); }
.jb-product .wc-pao-addon-wrap > div:has(> input[type=radio]:checked) { border-color: var(--jb-navy); background: #fff8e1; }
.jb-product .wc-pao-addon-wrap > div:has(> input[type=radio]) > input { margin: 0; flex: 0 0 auto; }
.jb-product .wc-pao-addon-wrap > div:has(> input[type=radio]) > label { display: block; flex: 1; padding: 0; margin: 0; border: 0; border-radius: 0; font-weight: 600; cursor: pointer; }
@media (min-width: 600px) { .jb-product .wc-pao-addon-wrap:has(> div > input[type=radio]) { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; } .jb-product .wc-pao-addon-wrap:has(> div > input[type=radio]) > div { margin: 0; } }

/* ---- cart / checkout / account (WooCommerce blocks + classic) ---- */
.jb-shop-page { max-width: 72rem; margin-inline: auto; }
.jb-shop-page .wc-block-cart, .jb-shop-page .wc-block-checkout { padding-top: 0; }
.jb-shop-page .wp-block-woocommerce-cart, .jb-shop-page .wp-block-woocommerce-checkout { background: #fff; border-radius: 20px; padding: clamp(1rem, .5rem + 2vw, 2rem); box-shadow: 0 10px 30px rgb(1 22 46 / .07); }
.jb-shop-page .wc-block-components-button:not(.is-link), .jb-shop-page .wc-block-cart__submit-button, .jb-shop-page .wc-block-components-checkout-place-order-button, .jb-shop-page .woocommerce a.button, .jb-shop-page .woocommerce button.button, .jb-shop-page .woocommerce-Button { background: #fbbf24 !important; color: var(--jb-navy) !important; border: 0 !important; border-radius: 999px !important; font-weight: 800 !important; min-height: 3.2rem; padding-inline: 1.5rem !important; text-decoration: none !important; }
.jb-shop-page .wc-block-components-button:not(.is-link):hover { background: #f5b000 !important; }
.jb-shop-page .wc-block-components-button:not(.is-link) .wc-block-components-button__text { color: var(--jb-navy); }
.jb-shop-page .wc-block-components-totals-footer-item { font-size: 1.15rem; color: var(--jb-navy); }
.jb-shop-page .wc-block-components-product-name { color: var(--jb-navy); font-weight: 700; text-decoration: none; }
.jb-shop-page .wc-block-components-text-input input, .jb-shop-page .wc-block-components-combobox input, .jb-shop-page .wc-blocks-components-select select, .jb-shop-page .wc-block-components-textarea { border-radius: 10px !important; }
.jb-shop-page .wc-block-components-notice-banner { border-radius: 12px; }
.jb-shop-page .wc-block-components-sidebar .wc-block-components-panel, .jb-shop-page .wc-block-checkout__sidebar .wc-block-components-order-summary { border-radius: 14px; }
.jb-shop-page .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0 0 var(--pm-space-5); display: flex; flex-wrap: wrap; gap: .5rem; }
.jb-shop-page .woocommerce-MyAccount-navigation a { display: inline-block; padding: .5rem 1rem; border-radius: 999px; background: #eef2f6; color: var(--jb-navy); font-weight: 700; text-decoration: none; }
.jb-shop-page .woocommerce-MyAccount-navigation .is-active a { background: var(--jb-navy); color: #fff; }
.jb-shop-page .woocommerce form .form-row input.input-text { min-height: 2.9rem; border: 1px solid #cfd8e3; border-radius: 10px; padding: .6rem .8rem; width: 100%; }
.jb-product .wc-pao-addon-wrap:has(> div > input[type=radio])::before, .jb-product .wc-pao-addon-wrap:has(> div > input[type=radio])::after { content: none; display: none; }
.jb-product .wc-pao-addon-wrap:has(> div > input[type=radio]) { border: 0; padding: 0; background: transparent; }
.jb-product .wc-pao-addon-wrap > div:has(> input[type=radio]) > label { background: transparent !important; box-shadow: none !important; font-size: .95rem; line-height: 1.35; }
.jb-product .wc-pao-addon-container:has(input[type=radio])::before { content: "Time slot"; display: block; font-weight: 800; color: var(--jb-navy); margin: 0 0 .6rem; }

/* ---- /book/: two clearly separate options ---- */
.jb-book-online { background: var(--jb-navy) !important; color: #fff; border: 0; }
.jb-book-online .jb-h3 { color: #fff; }
.jb-book-online .jb-muted { color: rgb(255 255 255 / .75) !important; }
.jb-book-online .jb-book-online__item { border-color: transparent; }
.jb-book-online .jb-book-online__item:hover { border-color: #fbbf24; }
.jb-book-opt { margin: 0 0 .35rem; font-size: .8rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #fbbf24; }
.jb-book-request .jb-book-opt { color: var(--jb-teal-ink, #0f7a5a); }
.jb-book-request__head { padding-bottom: var(--pm-space-5); margin-bottom: var(--pm-space-5); border-bottom: 1px solid #e3e9f0; }
.jb-book-request__head .jb-h3 { margin: 0 0 .4rem; }
.jb-book-request__head p:last-child { margin: 0; }
.jb-book-or { display: flex; align-items: center; gap: var(--pm-space-4); margin: var(--pm-space-8) 0; color: var(--pm-fg-muted, #5b6b7f); font-weight: 800; text-transform: uppercase; letter-spacing: .1em; font-size: .85rem; }
.jb-book-or::before, .jb-book-or::after { content: ""; flex: 1; height: 1px; background: #cfd8e3; }
.jb-book-or span { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; background: #fff; border: 1px solid #cfd8e3; }
/* postcode suggestions dropdown: hide the empty bordered box (showed as a stray line) */
#postcode-autocomplete-list:empty { display: none !important; border: 0 !important; }
#postcode-autocomplete-list:not(:empty) { grid-column: 1 / -1; border-radius: 10px; overflow: hidden; background: #fff; box-shadow: 0 10px 24px rgb(1 22 46 / .12); }

/* footer: popular searches row (keeps internal links to the ranking keyword pages) */
.jb-footer__popular { max-width: var(--pm-container); margin: var(--pm-space-10) auto 0; padding-top: var(--pm-space-6); border-top: 1px solid rgb(255 255 255 / .12); }
.jb-footer__popular .jb-footer__h { margin-bottom: var(--pm-space-3); }
.jb-footer__popular ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; }
.jb-footer__popular a { color: #b9c6d6; font-size: var(--pm-text-sm); text-decoration: none; }
.jb-footer__popular a:hover { color: #fff; text-decoration: underline; }
.jb-footer__popular + .jb-footer__legal { margin-top: var(--pm-space-6); }

/* ---- v1.0.12: USP strip, account cards, FAQ ---- */
.jb-usp { position: relative; overflow: hidden; background: radial-gradient(120% 140% at 0% 0%, #0b3a5e 0%, var(--jb-navy) 55%); color: #fff; border-radius: 24px; padding: var(--pm-space-6); gap: var(--pm-space-5); box-shadow: 0 18px 40px rgb(1 22 46 / .18); }
.jb-usp::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgb(59 186 150 / .22) 1.2px, transparent 1.3px); background-size: 16px 16px; -webkit-mask-image: linear-gradient(100deg, transparent 20%, #000 90%); mask-image: linear-gradient(100deg, transparent 20%, #000 90%); pointer-events: none; }
.jb-usp__item { position: relative; display: flex; align-items: center; gap: var(--pm-space-4); font-weight: 400; }
.jb-usp__ico { flex: none; display: grid; place-items: center; width: 3.5rem; height: 3.5rem; border-radius: 16px; position: relative; }
.jb-usp__ico svg { width: 1.7rem; height: 1.7rem; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.jb-usp__ico--yellow { background: var(--jb-yellow); color: var(--jb-navy); }
.jb-usp__ico--green { background: var(--jb-teal); color: var(--jb-navy); }
.jb-usp__ico--white { background: #fff; color: var(--jb-navy); }
.jb-usp__ico--ring { border-radius: 50%; }
.jb-usp__ico--ring svg { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); stroke-width: 5; }
.jb-usp__track { stroke: rgb(255 255 255 / .15); }
.jb-usp__fill { stroke: var(--jb-teal); }
.jb-usp__ico--ring b { font-size: .82rem; font-weight: 800; color: #fff; }
.jb-usp__txt { display: grid; gap: .1rem; line-height: 1.25; }
.jb-usp__txt strong { font-family: var(--pm-font-display); font-weight: 800; font-size: 1rem; color: #fff; }
.jb-usp__txt small { font-size: .82rem; color: #9fb3c8; }
@media (min-width: 992px) {
  .jb-usp { padding: var(--pm-space-6) var(--pm-space-8); }
  .jb-usp__item + .jb-usp__item::before { content: ""; position: absolute; left: calc(var(--pm-space-5) / -2); top: 12%; bottom: 12%; width: 1px; background: rgb(255 255 255 / .12); }
}

.jb-accounts { gap: var(--pm-space-6); }
.jb-account { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: var(--pm-space-4); padding: var(--pm-space-8); border-radius: 28px; color: #fff; box-shadow: 0 24px 50px rgb(1 22 46 / .18); transition: transform .25s ease, box-shadow .25s ease; isolation: isolate; }
.jb-account:hover { transform: translateY(-4px); box-shadow: 0 30px 60px rgb(1 22 46 / .24); }
.jb-account::after { content: ""; position: absolute; z-index: -1; width: 22rem; height: 22rem; right: -8rem; bottom: -10rem; border-radius: 50%; background: rgb(255 255 255 / .08); }
.jb-account--green { background: linear-gradient(145deg, #3bba96 0%, #16876a 100%); }
.jb-account--navy { background: linear-gradient(145deg, #0d3d63 0%, var(--jb-navy) 100%); }
.jb-account--navy::after { background: rgb(255 191 13 / .1); }
.jb-account__badge { align-self: flex-start; font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; padding: .35rem .8rem; border-radius: 999px; background: rgb(255 255 255 / .18); color: #fff; }
.jb-account--navy .jb-account__badge { background: rgb(255 191 13 / .16); color: var(--jb-yellow); }
.jb-account__deal { position: absolute; top: var(--pm-space-6); right: var(--pm-space-6); width: 4.6rem; height: 4.6rem; border-radius: 50%; background: var(--jb-yellow); color: var(--jb-navy); display: grid; place-content: center; text-align: center; font-weight: 800; font-size: .72rem; line-height: 1; text-transform: uppercase; transform: rotate(10deg); box-shadow: 0 10px 24px rgb(0 0 0 / .25); }
.jb-account__deal b { font-size: 1.45rem; font-family: var(--pm-font-display); }
.jb-account__top { display: flex; gap: var(--pm-space-4); align-items: center; justify-content: space-between; }
.jb-account h3 { font-size: var(--pm-text-2xl, 1.6rem); line-height: 1.15; margin: 0 0 .4rem; color: #fff; }
.jb-account__lede { margin: 0; color: rgb(255 255 255 / .85); font-size: .95rem; }
.jb-account__art { flex: none; width: 7.5rem; height: 7.5rem; border-radius: 50%; background: #fff; display: grid; place-items: center; box-shadow: 0 10px 24px rgb(0 0 0 / .15); }
.jb-account--navy .jb-account__art { margin-top: var(--pm-space-10); }
.jb-account__art img { width: 5.6rem; height: 5.6rem; object-fit: contain; }
.jb-account__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .65rem; }
.jb-account__list li { display: flex; align-items: center; gap: .7rem; font-weight: 600; }
.jb-account__tick { flex: none; width: 1.6rem; height: 1.6rem; border-radius: 50%; background: #fff; color: #16876a; display: grid; place-items: center; }
.jb-account--navy .jb-account__tick { background: var(--jb-yellow); color: var(--jb-navy); }
.jb-account__tick svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.jb-account__cta { margin: auto 0 0; padding-top: var(--pm-space-2); }
.jb-account--green .pm-btn { background: var(--jb-navy); color: #fff; border-color: var(--jb-navy); }
.jb-account--green .pm-btn:hover { background: #06284a; color: #fff; }
@media (max-width: 480px) { .jb-account { padding: var(--pm-space-6); } .jb-account__art { width: 5.5rem; height: 5.5rem; } .jb-account__art img { width: 4rem; height: 4rem; } .jb-account__deal { width: 3.8rem; height: 3.8rem; } .jb-account__deal b { font-size: 1.15rem; } }

.jb-faqgrid { display: grid; gap: var(--pm-space-8); }
@media (min-width: 992px) { .jb-faqgrid { grid-template-columns: minmax(0, 22rem) minmax(0, 1fr); gap: var(--pm-space-12); align-items: start; } .jb-faqside { position: sticky; top: 7rem; } }
.jb-faqside .jb-h2 { margin-bottom: var(--pm-space-6); }
.jb-faqside__card { position: relative; overflow: hidden; background: linear-gradient(150deg, #0d3d63, var(--jb-navy)); color: #fff; border-radius: 24px; padding: var(--pm-space-6); display: grid; gap: var(--pm-space-3); box-shadow: 0 18px 40px rgb(1 22 46 / .18); }
.jb-faqside__card::after { content: ""; position: absolute; width: 12rem; height: 12rem; right: -5rem; top: -5rem; border-radius: 50%; background: rgb(59 186 150 / .18); }
.jb-faqside__card h3 { margin: 0; font-size: 1.25rem; color: #fff; }
.jb-faqside__card p { margin: 0 0 var(--pm-space-2); color: #b9c6d6; font-size: .95rem; }
.jb-faqside__ico { width: 3rem; height: 3rem; border-radius: 14px; background: var(--jb-yellow); color: var(--jb-navy); display: grid; place-items: center; }
.jb-faqside__ico svg { width: 1.6rem; height: 1.6rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.jb-faqside__wa { color: var(--jb-teal); font-weight: 700; text-align: center; font-size: .92rem; }
.jb-faqside__wa:hover { color: #fff; }
.jb-faq { max-width: 52rem; margin-inline: auto; border-top: 0; display: grid; gap: var(--pm-space-3); width: 100%; }
.jb-faqgrid .jb-faq { max-width: none; }
.jb-faq .pm-accordion__item { background: #fff; border: 1px solid transparent; border-radius: 18px; box-shadow: 0 4px 14px rgb(1 22 46 / .06); transition: box-shadow .2s ease, border-color .2s ease; position: relative; overflow: hidden; }
.jb-faq .pm-accordion__item:hover { box-shadow: 0 10px 26px rgb(1 22 46 / .1); }
.jb-faq .pm-accordion__item:has(> .pm-accordion__trigger[aria-expanded="true"]) { border-color: rgb(59 186 150 / .5); box-shadow: 0 14px 30px rgb(1 22 46 / .1); }
.jb-faq .pm-accordion__item:has(> .pm-accordion__trigger[aria-expanded="true"])::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--jb-teal); }
.jb-faq .pm-accordion__trigger { display: flex; align-items: center; gap: var(--pm-space-4); padding: var(--pm-space-4) var(--pm-space-5); font-family: var(--pm-font-display); font-weight: 800; font-size: 1.05rem; color: var(--jb-navy); text-align: left; }
.jb-faq__n { flex: none; width: 2.4rem; height: 2.4rem; border-radius: 12px; background: #eef3f8; color: var(--jb-navy); display: grid; place-items: center; font-size: .85rem; font-weight: 800; transition: background .2s ease; }
.jb-faq__q { flex: 1; }
.jb-faq__pm { flex: none; position: relative; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: #eef3f8; transition: background .2s ease, transform .25s ease; }
.jb-faq__pm::before, .jb-faq__pm::after { content: ""; position: absolute; left: 50%; top: 50%; width: .8rem; height: 2px; margin: -1px 0 0 -.4rem; background: var(--jb-navy); border-radius: 2px; transition: transform .25s ease; }
.jb-faq__pm::after { transform: rotate(90deg); }
.jb-faq .pm-accordion__trigger[aria-expanded="true"] .jb-faq__n { background: var(--jb-teal); color: #fff; }
.jb-faq .pm-accordion__trigger[aria-expanded="true"] .jb-faq__pm { background: var(--jb-yellow); transform: rotate(180deg); }
.jb-faq .pm-accordion__trigger[aria-expanded="true"] .jb-faq__pm::after { transform: rotate(0deg); }
.jb-faq .pm-accordion__content { padding: 0 var(--pm-space-5) var(--pm-space-5) calc(var(--pm-space-5) + 2.4rem + var(--pm-space-4)); color: #44546a; line-height: 1.65; }
@media (max-width: 560px) { .jb-faq .pm-accordion__content { padding-left: var(--pm-space-5); } .jb-faq .pm-accordion__trigger { font-size: .98rem; gap: var(--pm-space-3); } }

/* ---- v1.0.12: We collect / We cannot take ---- */
.jb-two-lists { gap: var(--pm-space-6); }
.jb-list-card { position: relative; overflow: hidden; padding: 0; border: 0; border-radius: 24px; background: #fff; box-shadow: 0 18px 40px rgb(1 22 46 / .1); }
.jb-list-card h3 { margin: 0; padding: var(--pm-space-5) var(--pm-space-6); font-size: 1.35rem; color: #fff; display: flex; align-items: center; gap: var(--pm-space-3); }
.jb-list-card--yes h3 { background: linear-gradient(135deg, #3bba96, #16876a); }
.jb-list-card--no h3 { background: linear-gradient(135deg, #e5484d, #b42318); }
.jb-list-card__badge { width: 2.4rem; height: 2.4rem; border-radius: 50%; background: #fff; display: grid; place-items: center; flex: none; }
.jb-list-card__badge svg { width: 1.3rem; height: 1.3rem; fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.jb-list-card--yes .jb-list-card__badge { color: #16876a; } .jb-list-card--yes .jb-list-card__badge svg { stroke: #16876a; }
.jb-list-card--no .jb-list-card__badge svg { stroke: #b42318; }
.jb-list-card ul { list-style: none; margin: 0; padding: var(--pm-space-5) var(--pm-space-6); display: grid; gap: var(--pm-space-3); }
@media (min-width: 560px) and (max-width: 991px), (min-width: 1200px) { .jb-list-card ul { grid-template-columns: 1fr 1fr; } }
.jb-list-card li { display: flex; align-items: center; gap: var(--pm-space-3); font-weight: 600; color: var(--jb-navy); line-height: 1.3; font-size: .95rem; }
.jb-li-ico { position: relative; flex: none; width: 3.1rem; height: 3.1rem; border-radius: 14px; display: grid; place-items: center; }
.jb-li-ico svg { width: 1.8rem; height: 1.8rem; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.jb-list-card--yes .jb-li-ico { background: #e3f6ef; color: #0f6b52; }
.jb-list-card--no .jb-li-ico { background: #fde8e8; color: #b42318; }
.jb-list-card--no .jb-li-ico::after { content: ""; position: absolute; inset: 7px; border: 2.5px solid #e5484d; border-radius: 50%; background: linear-gradient(135deg, transparent calc(50% - 1.3px), #e5484d calc(50% - 1.3px), #e5484d calc(50% + 1.3px), transparent calc(50% + 1.3px)); opacity: .85; }
.jb-list-card > p { padding: 0 var(--pm-space-6) var(--pm-space-5); margin: 0 !important; }

/* ---- v1.0.12: visual waste calculator ---- */
.jb-wc-steps { list-style: none; padding: 0; margin: var(--pm-space-6) 0 0; display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.jb-wc-steps li { display: flex; align-items: center; gap: .55rem; color: #fff; font-weight: 700; font-size: .95rem; }
.jb-wc-steps b { width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--jb-yellow); color: var(--jb-navy); display: grid; place-items: center; font-size: .85rem; }
.jb-wc { display: grid; gap: var(--pm-space-8); }
@media (min-width: 992px) { .jb-wc { grid-template-columns: minmax(0, 1fr) 23rem; align-items: start; } .jb-wc__side { position: sticky; top: 6.5rem; } }
.jb-wc__bar { display: grid; gap: var(--pm-space-4); margin-bottom: var(--pm-space-6); }
.jb-wc__tabs { display: flex; gap: .5rem; overflow-x: auto; padding-bottom: .35rem; scrollbar-width: thin; }
.jb-wc__tabs button { flex: none; display: flex; align-items: center; gap: .5rem; padding: .45rem .9rem .45rem .45rem; border-radius: 999px; background: #fff; border: 1px solid #dbe4ee; font-weight: 700; font-size: .88rem; color: var(--jb-navy); cursor: pointer; transition: background .15s, border-color .15s; }
.jb-wc__tabs button[aria-selected="true"] { background: var(--jb-navy); color: #fff; border-color: var(--jb-navy); }
.jb-wc__tabico { width: 2rem; height: 2rem; border-radius: 50%; background: #fff4cc; color: var(--jb-navy); display: grid; place-items: center; }
.jb-wc__tabico svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.jb-wc__search { display: flex; align-items: center; gap: .6rem; background: #fff; border: 1px solid #dbe4ee; border-radius: 14px; padding: 0 1rem; }
.jb-wc__search i { color: #5b6b7f; }
.jb-wc__search input { flex: 1; border: 0; outline: 0; padding: .85rem 0; font: inherit; background: transparent; min-width: 0; }
.jb-wc__search:focus-within { border-color: var(--jb-teal); box-shadow: 0 0 0 3px rgb(59 186 150 / .2); }
.jb-wc__group + .jb-wc__group { margin-top: var(--pm-space-8); }
.jb-wc__gh { font-size: 1.15rem; margin: 0 0 var(--pm-space-3); }
.jb-wc__grid { display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 560px) { .jb-wc__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .jb-wc__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.jb-wc__item { position: relative; display: grid; background: #fff; border: 2px solid transparent; border-radius: 18px; box-shadow: 0 4px 14px rgb(1 22 46 / .06); transition: border-color .15s, box-shadow .15s, transform .15s; }
.jb-wc__item:hover { box-shadow: 0 10px 24px rgb(1 22 46 / .1); transform: translateY(-2px); }
.jb-wc__item.is-on { border-color: var(--jb-teal); box-shadow: 0 10px 24px rgb(59 186 150 / .2); }
.jb-wc__add { display: grid; justify-items: center; gap: .3rem; padding: 1rem .6rem .5rem; background: none; border: 0; cursor: pointer; text-align: center; color: var(--jb-navy); font: inherit; }
.jb-wc__pic { position: relative; width: 4.2rem; height: 4.2rem; border-radius: 20px; background: #f1f5f9; display: grid; place-items: center; transition: background .15s; }
.jb-wc__pic img { width: 88%; height: 88%; object-fit: contain; display: block; }
.jb-wc__pic svg { width: 2.6rem; height: 2.6rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.jb-wc__item.is-on .jb-wc__pic { background: #fff4cc; }
.jb-wc__count { position: absolute; top: -.4rem; right: -.4rem; min-width: 1.6rem; height: 1.6rem; padding: 0 .35rem; border-radius: 999px; background: var(--jb-teal); color: #fff; font-weight: 800; font-size: .8rem; display: none; place-items: center; box-shadow: 0 0 0 3px #fff; }
.jb-wc__item.is-on .jb-wc__count { display: grid; }
.jb-wc__item.is-pop .jb-wc__pic { animation: jbwcpop .35s ease; }
@keyframes jbwcpop { 40% { transform: scale(1.15); } }
.jb-wc__name { font-weight: 700; font-size: .88rem; line-height: 1.2; }
.jb-wc__price { font-size: .8rem; color: #16876a; font-weight: 700; }
.jb-wc__qty { display: none; align-items: center; justify-content: center; gap: .4rem; padding: 0 .5rem .7rem; }
.jb-wc__item.is-on .jb-wc__qty { display: flex; }
.jb-wc__qty button { width: 2rem; height: 2rem; border-radius: 50%; border: 0; background: #eef3f8; color: var(--jb-navy); font-weight: 800; font-size: 1.1rem; cursor: pointer; }
.jb-wc__qty button[data-d="1"] { background: var(--jb-yellow); }
.jb-wc__qty output { min-width: 1.5rem; text-align: center; font-weight: 800; }
.jb-wc__none { padding: var(--pm-space-6); text-align: center; color: #5b6b7f; }
.jb-wc__card { background: #fff; border-radius: 24px; padding: var(--pm-space-6); box-shadow: 0 18px 40px rgb(1 22 46 / .12); display: grid; gap: var(--pm-space-4); }
.jb-wc__van svg { width: 100%; height: auto; display: block; }
.jb-wc__fill { transition: width .45s cubic-bezier(.3, 1.3, .5, 1); }
.jb-wc__vol { margin: -.25rem 0 0; text-align: center; font-weight: 700; color: var(--jb-navy); font-size: .92rem; }
.jb-wc__empty p { margin: 0; text-align: center; color: #5b6b7f; font-size: .92rem; }
.jb-wc__opts { display: grid; gap: .6rem; }
.jb-wc__opt { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .1rem .75rem; padding: .85rem 1rem; border-radius: 16px; border: 2px solid #e3e9f0; text-decoration: none; color: var(--jb-navy); transition: border-color .15s, background .15s; }
.jb-wc__opt[hidden] { display: none; }
.jb-wc__opt:hover { border-color: #b9c6d6; }
.jb-wc__opt.is-best { border-color: var(--jb-teal); background: #eefaf5; }
.jb-wc__tag { display: none; position: absolute; top: -.65rem; right: .8rem; background: var(--jb-teal); color: #fff; font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; padding: .2rem .55rem; border-radius: 999px; }
.jb-wc__opt.is-best .jb-wc__tag { display: block; }
.jb-wc__optname { font-weight: 800; }
.jb-wc__optprice { grid-row: span 2; font-family: var(--pm-font-display); font-weight: 900; font-size: 1.5rem; }
.jb-wc__optsub { font-size: .78rem; color: #5b6b7f; }
.jb-wc__list summary { cursor: pointer; font-weight: 700; font-size: .92rem; color: var(--jb-navy); }
.jb-wc__list ul { list-style: none; padding: 0; margin: .5rem 0; display: grid; gap: .3rem; font-size: .88rem; color: #44546a; max-height: 12rem; overflow: auto; }
.jb-wc__list li { display: flex; justify-content: space-between; gap: .75rem; }
.jb-wc__clear { background: none; border: 0; padding: 0; color: #b42318; font-weight: 700; font-size: .85rem; cursor: pointer; }
.jb-wc__small { margin: 0; font-size: .82rem; color: #5b6b7f; text-align: center; }
@media (max-width: 991px) { .jb-wc__van { max-width: 16rem; margin-inline: auto; } .jb-wc__side { scroll-margin-top: 6rem; } }
.jb-wc__mbar { position: fixed; left: .75rem; right: .75rem; bottom: .75rem; z-index: 50; display: none; align-items: center; gap: .75rem; padding: .6rem .6rem .6rem 1rem; border-radius: 18px; background: var(--jb-navy); color: #fff; box-shadow: 0 12px 30px rgb(1 22 46 / .35); text-decoration: none; }
.jb-wc__mbar b { font-size: 1.25rem; font-family: var(--pm-font-display); }
.jb-wc__mbar small { display: block; color: #b9c6d6; font-size: .75rem; }
.jb-wc__mbar span:last-child { margin-left: auto; background: var(--jb-yellow); color: var(--jb-navy); font-weight: 800; padding: .6rem .9rem; border-radius: 12px; }
@media (max-width: 991px) {
  .jb-wc__mbar.is-on { display: flex; }
  /* Chris: sit the price bar above the Call / Book now bar so it can be seen */
  .jb-wc__mbar { bottom: calc(4.9rem + env(safe-area-inset-bottom)); z-index: 61; }
  body:has(.jb-wc__mbar.is-on) { padding-bottom: 9.5rem; }
  body:has(.jb-wc__mbar.is-on) .jb-wa { bottom: 10.2rem; }
}

/* ---- v1.0.12: About page story and diagrams ---- */
.jb-ab-story__grid { display: grid; gap: var(--pm-space-10); align-items: center; }
@media (min-width: 992px) { .jb-ab-story__grid { grid-template-columns: 1.2fr 1fr; gap: var(--pm-space-16, 4rem); } }
.jb-ab-story__body p { font-size: 1.05rem; line-height: 1.7; color: #33445a; }
.jb-ab-story__side { display: grid; gap: var(--pm-space-6); justify-items: center; background: radial-gradient(120% 120% at 0% 0%, #0b3a5e 0%, var(--jb-navy) 60%); border-radius: 28px; padding: var(--pm-space-8); color: #fff; box-shadow: 0 24px 50px rgb(1 22 46 / .2); }
.jb-ab-donut { position: relative; width: 13rem; height: 13rem; }
.jb-ab-donut svg { width: 100%; height: 100%; transform: rotate(-90deg); fill: none; stroke-width: 14; stroke-linecap: round; }
.jb-ab-donut__t { stroke: rgb(255 255 255 / .12); }
.jb-ab-donut__f { stroke: var(--jb-teal); stroke-dashoffset: 90; animation: jbdonut 1.6s .2s ease forwards; }
@keyframes jbdonut { to { stroke-dashoffset: 0; } }
.jb-ab-donut div { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.jb-ab-donut strong { font-family: var(--pm-font-display); font-size: 2.6rem; font-weight: 900; line-height: 1; }
.jb-ab-donut span { font-size: .85rem; color: #b9c6d6; }
.jb-ab-facts { list-style: none; margin: 0; padding: 0; width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.jb-ab-facts li { background: rgb(255 255 255 / .07); border-radius: 16px; padding: .85rem 1rem; display: grid; gap: .1rem; }
.jb-ab-facts b { font-family: var(--pm-font-display); font-size: 1.35rem; color: var(--jb-yellow); }
.jb-ab-facts span { font-size: .82rem; color: #c9d5e2; line-height: 1.3; }
.jb-ab-route { list-style: none; margin: var(--pm-space-10) 0 0; padding: 0; display: grid; gap: var(--pm-space-6); counter-reset: none; position: relative; }
@media (min-width: 900px) { .jb-ab-route { grid-template-columns: repeat(4, 1fr); } .jb-ab-route::before { content: ""; position: absolute; top: 2.6rem; left: 12%; right: 12%; border-top: 3px dashed #b9c6d6; z-index: 0; } }
.jb-ab-route li { position: relative; z-index: 1; display: grid; justify-items: center; text-align: center; gap: .45rem; }
.jb-ab-route b { font-family: var(--pm-font-display); font-size: 1.1rem; color: var(--jb-navy); }
.jb-ab-route li > span:last-child { font-size: .92rem; color: #44546a; max-width: 16rem; }
.jb-ab-route__ico { width: 5.2rem; height: 5.2rem; border-radius: 50%; background: #fff; color: var(--jb-navy); display: grid; place-items: center; box-shadow: 0 10px 26px rgb(1 22 46 / .12); border: 4px solid var(--jb-yellow); }
.jb-ab-route__ico--green { border-color: var(--jb-teal); background: #eefaf5; color: #0f6b52; }
.jb-ab-route__ico svg { width: 2.4rem; height: 2.4rem; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.jb-ab-streams { margin-top: var(--pm-space-10); display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); }
.jb-ab-stream { border-radius: 20px; padding: var(--pm-space-5); display: grid; gap: .35rem; color: #fff; }
.jb-ab-stream b { font-family: var(--pm-font-display); font-size: 1.2rem; }
.jb-ab-stream > span:last-child { font-size: .9rem; opacity: .9; }
.jb-ab-stream__ico { width: 3rem; height: 3rem; border-radius: 14px; background: rgb(255 255 255 / .2); display: grid; place-items: center; }
.jb-ab-stream__ico svg { width: 1.8rem; height: 1.8rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.jb-ab-stream--reuse { background: #16876a; } .jb-ab-stream--recycle { background: #2aa37f; } .jb-ab-stream--recover { background: #ffbf0d; color: var(--jb-navy); } .jb-ab-stream--landfill { background: #eef3f8; color: #6b7a8c; }
.jb-ab-stream--landfill .jb-ab-stream__ico { background: #dde5ee; }
.jb-ab-pyr { display: grid; gap: .5rem; justify-items: center; padding: var(--pm-space-6); background: #f4f7fa; border-radius: 28px; }
.jb-ab-pyr__row { width: var(--w); display: flex; align-items: center; justify-content: center; gap: .6rem; padding: 1.15rem 1rem; background: var(--c); color: var(--t, #fff); clip-path: polygon(0 0, 100% 0, 94% 100%, 6% 100%); font-family: var(--pm-font-display); font-size: 1.15rem; }
.jb-ab-pyr__row span { font-family: var(--pm-font-body, inherit); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; background: rgb(255 255 255 / .22); padding: .15rem .5rem; border-radius: 999px; }

/* ---- v1.0.12: keyword links ---- */
.jb-kw { color: var(--jb-teal-ink); font-weight: 700; text-decoration: underline; text-decoration-color: rgb(59 186 150 / .5); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.jb-kw:hover { color: var(--jb-navy); text-decoration-color: currentColor; }
.pm-scheme-dark .jb-kw, .pm-scheme-brand .jb-kw, .jb-hero .jb-kw, .jb-account .jb-kw, .jb-faqside__card .jb-kw, .jb-aside__box--dark .jb-kw, .jb-aside__box--dark .jb-kw:hover { color: #fff; text-decoration-color: var(--jb-teal); }

.jb-ab-story__body { font-size: 1.05rem; line-height: 1.7; color: #33445a; }
.jb-ab-story__body p { margin: 0 0 1rem; }
.jb-ab-hier .jb-split p { margin: 0 0 1rem; }

/* ---- v1.0.12: tree promise + counter ---- */
.jb-trees { position: relative; overflow: hidden; background: radial-gradient(90% 120% at 15% 20%, #2fb58a 0%, #148a67 45%, #0b5c47 100%); color: #fff; }
.jb-trees::before { content: ""; position: absolute; width: 40rem; height: 40rem; right: -14rem; top: -18rem; border-radius: 50%; background: rgb(255 255 255 / .06); }
.jb-trees__grid { position: relative; display: grid; gap: var(--pm-space-10); align-items: center; }
@media (min-width: 992px) { .jb-trees__grid { grid-template-columns: 1fr 1.05fr; gap: var(--pm-space-16, 4rem); } }
.jb-trees__art { position: relative; max-width: 30rem; margin-inline: auto; width: 100%; }
.jb-trees__disc { aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 50% 40%, #ffffff 0%, #e9f8f1 60%, #c9eedd 100%); box-shadow: 0 30px 60px rgb(0 40 30 / .35), inset 0 -18px 40px rgb(20 138 103 / .18); display: grid; place-items: center; overflow: hidden; border: 10px solid rgb(255 255 255 / .18); }
.jb-trees__disc img { width: 88%; height: 88%; object-fit: contain; }
.jb-trees__badge { position: absolute; left: -.5rem; bottom: 8%; display: flex; align-items: center; gap: .85rem; background: #fff; color: var(--jb-navy); border-radius: 20px; padding: .9rem 1.2rem .9rem .9rem; box-shadow: 0 18px 40px rgb(0 40 30 / .3); animation: jbfloat 5s ease-in-out infinite; }
@keyframes jbfloat { 50% { transform: translateY(-8px); } }
@media (prefers-reduced-motion: reduce) { .jb-trees__badge { animation: none; } }
.jb-trees__badge > span:last-child { display: grid; line-height: 1.1; }
.jb-trees__badge strong { font-family: var(--pm-font-display); font-weight: 900; font-size: 2.3rem; color: #148a67; }
.jb-trees__badge small { font-size: .85rem; font-weight: 700; color: #33445a; }
.jb-trees__leaf { width: 3.2rem; height: 3.2rem; border-radius: 16px; background: #e3f6ef; color: #148a67; display: grid; place-items: center; flex: none; }
.jb-trees__leaf svg { width: 2rem; height: 2rem; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.jb-trees .jb-eyebrow { color: #fff4cc; }
.jb-trees .jb-h2 { color: #fff; }
.jb-trees .jb-lede { color: rgb(255 255 255 / .9); }
.jb-trees__steps { list-style: none; padding: 0; margin: var(--pm-space-6) 0; display: grid; gap: .75rem; grid-template-columns: repeat(3, minmax(0, 1fr)); counter-reset: jbt; }
.jb-trees__steps li { position: relative; display: grid; justify-items: center; text-align: center; gap: .5rem; padding: 1rem .5rem; border-radius: 18px; background: rgb(255 255 255 / .12); font-size: .9rem; line-height: 1.2; }
.jb-trees__steps li + li::before { content: "→"; position: absolute; left: -.72rem; top: 50%; transform: translateY(-50%); color: var(--jb-yellow); font-weight: 900; }
.jb-trees__steps span { width: 3rem; height: 3rem; border-radius: 50%; background: var(--jb-yellow); color: var(--jb-navy); display: grid; place-items: center; }
.jb-trees__steps svg { width: 1.7rem; height: 1.7rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.jb-trees__note { color: rgb(255 255 255 / .85); font-size: .95rem; margin: 0 0 var(--pm-space-6); }
.jb-trees .jb-kw { color: #fff; }
.jb-trees__ticks { list-style: none; padding: 0; margin: 0 0 var(--pm-space-6); display: grid; gap: .55rem; }
.jb-trees__ticks li { display: flex; align-items: center; gap: .6rem; font-weight: 600; color: #fff; font-size: .95rem; }
.jb-trees__ticks li > span[aria-hidden] { flex: none; width: 1.5rem; height: 1.5rem; border-radius: 50%; background: #fff; color: #148a67; display: grid; place-items: center; }
.jb-trees__ticks svg { width: .95rem; height: .95rem; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }

/* Tree section on white (Chris, 29 Sep) */
.jb-trees { background: #fff; color: var(--jb-navy); }
.jb-trees::before { background: #eefaf5; }
.jb-trees .jb-eyebrow { color: var(--jb-teal-ink); }
.jb-trees .jb-h2 { color: var(--jb-navy); }
.jb-trees .jb-lede { color: #44546a; }
.jb-trees__disc { background: radial-gradient(circle at 50% 40%, #ffffff 0%, #eefaf5 60%, #d5f1e4 100%); border-color: #e3f6ef; box-shadow: 0 24px 50px rgb(1 22 46 / .12), inset 0 -18px 40px rgb(20 138 103 / .12); }
.jb-trees__badge { box-shadow: 0 16px 36px rgb(1 22 46 / .16); border: 1px solid #e3f6ef; }
.jb-trees__steps li { background: #eefaf5; color: var(--jb-navy); font-weight: 700; }
.jb-trees__steps li + li::before { color: #16876a; }
.jb-trees__ticks li { color: var(--jb-navy); }
.jb-trees__ticks li > span[aria-hidden] { background: #16876a; color: #fff; }
.jb-trees .jb-kw { color: var(--jb-teal-ink); }

.jb-wc__kg { display: block; font-size: .72rem; color: #6b7a8c; margin-top: 2px; }
.jb-loadtable { margin-top: var(--pm-space-8); }
.jb-loadtable__h { font-family: var(--pm-font-display); font-size: 1.25rem; margin: 0 0 var(--pm-space-3); color: var(--jb-navy); }
.jb-loadtable__wrap { overflow-x: auto; border-radius: 16px; border: 1px solid #dbe4ee; background: #fff; }
.jb-loadtable table { width: 100%; border-collapse: collapse; font-size: .92rem; min-width: 560px; }
.jb-loadtable th, .jb-loadtable td { padding: .7rem .9rem; text-align: left; border-bottom: 1px solid #edf1f6; white-space: nowrap; }
.jb-loadtable thead th { background: var(--jb-navy); color: #fff; font-weight: 700; font-size: .82rem; }
.jb-loadtable tbody th { color: var(--jb-navy); font-weight: 800; }
.jb-loadtable tbody td:last-child { font-weight: 800; color: #1c8a4a; }
.jb-loadtable tbody tr:last-child > * { border-bottom: 0; }

/* Booking calendar: nothing looks selected until the customer picks a day */
.jb-product form.cart.jb-nodate .wc-bookings-date-picker .ui-datepicker td.ui-datepicker-current-day a,
.jb-product form.cart.jb-nodate .wc-bookings-date-picker .ui-datepicker td a.ui-state-active,
.jb-product form.cart.jb-nodate .wc-bookings-date-picker .ui-datepicker td a.ui-state-highlight { background: #3ec48b !important; color: #fff !important; border-color: transparent !important; box-shadow: none !important; }
.jb-product .jb-date-msg { margin: .8rem 0 0; padding: .8rem 1rem; border: 2px solid #d63638; border-radius: 12px; background: #fdf0f0; color: #b32d2e; font-weight: 700; font-size: .95rem; line-height: 1.4; }
.jb-product .wc-bookings-date-picker.jb-date-need .ui-datepicker { box-shadow: 0 0 0 3px #d63638; border-radius: 12px; }
