/* pa_portal base: brand tokens, responsive shell, accessibility rules. No framework. */
:root {
    --pa-blue: #1f4fa3;
    --pa-blue-dark: #173f86;
    --pa-sky: #e3f1fb;
    --pa-teal: #2b9fc9;
    --pa-orange: #f39a3d;
    --pa-ink: #14213a;
    --pa-muted: #566274;
    --pa-bg: #f4f8fd;
    --pa-surface: #ffffff;
    --pa-line: #d7e2ef;
    --pa-focus: #0b3d91;
    --pa-error: #b3261e;
    --pa-error-bg: #fdecea;
    --pa-radius: 14px;
    --pa-glass: rgba(255, 255, 255, .78);
    --pa-header-h: 68px;
    --pa-container: 1180px;
    --pa-cta: #1f6fd1;
    color-scheme: light;
}

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

html { -webkit-text-size-adjust: 100%; }

body.pa-site {
    margin: 0;
    background: var(--pa-bg);
    color: var(--pa-ink);
    font: 16px/1.55 system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;
}

img { max-width: 100%; height: auto; }

a { color: var(--pa-blue); text-underline-offset: .15em; }
a:hover { color: var(--pa-blue-dark); }

:focus-visible {
    outline: 3px solid var(--pa-focus);
    outline-offset: 2px;
}

.pa-skip {
    position: absolute;
    left: 8px;
    top: -100px;
    z-index: 100;
    padding: 12px 16px;
    background: var(--pa-blue);
    color: #fff;
    border-radius: 8px;
}
.pa-skip:focus { top: 8px; }

.pa-visually-hidden,
.visually-hidden {
    position: absolute !important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Header: glass with a solid fallback */
.pa-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: var(--pa-surface);
    border-bottom: 1px solid var(--pa-line);
}
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .pa-header {
        background: var(--pa-glass);
        -webkit-backdrop-filter: blur(14px) saturate(1.2);
        backdrop-filter: blur(14px) saturate(1.2);
    }
}
.pa-header__inner {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: var(--pa-header-h);
    padding: 8px 16px;
    max-width: 1280px;
    margin: 0 auto;
    flex-wrap: wrap;
}
.pa-brand { display: inline-flex; align-items: center; order: 1; margin-right: auto; padding: 4px 0; }
.pa-brand img { display: block; height: 40px; width: auto; }
/* Dark wordmark on the solid header, light transparent wordmark while the header lies over the photo (no plate, frame or shadow). */
.pa-brand img.pa-brand__img--light { display: none; }

.pa-header__language { order: 2; }
.pa-header__language ul { display: flex; flex-wrap: wrap; gap: 4px; margin: 0; padding: 0; list-style: none; }
.pa-header__language a,
.pa-header__language .mod-languages__link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    min-width: 44px;
    justify-content: center;
    padding: 0 8px;
    border-radius: 10px;
    color: var(--pa-ink);
    font-weight: 400;
    text-decoration: none;
}
.pa-header__language .lang-active a,
.pa-header__language [aria-current] { background: var(--pa-sky); font-weight: 500; }

.pa-header__user { display: flex; align-items: center; order: 3; min-height: 44px; }

/* Account menu (logged-in header): native <details>, popover kept inside the viewport */
.pa-account { position: relative; }
.pa-account__summary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    max-width: 100%;
    padding: 0 10px 0 6px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--pa-ink);
    font-weight: 500;
    cursor: pointer;
    list-style: none;
}
.pa-account__summary::-webkit-details-marker { display: none; }
.pa-account__summary:hover, .pa-account[open] > .pa-account__summary { background: rgba(20, 33, 58, .06); }
.pa-account__avatar { position: relative; display: inline-flex; align-items: center; justify-content: center; flex: none; width: 32px; height: 32px; overflow: hidden; border-radius: 50%; background: var(--pa-blue); color: #fff; font-size: .875rem; font-weight: 700; }
/* Stored profile picture covers the initials; without or with a broken file the initials remain. */
.pa-account__photo { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; border-radius: 50%; object-fit: cover; background: var(--pa-surface); }
.pa-account__name { overflow: hidden; max-width: 14ch; text-overflow: ellipsis; white-space: nowrap; }
.pa-account__panel {
    position: absolute;
    right: 0;
    z-index: 60;
    min-width: 220px;
    max-width: calc(100vw - 32px);
    margin-top: 6px;
    padding: 6px;
    background: var(--pa-surface);
    border: 1px solid var(--pa-line);
    border-radius: var(--pa-radius);
    box-shadow: 0 12px 32px rgba(20, 33, 58, .16);
}
.pa-account__list { margin: 0; padding: 0; list-style: none; }
.pa-account__link { display: flex; align-items: center; width: 100%; min-height: 44px; padding: 0 12px; border: 0; border-radius: 10px; background: none; color: var(--pa-ink); font: inherit; text-align: left; text-decoration: none; cursor: pointer; }
.pa-account__link:hover { background: var(--pa-sky); color: var(--pa-blue-dark); }
.pa-account__logout { margin: 0; }
.pa-account__button { font-weight: 700; color: var(--pa-error); }
@media (max-width: 520px) { .pa-account__name { display: none; } .pa-account__summary { padding-right: 6px; } }
@media (forced-colors: active) { .pa-account__panel { border: 2px solid; } }

/* Language switch: native <details>, list opens as a small popover under the header */
.pa-lang-module { position: relative; }
.pa-lang-module__text { margin: 0 0 4px; color: var(--pa-muted); font-size: .875rem; }
.pa-lang { position: relative; }
.pa-lang__summary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 12px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--pa-ink);
    font-weight: 500;
    cursor: pointer;
    list-style: none;
}
.pa-lang__summary::-webkit-details-marker { display: none; }
.pa-lang__summary::after {
    content: "";
    width: 7px;
    height: 7px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
}
.pa-lang__summary:hover, .pa-lang[open] > .pa-lang__summary { background: rgba(20, 33, 58, .06); }
.pa-lang .pa-lang__list {
    display: block;
    max-width: calc(100vw - 32px);
    position: absolute;
    right: 0;
    z-index: 60;
    width: max-content;
    min-width: 200px;
    max-height: 70vh;
    margin: 6px 0 0;
    padding: 6px;
    overflow-y: auto;
    list-style: none;
    background: var(--pa-surface);
    border: 1px solid var(--pa-line);
    border-radius: var(--pa-radius);
    box-shadow: 0 12px 32px rgba(20, 33, 58, .16);
}
.pa-lang__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 44px;
    padding: 0 12px;
    border-radius: 10px;
    color: var(--pa-ink);
    text-decoration: none;
}
.pa-lang__link:hover { background: var(--pa-sky); }
.pa-lang__link[aria-current] { background: var(--pa-sky); color: var(--pa-blue-dark); font-weight: 500; }
.pa-lang__check {
    flex: none;
    width: 6px;
    height: 11px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
}

/* Menu toggle: visible only when JS is available and the rail is collapsible */
.pa-nav-toggle {
    display: none;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 14px;
    border: 1px solid var(--pa-line);
    border-radius: 10px;
    background: transparent;
    color: var(--pa-ink);
    font: inherit;
    font-weight: 500;
    cursor: pointer;
}
.pa-nav-toggle__icon,
.pa-nav-toggle__icon::before,
.pa-nav-toggle__icon::after {
    display: block;
    width: 18px;
    height: 2px;
    background: currentColor;
    border-radius: 2px;
}
.pa-nav-toggle__icon { position: relative; }
.pa-nav-toggle__icon::before, .pa-nav-toggle__icon::after { content: ""; position: absolute; left: 0; }
.pa-nav-toggle__icon::before { top: -6px; }
.pa-nav-toggle__icon::after { top: 6px; }
.pa-js .pa-nav-toggle { display: inline-flex; order: 4; }

/* Shell: one centred content column; the menu lives in the header (horizontal from 1200px, collapsible panel below). */
.pa-shell {
    display: block;
    max-width: var(--pa-container);
    margin: 0 auto;
    padding: 16px;
}
.pa-shell:empty, .pa-content:empty { display: none; }
.pa-notice { padding-bottom: 0; }
.pa-navwrap {
    order: 5;
    flex: 1 0 100%;
    padding: 8px;
    background: var(--pa-surface);
    border: 1px solid var(--pa-line);
    border-radius: var(--pa-radius);
}
.pa-js .pa-navwrap:not(.is-open) { display: none; }

.pa-sidebar,
.pa-card {
    background: var(--pa-surface);
    border: 1px solid var(--pa-line);
    border-radius: var(--pa-radius);
    padding: 12px;
}
.pa-sidebar { margin-top: 16px; }
.pa-card { margin-bottom: 16px; }
.pa-card__title { margin: 0 0 8px; font-size: 1.125rem; }

.pa-nav ul { list-style: none; margin: 0; padding: 0; }
.pa-nav li a,
.pa-nav li .nav-header,
.pa-nav li > span {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 0 12px;
    border-radius: 10px;
    color: var(--pa-ink);
    text-decoration: none;
}
.pa-nav li a:hover { background: var(--pa-sky); }
.pa-nav li a, .pa-nav li .nav-header, .pa-nav li > span { font-weight: 500; }

/* Submenus: nested lists are always listed; with JavaScript each branch gets a disclosure button */
.pa-nav li ul { margin: 2px 0 4px 12px; padding-left: 8px; border-left: 2px solid var(--pa-line); }
.pa-nav li { position: relative; }
.pa-nav li.pa-has-toggle > a,
.pa-nav li.pa-has-toggle > span { padding-right: 52px; }
.pa-nav li.pa-has-toggle:not(.is-open) > ul { display: none; }
.pa-subnav-toggle {
    position: absolute;
    top: 0;
    right: 0;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--pa-ink);
    cursor: pointer;
}
.pa-subnav-toggle::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    margin: 0 auto;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
}
.pa-subnav-toggle[aria-expanded="true"]::before { transform: translateY(2px) rotate(-135deg); }
.pa-subnav-toggle:hover { background: var(--pa-sky); }
/* Current page: colour and a thin line, no filled tile (stacked panel: line on the left; bar: line below, see min-width 1200px). */
.pa-nav li.active > a,
.pa-nav li.current > a,
.pa-nav a[aria-current] { background: none; color: var(--pa-blue-dark); font-weight: 600; box-shadow: inset 2px 0 0 var(--pa-teal); }

.pa-main { min-width: 0; }
.pa-content > * + * { margin-top: 16px; }
.pa-breadcrumbs ul, .pa-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 4px 8px; margin: 0; padding: 0; list-style: none; color: var(--pa-muted); }

/* Footer look (colours, columns, connect strip, legal row) lives in the TEMPLATE01k block below; only the container is set here. */
.pa-footer > * { max-width: var(--pa-container); margin-left: auto; margin-right: auto; padding: 0 16px; }

.pa-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 20px;
    border: 0;
    border-radius: 10px;
    background: var(--pa-blue);
    color: #fff;
    font: inherit;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}
.pa-button:hover { background: var(--pa-blue-dark); color: #fff; }

/* Home page blocks (TEMPLATE01d/01f): full-width photo hero, banded sections and footer. Content comes from core mod_custom modules. */
.pa-hero-band { margin: 0; }
.pa-hero { display: grid; gap: 0; grid-template-columns: 1fr; }
.pa-hero__item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 360px;
    padding: 48px 20px;
    overflow: hidden;
    background: var(--pa-ink);
    color: #fff;
    text-align: center;
    isolation: isolate;
}
/* The stored slide photo is a plain <img>; it is stretched behind the text, a 25% black overlay (same as production) keeps the white text readable. */
.pa-hero__image { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; max-height: none; object-fit: cover; object-position: center 30%; }
.pa-hero__item::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(0, 0, 0, .25); }
.pa-hero__item:first-child { min-height: clamp(520px, 86vh, 860px); }
.pa-has-hero .pa-hero__item:first-child { padding-top: calc(var(--pa-header-h) + 48px); }
.pa-hero__body { max-width: 880px; overflow-wrap: break-word; }
.pa-hero__title { margin: 0 0 16px; color: #fff; color: rgba(255, 255, 255, .95); font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; line-height: 1.15; text-shadow: 0 2px 16px rgba(0, 0, 0, .35); }
.pa-hero__item:first-child .pa-hero__title { font-size: clamp(2.25rem, 6.5vw, 4.25rem); }
.pa-hero__text { margin: 0 auto 36px; max-width: 46ch; color: #fff; font-size: clamp(1.0625rem, 2.2vw, 1.5rem); line-height: 1.45; text-shadow: 0 1px 10px rgba(0, 0, 0, .4); }
.pa-hero .pa-button { min-height: 48px; padding: 0 28px; border: 1px solid rgba(255, 255, 255, .9); border-radius: 12px; background: #f4f7fb; background: rgba(255, 255, 255, .72); color: #123465; font-size: 1rem; font-weight: 500; box-shadow: 0 4px 14px rgba(9, 20, 43, .25); }
.pa-hero .pa-button:hover { background: #fff; background: rgba(255, 255, 255, .94); color: #123465; }
.pa-sections { margin-top: 0; padding-bottom: 24px; }
.pa-section { padding: 0; }
.pa-section__title { margin: 0 0 12px; color: var(--pa-blue-dark); font-size: clamp(1.4rem, 3vw, 2rem); line-height: 1.25; }
.pa-section__intro { max-width: 70ch; margin-bottom: 16px; color: var(--pa-muted); }
.pa-section__image { display: block; max-width: 100%; margin: 0 0 16px; border-radius: var(--pa-radius); }
.pa-features, .pa-quotes { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.pa-feature, .pa-quote, .pa-stat { padding: 20px; background: var(--pa-surface); border: 1px solid var(--pa-line); border-radius: var(--pa-radius); }
.pa-feature > * { margin: 0 0 8px; }
.pa-feature > :last-child { margin-bottom: 0; }
.pa-feature h2, .pa-feature h3 { color: var(--pa-blue-dark); font-size: 1.2rem; line-height: 1.3; }
.pa-feature__icon { display: block; width: 48px; height: 48px; object-fit: contain; }
.pa-feature .pa-button { margin-top: 8px; }
.pa-stats { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); margin: 0; padding: 0; list-style: none; }
.pa-stat { display: flex; flex-direction: column; gap: 4px; text-align: center; }
.pa-stat__value { color: var(--pa-blue); font-size: 2.25rem; font-weight: 800; line-height: 1.1; }
.pa-stat__name { font-weight: 700; }
.pa-stat__desc { color: var(--pa-muted); }
.pa-quote { margin: 0; }
.pa-quote blockquote { margin: 0 0 12px; }
.pa-quote blockquote p { margin: 0 0 8px; }
.pa-quote__avatar { width: 56px; height: 56px; margin-bottom: 8px; border-radius: 50%; object-fit: cover; }
.pa-quote figcaption { color: var(--pa-muted); font-weight: 600; }
.pa-logos { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin: 0; padding: 0; list-style: none; }
.pa-logos img { display: block; max-height: 56px; width: auto; }

.pa-footer .pa-card, .pa-sections .pa-card { padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; }
.pa-sections > .pa-card { margin: 0; padding: 56px 0; }
.pa-sections > .pa-card:nth-of-type(even) { background: var(--pa-sky); }
.pa-sections > .pa-card > * { max-width: var(--pa-container); margin-left: auto; margin-right: auto; padding: 0 16px; }
.pa-sections .pa-card__title, .pa-sections .pa-section__title { text-align: center; }
.pa-sections .pa-section__intro { margin-left: auto; margin-right: auto; text-align: center; }
.pa-sections .pa-card__title { margin: 0 0 12px; color: var(--pa-blue-dark); font-size: clamp(1.4rem, 3vw, 2rem); }

/* Further slides are shown as two photo tiles below the main hero, all text and links stay reachable (no carousel, no autoplay). */
@media (min-width: 720px) {
    .pa-hero { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pa-hero__item:first-child { grid-column: 1 / -1; }
    .pa-hero__item:nth-child(n+2):last-child:nth-child(even) { grid-column: 1 / -1; }
}

/* Slideshow (slideshow.js sets .pa-hero--slides): the existing hero items are stacked in one cell and cross-fade. Without the script the static layout above stays. */
.pa-hero--slides { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); touch-action: pan-y; }
.pa-hero--slides .pa-hero__item,
.pa-hero--slides .pa-hero__item:first-child,
.pa-hero--slides .pa-hero__item:nth-child(n+2):last-child:nth-child(even) {
    grid-area: 1 / 1;
    grid-column: 1 / 1;
    min-height: clamp(520px, 86vh, 860px);
    padding-bottom: 96px;
    opacity: 0;
    visibility: hidden;
}
.pa-hero--slides .pa-hero__item.is-active { opacity: 1; visibility: visible; z-index: 1; }
.pa-hero--slides .pa-hero__item .pa-hero__title { font-size: clamp(2.25rem, 6.5vw, 4.25rem); }
.pa-has-hero .pa-hero--slides .pa-hero__item { padding-top: calc(var(--pa-header-h) + 48px); }
.pa-hero__controls {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 20px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 12px;
}
.pa-hero__dots { display: flex; align-items: center; }
.pa-hero__arrow,
.pa-hero__pause,
.pa-hero__dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: none;
    color: #fff;
    cursor: pointer;
}
.pa-hero__arrow,
.pa-hero__pause { width: 44px; height: 44px; border-radius: 50%; }
.pa-hero__arrow:hover,
.pa-hero__pause:hover { background: rgba(255, 255, 255, .16); }
.pa-hero__dot { width: 32px; height: 44px; }
.pa-hero__dot::before { content: ""; width: 10px; height: 10px; border: 1.5px solid #fff; border-radius: 50%; background: transparent; }
.pa-hero__dot.is-active::before { background: #fff; }
.pa-hero__icon { display: block; width: 10px; height: 10px; }
.pa-hero__arrow--prev .pa-hero__icon { border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateX(2px) rotate(45deg); }
.pa-hero__arrow--next .pa-hero__icon { border-right: 2px solid currentColor; border-top: 2px solid currentColor; transform: translateX(-2px) rotate(45deg); }
/* Pause button: two bars while playing, a triangle while paused. */
.pa-hero__pause .pa-hero__icon { width: 10px; height: 12px; border-left: 3px solid currentColor; border-right: 3px solid currentColor; }
.pa-hero__pause.is-paused .pa-hero__icon { width: 0; height: 0; border-left: 10px solid currentColor; border-right: 0; border-top: 6px solid transparent; border-bottom: 6px solid transparent; }
.pa-hero__controls :focus-visible { outline-color: #fff; }
@media (prefers-reduced-motion: no-preference) {
    .pa-hero--slides .pa-hero__item { transition: opacity .9s ease, visibility 0s linear .9s; }
    .pa-hero--slides .pa-hero__item.is-active { transition-delay: 0s; }
    /* Slow image zoom 1 to 1.03: only the photo moves, clipped by the slide (overflow: hidden); text, button and layout stay put. */
    .pa-hero--slides .pa-hero__item.is-zooming .pa-hero__image { animation: pa-hero-zoom 9s linear forwards; will-change: transform; }
    .pa-hero--slides.is-still .pa-hero__item .pa-hero__image { animation-play-state: paused; }
}
@keyframes pa-hero-zoom { from { transform: scale(1); } to { transform: scale(1.03); } }
@media (forced-colors: active) {
    .pa-hero__dot::before { border-color: ButtonText; }
    .pa-hero__dot.is-active::before { background: ButtonText; }
    .pa-hero__arrow, .pa-hero__pause { border: 1px solid; }
}
@media print {
    .pa-hero__controls { display: none; }
    .pa-hero--slides .pa-hero__item { opacity: 1; visibility: visible; }
}

/* Bridge for existing mod_custom content (class names from the former design) inside home sections and the footer. */
.pa-sections .row { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); margin: 0 0 16px; }
.pa-sections .row > * { min-width: 0; padding: 20px; background: var(--pa-surface); border: 1px solid var(--pa-line); border-radius: var(--pa-radius); }
.pa-sections .text-center { text-align: center; }
.pa-sections .mt-5 { margin-top: 24px; }
.pa-sections .mb-3 { margin-bottom: 12px; }
.pa-sections .mb-5 { margin-bottom: 24px; }
.pa-sections i[class*="fa"] { display: none; }
.pa-sections h3, .pa-sections h4 { margin: 0 0 8px; color: var(--pa-blue-dark); }
.pa-sections .btn, .pa-footer .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 20px; border-radius: 12px; background: var(--pa-blue); color: #fff; font-weight: 700; text-decoration: none; }
.pa-sections .btn:hover, .pa-footer .btn:hover { background: var(--pa-blue-dark); color: #fff; }
.pa-sections .alert { padding: 16px 20px; background: var(--pa-sky); border: 1px solid var(--pa-line); border-radius: var(--pa-radius); }

/* TEMPLATE01j: homepage block polish. Scoped to .pa-sections (home modules) and .pa-footer; forms, dashboard and component pages are not touched.
   Layout hooks are structural (existing classes, element order, legacy fa-* icon class names), never translated text or module IDs. */
.pa-sections { padding-bottom: 0; }
.pa-sections > .pa-card { padding: clamp(44px, 6vw, 80px) 0; }
.pa-sections .pa-section__title,
.pa-sections .pa-card__title { margin: 0 0 20px; color: var(--pa-ink); font-size: clamp(1.5rem, 2.6vw, 2rem); font-weight: 600; letter-spacing: -.01em; line-height: 1.25; }
.pa-sections .pa-card__title { margin-bottom: clamp(28px, 4vw, 44px); }
.pa-sections .pa-section__title::after,
.pa-sections .pa-card__title::after { content: ""; display: block; width: 40px; height: 3px; margin: 14px auto 0; border-radius: 3px; background: var(--pa-teal); }
.pa-sections .pa-section__intro { max-width: 62ch; margin-bottom: clamp(24px, 3.5vw, 36px); font-size: 1.0625rem; }
.pa-sections .pa-section__intro p { margin: 0 0 8px; }

/* Buttons in home blocks: same calm look as the hero call to action. */
.pa-sections .btn,
.pa-sections .pa-button { min-height: 48px; padding: 0 28px; border-radius: 12px; font-weight: 500; box-shadow: 0 4px 14px rgba(9, 20, 43, .16); }

/* Feature articles: lightweight (hairline above, no box). */
.pa-sections .pa-features { gap: 24px 32px; }
.pa-sections .pa-feature { padding: 18px 0 0; background: none; border: 0; border-top: 1px solid var(--pa-line); border-radius: 0; }
.pa-sections .pa-feature :is(h2, h3) { color: var(--pa-ink); font-size: 1.0625rem; font-weight: 600; }
.pa-sections .pa-feature p { color: var(--pa-muted); }

/* Section images: rounded, soft shadow. */
.pa-sections .pa-section__image { width: 100%; height: auto; border-radius: 20px; box-shadow: 0 18px 40px rgba(20, 33, 58, .14); }

/* Welcome: image first, then one feature article. Stacked and centred on phones, image-left / text-right from 900px. */
.pa-sections .pa-section--features > .pa-section__image:first-child { max-width: 560px; margin: 0 auto 32px; }
.pa-sections .pa-section--features > .pa-section__image:first-child + .pa-features { display: block; text-align: center; }
.pa-sections .pa-section--features > .pa-section__image:first-child + .pa-features .pa-feature { padding: 0; border: 0; }
.pa-sections .pa-section--features > .pa-section__image:first-child + .pa-features .pa-feature h2 { font-size: clamp(1.75rem, 4.2vw, 2.5rem); line-height: 1.2; letter-spacing: -.015em; }
.pa-sections .pa-section--features > .pa-section__image:first-child + .pa-features .pa-feature p { font-size: 1.125rem; line-height: 1.6; }
.pa-sections .pa-section--features > .pa-section__image:first-child + .pa-features .pa-feature .pa-button { margin-top: 20px; }

/* FAQ (TEMPLATE01m): a features section that starts with its intro (no title, no image) is the question list. Open question rows, one column on phones, two from 720px.
   Structural hook only (first-child intro + features), so welcome, trust, community and chat, which start with a title or image, are untouched. */
.pa-sections .pa-section--features > .pa-section__intro:first-child + .pa-features { grid-template-columns: minmax(0, 1fr); gap: 16px; }
.pa-sections .pa-section--features > .pa-section__intro:first-child + .pa-features > .pa-feature { padding: 22px 0; background: transparent; border: 0; border-top: 1px solid #cbdce5; border-radius: 0; }
.pa-sections .pa-section--features > .pa-section__intro:first-child + .pa-features > .pa-feature :is(h2, h3) { margin-bottom: 8px; line-height: 1.35; }
.pa-sections .pa-section--features > .pa-section__intro:first-child + .pa-features > .pa-feature p { line-height: 1.6; }
@media (min-width: 720px) {
    .pa-sections .pa-section--features > .pa-section__intro:first-child + .pa-features { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}
@supports selector(:has(*)) {
    .pa-sections > .pa-card:has(> .pa-card__body > .mod-custom > .pa-section--features > .pa-section__intro:first-child + .pa-features),
    .pa-sections > .pa-card:has(> .pa-card__body > .pa-section--features > .pa-section__intro:first-child + .pa-features),
    .pa-sections > .pa-card:has(> .pa-section--features > .pa-section__intro:first-child + .pa-features) { background: #f9fafc; }
}

/* Trust and steps: the legacy .row with fa-* icon classes. The icon glyphs are CSS masks drawn here (no icon font, no CDN); unknown icon names stay hidden. */
.pa-sections .row.text-center { gap: 28px 32px; margin: 0; }
.pa-sections .row.text-center > * { padding: 0; background: none; border: 0; border-radius: 0; }
.pa-sections .row.text-center :is(h3, h4) { color: var(--pa-ink); font-size: 1.0625rem; font-weight: 600; }
.pa-sections .row.text-center p { margin: 0; color: var(--pa-muted); }
.pa-sections .row.text-center i:is(.fa-shield-alt, .fa-globe, .fa-heart, .fa-user-plus, .fa-id-card-alt, .fa-comments) {
    display: grid;
    place-items: center;
    flex: none;
    width: 56px;
    height: 56px;
    margin: 0;
    border-radius: 50%;
    background: var(--pa-surface);
    color: var(--pa-blue);
    box-shadow: 0 0 0 1px var(--pa-line);
    font-size: 0;
}
.pa-sections .row.text-center i:is(.fa-shield-alt, .fa-globe, .fa-heart, .fa-user-plus, .fa-id-card-alt, .fa-comments)::before { content: ""; width: 26px; height: 26px; background: currentColor; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; }
.pa-sections .row i.fa-shield-alt::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%203l7%203v5c0%204.5-3%208-7%2010-4-2-7-5.5-7-10V6z'/%3E%3Cpath%20d='M9%2012l2%202%204-4'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%203l7%203v5c0%204.5-3%208-7%2010-4-2-7-5.5-7-10V6z'/%3E%3Cpath%20d='M9%2012l2%202%204-4'/%3E%3C/svg%3E"); }
.pa-sections .row i.fa-globe::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Cpath%20d='M3%2012h18M12%203c3%203%203%2015%200%2018M12%203c-3%203-3%2015%200%2018'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Cpath%20d='M3%2012h18M12%203c3%203%203%2015%200%2018M12%203c-3%203-3%2015%200%2018'/%3E%3C/svg%3E"); }
.pa-sections .row i.fa-heart::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%2020s-7-4.4-7-10a4%204%200%200%201%207-2.6A4%204%200%200%201%2019%2010c0%205.6-7%2010-7%2010z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%2020s-7-4.4-7-10a4%204%200%200%201%207-2.6A4%204%200%200%201%2019%2010c0%205.6-7%2010-7%2010z'/%3E%3C/svg%3E"); }
.pa-sections .row i.fa-user-plus::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='9'%20cy='8'%20r='3.5'/%3E%3Cpath%20d='M2.5%2020c0-3.6%202.9-6%206.5-6s6.5%202.4%206.5%206M19%208v6M16%2011h6'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='9'%20cy='8'%20r='3.5'/%3E%3Cpath%20d='M2.5%2020c0-3.6%202.9-6%206.5-6s6.5%202.4%206.5%206M19%208v6M16%2011h6'/%3E%3C/svg%3E"); }
.pa-sections .row i.fa-id-card-alt::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3'%20y='5'%20width='18'%20height='14'%20rx='2'/%3E%3Ccircle%20cx='9'%20cy='11'%20r='2'/%3E%3Cpath%20d='M5.5%2016c.5-1.7%201.8-2.5%203.5-2.5s3%20.8%203.5%202.5M15%2010h3M15%2014h3'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3'%20y='5'%20width='18'%20height='14'%20rx='2'/%3E%3Ccircle%20cx='9'%20cy='11'%20r='2'/%3E%3Cpath%20d='M5.5%2016c.5-1.7%201.8-2.5%203.5-2.5s3%20.8%203.5%202.5M15%2010h3M15%2014h3'/%3E%3C/svg%3E"); }
.pa-sections .row i.fa-comments::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4%205h12a2%202%200%200%201%202%202v6a2%202%200%200%201-2%202H9l-4%203v-3H4a2%202%200%200%201-2-2V7a2%202%200%200%201%202-2z'/%3E%3Cpath%20d='M20%209a2%202%200%200%201%202%202v6l-2-1.5'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4%205h12a2%202%200%200%201%202%202v6a2%202%200%200%201-2%202H9l-4%203v-3H4a2%202%200%200%201-2-2V7a2%202%200%200%201%202-2z'/%3E%3Cpath%20d='M20%209a2%202%200%200%201%202%202v6l-2-1.5'/%3E%3C/svg%3E"); }
/* Trust: icon beside the text, three columns, no boxes. */
.pa-sections .row.text-center > * { display: grid; grid-template-columns: 56px minmax(0, 1fr); column-gap: 16px; align-items: start; text-align: left; }
.pa-sections .row.text-center > * > i { grid-row: 1 / span 2; }
.pa-sections .row.text-center > * > :is(h3, h4) { margin: 4px 0 4px; }
.pa-sections .row.text-center > * > p { grid-column: 2; }
.pa-sections .row.text-center > *:not(:has(> i:is(.fa-shield-alt, .fa-globe, .fa-heart, .fa-user-plus, .fa-id-card-alt, .fa-comments))) { display: block; text-align: center; }
/* Steps (the row that follows a card title): tinted solid icon discs; on wide screens centred columns joined by a dashed line. */
.pa-sections .pa-card__title + .pa-card__body .row.text-center i:is(.fa-shield-alt, .fa-globe, .fa-heart, .fa-user-plus, .fa-id-card-alt, .fa-comments) { background: var(--pa-blue); color: #fff; box-shadow: none; }
@media (min-width: 720px) {
    .pa-sections .pa-card__title + .pa-card__body .row.text-center { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pa-sections .pa-card__title + .pa-card__body .row.text-center > * { position: relative; display: block; text-align: center; }
    .pa-sections .pa-card__title + .pa-card__body .row.text-center > * > i { margin: 0 auto 16px; }
    .pa-sections .pa-card__title + .pa-card__body .row.text-center > *:not(:last-child)::after { content: ""; position: absolute; top: 28px; left: calc(50% + 44px); width: calc(100% - 88px + 32px); border-top: 2px dashed var(--pa-line); }
}
@media (forced-colors: active) {
    .pa-sections .row.text-center i::before { background: CanvasText; }
    .pa-sections .row.text-center > *::after { border-color: CanvasText; }
}

/* Testimonials retain readable surfaces with a restrained brand accent. */
.pa-sections .pa-quote { padding: 24px; border: 1px solid var(--pa-line); border-top: 3px solid var(--pa-teal); border-radius: 8px; box-shadow: none; }
.pa-sections .pa-quote figcaption { font-weight: 500; }

/* Notice (checklist): narrower and calmer. */
.pa-sections .alert { max-width: 820px; margin-left: auto; margin-right: auto; text-align: center; }
.pa-sections .alert :is(h3, h4) { font-weight: 600; }

/* Community and chat: titled section with image. Text column and image column, mirrored for the second one, from 900px. */
@media (min-width: 900px) {
    @supports selector(:has(*)) {
        .pa-sections .pa-section--features:has(> .pa-section__image:first-child) {
            display: grid;
            grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
            gap: 0 clamp(40px, 6vw, 80px);
            align-items: center;
        }
        .pa-sections .pa-section--features > .pa-section__image:first-child { max-width: none; margin: 0; }
        .pa-sections .pa-section--features > .pa-section__image:first-child + .pa-features { text-align: left; }

        .pa-sections .pa-section--features:has(> .pa-section__title ~ .pa-section__image) {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
            grid-template-areas: "title image" "intro image" "features image";
            align-content: center;
            gap: 0 clamp(40px, 6vw, 80px);
        }
        .pa-sections .pa-section--features > .pa-section__title ~ .pa-section__image { grid-area: image; align-self: center; margin: 0; }
        .pa-sections .pa-section--features:has(> .pa-section__title ~ .pa-section__image) > .pa-section__title { grid-area: title; text-align: left; }
        .pa-sections .pa-section--features:has(> .pa-section__title ~ .pa-section__image) > .pa-section__title::after { margin-left: 0; }
        .pa-sections .pa-section--features:has(> .pa-section__title ~ .pa-section__image) > .pa-section__intro { grid-area: intro; margin-left: 0; text-align: left; }
        .pa-sections .pa-section--features:has(> .pa-section__title ~ .pa-section__image) > .pa-features { grid-area: features; grid-template-columns: minmax(0, 1fr); gap: 0; }
        .pa-sections .pa-section--features:has(> .pa-section__title ~ .pa-section__image) .pa-feature { padding: 16px 0; }
        .pa-sections .pa-section--features:has(> .pa-section__title ~ .pa-section__image) .pa-feature:last-child { padding-bottom: 0; }
        .pa-sections > .pa-card:has(.pa-section--features > .pa-section__title ~ .pa-section__image) ~ .pa-card:has(.pa-section--features > .pa-section__title ~ .pa-section__image) .pa-section--features {
            grid-template-areas: "image title" "image intro" "image features";
        }
    }
}
/* Phones and no :has(): title, intro, image, features in order, image kept in proportion. */
@media (max-width: 899.98px) {
    .pa-sections .pa-section--features > .pa-section__title ~ .pa-section__image { max-width: 640px; margin: 0 auto 28px; }
}

/* TEMPLATE01k: footer as on production. Light #f5f6fa band, four airy columns, uppercase headings with a short teal rule, white connect strip (caption left, dark store button and round social icons right), centred wrapping legal row and compact copyright.
   Brand icons are local CSS masks keyed by the language-independent fa-* classes (no icon font, no CDN); TikTok is the inline SVG already in the markup. Accessible names stay on the links (aria-label); the .sr-only text is hidden again. */
.pa-footer { --pa-footer-ink: #14213a; --pa-footer-text: #3f4a5e; margin-top: 0; padding: clamp(40px, 5vw, 64px) 0 8px; background: #f5f6fa; color: var(--pa-footer-text); }
.pa-footer__legacy { display: grid; gap: 36px 40px; grid-template-columns: minmax(0, 1fr); }
.pa-footer a { display: inline-block; min-height: 24px; color: var(--pa-footer-text); text-decoration: none; text-underline-offset: .2em; }
.pa-footer a:hover { color: var(--pa-blue-dark); text-decoration: underline; }
.pa-footer ul { margin: 0; padding: 0; list-style: none; }
.pa-footer li + li { margin-top: 8px; }
.pa-footer .pa-card__title { margin: 0 0 18px; color: var(--pa-footer-ink); font-size: .8125rem; font-weight: 600; letter-spacing: .08em; line-height: 1.3; text-transform: uppercase; }
.pa-footer .pa-card__title::after { content: ""; display: block; width: 32px; height: 2px; margin-top: 10px; background: var(--pa-teal); }
.pa-footer__legal { grid-column: 1 / -1; margin-top: 8px; padding-top: 12px; }
.pa-footer .sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; }
.pa-footer-connect { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; margin: 0 0 28px; padding: 16px 20px; border: 1px solid var(--pa-line); border-radius: 14px; background: #fff; }
.pa-footer-connect-title { margin: 0; color: var(--pa-footer-ink); font-weight: 500; }
.pa-footer-connect-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 12px 20px; }
.pa-footer-social-links { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.pa-footer-social-label { color: var(--pa-muted); font-size: .875rem; white-space: nowrap; }
.pa-footer .pa-footer-play-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 16px; border-radius: 10px; background: var(--pa-footer-ink); color: #fff; font-size: .9375rem; font-weight: 500; white-space: nowrap; }
.pa-footer .pa-footer-play-link:hover { background: #000; color: #fff; text-decoration: none; }
.pa-footer .pa-footer-social-link { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; min-height: 44px; border: 1px solid #c9d3e0; border-radius: 50%; background: #fff; color: var(--pa-footer-text); }
.pa-footer .pa-footer-social-link:hover { border-color: var(--pa-blue); background: var(--pa-sky); color: var(--pa-blue-dark); text-decoration: none; }
.pa-footer-connect .fa { display: inline-block; flex: none; width: 20px; height: 20px; background: currentColor; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; }
.pa-footer-connect .pa-footer-play-link .fa { width: 22px; height: 22px; }
.pa-footer-social-link svg { display: block; width: 18px; height: 18px; }
.pa-footer-connect .fa-android { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='black'%3E%3Cpath%20fill-rule='evenodd'%20d='M5.5%209.5a6.5%206.5%200%200%201%2013%200zM8.6%207a.9.9%200%201%200%201.8%200%20.9.9%200%201%200-1.8%200zM13.6%207a.9.9%200%201%200%201.8%200%20.9.9%200%201%200-1.8%200z'/%3E%3Cpath%20d='M5.5%2010.5h13V17a2%202%200%200%201-2%202h-9a2%202%200%200%201-2-2z'/%3E%3Crect%20x='8.5'%20y='17.5'%20width='2.2'%20height='4'%20rx='1.1'/%3E%3Crect%20x='13.3'%20y='17.5'%20width='2.2'%20height='4'%20rx='1.1'/%3E%3Crect%20x='2.3'%20y='10.5'%20width='2.2'%20height='6.5'%20rx='1.1'/%3E%3Crect%20x='19.5'%20y='10.5'%20width='2.2'%20height='6.5'%20rx='1.1'/%3E%3Cpath%20d='M7.5%203.2l1.4%202.2M16.5%203.2l-1.4%202.2'%20fill='none'%20stroke='black'%20stroke-width='1.2'%20stroke-linecap='round'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='black'%3E%3Cpath%20fill-rule='evenodd'%20d='M5.5%209.5a6.5%206.5%200%200%201%2013%200zM8.6%207a.9.9%200%201%200%201.8%200%20.9.9%200%201%200-1.8%200zM13.6%207a.9.9%200%201%200%201.8%200%20.9.9%200%201%200-1.8%200z'/%3E%3Cpath%20d='M5.5%2010.5h13V17a2%202%200%200%201-2%202h-9a2%202%200%200%201-2-2z'/%3E%3Crect%20x='8.5'%20y='17.5'%20width='2.2'%20height='4'%20rx='1.1'/%3E%3Crect%20x='13.3'%20y='17.5'%20width='2.2'%20height='4'%20rx='1.1'/%3E%3Crect%20x='2.3'%20y='10.5'%20width='2.2'%20height='6.5'%20rx='1.1'/%3E%3Crect%20x='19.5'%20y='10.5'%20width='2.2'%20height='6.5'%20rx='1.1'/%3E%3Cpath%20d='M7.5%203.2l1.4%202.2M16.5%203.2l-1.4%202.2'%20fill='none'%20stroke='black'%20stroke-width='1.2'%20stroke-linecap='round'/%3E%3C/svg%3E"); }
.pa-footer-connect .fa-apple { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='black'%3E%3Cpath%20d='M16.4%2012.7c0-2.2%201.8-3.2%201.9-3.3-1-1.5-2.6-1.7-3.2-1.7-1.4-.1-2.6.8-3.3.8s-1.7-.8-2.8-.8c-1.5%200-2.8.8-3.6%202.1-1.6%202.8-.4%206.9%201.2%209.2.8%201.1%201.7%202.3%202.9%202.3%201.1%200%201.6-.7%203-.7s1.8.7%203%20.7%202-1.1%202.8-2.2c.9-1.3%201.2-2.5%201.3-2.6-.1%200-2.4-.9-2.4-3.8zM14.5%205.8c.6-.8%201.1-1.8.9-2.8-.9%200-2%20.6-2.6%201.4-.6.7-1.1%201.7-.9%202.7%201%20.1%202-.5%202.6-1.3z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='black'%3E%3Cpath%20d='M16.4%2012.7c0-2.2%201.8-3.2%201.9-3.3-1-1.5-2.6-1.7-3.2-1.7-1.4-.1-2.6.8-3.3.8s-1.7-.8-2.8-.8c-1.5%200-2.8.8-3.6%202.1-1.6%202.8-.4%206.9%201.2%209.2.8%201.1%201.7%202.3%202.9%202.3%201.1%200%201.6-.7%203-.7s1.8.7%203%20.7%202-1.1%202.8-2.2c.9-1.3%201.2-2.5%201.3-2.6-.1%200-2.4-.9-2.4-3.8zM14.5%205.8c.6-.8%201.1-1.8.9-2.8-.9%200-2%20.6-2.6%201.4-.6.7-1.1%201.7-.9%202.7%201%20.1%202-.5%202.6-1.3z'/%3E%3C/svg%3E"); }
.pa-footer-connect .fa-instagram { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.9'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3.5'%20y='3.5'%20width='17'%20height='17'%20rx='5'/%3E%3Ccircle%20cx='12'%20cy='12'%20r='4'/%3E%3Ccircle%20cx='17.2'%20cy='6.8'%20r='.6'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.9'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3.5'%20y='3.5'%20width='17'%20height='17'%20rx='5'/%3E%3Ccircle%20cx='12'%20cy='12'%20r='4'/%3E%3Ccircle%20cx='17.2'%20cy='6.8'%20r='.6'/%3E%3C/svg%3E"); }
.pa-footer-connect .fa-facebook { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='black'%3E%3Cpath%20d='M13.6%2021v-7.5h2.5l.5-3.1h-3V8.7c0-.9.4-1.6%201.7-1.6h1.4V4.4c-.3%200-1.3-.2-2.3-.2-2.5%200-4%201.5-4%204.1v2.1H7.8v3.1h2.6V21z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='black'%3E%3Cpath%20d='M13.6%2021v-7.5h2.5l.5-3.1h-3V8.7c0-.9.4-1.6%201.7-1.6h1.4V4.4c-.3%200-1.3-.2-2.3-.2-2.5%200-4%201.5-4%204.1v2.1H7.8v3.1h2.6V21z'/%3E%3C/svg%3E"); }
.pa-footer-connect .fa-linkedin { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='black'%3E%3Crect%20x='4'%20y='9.5'%20width='3.5'%20height='10.5'/%3E%3Ccircle%20cx='5.75'%20cy='5.7'%20r='2'/%3E%3Cpath%20d='M10%209.5h3.4v1.5c.6-1%201.8-1.7%203.4-1.7%203%200%203.7%202%203.7%204.6V20H17v-5.4c0-1.3%200-2.6-1.6-2.6s-2%201.2-2%202.5V20H10z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='black'%3E%3Crect%20x='4'%20y='9.5'%20width='3.5'%20height='10.5'/%3E%3Ccircle%20cx='5.75'%20cy='5.7'%20r='2'/%3E%3Cpath%20d='M10%209.5h3.4v1.5c.6-1%201.8-1.7%203.4-1.7%203%200%203.7%202%203.7%204.6V20H17v-5.4c0-1.3%200-2.6-1.6-2.6s-2%201.2-2%202.5V20H10z'/%3E%3C/svg%3E"); }
.pa-footer-connect .fa-youtube { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='black'%3E%3Cpath%20fill-rule='evenodd'%20d='M21.6%207.2a2.5%202.5%200%200%200-1.8-1.8C18.2%205%2012%205%2012%205s-6.2%200-7.8.4A2.5%202.5%200%200%200%202.4%207.2C2%208.8%202%2012%202%2012s0%203.2.4%204.8a2.5%202.5%200%200%200%201.8%201.8C5.8%2019%2012%2019%2012%2019s6.2%200%207.8-.4a2.5%202.5%200%200%200%201.8-1.8c.4-1.6.4-4.8.4-4.8s0-3.2-.4-4.8zM10%2015V9l5.2%203z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='black'%3E%3Cpath%20fill-rule='evenodd'%20d='M21.6%207.2a2.5%202.5%200%200%200-1.8-1.8C18.2%205%2012%205%2012%205s-6.2%200-7.8.4A2.5%202.5%200%200%200%202.4%207.2C2%208.8%202%2012%202%2012s0%203.2.4%204.8a2.5%202.5%200%200%200%201.8%201.8C5.8%2019%2012%2019%2012%2019s6.2%200%207.8-.4a2.5%202.5%200%200%200%201.8-1.8c.4-1.6.4-4.8.4-4.8s0-3.2-.4-4.8zM10%2015V9l5.2%203z'/%3E%3C/svg%3E"); }
/* Runtime DOM: .pa-footer__legal > div.mod-custom > section.pa-footer-connect + ul.footer-legal-links + p (copyright, inline text-align) + empty NBSP paragraphs. Selectors are scoped to the class names, not to direct children of the wrapper. */
.pa-footer .footer-legal-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 28px; margin: 0 0 12px; padding: 20px 0 0; border-top: 1px solid var(--pa-line); }
.pa-footer .footer-legal-links li, .pa-footer .footer-legal-links li + li { margin: 0; }
.pa-footer .footer-legal-links a { padding: 11px 0; font-size: .875rem; }
.pa-footer__legal > p, .pa-footer__legal .mod-custom > p { margin: 0; color: var(--pa-muted); font-size: .8125rem; line-height: 1.5; text-align: center; }
.pa-footer__legal > p a, .pa-footer__legal .mod-custom > p a { padding: 0; text-decoration: underline; }
.pa-footer-line { padding-top: 16px; color: var(--pa-muted); font-size: .8125rem; text-align: center; }
.pa-footer-line a { color: var(--pa-footer-text); text-decoration: underline; }
@media (min-width: 600px) {
    .pa-footer__legacy { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 960px) {
    .pa-footer__legacy { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 719.98px) {
    .pa-footer-connect { padding: 16px; }
    .pa-footer-connect-actions { justify-content: flex-start; }
    .pa-footer-social-links { gap: 8px; }
    .pa-footer-social-label { flex-basis: 100%; }
}
@media (forced-colors: active) {
    .pa-footer-connect .fa { background: CanvasText; }
    .pa-footer .pa-footer-play-link .fa { background: ButtonText; }
}

/* Component buttons and legacy icon classes without an icon font: the icon is a CSS mask, the accessible name comes from aria-label in the markup. */
.pa-main .btn,
.pa-main input[type="submit"].btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 44px;
    min-width: 44px;
    padding: 0 16px;
    border: 2px solid var(--pa-blue);
    border-radius: 12px;
    background: var(--pa-surface);
    color: var(--pa-blue-dark);
    font: inherit;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}
.pa-main .btn:hover { background: var(--pa-sky); }
.pa-main .btn-primary, .pa-main input[type="submit"].btn-primary { background: var(--pa-blue); color: #fff; }
.pa-main .btn-primary:hover, .pa-main input[type="submit"].btn-primary:hover { background: var(--pa-blue-dark); color: #fff; }
.pa-main .btn-outline-danger { border-color: var(--pa-error); color: var(--pa-error); }
/* Grid children must shrink below their min-content width on small phones. */
.pa-main .pa-list-layout > * { min-width: 0; }
.pa-main .input-group { display: flex; align-items: stretch; gap: 8px; }
.pa-main .input-group > .form-control { flex: 1 1 auto; min-width: 0; }
.pa-main i.icon-search,
.pa-main i.icon-remove {
    display: inline-block;
    width: 1.25em;
    height: 1.25em;
    background: currentColor;
    -webkit-mask: var(--pa-icon) center / contain no-repeat;
    mask: var(--pa-icon) center / contain no-repeat;
}
.pa-main i.icon-search { --pa-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5L21 21'/%3E%3C/svg%3E"); }
.pa-main i.icon-remove { --pa-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M5 5L19 19M19 5L5 19'/%3E%3C/svg%3E"); }
@media (forced-colors: active) {
    .pa-main i.icon-search, .pa-main i.icon-remove { background: CanvasText; }
}

/* Error and offline pages */
.pa-error__box { max-width: 560px; margin: 8vh auto; padding: 24px; background: var(--pa-surface); border: 1px solid var(--pa-line); border-radius: var(--pa-radius); text-align: center; }
.pa-error__logo { max-width: 200px; }
.pa-error__code { margin: 0; color: var(--pa-muted); font-size: 2rem; font-weight: 700; }
.pa-error__code:empty { display: none; }
.pa-offline__login { text-align: left; }
.pa-offline__login label { display: block; font-weight: 600; margin-bottom: 4px; }
.pa-offline__login input { width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid var(--pa-muted); border-radius: 10px; font: inherit; }

/* Header over the hero (home page): transparent with white text; solid again once scrolled or while the menu is open (class set by navigation.js). */
.pa-js .pa-has-hero .pa-header { position: fixed; top: 0; left: 0; right: 0; }
.pa-js .pa-has-hero .pa-header:not(.is-solid) {
    background: linear-gradient(180deg, rgba(9, 20, 43, .62), rgba(9, 20, 43, 0));
    border-bottom: 0;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
.pa-js .pa-has-hero .pa-header:not(.is-solid) .pa-brand__img--dark { display: none; }
.pa-js .pa-has-hero .pa-header:not(.is-solid) .pa-brand__img--light { display: block; }
.pa-js .pa-has-hero .pa-header:not(.is-solid) :is(.pa-lang__summary, .pa-account__summary, .pa-nav-toggle) {
    background: transparent;
    color: #fff;
}
.pa-js .pa-has-hero .pa-header:not(.is-solid) .pa-nav-toggle { border-color: rgba(255, 255, 255, .55); }
.pa-js .pa-has-hero .pa-header:not(.is-solid) :is(.pa-lang__summary, .pa-account__summary):hover,
.pa-js .pa-has-hero .pa-header:not(.is-solid) :is(.pa-lang[open] > .pa-lang__summary, .pa-account[open] > .pa-account__summary) { background: rgba(255, 255, 255, .14); }

@media (min-width: 1200px) {
    .pa-nav-toggle,
    .pa-js .pa-nav-toggle { display: none; }
    .pa-navwrap,
    .pa-js .pa-navwrap:not(.is-open) { display: block; order: 2; flex: 1 1 0; min-width: 0; padding: 0; background: none; border: 0; border-radius: 0; }
    .pa-header__language { order: 3; }
    .pa-header__user { order: 4; }
    .pa-shell { padding: 32px 24px; }
    .pa-header__inner { flex-wrap: nowrap; gap: 12px; }
    .pa-brand { flex: none; margin-right: 0; }

    .pa-nav > ul { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 0 2px; }
    .pa-nav > ul > li { display: flex; align-items: center; }
    .pa-nav > ul > li > a,
    .pa-nav > ul > li > span { padding: 4px 12px; line-height: 1.25; text-align: center; }
    .pa-nav > ul > li.active > a,
    .pa-nav > ul > li.current > a,
    .pa-nav > ul > li > a[aria-current] { box-shadow: inset 0 -2px 0 var(--pa-teal); border-radius: 6px 6px 0 0; }
    .pa-nav > ul > li > ul li.active > a,
    .pa-nav > ul > li > ul li.current > a { box-shadow: inset 2px 0 0 var(--pa-teal); }
    .pa-nav li.pa-has-toggle > a,
    .pa-nav li.pa-has-toggle > span { padding-right: 2px; }
    .pa-nav > ul > li > .pa-subnav-toggle { position: static; flex: none; width: 32px; }
    .pa-nav > ul > li > ul {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 60;
        min-width: 220px;
        margin: 4px 0 0;
        padding: 6px;
        background: var(--pa-surface);
        border: 1px solid var(--pa-line);
        border-radius: var(--pa-radius);
        box-shadow: 0 12px 32px rgba(20, 33, 58, .16);
    }
    html:not(.pa-js) .pa-nav > ul > li:hover > ul,
    html:not(.pa-js) .pa-nav > ul > li:focus-within > ul,
    .pa-nav > ul > li.is-open > ul { display: block; }
    .pa-nav > ul > li > ul ul { margin-left: 8px; }

    /* Overlay look also without JavaScript on wide screens, where the menu is always inline. */
    .pa-has-hero .pa-header { position: absolute; top: 0; left: 0; right: 0; }
    .pa-js .pa-has-hero .pa-header { position: fixed; }
    .pa-has-hero .pa-header:not(.is-solid) {
        background: linear-gradient(180deg, rgba(9, 20, 43, .62), rgba(9, 20, 43, 0));
        border-bottom: 0;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }
    .pa-has-hero .pa-header:not(.is-solid) .pa-brand__img--dark { display: none; }
    .pa-has-hero .pa-header:not(.is-solid) .pa-brand__img--light { display: block; }
    .pa-has-hero .pa-header:not(.is-solid) :is(.pa-lang__summary, .pa-account__summary) {
        background: transparent;
        color: #fff;
    }
    .pa-has-hero .pa-header:not(.is-solid) :is(.pa-lang__summary, .pa-account__summary):hover,
    .pa-has-hero .pa-header:not(.is-solid) :is(.pa-lang[open] > .pa-lang__summary, .pa-account[open] > .pa-account__summary) { background: rgba(255, 255, 255, .14); }
    .pa-has-hero .pa-header:not(.is-solid) .pa-nav > ul > li > a,
    .pa-has-hero .pa-header:not(.is-solid) .pa-nav > ul > li > span,
    .pa-has-hero .pa-header:not(.is-solid) .pa-subnav-toggle { color: #fff; text-shadow: 0 1px 6px rgba(0, 0, 0, .4); }
    .pa-has-hero .pa-header:not(.is-solid) .pa-nav > ul > li > a:hover,
    .pa-has-hero .pa-header:not(.is-solid) .pa-subnav-toggle:hover { background: rgba(255, 255, 255, .12); color: #fff; }
    .pa-has-hero .pa-header:not(.is-solid) .pa-nav li.active > a,
    .pa-has-hero .pa-header:not(.is-solid) .pa-nav li.current > a,
    .pa-has-hero .pa-header:not(.is-solid) .pa-nav > ul > li > a[aria-current] { background: none; color: #fff; box-shadow: inset 0 -2px 0 rgba(255, 255, 255, .9); }
    .pa-has-hero .pa-header:not(.is-solid) .pa-nav li ul a { color: var(--pa-ink); text-shadow: none; }

    .pa-shell--sidebar { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; align-items: start; }
    .pa-shell--sidebar .pa-sidebar { margin-top: 0; }
}

@media (min-width: 1200px) and (max-width: 1339.98px) {
    .pa-nav > ul > li > a,
    .pa-nav > ul > li > span { padding: 4px 9px; font-size: .9375rem; }
}

@media (max-width: 719.98px) {
    .pa-brand img { height: 34px; }
}

@media (prefers-reduced-motion: no-preference) {
    .pa-nav li a, .pa-button, .pa-nav-toggle { transition: background-color .15s ease, color .15s ease; }
}

@media (prefers-reduced-transparency: reduce) {
    .pa-header { background: var(--pa-surface); -webkit-backdrop-filter: none; backdrop-filter: none; }
}

@media (forced-colors: active) {
    .pa-nav li.active > a, .pa-nav a[aria-current], .pa-lang__link[aria-current] { outline: 2px solid; }
    .pa-nav-toggle, .pa-button, .pa-subnav-toggle { border: 2px solid; }
}

@media print {
    .pa-header, .pa-navwrap, .pa-skip { display: none; }
    .pa-has-hero .pa-hero__item:first-child { padding-top: 48px; }
}

/* Compact language list: anchor to the full header on narrow screens, not the small language button. */
@media (max-width: 719.98px) {
    .pa-lang-module, .pa-lang { position: static; }
    .pa-lang .pa-lang__list { top: 100%; left: 16px; right: 16px; width: auto; min-width: 0; max-width: none; }
}

/* Decorative flags; accessible language names remain on summary and links. */
.pa-lang__flag { display: inline-block; flex: 0 0 auto; font-size: 1.25rem; line-height: 1.2; }

/* Homepage refinement: compact production-like steps and a light checklist band. */
.pa-sections > .pa-card:has(.row > * > .fa-user-plus) { background: #f3f9fb; }
.pa-sections .row.text-center:has(.fa-user-plus) > * { display: block; text-align: center; }
.pa-sections .row.text-center:has(.fa-user-plus) > *::after { display: none; }
.pa-sections .pa-card__title + .pa-card__body .row.text-center:has(.fa-user-plus) > * > i {
    width: 52px; height: 52px; margin: 0 auto 14px;
    background: transparent; color: var(--pa-blue); box-shadow: none;
}
.pa-sections .row.text-center:has(.fa-user-plus) > * > i::before { width: 40px; height: 40px; }
.pa-sections .row.text-center:has(.fa-user-plus) h4 { margin: 0 0 8px; font-size: 1.125rem; }
.pa-sections .row.text-center:has(.fa-user-plus) p { max-width: 34ch; margin: 0 auto; line-height: 1.6; }
.pa-sections .pa-checklist-notice {
    max-width: none; display: grid; gap: 12px;
    padding: clamp(24px, 3.5vw, 40px); margin: 0;
    background: #e9f5f8; color: var(--pa-ink);
    border: 1px solid #cce3ea; border-radius: 16px; text-align: left;
}
.pa-sections .pa-checklist-notice h3 {
    margin: 0; color: var(--pa-blue-dark);
    font-size: clamp(1.4rem, 2.4vw, 1.8rem); line-height: 1.3;
}
.pa-sections .pa-checklist-notice p { margin: 0; color: var(--pa-muted); max-width: 56ch; line-height: 1.6; }
.pa-sections .pa-checklist-notice .btn {
    background: var(--pa-blue); color: #fff; box-shadow: none;
    border-radius: 10px; padding: 12px 24px; text-align: center; line-height: 1.4;
}
.pa-sections .pa-checklist-notice .btn:hover { background: var(--pa-blue-dark); }
@media (min-width: 900px) {
    .pa-sections .pa-checklist-notice { grid-template-columns: minmax(0, 1fr) auto; column-gap: 32px; }
    .pa-sections .pa-checklist-notice h3 { grid-column: 1; }
    .pa-sections .pa-checklist-notice p:last-child { grid-column: 2; grid-row: 1 / span 2; align-self: center; max-width: 24ch; }
}

/* HOME20 release presentation: audience hook entry paths and the key-feature section. Scoped to .pa-sections; structural hooks only
   (.pa-entry-paths, .pa-section--keyfeatures, .pa-keyicon), never translated text or module IDs. Icons are CSS masks (no icon font, no CDN). */
.pa-sections .pa-entry-paths { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 24px; }
.pa-sections .pa-section--features > .pa-section__image:first-child + .pa-features .pa-feature .pa-entry-paths .pa-button { margin: 0; text-align: center; }
.pa-sections .pa-button--outline { background: #fff; color: var(--pa-blue-dark); border: 1px solid var(--pa-blue); box-shadow: none; }
.pa-sections .pa-button--outline:hover { background: var(--pa-sky); color: var(--pa-blue-dark); }
@media (max-width: 479.98px) {
    .pa-sections .pa-entry-paths { flex-direction: column; align-items: stretch; }
}
.pa-sections .pa-section--keyfeatures { margin: 0 auto clamp(48px, 7vw, 80px); }
.pa-sections .pa-section--keyfeatures .pa-features { grid-template-columns: minmax(0, 1fr); gap: 28px 32px; }
.pa-sections .pa-section--keyfeatures .pa-feature { padding: 0; border: 0; text-align: center; }
.pa-sections .pa-section--keyfeatures .pa-feature h3 { margin: 0 0 8px; }
.pa-sections .pa-keyicon { display: block; width: 44px; height: 44px; margin: 0 auto 14px; background: var(--pa-blue); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; }
.pa-sections .pa-keyicon--video { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3'%20y='6'%20width='13'%20height='12'%20rx='2'/%3E%3Cpath%20d='M16%2010l5-3v10l-5-3z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3'%20y='6'%20width='13'%20height='12'%20rx='2'/%3E%3Cpath%20d='M16%2010l5-3v10l-5-3z'/%3E%3C/svg%3E"); }
.pa-sections .pa-keyicon--calendar { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3'%20y='5'%20width='18'%20height='16'%20rx='2'/%3E%3Cpath%20d='M3%2010h18M8%203v4M16%203v4M8%2015l2%202%204-4'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3'%20y='5'%20width='18'%20height='16'%20rx='2'/%3E%3Cpath%20d='M3%2010h18M8%203v4M16%203v4M8%2015l2%202%204-4'/%3E%3C/svg%3E"); }
.pa-sections .pa-keyicon--time { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Cpath%20d='M12%207v5l3%202'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Cpath%20d='M12%207v5l3%202'/%3E%3C/svg%3E"); }
.pa-sections .pa-keyicon--money { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3'%20y='6'%20width='18'%20height='12'%20rx='2'/%3E%3Ccircle%20cx='12'%20cy='12'%20r='2.5'/%3E%3Cpath%20d='M6.5%2012h.01M17.5%2012h.01'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3'%20y='6'%20width='18'%20height='12'%20rx='2'/%3E%3Ccircle%20cx='12'%20cy='12'%20r='2.5'/%3E%3Cpath%20d='M6.5%2012h.01M17.5%2012h.01'/%3E%3C/svg%3E"); }
@media (min-width: 600px) {
    .pa-sections .pa-section--keyfeatures .pa-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1000px) {
    .pa-sections .pa-section--keyfeatures .pa-features { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (forced-colors: active) {
    .pa-sections .pa-keyicon { background: CanvasText; }
}

/* HOME20: statistics blocks in the same design (Ollama draft, reviewed and gated by Claude). CSS only: numbers, names and descriptions are
   never touched; icons follow the order countries, au pairs, families, matches (Font Awesome Free 6.7.2 solid globe/user/house/handshake, the production icons; icons CC BY 4.0, fonticons.com/license) and only apply to a list of exactly four items. */
.pa-sections .pa-section--stats {
  margin: 0 auto clamp(48px, 7vw, 80px);
}

.pa-sections .pa-stats {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px 32px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.pa-sections .pa-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.pa-sections .pa-stat__value {
  display: block;
  margin: 0 0 8px;
  font-size: clamp(1.75rem, 3.2vw, 2.25rem);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--pa-ink);
}

.pa-sections .pa-stat__name {
  display: block;
  font-size: 1.0625rem;
  font-weight: 600;
  margin: 0 0 4px;
  color: var(--pa-ink);
}

.pa-sections .pa-stat__desc {
  display: block;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--pa-muted);
  margin: 0;
}

.pa-sections .pa-stat::before {
  content: "";
  display: block;
  width: 44px;
  height: 44px;
  margin: 0 auto 14px;
  background: var(--pa-blue);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.pa-sections .pa-stat:first-child:nth-last-child(4)::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3E%3Cpath%20d='M352%20256c0%2022.2-1.2%2043.6-3.3%2064l-185.3%200c-2.2-20.4-3.3-41.8-3.3-64s1.2-43.6%203.3-64l185.3%200c2.2%2020.4%203.3%2041.8%203.3%2064zm28.8-64l123.1%200c5.3%2020.5%208.1%2041.9%208.1%2064s-2.8%2043.5-8.1%2064l-123.1%200c2.1-20.6%203.2-42%203.2-64s-1.1-43.4-3.2-64zm112.6-32l-116.7%200c-10-63.9-29.8-117.4-55.3-151.6c78.3%2020.7%20142%2077.5%20171.9%20151.6zm-149.1%200l-176.6%200c6.1-36.4%2015.5-68.6%2027-94.7c10.5-23.6%2022.2-40.7%2033.5-51.5C239.4%203.2%20248.7%200%20256%200s16.6%203.2%2027.8%2013.8c11.3%2010.8%2023%2027.9%2033.5%2051.5c11.6%2026%2020.9%2058.2%2027%2094.7zm-209%200L18.6%20160C48.6%2085.9%20112.2%2029.1%20190.6%208.4C165.1%2042.6%20145.3%2096.1%20135.3%20160zM8.1%20192l123.1%200c-2.1%2020.6-3.2%2042-3.2%2064s1.1%2043.4%203.2%2064L8.1%20320C2.8%20299.5%200%20278.1%200%20256s2.8-43.5%208.1-64zM194.7%20446.6c-11.6-26-20.9-58.2-27-94.6l176.6%200c-6.1%2036.4-15.5%2068.6-27%2094.6c-10.5%2023.6-22.2%2040.7-33.5%2051.5C272.6%20508.8%20263.3%20512%20256%20512s-16.6-3.2-27.8-13.8c-11.3-10.8-23-27.9-33.5-51.5zM135.3%20352c10%2063.9%2029.8%20117.4%2055.3%20151.6C112.2%20482.9%2048.6%20426.1%2018.6%20352l116.7%200zm358.1%200c-30%2074.1-93.6%20130.9-171.9%20151.6c25.5-34.2%2045.2-87.7%2055.3-151.6l116.7%200z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3E%3Cpath%20d='M352%20256c0%2022.2-1.2%2043.6-3.3%2064l-185.3%200c-2.2-20.4-3.3-41.8-3.3-64s1.2-43.6%203.3-64l185.3%200c2.2%2020.4%203.3%2041.8%203.3%2064zm28.8-64l123.1%200c5.3%2020.5%208.1%2041.9%208.1%2064s-2.8%2043.5-8.1%2064l-123.1%200c2.1-20.6%203.2-42%203.2-64s-1.1-43.4-3.2-64zm112.6-32l-116.7%200c-10-63.9-29.8-117.4-55.3-151.6c78.3%2020.7%20142%2077.5%20171.9%20151.6zm-149.1%200l-176.6%200c6.1-36.4%2015.5-68.6%2027-94.7c10.5-23.6%2022.2-40.7%2033.5-51.5C239.4%203.2%20248.7%200%20256%200s16.6%203.2%2027.8%2013.8c11.3%2010.8%2023%2027.9%2033.5%2051.5c11.6%2026%2020.9%2058.2%2027%2094.7zm-209%200L18.6%20160C48.6%2085.9%20112.2%2029.1%20190.6%208.4C165.1%2042.6%20145.3%2096.1%20135.3%20160zM8.1%20192l123.1%200c-2.1%2020.6-3.2%2042-3.2%2064s1.1%2043.4%203.2%2064L8.1%20320C2.8%20299.5%200%20278.1%200%20256s2.8-43.5%208.1-64zM194.7%20446.6c-11.6-26-20.9-58.2-27-94.6l176.6%200c-6.1%2036.4-15.5%2068.6-27%2094.6c-10.5%2023.6-22.2%2040.7-33.5%2051.5C272.6%20508.8%20263.3%20512%20256%20512s-16.6-3.2-27.8-13.8c-11.3-10.8-23-27.9-33.5-51.5zM135.3%20352c10%2063.9%2029.8%20117.4%2055.3%20151.6C112.2%20482.9%2048.6%20426.1%2018.6%20352l116.7%200zm358.1%200c-30%2074.1-93.6%20130.9-171.9%20151.6c25.5-34.2%2045.2-87.7%2055.3-151.6l116.7%200z'/%3E%3C/svg%3E");
}

.pa-sections .pa-stat:first-child:nth-last-child(4) + .pa-stat::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20448%20512'%3E%3Cpath%20d='M224%20256A128%20128%200%201%200%20224%200a128%20128%200%201%200%200%20256zm-45.7%2048C79.8%20304%200%20383.8%200%20482.3C0%20498.7%2013.3%20512%2029.7%20512l388.6%200c16.4%200%2029.7-13.3%2029.7-29.7C448%20383.8%20368.2%20304%20269.7%20304l-91.4%200z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20448%20512'%3E%3Cpath%20d='M224%20256A128%20128%200%201%200%20224%200a128%20128%200%201%200%200%20256zm-45.7%2048C79.8%20304%200%20383.8%200%20482.3C0%20498.7%2013.3%20512%2029.7%20512l388.6%200c16.4%200%2029.7-13.3%2029.7-29.7C448%20383.8%20368.2%20304%20269.7%20304l-91.4%200z'/%3E%3C/svg%3E");
}

.pa-sections .pa-stat:first-child:nth-last-child(4) + .pa-stat + .pa-stat::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20576%20512'%3E%3Cpath%20d='M575.8%20255.5c0%2018-15%2032.1-32%2032.1l-32%200%20.7%20160.2c0%202.7-.2%205.4-.5%208.1l0%2016.2c0%2022.1-17.9%2040-40%2040l-16%200c-1.1%200-2.2%200-3.3-.1c-1.4%20.1-2.8%20.1-4.2%20.1L416%20512l-24%200c-22.1%200-40-17.9-40-40l0-24%200-64c0-17.7-14.3-32-32-32l-64%200c-17.7%200-32%2014.3-32%2032l0%2064%200%2024c0%2022.1-17.9%2040-40%2040l-24%200-31.9%200c-1.5%200-3-.1-4.5-.2c-1.2%20.1-2.4%20.2-3.6%20.2l-16%200c-22.1%200-40-17.9-40-40l0-112c0-.9%200-1.9%20.1-2.8l0-69.7-32%200c-18%200-32-14-32-32.1c0-9%203-17%2010-24L266.4%208c7-7%2015-8%2022-8s15%202%2021%207L564.8%20231.5c8%207%2012%2015%2011%2024z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20576%20512'%3E%3Cpath%20d='M575.8%20255.5c0%2018-15%2032.1-32%2032.1l-32%200%20.7%20160.2c0%202.7-.2%205.4-.5%208.1l0%2016.2c0%2022.1-17.9%2040-40%2040l-16%200c-1.1%200-2.2%200-3.3-.1c-1.4%20.1-2.8%20.1-4.2%20.1L416%20512l-24%200c-22.1%200-40-17.9-40-40l0-24%200-64c0-17.7-14.3-32-32-32l-64%200c-17.7%200-32%2014.3-32%2032l0%2064%200%2024c0%2022.1-17.9%2040-40%2040l-24%200-31.9%200c-1.5%200-3-.1-4.5-.2c-1.2%20.1-2.4%20.2-3.6%20.2l-16%200c-22.1%200-40-17.9-40-40l0-112c0-.9%200-1.9%20.1-2.8l0-69.7-32%200c-18%200-32-14-32-32.1c0-9%203-17%2010-24L266.4%208c7-7%2015-8%2022-8s15%202%2021%207L564.8%20231.5c8%207%2012%2015%2011%2024z'/%3E%3C/svg%3E");
}

.pa-sections .pa-stat:first-child:nth-last-child(4) + .pa-stat + .pa-stat + .pa-stat::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20640%20512'%3E%3Cpath%20d='M323.4%2085.2l-96.8%2078.4c-16.1%2013-19.2%2036.4-7%2053.1c12.9%2017.8%2038%2021.3%2055.3%207.8l99.3-77.2c7-5.4%2017-4.2%2022.5%202.8s4.2%2017-2.8%2022.5l-20.9%2016.2L512%20316.8%20512%20128l-.7%200-3.9-2.5L434.8%2079c-15.3-9.8-33.2-15-51.4-15c-21.8%200-43%207.5-60%2021.2zm22.8%20124.4l-51.7%2040.2C263%20274.4%20217.3%20268%20193.7%20235.6c-22.2-30.5-16.6-73.1%2012.7-96.8l83.2-67.3c-11.6-4.9-24.1-7.4-36.8-7.4C234%2064%20215.7%2069.6%20200%2080l-72%2048%200%20224%2028.2%200%2091.4%2083.4c19.6%2017.9%2049.9%2016.5%2067.8-3.1c5.5-6.1%209.2-13.2%2011.1-20.6l17%2015.6c19.5%2017.9%2049.9%2016.6%2067.8-2.9c4.5-4.9%207.8-10.6%209.9-16.5c19.4%2013%2045.8%2010.3%2062.1-7.5c17.9-19.5%2016.6-49.9-2.9-67.8l-134.2-123zM16%20128c-8.8%200-16%207.2-16%2016L0%20352c0%2017.7%2014.3%2032%2032%2032l32%200c17.7%200%2032-14.3%2032-32l0-224-80%200zM48%20320a16%2016%200%201%201%200%2032%2016%2016%200%201%201%200-32zM544%20128l0%20224c0%2017.7%2014.3%2032%2032%2032l32%200c17.7%200%2032-14.3%2032-32l0-208c0-8.8-7.2-16-16-16l-80%200zm32%20208a16%2016%200%201%201%2032%200%2016%2016%200%201%201%20-32%200z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20640%20512'%3E%3Cpath%20d='M323.4%2085.2l-96.8%2078.4c-16.1%2013-19.2%2036.4-7%2053.1c12.9%2017.8%2038%2021.3%2055.3%207.8l99.3-77.2c7-5.4%2017-4.2%2022.5%202.8s4.2%2017-2.8%2022.5l-20.9%2016.2L512%20316.8%20512%20128l-.7%200-3.9-2.5L434.8%2079c-15.3-9.8-33.2-15-51.4-15c-21.8%200-43%207.5-60%2021.2zm22.8%20124.4l-51.7%2040.2C263%20274.4%20217.3%20268%20193.7%20235.6c-22.2-30.5-16.6-73.1%2012.7-96.8l83.2-67.3c-11.6-4.9-24.1-7.4-36.8-7.4C234%2064%20215.7%2069.6%20200%2080l-72%2048%200%20224%2028.2%200%2091.4%2083.4c19.6%2017.9%2049.9%2016.5%2067.8-3.1c5.5-6.1%209.2-13.2%2011.1-20.6l17%2015.6c19.5%2017.9%2049.9%2016.6%2067.8-2.9c4.5-4.9%207.8-10.6%209.9-16.5c19.4%2013%2045.8%2010.3%2062.1-7.5c17.9-19.5%2016.6-49.9-2.9-67.8l-134.2-123zM16%20128c-8.8%200-16%207.2-16%2016L0%20352c0%2017.7%2014.3%2032%2032%2032l32%200c17.7%200%2032-14.3%2032-32l0-224-80%200zM48%20320a16%2016%200%201%201%200%2032%2016%2016%200%201%201%200-32zM544%20128l0%20224c0%2017.7%2014.3%2032%2032%2032l32%200c17.7%200%2032-14.3%2032-32l0-208c0-8.8-7.2-16-16-16l-80%200zm32%20208a16%2016%200%201%201%2032%200%2016%2016%200%201%201%20-32%200z'/%3E%3C/svg%3E");
}

@media (min-width: 480px) {
  .pa-sections .pa-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1000px) {
  .pa-sections .pa-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (forced-colors: active) {
  .pa-sections .pa-stat::before {
    background: CanvasText;
  }
}
