/* Table of contents
/* ------------------------------------------------------------

This is a development CSS file which is built to a minified
production stylesheet in assets/built/screen.css

1. Variables
2. Fonts
3. Resets
4. Globals
5. Layout
6. Navigation
  6.1. Navigation styles
  6.2. Navigation layouts
  6.3. Dropdown menu
  6.4. Mobile menu
7. Card
8. Header
  8.1. Magazine layout
  8.2. Highlight layout
  8.3. Classic layout
9. CTA
10. Featured posts
11. Container
  11.1. With sidebar
  11.2. Without sidebar
12. Post list
  12.1. List style
  12.2. Grid style
  12.3. No image list
13. Sidebar
14. Post/page
  14.1. Article
  14.2. Page template
  14.3. Page without header
15. Content
16. Cards
17. Comments
18. Recent posts
19. Archive
20. Design settings
21. Footer
  21.1. Footer styles
  21.2. Footer bar
  21.3. Footer signup
22. Lightbox

*/

/* 1. Variables
/* ---------------------------------------------------------- */

:root {
    --color-white: #fff;
    --color-lighter-gray: rgb(0 0 0 / 0.05);
    --color-light-gray: #e6e6e6;
    --color-mid-gray: #ccc;
    --color-dark-gray: #444;
    --color-darker-gray: #15171a;
    --color-black: #000;
    --color-primary-text: var(--color-darker-gray);
    --color-secondary-text: rgb(0 0 0 / 0.55);
    --color-border: rgb(0 0 0 / 0.08);
    --color-dark-border: rgb(0 0 0 / 0.55);
    --font-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
    --font-serif: "EB Garamond", Georgia, Times, serif;
    --font-serif-alt: Georgia, Times, serif;
    --font-mono: "JetBrains Mono", Menlo, Consolas, Monaco, "Liberation Mono", "Lucida Console", monospace;
    --container-width: 1320px;
    --container-gap: clamp(24px, 1.7032rem + 1.9355vw, 48px);
    --grid-gap: 42px;
}

:root.has-light-text,
:is(.gh-navigation, .gh-footer).has-accent-color {
    --color-lighter-gray: rgb(255 255 255 / 0.1);
    --color-darker-gray: #fff;
    --color-secondary-text: rgb(255 255 255 / 0.64);
    --color-border: rgb(255 255 255 / 0.15);
    --color-dark-border: rgb(255 255 255 / 0.5);
}

/* 2. Fonts
/* ---------------------------------------------------------- */

/* Fonts are preloaded and defined in default.hbs to avoid layout shift */

/* 3. Resets
/* ---------------------------------------------------------- */

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

* {
    margin: 0;
}

html {
    font-size: 62.5%;
}

body {
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

img, picture, video, canvas, svg {
    display: block;
    height: auto;
    max-width: 100%;
}

iframe {
    display: block;
}

input, button, textarea, select {
    font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
}

h1, h2, h3, h4, h5, h6 {
    line-height: 1.2;
}

/* 4. Globals
/* ---------------------------------------------------------- */

body {
    font-family: var(--gh-font-body, var(--font-sans));
    font-size: 1.6rem;
    background-color: var(--background-color);
    color: var(--color-primary-text);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--gh-font-heading, var(--font-sans));
}

a {
    color: var(--color-darker-gray);
    text-decoration: none;
}

a:hover {
    opacity: 0.8;
}

.gh-button {
    display: inline-flex;
    gap: 0.4em;
    align-items: center;
    justify-content: center;
    padding: 0.8em 1.4em;
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: -0.004em;
    line-height: 1;
    color: var(--color-white);
    cursor: pointer;
    background-color: var(--ghost-accent-color);
    border: 0;
    border-radius: 100px;
}

.gh-button:hover {
    opacity: 0.95;
}

.gh-icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    color: var(--color-darker-gray);
    cursor: pointer;
    background-color: transparent;
    border: 0;
    outline: none;
}

.gh-icon-button:hover :is(svg, span) {
    opacity: 0.8;
}

.gh-icon-button svg {
    width: 20px;
    height: 20px;
}

.gh-form {
    display: flex;
    align-items: center;
    position: relative;
    max-width: 560px;
    width: 100%;
    height: 56px;
    font-size: 1.7rem;
    font-weight: 450;
    letter-spacing: -0.008em;
    border-radius: 40px;
    background-color: var(--color-lighter-gray);
    transition: background-color 0.2s ease;
}

.gh-form.success {
    pointer-events: none;
}

.gh-form.error {
    box-shadow: 0 0 0 1px red;
}

.gh-form:hover {
    background-color: rgb(0 0 0 / 0.065);
}

.has-light-text .gh-form:hover,
.gh-footer.has-accent-color .gh-form:hover {
    background-color: rgb(255 255 255 / 0.15);
}

.gh-form-input {
    position: absolute;
    inset: 0;
    padding-inline: 26px;
    width: 100%;
    height: 100%;
    font-size: inherit;
    letter-spacing: inherit;
    line-height: 1.1;
    border: 0;
    border-radius: 40px;
    background-color: transparent;
    outline: none;
    transition: 0.3s ease-in-out;
}

.gh-form-input::placeholder,
button.gh-form-input {
    color: rgb(0 0 0 / 0.3);
}

:is(.has-serif-title, .has-mono-title):not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .gh-form-input,
body[class*=" gh-font-heading"]:not(.gh-font-heading-fira-sans):not(.gh-font-heading-inter):not(.gh-font-heading-manrope):not(.gh-font-heading-noto-sans):not(.gh-font-heading-nunito):not(.gh-font-heading-poppins):not(.gh-font-heading-roboto):not(.gh-font-heading-space-grotesk) .gh-form-input {
    padding-inline: 20px;
}

.gh-form.gh-form.success .gh-form-input {
    opacity: 0.5;
}

.has-light-text .gh-form-input,
.gh-footer.has-accent-color .gh-form-input {
    color: #fff;
}

.has-light-text .gh-form-input::placeholder,
.has-light-text button.gh-form-input,
.gh-footer.has-accent-color .gh-form-input::placeholder {
    color: rgb(255 255 255 / 0.55);
}

.gh-header.is-classic.has-image .gh-form-input {
    color: #15171a;
}

.gh-header.is-classic.has-image .gh-form-input::placeholder,
.gh-header.is-classic.has-image button.gh-form-input,
.gh-header.is-classic.has-image .gh-form > svg {
    color: rgb(0 0 0 / 0.5);
}

button.gh-form-input {
    padding-inline-start: 56px;
    text-align: left;
    color: var(--color-secondary-text);
    cursor: pointer;
}

:is(.has-serif-title,.has-mono-title):not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) button.gh-form-input,
body[class*=" gh-font-heading"]:not(.gh-font-heading-fira-sans):not(.gh-font-heading-inter):not(.gh-font-heading-manrope):not(.gh-font-heading-noto-sans):not(.gh-font-heading-nunito):not(.gh-font-heading-poppins):not(.gh-font-heading-roboto):not(.gh-font-heading-space-grotesk) button.gh-form-input {
    padding-inline-start: 50px;
}

.gh-form .gh-button {
    position: absolute;
    right: 6px;
    padding-inline: 32px;
    height: 44px;
    font-size: inherit;
}

.gh-form > svg {
    position: relative;
    left: 22px;
    width: 20px;
    height: 20px;
    color: var(--color-secondary-text);
}

:is(.has-serif-title,.has-mono-title):not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .gh-form > svg {
    left: 16px;
}

.gh-form .gh-button svg {
    display: none;
    position: absolute;
    margin-top: 1px;
}

.gh-form:is(.loading, .success) .gh-button span {
    visibility: hidden;
}

.gh-form.loading .gh-button svg:first-of-type {
    display: block;
}

.gh-form.success .gh-button svg:last-of-type {
    display: block;
}

.gh-form [data-members-error] {
    position: absolute;
    top: 100%;
    margin-top: 10px;
    width: 100%;
    font-size: 1.4rem;
    line-height: 1.4;
}

@media (max-width: 576px) {
    .gh-form {
        font-size: 1.6rem;
    }

    .gh-form .gh-button {
        padding-inline: 12px;
    }

    .gh-form .gh-button span span {
        display: none;
    }

    .gh-form .gh-button span svg {
        display: inline;
        position: static;
        margin-top: 2px;
        width: 20px;
        height: 20px;
    }
}

/* 5. Layout
/* ---------------------------------------------------------- */

.gh-viewport {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.gh-outer {
    padding: 0 max(4vmin, 20px);
}

.gh-outer .gh-outer {
    padding: 0;
}

.gh-inner {
    margin: 0 auto;
    max-width: var(--container-width);
    width: 100%;
}

.gh-main {
    flex-grow: 1;
}

.gh-canvas,
.kg-width-full.kg-content-wide {
    --main: min(var(--content-width, 720px), 100% - var(--container-gap) * 2);
    --wide: minmax(0, calc((var(--container-width, 1200px) - var(--content-width, 720px)) / 2));
    --full: minmax(var(--container-gap), 1fr);

    display: grid;
    grid-template-columns:
        [full-start] var(--full)
        [wide-start] var(--wide)
        [main-start] var(--main) [main-end]
        var(--wide) [wide-end]
        var(--full) [full-end];
}

.gh-canvas > * {
    grid-column: main;
}

.kg-width-wide,
.kg-content-wide > div {
    grid-column: wide;
}

.kg-width-full {
    grid-column: full;
}

/* 6. Navigation
/* ---------------------------------------------------------- */

.gh-navigation {
    height: 100px;
    font-size: 1.5rem;
    font-weight: 550;
    background-color: var(--background-color);
    color: var(--color-darker-gray);
}

.gh-navigation :is(.gh-navigation-logo, a:not(.gh-button), .gh-icon-button) {
    color: inherit;
}

.gh-navigation-inner {
    display: grid;
    grid-auto-flow: row dense;
    column-gap: 24px;
    align-items: center;
    height: 100%;
}

.gh-navigation-brand {
    line-height: 1;
}

.gh-navigation-logo {
    position: relative;
    font-family: var(--gh-font-heading, var(--font-sans));
    font-size: calc(2.4rem * var(--factor, 1));
    font-weight: 725;
    letter-spacing: -0.015em;
    white-space: nowrap;
}

.gh-navigation-logo img {
    max-height: 40px;
}

.gh-navigation-menu {
    display: flex;
    gap: 24px;
    align-items: center;
}

.gh-navigation .nav {
    display: inline-flex;
    gap: 28px;
    align-items: center;
    padding: 0;
    margin: 0;
    white-space: nowrap;
    list-style: none;
}

.gh-navigation .gh-more-toggle {
    position: relative;
    margin: 0 -6px;
    font-size: inherit;
    text-transform: inherit;
}

.gh-navigation .gh-more-toggle svg {
    width: 24px;
    height: 24px;
}

.gh-navigation-actions {
    display: flex;
    gap: 24px;
    align-items: center;
    justify-content: flex-end;
    background-color: var(--background-color);
}

.gh-navigation.has-accent-color .gh-navigation-actions {
    background-color: var(--ghost-accent-color);
}

.gh-navigation-members {
    display: flex;
    gap: 20px;
    align-items: center;
    white-space: nowrap;
}

.gh-navigation-members .gh-button {
    font-size: inherit;
    font-weight: 600;
}

.gh-search {
    margin-right: -2px;
    margin-left: -2px;
}

@media (max-width: 767px) {
    .gh-navigation-logo {
        white-space: normal;
    }

    .gh-navigation-members {
        flex-direction: column-reverse;
        gap: 16px;
        width: 100%;
    }

    .gh-navigation-actions .gh-search {
        display: none;
    }
}

@media (min-width: 768px) {
    .gh-navigation-brand .gh-search {
        display: none;
    }

    .gh-navigation:not(.is-dropdown-loaded) .gh-navigation-menu .nav > li {
        opacity: 0;
    }
}

/* 6.1. Navigation styles */

.gh-navigation.has-accent-color {
    background-color: var(--ghost-accent-color);
}

.gh-navigation.has-accent-color .gh-button {
    background-color: #fff;
    color: #15171a;
}

/* 6.2. Navigation layouts */

/*
======================================================================
LOGO   Home About Collection Author Portal             Login Subscribe
======================================================================
*/

.gh-navigation.is-left-logo .gh-navigation-inner {
    grid-template-columns: auto 1fr auto;
}

@media (min-width: 768px) {
    .gh-navigation.is-left-logo .gh-navigation-logo:not(:has(img)) {
        top: -2px;
    }
}

@media (min-width: 992px) {
    .gh-navigation.is-left-logo .gh-navigation-menu {
        margin-right: 100px;
        margin-left: 16px;
    }
}

/*
======================================================================
Home About Collection            LOGO                  Login Subscribe
======================================================================
*/

.gh-navigation.is-middle-logo .gh-navigation-inner {
    grid-template-columns: 1fr auto 1fr;
}

.gh-navigation.is-middle-logo .gh-navigation-brand {
    grid-column-start: 2;
}

.gh-navigation.is-middle-logo .gh-navigation-actions {
    gap: 28px;
}

@media (min-width: 992px) {
    .gh-navigation.is-middle-logo .gh-navigation-menu {
        margin-right: 64px;
    }
}

/*
======================================================================
Search                         LOGO                    Login Subscribe
                 Home About Collection Author Portal
======================================================================
*/

.gh-navigation.is-stacked {
    position: relative;
    height: auto;
}

.gh-navigation.is-stacked .gh-navigation-inner {
    grid-template-columns: 1fr auto 1fr;
}

.gh-navigation.is-stacked .gh-navigation-brand {
    display: flex;
    align-items: center;
    grid-row-start: 1;
    grid-column-start: 2;
    min-height: 80px;
}

@media (max-width: 767px) {
    .gh-navigation.is-stacked .gh-navigation-brand {
        min-height: unset;
    }
}

@media (min-width: 992px) {
    .gh-navigation.is-stacked .gh-navigation-inner {
        padding: 0;
    }

    .gh-navigation.is-stacked .gh-navigation-brand {
        display: flex;
        align-items: center;
        height: 80px;
    }

    .gh-navigation.is-stacked .gh-navigation-menu {
        grid-row-start: 2;
        grid-column: 1 / 4;
        justify-content: center;
        height: 60px;
        margin: 0 48px;
    }

    .gh-navigation.is-stacked .gh-navigation-menu::before,
    .gh-navigation.is-stacked .gh-navigation-menu::after {
        position: absolute;
        top: 80px;
        left: 0;
        width: 100%;
        height: 1px;
        content: "";
        background-color: var(--color-border);
    }

    .gh-navigation.is-stacked .gh-navigation-menu::after {
        top: 140px;
    }

    .gh-navigation.is-stacked .gh-navigation-actions {
        grid-row-start: 1;
        grid-column: 1 / 4;
        justify-content: space-between;
    }

    .gh-navigation.is-stacked .gh-navigation-actions .gh-search {
        display: flex;
        gap: 10px;
        width: auto;
    }
}

/* 6.3. Dropdown menu */

.gh-dropdown {
    position: absolute;
    top: 100%;
    right: -16px;
    z-index: 90;
    width: 200px;
    padding: 12px 0;
    margin-top: 24px;
    text-align: left;
    visibility: hidden;
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 0 0 0 1px rgb(0 0 0 / 0.04), 0 7px 20px -5px rgb(0 0 0 / 0.15);
    opacity: 0;
    transition: opacity 0.3s, transform 0.2s;
    transform: translate3d(0, 6px, 0);
}

.gh-dropdown.is-left {
    right: auto;
    left: -16px;
}

.is-dropdown-mega .gh-dropdown {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-auto-flow: column;
    column-gap: 40px;
    width: auto;
    padding: 20px 32px;
}

.is-dropdown-open .gh-dropdown {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}

.gh-dropdown li a {
    display: block;
    padding: 7px 20px;
    line-height: 1.5;
    white-space: normal;
    color: #15171a !important;
}

.is-dropdown-mega .gh-dropdown li a {
    padding: 8px 0;
}

/* 6.4. Mobile menu */

.gh-burger {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    display: none;
    margin-right: -7px;
    margin-left: 4px;
}

.gh-burger svg {
    width: 24px;
    height: 24px;
}

.gh-burger svg:last-child {
    display: none;
}

.is-open .gh-burger svg:first-child {
    display: none;
}

.is-open .gh-burger svg:last-child {
    display: block;
}

@media (max-width: 767px) {
    .gh-burger {
        display: flex;
    }

    #gh-navigation {
        height: 64px;
    }

    #gh-navigation .gh-navigation-inner {
        grid-template-rows: auto 1fr auto;
        grid-template-columns: 1fr;
        gap: 48px;
    }

    #gh-navigation .gh-navigation-brand {
        display: grid;
        grid-template-columns: 1fr auto auto;
        grid-column-start: 1;
        align-items: center;
        height: 64px;
    }

    #gh-navigation .gh-navigation-logo {
        font-size: 2.2rem;
    }

    #gh-navigation .gh-navigation-menu,
    #gh-navigation .gh-navigation-actions {
        position: fixed;
        justify-content: center;
        visibility: hidden;
        opacity: 0;
    }

    #gh-navigation .gh-navigation-menu {
        transition: none;
        transform: translateY(0);
    }

    #gh-navigation .nav {
        gap: 20px;
        align-items: center;
        line-height: 1.4;
    }

    #gh-navigation .nav a {
        font-size: 1.75rem;
        font-weight: 600;
        text-transform: none;
    }

    #gh-navigation .nav li {
        opacity: 0;
        transform: translateY(-4px);
    }

    #gh-navigation .gh-navigation-actions {
        text-align: center;
    }

    #gh-navigation :is(.gh-button, a[data-portal="signin"]) {
        opacity: 0;
        transform: translateY(8px);
    }

    #gh-navigation .gh-button {
        width: 100%;
        font-size: 1.75rem;
        text-transform: none;
    }

    #gh-navigation a[data-portal="signin"] {
        font-size: 1.75rem;
    }

    #gh-main {
        transition: opacity 0.4s;
    }

    .is-open#gh-navigation {
        position: fixed;
        inset: 0;
        z-index: 3999999;
        height: 100%;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
    }

    .is-open#gh-navigation .gh-navigation-menu,
    .is-open#gh-navigation .gh-navigation-actions {
        position: static;
        visibility: visible;
        opacity: 1;
    }

    .is-open#gh-navigation .nav {
        display: flex;
        flex-direction: column;
    }

    .is-open#gh-navigation .nav li {
        opacity: 1;
        transition: transform 0.2s, opacity 0.2s;
        transform: translateY(0);
    }

    .is-open#gh-navigation .gh-navigation-actions {
        position: sticky;
        right: 0;
        bottom: 0;
        left: 0;
        display: inline-flex;
        flex-direction: column;
        gap: 12px;
        align-items: center;
        padding: var(--container-gap) 0;
    }

    .is-open#gh-navigation :is(.gh-button, a[data-portal="signin"]) {
        opacity: 1;
        transition: transform 0.4s, opacity 0.4s;
        transition-delay: 0.2s;
        transform: translateY(0);
    }

    .is-open#gh-navigation a[data-portal="signin"] {
        transition-delay: 0.4s;
    }

    .is-open#gh-main {
        opacity: 0;
    }
}

/* 7. Card
/* ---------------------------------------------------------- */

.gh-card {
    position: relative;
}

.gh-card-link {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.gh-card-link:hover {
    opacity: 1;
}

.gh-card-image {
    position: relative;
    flex-shrink: 0;
    aspect-ratio: 16 / 9;
}

.gh-card-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gh-card-wrapper {
    flex-grow: 1;
}

.gh-card-tag {
    display: none;
    margin-bottom: 4px;
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    text-transform: uppercase;
}

.gh-card-title {
    font-size: calc(1.9rem * var(--factor, 1));
    font-weight: 725;
    letter-spacing: -0.014em;
    line-height: 1.3;
}

.gh-card-link:hover .gh-card-title {
    opacity: 0.8;
}

.gh-card-excerpt {
    display: -webkit-box;
    overflow-y: hidden;
    margin-top: 8px;
    font-size: 1.45rem;
    line-height: 1.4;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.gh-card-meta {
    align-items: center;
    padding-bottom: 1px;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: -0.004em;
    color: var(--color-secondary-text);
}

.gh-card-meta svg {
    position: relative;
    top: 1px;
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-right: 2px;
}

.gh-card-meta:not(:empty) {
    margin-top: 8px;
}

.gh-card-author + .gh-card-date::before {
    content: "—";
    margin-right: 4px;
}

/* 8. Header
/* ---------------------------------------------------------- */

.gh-header {
    position: relative;
    margin-top: 40px;
}

.gh-header-inner {
    position: relative;
    overflow: hidden;
}

/* 8.1. Magazine layout */

.gh-header.is-magazine .gh-header-inner {
    display: grid;
    grid-template-columns: repeat(16, 1fr);
    gap: var(--grid-gap);
}

.gh-header.is-magazine .gh-header-inner > div {
    display: flex;
    flex-direction: column;
    gap: var(--grid-gap);
    grid-row: 1;
}

.gh-header.is-magazine .gh-header-left {
    grid-column: 1 / span 4;
}

.gh-header.is-magazine .gh-header-inner > .gh-card {
    position: relative;
    grid-column: 5 / span 8;
}

.gh-header.is-magazine .gh-header-right {
    grid-column: 13 / -1;
}

.gh-header.is-magazine .gh-header-inner > .gh-card .gh-card-link {
    gap: 28px;
}

.gh-header.is-magazine .gh-header-inner > .gh-card .gh-card-image {
    aspect-ratio: 1.618033;
}

.gh-header.is-magazine .gh-header-inner > .gh-card .gh-card-tag {
    display: block;
    margin-bottom: 12px;
}

.gh-header.is-magazine .gh-header-inner > .gh-card .gh-card-title {
    font-size: clamp(2.8rem, 1.36vw + 2.25rem, 4rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.022em;
}

.gh-header.is-magazine .gh-header-inner > .gh-card .gh-card-excerpt {
    margin-top: clamp(12px, 0.45vw + 10.18px, 16px);
    font-size: 1.8rem;
    letter-spacing: -0.02em;
    max-width: 90%;
}

.gh-header.is-magazine .gh-header-inner > .gh-card .gh-card-meta:not(:empty) {
    margin-top: 14px;
}

.gh-header.is-magazine :is(.gh-header-left, .gh-header-right) .gh-card:last-child .gh-card-image {
    display: none;
}

.gh-header.is-magazine .gh-header-inner > div .gh-card-excerpt {
    display: none;
}

.gh-header.is-magazine .gh-header-inner > .gh-card::before,
.gh-header.is-magazine .gh-header-inner > .gh-card::after {
    position: absolute;
    top: 0;
    left: calc(var(--grid-gap) / -2);
    content: "";
    width: 1px;
    height: 100%;
    background-color: var(--color-border);
}

.gh-header.is-magazine .gh-header-inner > .gh-card::after {
    right: calc(var(--grid-gap) / -2);
    left: auto;
}

.gh-header.is-magazine .gh-header-inner > div .gh-card + .gh-card::before {
    position: absolute;
    top: calc(var(--grid-gap) / -2);
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background-color: var(--color-border);
}

@media (max-width: 1199px) {
    .gh-header.is-magazine .gh-header-inner {
        grid-template-columns: repeat(12, 1fr);
    }

    .gh-header.is-magazine .gh-header-inner > .gh-card {
        grid-column: 1 / span 8;
    }

    .gh-header.is-magazine .gh-header-left {
        grid-column: 9 / -1;
    }

    .gh-header.is-magazine .gh-header-inner > div.gh-header-right {
        grid-column: 1 / -1;
        grid-row: 2;
        flex-direction: row;
    }

    .gh-header.is-magazine .gh-header-right .gh-card {
        flex: 1;
    }

    .gh-header.is-magazine .gh-header-right .gh-card:last-child .gh-card-image {
        display: block;
    }

    .gh-header.is-magazine .gh-header-right {
        position: relative;
    }

    .gh-header.is-magazine .gh-header-right::before {
        position: absolute;
        top: calc(var(--grid-gap) / -2);
        left: 0;
        content: "";
        width: 100%;
        height: 1px;
        background-color: var(--color-border);
    }

    .gh-header.is-magazine .gh-header-right .gh-card::before {
        display: none;
    }

    .gh-header.is-magazine .gh-header-right .gh-card::after {
        position: absolute;
        top: 0;
        right: calc(var(--grid-gap) / -2);
        content: "";
        width: 1px;
        height: 100%;
        background-color: var(--color-border);
    }
}

@media (max-width: 991px) {
    .gh-header.is-magazine .gh-header-left .gh-card:nth-child(2) .gh-card-image {
        display: none;
    }
}

@media (max-width: 767px) {
    .gh-header.is-magazine .gh-header-inner {
        display: flex;
        flex-direction: column;
        gap: var(--grid-gap);
    }

    .gh-header.is-magazine .gh-header-inner > div.gh-header-right {
        flex-direction: column;
    }

    .gh-header.is-magazine .gh-card-image {
        display: block !important;
    }

    .gh-header.is-magazine .gh-card::before {
        display: block !important;
        position: absolute;
        top: calc(var(--grid-gap) / -2);
        left: 0;
        content: "";
        width: 100%;
        height: 1px;
        background-color: var(--color-border);
    }
}

/* 8.2. Highlight layout */

.gh-header.is-highlight .gh-header-inner {
    display: grid;
    grid-template-columns: repeat(16, 1fr);
    gap: var(--grid-gap);
}

.gh-header.is-highlight .gh-header-left {
    position: relative;
    grid-column: span 8;
}

.gh-header.is-highlight .gh-header-left .gh-card {
    grid-column: span 8;
    grid-row: span 3;
}

.gh-header.is-highlight .gh-header-left .gh-card .gh-card-link {
    gap: 28px;
}

.gh-header.is-highlight .gh-header-left .gh-card .gh-card-image {
    aspect-ratio: 3 / 2;
}

.gh-header.is-highlight .gh-header-left .gh-card .gh-card-tag {
    display: block;
    margin-bottom: 12px;
}

.gh-header.is-highlight .gh-header-left .gh-card .gh-card-title {
    font-size: clamp(2.8rem, 1.36vw + 2.25rem, 4rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.022em;
}

.gh-header.is-highlight .gh-header-left .gh-card .gh-card-excerpt {
    margin-top: clamp(12px, 0.45vw + 10.18px, 16px);
    font-size: 1.8rem;
}

.gh-header.is-highlight .gh-header-left .gh-card .gh-card-meta:not(:empty) {
    margin-top: 12px;
}

.gh-header.is-highlight .gh-header-middle {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--grid-gap);
    grid-column: 9 / span 4;
}

.gh-header.is-highlight .gh-header-middle .gh-card:last-child .gh-card-image {
    display: none;
}

.gh-header.is-highlight .gh-header-middle .gh-card .gh-card-excerpt {
    display: none;
}

.gh-header.is-highlight .gh-header-right {
    grid-column: 13 / -1;
}

.gh-header.is-highlight .gh-featured {
    margin-top: 0;
    padding: 0;
}

.gh-header.is-highlight .gh-featured-feed {
    display: flex;
    flex-direction: column;
}

.gh-header.is-highlight .gh-featured-feed .gh-card-title {
    font-size: clamp(1.4rem, 0.23vw + 1.31rem, 1.6rem);
}

.gh-header.is-highlight .gh-header-left::after,
.gh-header.is-highlight .gh-header-middle::after {
    position: absolute;
    top: 0;
    right: calc(var(--grid-gap) / -2);
    content: "";
    width: 1px;
    height: 100%;
    background-color: var(--color-border);
}

.gh-header.is-highlight .gh-card::before {
    position: absolute;
    top: calc(var(--grid-gap) / -2);
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background-color: var(--color-border);
}

.gh-header.is-highlight .gh-featured .gh-card:first-child::before {
    display: none;
}

@media (max-width: 1199px) {
    .gh-header.is-highlight .gh-header-inner {
        grid-template-columns: repeat(9, 1fr);
    }

    .gh-header.is-highlight .gh-header-left {
        grid-column: span 6;
    }

    .gh-header.is-highlight .gh-header-middle {
        grid-column: 7 / -1;
    }

    .gh-header.is-highlight .gh-header-right {
        grid-column: 1 / -1;
    }

    .gh-header.is-highlight .gh-featured-feed {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }

    .gh-header.is-highlight .gh-featured-feed .gh-card:before {
        width: calc(100% + var(--grid-gap));
    }

    .gh-header.is-highlight .gh-featured-feed .gh-card::after {
        position: absolute;
        top: 0;
        left: calc(var(--grid-gap) / -2);
        content: "";
        width: 1px;
        height: 100%;
        background-color: var(--color-border);
    }
}

@media (max-width: 991px) {
    .gh-header.is-highlight .gh-header-middle .gh-card:nth-child(2) .gh-card-image {
        display: none;
    }
}

@media (max-width: 767px) {
    .gh-header.is-highlight .gh-header-inner {
        display: flex;
        flex-direction: column;
    }

    .gh-header.is-highlight .gh-featured-feed {
        display: flex;
        /* gap: var(--grid-gap); */
    }

    .gh-header.is-highlight .gh-card-image {
        display: block !important;
    }

    .gh-header.is-highlight .gh-header-middle .gh-card .gh-card-excerpt {
        display: -webkit-box;
    }
}

/* 8.3. Classic layout */

.gh-header.is-classic {
    display: flex;
    margin-top: 0;
    padding-block: 160px;
}

.gh-header.is-classic .gh-header-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 48px;
    overflow: unset;
    margin: auto;
    max-width: 1020px;
    text-align: center;
}

.gh-header.is-classic .gh-header-title {
    font-size: calc(clamp(3rem, 1.82vw + 2.27rem, 4.6rem) * var(--factor, 1));
    line-height: 1.1;
    letter-spacing: -0.028em;
}

.gh-header.is-classic.has-image {
    margin-top: 0;
}

.gh-header.is-classic.has-image::before {
    position: absolute;
    inset: 0;
    content: "";
    opacity: 0.3;
    background-color: var(--color-black);
    transition: opacity 1.5s ease;
}

.gh-header.is-classic.has-image .gh-header-inner {
    color: #fff;
}

.gh-header.is-classic.has-image .gh-header-image {
    position: absolute;
    inset: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gh-header.is-classic.has-image .gh-form {
    background-color: #fff;
}

/* 9. CTA
/* ---------------------------------------------------------- */

.gh-cta {
    display: none;
    margin-top: max(4vw, 40px);
}

.gh-header:is(.is-highlight, .is-magazine) + .gh-cta {
    display: block;
}

.gh-cta-inner {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 36px;
    padding: clamp(48px, 3.64vw + 33.45px, 80px) clamp(40px, 2.73vw + 29.09px, 64px);
    text-align: center;
    background-color: var(--color-lighter-gray);
}

.gh-cta-content {
    max-width: 640px;
}

.gh-cta-title {
    font-size: clamp(2.8rem,1.36vw + 2.25rem,4rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.021em;
}

.gh-cta-description {
    margin-top: 12px;
    font-size: 1.8rem;
    line-height: 1.4;
    letter-spacing: -0.015em;
}

/* 10. Featured posts
/* ---------------------------------------------------------- */

.gh-featured {
    margin-top: 100px;
}

.gh-navigation + .gh-featured {
    margin-top: 64px;
}

.gh-header.is-classic:not(.has-image) + .gh-featured {
    margin-top: 0;
}

.gh-featured-inner {
    overflow: hidden;
}

.gh-featured-title {
    margin-bottom: 20px;
    padding-bottom: 12px;
    font-size: 1.2rem;
    font-weight: 550;
    letter-spacing: 0.025em;
    text-transform: uppercase;
    border-bottom: 1px solid var(--color-border);
}

.gh-featured-feed {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--grid-gap);
}

.gh-featured-feed .gh-card {
    container-type: inline-size;
    container-name: featured-card;
}

.gh-featured-feed .gh-card-link {
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
}

.gh-featured-feed .gh-card-image {
    width: 72px;
    aspect-ratio: 1;
}

@container featured-card (width < 240px) {
    .gh-featured-feed .gh-card-image {
        display: none;
    }
}

@container featured-card (240px <= width <= 270px) {
    .gh-featured-feed .gh-card-image {
        width: 64px;
    }
}

.gh-featured-feed .gh-card-wrapper {
    container-type: inline-size;
    container-name: featured-card-wrapper;
}

.gh-featured-feed .gh-card-title {
    font-size: 1.6rem;
    font-weight: 650;
    letter-spacing: -0.011em;
}

@container featured-card-wrapper (width < 170px) {
    .gh-featured-feed .gh-card-title {
        font-size: 1.6rem;
    }
}

.gh-featured-feed .gh-card-excerpt {
    display: none;
}

.gh-featured-feed .gh-card-meta:not(:empty) {
    margin-top: 8px;
}

.gh-featured-feed .gh-card::before {
    position: absolute;
    top: 0;
    left: calc(var(--grid-gap) / -2);
    content: "";
    width: 1px;
    height: 100%;
    background-color: var(--color-border);
}

@media (max-width: 1199px) {
    .gh-viewport > .gh-featured .gh-featured-feed {
        grid-template-columns: repeat(3, 1fr);
    }

    .gh-viewport > .gh-featured .gh-featured-feed .gh-card:nth-child(4) {
        display: none;
    }
}

@media (max-width: 767px) {
    .gh-viewport > .gh-featured .gh-featured-feed {
        display: flex;
        flex-direction: column;
    }
}

/* 11. Container
/* ---------------------------------------------------------- */

.gh-container {
    flex-grow: 1;
    margin-top: 64px;
}

.gh-container-inner {
    display: grid;
    grid-template-columns: repeat(16, 1fr);
    column-gap: var(--grid-gap);
}

:is(.gh-featured, .gh-cta) + .gh-container {
    margin-top: max(4vw, 40px);
}

.gh-header.is-classic:not(.has-image) + .gh-container {
    margin-top: 0;
}

.gh-navigation + .gh-container .gh-container-title,
:is(.paged, .tag-template, .author-template) .gh-container:not(.has-sidebar) .gh-container-title {
    display: none;
}

.gh-more {
    display: none;
    grid-column: 1 / -1;
    margin-top: 48px;
    font-size: calc(1.9rem * var(--factor, 1));
    font-weight: 725;
    letter-spacing: -0.014em;
}

.gh-container.has-sidebar .gh-more {
    grid-column: span 12;
}

.home-template .gh-feed:has(> :nth-child(12):last-child) ~ .gh-more {
    display: block;
}

.gh-more a {
    display: flex;
    align-items: center;
    gap: 4px;
}

.gh-more svg {
    margin-top: -1px;
    width: 18px;
    height: 18px;
}

.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .gh-more svg {
    margin-top: 0;
}

/* 11.1. With sidebar */

.gh-container.has-sidebar .gh-main {
    grid-column: 1 / span 12;
    position: relative;
}

.gh-container.has-sidebar .gh-sidebar {
    grid-column: 13 / -1;
}

.gh-container.has-sidebar .gh-main::after {
    position: absolute;
    top: 0;
    right: calc(var(--grid-gap) / -2);
    content: "";
    width: 1px;
    height: 100%;
    background-color: var(--color-border);
}

/* 11.2. Without sidebar */

.gh-container:not(.has-sidebar) :is(.gh-container-title, .gh-main, .gh-more) {
    grid-column: 3 / span 12;
}

.gh-container.is-list.no-image:not(.has-sidebar) :is(.gh-container-title, .gh-main, .gh-more) {
    grid-column: 4 / span 10;
}

.gh-header:is(.is-highlight, .is-magazine) ~ .gh-container.is-grid:not(.has-sidebar) :is(.gh-container-title, .gh-main, .gh-more) {
    grid-column: 1 / -1;
}

@media (max-width: 1199px) {
    .gh-container-inner {
        display: block;
        overflow: hidden;
    }

    .gh-container.has-sidebar .gh-sidebar {
        display: none;
    }
}

/* 12. Post list
/* ---------------------------------------------------------- */

.gh-container-title {
    grid-column: 1 / -1;
    margin-bottom: calc(var(--grid-gap) / 2);
    padding-bottom: 12px;
    font-size: 1.2rem;
    font-weight: 550;
    letter-spacing: 0.025em;
    text-transform: uppercase;
    border-bottom: 1px solid var(--color-border);
}

.gh-container:not(:has(.gh-card)) .gh-container-title {
    display: none;
}

.gh-container .gh-feed {
    gap: var(--grid-gap);
}

.gh-container .gh-card-meta:not(:empty) {
    margin-top: 12px;
}

/* 12.1. List style */

.gh-container.is-list .gh-feed {
    display: flex;
    flex-direction: column;
    container-type: inline-size;
    container-name: list-feed;
}

.gh-container.is-list .gh-card-link {
    flex-direction: row;
    align-items: center;
    gap: 24px;
}

.gh-container.is-list .no-image .gh-card-link {
    padding-block: 20px;
}

.gh-container.is-list .gh-card-image {
    flex-shrink: 0;
    width: 220px;
    aspect-ratio: 1.618033;
}

@container list-feed (width < 600px) {
    .gh-container.is-list .gh-card-image {
        width: 160px;
    }
}

.gh-container.is-list .gh-card:not(.no-image) .gh-card-wrapper {
    max-width: 600px;
}

.gh-container.is-list .gh-card-title {
    --factor: 1.05;
}

.gh-container.is-list .no-image .gh-card-title {
    --factor: 1.2;
}

.gh-container.is-list .gh-card-excerpt {
    margin-top: 6px;
}

.gh-container.is-list .gh-card + .gh-card::before {
    position: absolute;
    top: calc(var(--grid-gap) / -2);
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background-color: var(--color-border);
}

.home-template .gh-container.is-list .gh-card:first-child:before {
    display: none;
}

@media (max-width: 767px) {
    .gh-container.is-list .gh-card-link {
        flex-direction: column;
        align-items: flex-start;
    }

    .gh-container.is-list .gh-card-image {
        width: 100%;
    }
}

/* 12.2. Grid style */

.gh-container.is-grid .gh-feed {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(248px, 1fr));
    row-gap: calc(var(--grid-gap) * 1.5);
    overflow: hidden;
}

.gh-container.is-grid .gh-card::before {
    position: absolute;
    top: calc(var(--grid-gap) / -2);
    right: calc(var(--grid-gap) / -2);
    left: calc(var(--grid-gap) / -2);
    content: "";
    height: 1px;
    background-color: var(--color-border);
}

.gh-container.is-grid .gh-card::after {
    position: absolute;
    top: 0;
    left: calc(var(--grid-gap) / -2);
    content: "";
    width: 1px;
    height: 100%;
    background-color: var(--color-border);
}

@media (max-width: 767px) {
    .gh-container.is-grid .gh-feed {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .gh-container.is-grid .gh-feed {
        display: flex;
        flex-direction: column;
    }
}

/* 12.3. No image list */

.gh-container.is-list.no-image .gh-card-image {
    display: none;
}

/* 13. Sidebar
/* ---------------------------------------------------------- */

.gh-sidebar-inner {
    position: sticky;
    top: calc(var(--grid-gap) / 2);
}

.gh-sidebar-title {
    grid-column: 1 / -1;
    margin-bottom: calc(var(--grid-gap) / 2);
    padding-bottom: 12px;
    font-size: 1.2rem;
    font-weight: 550;
    letter-spacing: 0.025em;
    text-transform: uppercase;
    border-bottom: 1px solid var(--color-border);
}

.gh-about {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 48px 24px;
    min-height: 380px;
    text-align: center;
    background-color: var(--color-lighter-gray);
}

.gh-about-icon {
    margin-bottom: 24px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
}

.gh-about-title {
    font-size: calc(2.4rem * var(--factor, 1));
    font-weight: 700;
    letter-spacing: -0.019em;
}

.gh-about-description {
    margin-top: 12px;
    font-size: 1.45rem;
    line-height: 1.4;
}

.gh-about .gh-button {
    margin-top: 32px;
}

.gh-recommendations {
    margin-top: 48px;
}

.gh-recommendations .recommendations {
    display: flex;
    flex-direction: column;
    gap: 26px;
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.gh-recommendations .recommendation:first-child {
    margin-top: 4px;
}

.gh-recommendations .recommendation a {
    display: grid;
    grid-template-columns: 24px auto;
    gap: 4px 12px;
}

.gh-recommendations .recommendation a:hover {
    opacity: 1;
}

.gh-recommendations .recommendation-favicon {
    grid-row: span 2;
    width: 100%;
    border-radius: 4px;
}

.gh-recommendations .recommendation-title {
    margin-top: -2px;
    font-size: 1.5rem;
    font-weight: 650;
    letter-spacing: -0.009em;
}

.gh-recommendations .recommendation a:hover .recommendation-title {
    opacity: 0.8;
}

.gh-recommendations .recommendation-url {
    order: 1;
    overflow: hidden;
    font-size: 1.4rem;
    line-height: 1.25;
    color: var(--color-secondary-text);
    text-overflow: ellipsis;
}

.gh-recommendations .recommendation-description {
    display: -webkit-box;
    display: none;
    overflow-y: hidden;
    grid-column: 2;
    font-size: 1.4rem;
    line-height: 1.4;
    color: var(--color-secondary-text);
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.gh-recommendations button {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin-top: 24px;
    padding: 0;
    cursor: pointer;
    font-size: 1.2rem;
    font-weight: 550;
    letter-spacing: 0.025em;
    text-transform: uppercase;
    background-color: transparent;
    border: 0;
    color: var(--color-darker-gray);
}

.gh-recommendations button svg {
    margin-top: -1px;
    width: 12px;
}

.gh-recommendations button:hover {
    opacity: 0.8;
}

/* 14. Post/page
/* ---------------------------------------------------------- */

/* 14.1. Article */

.gh-article {
    --container-width: 1120px;

    word-break: break-word;
}

.gh-article-header {
    margin: clamp(40px, 3.64vw + 25.45px, 72px) 0 40px;
}

.gh-article-tag {
    margin-bottom: 12px;
    font-size: 1.3rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: var(--ghost-accent-color);
}

.gh-article-title {
    font-size: calc(clamp(3.4rem, 1.36vw + 2.85rem, 4.6rem) * var(--factor, 1));
    line-height: 1.1;
    letter-spacing: -0.022em;
}

.gh-article-excerpt {
    margin-top: clamp(12px, 0.45vw + 10.18px, 16px);
    max-width: 720px;
    font-size: clamp(1.7rem, 0.23vw + 1.61rem, 1.9rem);
    line-height: 1.45;
    letter-spacing: -0.018em;
}

.gh-article-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    margin-left: 6px;
}

.gh-article-author-image {
    display: flex;
    margin-right: 8px;
}

.gh-article-author-image a {
    position: relative;
    margin: 0 -8px;
    width: 56px;
    height: 56px;
    overflow: hidden;
    background-color: var(--color-light-gray);
    border-radius: 50%;
    border: 3px solid var(--background-color);
}

.gh-article-author-image a:first-child {
    z-index: 10;
}

.gh-article-author-image a:nth-child(2) {
    z-index: 9;
}

.gh-article-author-image a:nth-child(3) {
    z-index: 8;
}

.gh-article-author-image :is(img, svg) {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gh-article-meta-wrapper {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.gh-article-author-name {
    font-size: 1.6rem;
    font-weight: 650;
    letter-spacing: -0.013em;
}

.gh-article-meta-content {
    font-size: 1.35rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.006em;
    color: var(--color-secondary-text);
}

.gh-article-image {
    grid-column: wide;
    margin-top: 40px;
}

.gh-article-image img {
    width: 100%;
}

/* 14.2. Page template */

.page-template .gh-article-header {
    margin-block: 72px 32px;
}

/* 14.3. Page without header */

.page-template .gh-content:only-child > *:first-child:not(.kg-width-full) {
    margin-top: 64px;
}

.page-template .gh-content > *:last-child:not(.kg-width-full) {
    margin-bottom: 6vw;
}

.page-template .gh-footer {
    margin-top: 0;
}

/* 15. Content
/* ---------------------------------------------------------- */

/* Content refers to styling all page and post content that is
created within the Ghost editor. The main content handles
headings, text, images and lists. We deal with cards lower down. */

.gh-content {
    font-size: var(--content-font-size, 1.7rem);
    letter-spacing: -0.01em;
}

/* Default vertical spacing */
.gh-content > * + * {
    margin-top: calc(28px * var(--content-spacing-factor, 1));
    margin-bottom: 0;
}

/* Remove space between full-width cards */
.gh-content > .kg-width-full + .kg-width-full:not(.kg-width-full.kg-card-hascaption + .kg-width-full) {
    margin-top: 0;
}

/* Add back a top margin to all headings,
unless a heading is the very first element in the post content */
.gh-content > [id]:not(:first-child) {
    margin-top: calc(56px * var(--content-spacing-factor, 1));
}

/* Add drop cap setting */
.post-template .gh-content.drop-cap > p:first-of-type:first-letter {
    margin :0 0.2em 0em 0;
    font-size: 3.1em;
    float:left;
    line-height: 1;
    margin-left: -1px;
    font-weight: 700;
}

.has-serif-body.post-template:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-content.drop-cap > p:first-of-type:first-letter {
    font-size: 3.2em;
}

/* Add a small margin between a heading and paragraph after it */
.gh-content > [id] + p {
    margin-top: calc(12px * var(--content-spacing-factor, 1));
}

/* A larger margin before/after dividers, blockquotes and embeds */
.gh-content > :is(hr, blockquote, iframe) {
    position: relative;
    margin-top: calc(48px * var(--content-spacing-factor, 1)) !important;
}

.gh-content > :is(hr, blockquote, iframe) + * {
    margin-top: calc(48px * var(--content-spacing-factor, 1)) !important;
}

/* Now the content typography styles */
.gh-content h1 {
    font-size: calc(2.2em * var(--factor, 1));
    letter-spacing: -0.02em;
}

.gh-content h2 {
    font-size: calc(1.6em * var(--factor, 1));
    letter-spacing: -0.02em;
}

.gh-content h3 {
    font-size: calc(1.3em * var(--factor, 1));
    letter-spacing: -0.017em;
}

.gh-content a {
    color: var(--ghost-accent-color);
    text-decoration: underline;
}

.gh-content .kg-callout-card .kg-callout-text,
.gh-content .kg-toggle-card .kg-toggle-content > :is(ul, ol, p) {
    font-size: 0.95em;
}

.has-serif-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-content > blockquote,
.has-serif-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-content > ol,
.has-serif-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-content > ul,
.has-serif-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-content > dl,
.has-serif-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-content > p,
.has-serif-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-content .kg-callout-text,
.has-serif-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-content .kg-toggle-content > ol,
.has-serif-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-content .kg-toggle-content > ul,
.has-serif-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-content .kg-toggle-content > p {
    font-family: var(--font-serif-alt);
}

.gh-content :is(ul, ol) {
    padding-left: 28px;
}

.gh-content :is(li + li, li :is(ul, ol)) {
    margin-top: 8px;
}

.gh-content ol ol li {
    list-style-type: lower-alpha;
}

.gh-content ol ol ol li {
    list-style-type: lower-roman;
}

.gh-content hr {
    width: 100%;
    height: 1px;
    background-color: var(--color-border);
    border: 0;
}

.gh-content .gh-table {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
}

.gh-content .gh-table table {
    width: 100%;
    font-family: var(--font-sans);
    font-size: 1.5rem;
    white-space: nowrap;
    vertical-align: top;
    border-spacing: 0;
    border-collapse: collapse;
}

.gh-content .gh-table table th {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--color-darkgrey);
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.2px;
}

.gh-content .gh-table table :is(th, td),
.gh-content .gh-table table td {
    padding: 6px 12px;
    border-bottom: 1px solid var(--color-border);
}

.gh-content .gh-table table :is(th, td):first-child {
    padding-left: 0;
}

.gh-content .gh-table table :is(th, td):last-child {
    padding-right: 0;
}

.gh-content pre {
    overflow: auto;
    padding: 16px;
    font-size: 1.5rem;
    line-height: 1.5em;
    background: var(--color-lighter-gray);
    border-radius: 6px;
    font-family: var(--font-mono);
}

.gh-content :not(pre) > code {
    vertical-align: baseline;
    padding: 0.15em 0.4em;
    font-weight: 400;
    font-size: 0.95em;
    line-height: 1em;
    background: var(--color-lighter-gray);
    border-radius: 0.25em;
    font-family: var(--font-mono);
}

/* 16. Cards
/* ---------------------------------------------------------- */

/* Add extra margin before/after any cards, except for when immediately preceeded by a heading */

.gh-content :not(.kg-card):not(table):not([id]) + :is(.kg-card, table) {
    margin-top: calc(48px * var(--content-spacing-factor, 1));
}

.gh-content :is(.kg-card, table) + :not(.kg-card):not(table):not([id]) {
    margin-top: calc(48px * var(--content-spacing-factor, 1));
}

.gh-content :not(.kg-card):not([id]) + .kg-card.kg-width-full {
    margin-top: calc(68px * var(--content-spacing-factor, 1));
}

.gh-content .kg-card.kg-width-full + :not(.kg-card):not([id]) {
    margin-top: calc(68px * var(--content-spacing-factor, 1));
}

/* Image */

.kg-image {
    margin-right: auto;
    margin-left: auto;
}

/* Embed */

.kg-embed-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

/* Gallery */

.kg-image[width][height],
.kg-gallery-image {
    cursor: pointer;
}

.kg-image-card a:hover,
.kg-gallery-image a:hover {
    opacity: 1 !important;
}

/* Toggle */

.kg-card.kg-toggle-card .kg-toggle-heading-text {
    font-size: 2rem;
    font-weight: 700;
}

.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .kg-toggle-card .kg-toggle-heading-text {
    font-family: var(--font-serif);
}

.has-mono-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .kg-toggle-card .kg-toggle-heading-text {
    font-family: var(--font-mono);
}

/* Callout */

.kg-callout-card.kg-card {
    border-radius: 0.25em;
}

.kg-callout-card-accent a {
    text-decoration: underline;
}

/* Blockquote */

blockquote:not([class]) {
    padding-left: 2rem;
    border-left: 4px solid var(--ghost-accent-color);
}

blockquote.kg-blockquote-alt {
    font-style: normal;
    font-weight: 400;
    color: var(--color-secondary-text);
}

/* Button */

.kg-card.kg-button-card .kg-btn {
    height: unset;
    padding: .6em 1.2em;
    text-align: center;
    font-size: 1em;
    line-height: 1.2em;
}

/* Header */

.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .kg-card.kg-header-card h2.kg-header-card-header {
    font-family: var(--font-serif);
}

.has-mono-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .kg-card.kg-header-card h2.kg-header-card-header {
    font-family: var(--font-mono);
}

.has-serif-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .kg-header-card h3.kg-header-card-subheader {
    font-family: var(--font-serif);
}

/* Bookmark */

.kg-bookmark-card .kg-bookmark-container {
    border-radius: 0.25em !important;
}

.kg-bookmark-card .kg-bookmark-container:hover {
    opacity: 1;
}

.kg-bookmark-card a.kg-bookmark-container,
.kg-bookmark-card a.kg-bookmark-container:hover {
    background: var(--background-color) !important;
    color: var(--color-darker-gray) !important;
}

.kg-bookmark-card .kg-bookmark-content {
    padding: 1.15em;
}

.kg-bookmark-card .kg-bookmark-title {
    font-size: 0.9em;
}

.kg-bookmark-card .kg-bookmark-description {
    max-height: none;
    margin-top: 0.3em;
    font-size: 0.8em;
}

.kg-bookmark-card .kg-bookmark-metadata {
    font-size: 0.8em;
}

.kg-bookmark-card .kg-bookmark-thumbnail img {
    border-radius: 0 0.2em 0.2em 0;
}

/* Product */

.kg-product-card.kg-card .kg-product-card-image {
    margin-bottom: 12px;
}

.kg-product-card.kg-card a.kg-product-card-button {
    height: 2.8em;
    margin-top: 12px;
}

.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .kg-product-card.kg-card .kg-product-card-title {
    font-family: var(--font-serif);
}

.has-mono-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .kg-product-card.kg-card .kg-product-card-title {
    font-family: var(--font-mono);
}

.has-serif-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .kg-product-card-description :is(p, ul, ol) {
    font-family: var(--font-serif-alt);
}

/* File */

.kg-file-card.kg-card .kg-file-card-container {
    padding: 0.6em;
}

.kg-file-card.kg-card .kg-file-card-contents {
    margin: 4px 8px 6px;
}

.kg-file-card.kg-card .kg-file-card-metadata {
    font-size: 0.9em;
}

.kg-file-card.kg-card .kg-file-card-filesize::before {
    margin-right: 6px;
    margin-left: 6px;
}

/* Caption */

figcaption {
    margin-top: 12px;
    font-size: 1.4rem;
    text-align: center;
}

.kg-card.kg-width-full figcaption {
    padding: 0 16px;
}

figcaption a {
    color: var(--ghost-accent-color);
    text-decoration: underline;
}

/* 17. Comments
/* ---------------------------------------------------------- */

.gh-comments {
    margin-top: 48px;
}

/* 18. Recent posts
/* ---------------------------------------------------------- */

.post-template .gh-container {
    margin-top: 120px;
}

.post-template .gh-container-inner {
    display: block;
}

.post-template .gh-container.is-grid .gh-feed {
    grid-template-columns: repeat(4, 1fr);
}

.post-template .gh-container .gh-container-title {
    display: block;
}

/* 19. Archive
/* ---------------------------------------------------------- */

.gh-archive {
    display: grid;
    grid-template-columns: repeat(16, 1fr);
    gap: var(--grid-gap);
    margin-block: 80px 24px;
}

.gh-archive.has-image {
    margin-top: 48px;
}

.gh-archive-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--grid-gap);
    grid-column: 1 / -1;
    padding-bottom: clamp(40px, 2.73vw + 29.09px, 64px);
    border-bottom: 1px solid var(--color-border);
}

.gh-archive.has-image .gh-archive-inner {
    align-items: center;
    grid-column: 1 / -1;
}

.gh-archive:not(.has-sidebar):not(.has-image) .gh-archive-inner {
    grid-column: 3 / span 12;
}

.gh-archive .gh-article-image {
    grid-column: auto;
    margin-top: 0;
}

:is(.tag-template, .author-template) .gh-container {
    margin-top: 0;
}

.author-template .gh-archive-inner {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: 24px;
}

.author-template .gh-article-image {
    margin-top: 0;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
}

.author-template .gh-article-title {
    font-size: 3.6rem;
}

.gh-author-meta {
    display: flex;
    gap: 10px;
    margin-top: 14px;
    font-size: 1.5rem;
    font-weight: 550;
    color: var(--color-secondary-text);
}

.gh-author-meta a {
    color: inherit;
}

.gh-author-social {
    display: flex;
    gap: 16px;
    align-items: center;
    padding-left: 3px;
}

.gh-author-social svg {
    width: 20px;
    height: 20px;
}

@media (max-width: 1199px) {
    .gh-archive {
        display: block;
    }
}

@media (max-width: 767px) {
    .gh-archive-inner {
        display: flex;
        flex-direction: column-reverse;
        align-items: flex-start;
    }

    .author-template .gh-archive-inner {
        flex-direction: column-reverse;
    }
}

/* 20. Design settings
/* ---------------------------------------------------------- */

.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) {
    --factor: 1.15;
}

.has-mono-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) {
    --factor: 1.1;
}

.has-sans-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) :is(.is-title, .gh-content :is(h2, h3)) {
    font-family: var(--gh-font-heading, var(--font-sans));
}

.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) :is(.is-title, .gh-content :is(h2, h3)) {
    font-family: var(--gh-font-heading, var(--font-serif));
    font-weight: 550;
}

.has-mono-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) :is(.is-title, .gh-content :is(h2, h3)) {
    font-family: var(--gh-font-heading, var(--font-mono));
}

.has-sans-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .is-body {
    font-family: var(--gh-font-body, var(--font-sans));
}

.has-serif-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .is-body {
    font-family: var(--gh-font-body, var(--font-serif-alt));
}

.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .gh-header.is-classic .gh-header-title {
    font-weight: 550;
    letter-spacing: -0.015em;
}

.has-mono-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .gh-header.is-classic .gh-header-title {
    letter-spacing: -0.01em;
}

.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .gh-form {
    border-radius: 0;
}

.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .gh-card-title {
    line-height: 1.15;
    letter-spacing: -0.006em;
    font-size: calc(2.0rem*var(--factor, 1))
}

.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .gh-featured-feed .gh-card-title {
    font-size: calc(1.6rem*var(--factor, 1))
}

.has-mono-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .gh-featured-feed .gh-card-title {
    font-size: calc(1.5rem*var(--factor, 1));
    letter-spacing: 0;
}

.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .gh-header.is-highlight .gh-featured-feed .gh-card-title {
    font-size: clamp(1.6rem, 0.23vw + 1.51rem, 1.8rem);
}

.has-mono-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .gh-card-title {
    font-size: calc(1.8rem*var(--factor, 1));
    line-height: 1.2;
}

.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .gh-about-title {
    letter-spacing: -0.009em;
}

.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .gh-footer-signup-header {
    letter-spacing: -0.019em;
}

.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .gh-article-title {
    letter-spacing: -0.019em;
}

.has-serif-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) {
    --content-font-size: 1.9rem;
}

.has-serif-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-card-excerpt {
    font-size: 1.65rem;
    line-height: 1.4;
    letter-spacing: 0.0005em;
}

.has-serif-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-header.is-magazine .gh-header-inner > .gh-card .gh-card-excerpt,
.has-serif-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-header.is-highlight .gh-card:first-child .gh-card-excerpt {
    font-size: 1.8rem;
    letter-spacing: -0.001em;
}

.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .gh-header.is-magazine .gh-header-inner>.gh-card .gh-card-title,
.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .gh-header.is-highlight .gh-header-left .gh-card-title {
    font-weight: 550;
    font-size: clamp(3.2rem,1.82vw + 2.47rem,4.9rem)
}

.has-serif-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-about-description {
    font-size: 1.6rem;
}

.has-serif-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-article-excerpt {
    letter-spacing: 0;
}

.has-serif-body:not([class*=" gh-font-body"]):not([class^="gh-font-body"]) .gh-footer-signup-subhead {
    letter-spacing: 0;
}

:is(.has-serif-title,.has-mono-title):not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) :is(.gh-button, .gh-form, .gh-form-input),
body[class*=" gh-font-heading"]:not(.gh-font-heading-fira-sans):not(.gh-font-heading-inter):not(.gh-font-heading-manrope):not(.gh-font-heading-noto-sans):not(.gh-font-heading-nunito):not(.gh-font-heading-poppins):not(.gh-font-heading-roboto):not(.gh-font-heading-space-grotesk) :is(.gh-button, .gh-form, .gh-form-input) {
    border-radius: 0;
}

.has-serif-title:not([class*=" gh-font-heading"]):not([class^="gh-font-heading"]) .gh-cta-title {
    font-size: 4.8rem;
}

/* 21. Footer
/* ---------------------------------------------------------- */

.gh-footer {
    margin-top: 12vw;
    font-size: 1.5rem;
    color: var(--color-darker-gray);
}

.gh-footer a:not(.gh-button) {
    color: inherit;
}

/* 21.1 Footer styles */

.gh-footer.has-accent-color {
    background-color: var(--ghost-accent-color);
}

.gh-footer.has-accent-color .gh-footer-bar {
    border-top: 0;
}

.gh-footer.has-accent-color .gh-button {
    background-color: #fff;
    color: #15171a;
}

/* 21.2. Footer bar */

.gh-footer-bar {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    column-gap: 32px;
    margin-bottom: 100px;
    padding-block: 28px;
    font-weight: 550;
    border-block: 1px solid var(--color-border);
}

.gh-footer-logo {
    position: relative;
    font-family: var(--gh-font-heading, var(--font-sans));
    font-size: calc(2.4rem * var(--factor, 1));
    font-weight: 725;
    letter-spacing: -0.015em;
    white-space: nowrap;
}

.gh-footer-logo img {
    max-height: 40px;
}

.gh-footer-menu .nav {
    display: flex;
    justify-content: center;
    gap: 8px 28px;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.gh-footer-copyright {
    text-align: right;
    white-space: nowrap;
}

.gh-footer-copyright a {
    text-decoration: underline;
}

/* 21.3. Footer signup */

.gh-footer-signup {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 160px;
    text-align: center;
}

.gh-footer-signup-header {
    font-size: calc(clamp(2.8rem,1.36vw + 2.25rem,4rem) * var(--factor, 1));
    font-weight: 700;
    letter-spacing: -0.03em;
}

.gh-footer-signup-subhead {
    margin-top: 12px;
    max-width: 640px;
    font-size: 1.8rem;
    font-weight: 450;
    line-height: 1.4;
    letter-spacing: -0.014em;
    opacity: 0.75;
}

.gh-footer-signup .gh-form {
    margin-top: 40px;
}

@media (max-width: 991px) {
    .gh-footer-bar {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
}

/* 22. Lightbox
/* ---------------------------------------------------------- */

.pswp {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3999999;
    display: none;
    width: 100%;
    height: 100%;
    overflow: hidden;
    -ms-touch-action: none;
    touch-action: none;
    outline: none;
    backface-visibility: hidden;
    -webkit-text-size-adjust: 100%;
}

.pswp img {
    max-width: none;
}

.pswp--animate_opacity {
    opacity: 0.001;
    transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
    will-change: opacity;
}

.pswp--open {
    display: block;
}

.pswp--zoom-allowed .pswp__img {
    cursor: zoom-in;
}

.pswp--zoomed-in .pswp__img {
    cursor: grab;
}

.pswp--dragging .pswp__img {
    cursor: grabbing;
}

.pswp__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.85);
    opacity: 0;
    transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
    transform: translateZ(0);
    backface-visibility: hidden;
    will-change: opacity;
}

.pswp__scroll-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.pswp__container,
.pswp__zoom-wrap {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    touch-action: none;
    backface-visibility: hidden;
}

.pswp__container,
.pswp__img {
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
}

.pswp__zoom-wrap {
    position: absolute;
    width: 100%;
    transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
    transform-origin: left top;
}

.pswp--animated-in .pswp__bg,
.pswp--animated-in .pswp__zoom-wrap {
    transition: none;
}

.pswp__item {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
}

.pswp__img {
    position: absolute;
    top: 0;
    left: 0;
    width: auto;
    height: auto;
}

.pswp__img--placeholder {
    backface-visibility: hidden;
}

.pswp__img--placeholder--blank {
    background: var(--color-black);
}

.pswp--ie .pswp__img {
    top: 0;
    left: 0;
    width: 100% !important;
    height: auto !important;
}

.pswp__error-msg {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    margin-top: -8px;
    font-size: 14px;
    line-height: 16px;
    color: var(--color-secondary-text);
    text-align: center;
}

.pswp__error-msg a {
    color: var(--color-secondary-text);
    text-decoration: underline;
}

.pswp__button {
    position: relative;
    display: block;
    float: right;
    width: 44px;
    height: 44px;
    padding: 0;
    margin: 0;
    overflow: visible;
    appearance: none;
    cursor: pointer;
    background: none;
    border: 0;
    box-shadow: none;
    transition: opacity 0.2s;
}

.pswp__button:focus,
.pswp__button:hover {
    opacity: 1;
}

.pswp__button:active {
    outline: none;
    opacity: 0.9;
}

.pswp__button::-moz-focus-inner {
    padding: 0;
    border: 0;
}

.pswp__ui--over-close .pswp__button--close {
    opacity: 1;
}

.pswp__button,
.pswp__button--arrow--left::before,
.pswp__button--arrow--right::before {
    width: 44px;
    height: 44px;
    background: url("../images/default-skin.png") 0 0 no-repeat;
    background-size: 264px 88px;
}

@media (-webkit-min-device-pixel-ratio: 1.1), (-webkit-min-device-pixel-ratio: 1.09375), (min-resolution: 105dpi), (min-resolution: 1.1dppx) {
    .pswp--svg .pswp__button,
    .pswp--svg .pswp__button--arrow--left::before,
    .pswp--svg .pswp__button--arrow--right::before {
        background-image: url("../images/default-skin.svg");
    }

    .pswp--svg .pswp__button--arrow--left,
    .pswp--svg .pswp__button--arrow--right {
        background: none;
    }
}

.pswp__button--close {
    background-position: 0 -44px;
}

.pswp__button--share {
    background-position: -44px -44px;
}

.pswp__button--fs {
    display: none;
}

.pswp--supports-fs .pswp__button--fs {
    display: block;
}

.pswp--fs .pswp__button--fs {
    background-position: -44px 0;
}

.pswp__button--zoom {
    display: none;
    background-position: -88px 0;
}

.pswp--zoom-allowed .pswp__button--zoom {
    display: block;
}

.pswp--zoomed-in .pswp__button--zoom {
    background-position: -132px 0;
}

.pswp--touch .pswp__button--arrow--left,
.pswp--touch .pswp__button--arrow--right {
    visibility: hidden;
}

.pswp__button--arrow--left,
.pswp__button--arrow--right {
    position: absolute;
    top: 50%;
    width: 70px;
    height: 100px;
    margin-top: -50px;
    background: none;
}

.pswp__button--arrow--left {
    left: 0;
}

.pswp__button--arrow--right {
    right: 0;
}

.pswp__button--arrow--left::before,
.pswp__button--arrow--right::before {
    position: absolute;
    top: 35px;
    width: 32px;
    height: 30px;
    content: "";
}

.pswp__button--arrow--left::before {
    left: 6px;
    background-position: -138px -44px;
}

.pswp__button--arrow--right::before {
    right: 6px;
    background-position: -94px -44px;
}

.pswp__counter {
    position: absolute;
    top: 0;
    left: 0;
    height: 44px;
    padding: 0 15px;
    font-size: 11px;
    font-weight: 700;
    line-height: 44px;
    color: var(--color-white);
    user-select: none;
}

.pswp__caption {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    min-height: 44px;
}

.pswp__caption__center {
    max-width: 420px;
    padding: 25px 15px 30px;
    margin: 0 auto;
    font-size: 11px;
    line-height: 1.6;
    color: var(--color-white);
    text-align: center;
}

.pswp__caption__center .post-caption-title {
    margin-bottom: 7px;
    font-size: 15px;
    font-weight: 500;
    text-transform: uppercase;
}

.pswp__caption__center .post-caption-meta-item + .post-caption-meta-item::before {
    padding: 0 4px;
    content: "\02022";
}

.pswp__caption--empty {
    display: none;
}

.pswp__caption--fake {
    visibility: hidden;
}

.pswp__preloader {
    position: absolute;
    top: 0;
    left: 50%;
    width: 44px;
    height: 44px;
    margin-left: -22px;
    opacity: 0;
    transition: opacity 0.25s ease-out;
    direction: ltr;
    will-change: opacity;
}

.pswp__preloader__icn {
    width: 20px;
    height: 20px;
    margin: 12px;
}

.pswp__preloader--active {
    opacity: 1;
}

.pswp__preloader--active .pswp__preloader__icn {
    background: url("../images/preloader.gif") 0 0 no-repeat;
}

.pswp--css_animation .pswp__preloader--active {
    opacity: 1;
}

.pswp--css_animation .pswp__preloader--active .pswp__preloader__icn {
    animation: clockwise 500ms linear infinite;
}

.pswp--css_animation .pswp__preloader--active .pswp__preloader__donut {
    animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
}

.pswp--css_animation .pswp__preloader__icn {
    position: absolute;
    top: 15px;
    left: 15px;
    width: 14px;
    height: 14px;
    margin: 0;
    background: none;
    opacity: 0.75;
}

.pswp--css_animation .pswp__preloader__cut {
    position: relative;
    width: 7px;
    height: 14px;
    overflow: hidden;
}

.pswp--css_animation .pswp__preloader__donut {
    position: absolute;
    top: 0;
    left: 0;
    box-sizing: border-box;
    width: 14px;
    height: 14px;
    margin: 0;
    background: none;
    border: 2px solid var(--color-white);
    border-bottom-color: transparent;
    border-left-color: transparent;
    border-radius: 50%;
}

@media screen and (max-width: 1024px) {
    .pswp__preloader {
        position: relative;
        top: auto;
        left: auto;
        float: right;
        margin: 0;
    }
}

@keyframes clockwise {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes donut-rotate {
    0% {
        transform: rotate(0);
    }

    50% {
        transform: rotate(-140deg);
    }

    100% {
        transform: rotate(0);
    }
}

.pswp__ui {
    z-index: 1550;
    visibility: visible;
    opacity: 1;
    -webkit-font-smoothing: auto;
}

.pswp__top-bar {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 44px;
}

.pswp__caption,
.pswp__top-bar,
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
    backface-visibility: hidden;
    transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
    will-change: opacity;
}

.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
    visibility: visible;
}

.pswp__ui--idle .pswp__top-bar {
    opacity: 0;
}

.pswp__ui--idle .pswp__button--arrow--left,
.pswp__ui--idle .pswp__button--arrow--right {
    opacity: 0;
}

.pswp__ui--hidden .pswp__top-bar,
.pswp__ui--hidden .pswp__caption,
.pswp__ui--hidden .pswp__button--arrow--left,
.pswp__ui--hidden .pswp__button--arrow--right {
    opacity: 0.001;
}

.pswp__ui--one-slide .pswp__button--arrow--left,
.pswp__ui--one-slide .pswp__button--arrow--right,
.pswp__ui--one-slide .pswp__counter {
    display: none;
}

.pswp__element--disabled {
    display: none !important;
}

.pswp--minimal--dark .pswp__top-bar {
    background: none;
}


/* 23. Primo Europa controlled home
/* ---------------------------------------------------------- */

.primo-home-shell {
    --pe-ink: #0b172a;
    --pe-ink-soft: #17335a;
    --pe-paper: #f7f4ee;
    --pe-paper-bright: #fffdf8;
    --pe-line: #d9d3c8;
    --pe-coral: #ef6b50;
    --pe-coral-deep: #c94d35;
    --pe-sun: #f4c56b;
    --pe-mint: #b8ddd0;
    --pe-muted: #607080;
    background: var(--pe-paper);
    color: var(--pe-ink);
    font-family: var(--font-sans);
    overflow: hidden;
}

.primo-home-shell * { box-sizing: border-box; }
.primo-home-shell a { color: inherit; text-decoration: none; }
.pe-container { width: min(1160px, calc(100% - 48px)); margin: 0 auto; }
.pe-home-header { min-height: 86px; width: min(1160px, calc(100% - 48px)); margin: 0 auto; display: flex; justify-content: space-between; align-items: center; background: var(--pe-paper); }
.pe-brand { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; letter-spacing: .14em; font-weight: 500; }
.pe-brand strong { font-weight: 800; }
.pe-brand-icon { width: 29px; height: 29px; object-fit: contain; border-radius: 8px 8px 8px 0; }
.pe-brand-letter { display: grid; place-items: center; background: var(--pe-coral); color: white; font-family: var(--font-serif); font-size: 17px; letter-spacing: 0; }
.pe-home-nav { display: flex; gap: 25px; align-items: center; font-size: 13px; font-weight: 700; }
.pe-home-nav > a:not(.pe-nav-cta) { color: #425267; }
.pe-home-nav > a:not(.pe-nav-cta):hover { color: var(--pe-coral-deep); }
.pe-nav-cta { padding: 11px 15px; border-radius: 4px; color: white; background: var(--pe-ink); box-shadow: 0 8px 17px rgb(11 23 42 / .16); }

.pe-hero { position: relative; isolation: isolate; padding: 73px 0 93px; color: white; background: linear-gradient(135deg, #081426 0%, #0b172a 50%, #17335a 100%); overflow: hidden; }
.pe-hero-glow { position: absolute; z-index: -1; border-radius: 50%; filter: blur(2px); }
.pe-hero-glow-one { width: 600px; height: 600px; left: -270px; top: -260px; background: rgb(239 107 80 / .23); }
.pe-hero-glow-two { width: 570px; height: 570px; right: -240px; bottom: -310px; background: rgb(244 197 107 / .14); }
.pe-hero-grid { display: grid; grid-template-columns: 1fr .83fr; align-items: center; gap: 74px; }
.pe-eyebrow { margin: 0 0 18px; display: flex; align-items: center; gap: 9px; color: var(--pe-sun); font-size: 11px; font-weight: 750; letter-spacing: .15em; }
.pe-eyebrow > span { width: 8px; height: 8px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 5px rgb(244 197 107 / .14); }
.pe-eyebrow-dark { color: var(--pe-coral-deep); }
.pe-eyebrow-dark > span { box-shadow: 0 0 0 5px rgb(239 107 80 / .12); }
.pe-hero h1, .pe-section-heading h2, .pe-route-intro h2, .pe-principles h2, .pe-guides h2, .pe-resource h2 { margin: 0; font-family: var(--font-serif); font-weight: 600; letter-spacing: -.05em; }
.pe-hero h1 { font-size: clamp(48px, 6vw, 76px); line-height: .94; }
.pe-hero h1 em, .pe-section-heading h2 em, .pe-route-intro h2 em, .pe-guides h2 em, .pe-resource h2 em { color: var(--pe-coral); font-style: italic; }
.pe-hero-lead { max-width: 535px; margin: 25px 0 0; color: #d2dde8; font-size: 18px; line-height: 1.65; }
.pe-hero-actions { display: flex; align-items: center; gap: 24px; margin-top: 35px; }
.pe-button { display: inline-flex; justify-content: center; align-items: center; gap: 12px; padding: 16px 21px; border-radius: 4px; font-size: 14px; font-weight: 750; transition: transform .2s ease, box-shadow .2s ease; }
.pe-button:hover { transform: translateY(-2px); }
.pe-button-coral { color: white; background: var(--pe-coral); box-shadow: 0 12px 24px rgb(0 0 0 / .20); }
.pe-button-coral:hover { background: #f17a61; }
.pe-button span, .pe-text-link span { color: var(--pe-sun); font-size: 19px; line-height: 0; }
.pe-text-link { padding-bottom: 3px; border-bottom: 1px solid currentColor; font-size: 14px; font-weight: 700; }
.pe-hero-proof { display: flex; align-items: center; gap: 9px; margin-top: 35px; color: #bdcbd9; font-size: 12px; }
.pe-hero-proof i { display: grid; place-items: center; width: 21px; height: 21px; border-radius: 50%; background: var(--pe-mint); color: var(--pe-ink); font-style: normal; font-size: 12px; font-weight: 800; }
.pe-hero-proof p { margin: 0; line-height: 1.45; }

.pe-hero-panel { position: relative; width: min(354px, 100%); min-height: 408px; justify-self: end; padding: 29px; border-radius: 21px 21px 21px 0; color: white; background: linear-gradient(145deg, #132d50, #071222); box-shadow: 23px 25px 0 var(--pe-coral), 0 28px 60px rgb(0 0 0 / .22); overflow: visible; }
.pe-hero-panel::after { content: "EU"; position: absolute; right: -20px; bottom: -62px; z-index: 0; color: rgb(255 255 255 / .04); font-family: var(--font-serif); font-size: 180px; font-weight: 700; line-height: 1; }
.pe-panel-top { display: flex; justify-content: space-between; color: var(--pe-mint); font-size: 10px; font-weight: 700; letter-spacing: .15em; }
.pe-panel-title { position: relative; z-index: 1; margin-top: 75px; font-family: var(--font-serif); font-size: 40px; font-weight: 600; line-height: 1.03; letter-spacing: -.05em; }
.pe-panel-title strong { color: var(--pe-sun); }
.pe-panel-line { position: relative; z-index: 1; display: flex; align-items: center; margin-top: 72px; }
.pe-panel-line i { display: block; flex: 0 0 12px; height: 12px; border: 2px solid var(--pe-mint); border-radius: 50%; }
.pe-panel-line i.is-active { border-color: var(--pe-coral); background: var(--pe-coral); box-shadow: 0 0 0 5px rgb(239 107 80 / .2); }
.pe-panel-line .pe-panel-connector { height: 1px; flex: 1; background: rgb(184 221 208 / .45); }
.pe-panel-labels { position: relative; z-index: 1; display: flex; justify-content: space-between; margin-top: 11px; color: #cbd8e4; font-size: 10px; }
.pe-panel-card { position: absolute; z-index: 2; display: flex; align-items: center; gap: 10px; padding: 11px 13px; color: var(--pe-ink); background: var(--pe-paper-bright); box-shadow: 0 12px 30px rgb(0 0 0 / .12); }
.pe-panel-card > span { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 7px; background: #ffe6de; color: var(--pe-coral-deep); font-family: var(--font-serif); font-weight: 700; }
.pe-panel-card small, .pe-panel-card strong { display: block; }
.pe-panel-card small { color: var(--pe-coral-deep); font-size: 9px; font-weight: 700; letter-spacing: .11em; }
.pe-panel-card strong { margin-top: 3px; font-size: 12px; }
.pe-panel-card-one { left: -50px; top: 38px; border-radius: 8px 8px 0 8px; }
.pe-panel-card-two { right: -38px; bottom: 41px; border-radius: 8px 0 8px 8px; }

.pe-country-section { padding: 105px 0 108px; background: var(--pe-paper); }
.pe-section-heading { display: grid; grid-template-columns: 1fr .7fr; column-gap: 95px; align-items: end; }
.pe-section-heading h2, .pe-route-intro h2, .pe-guides h2 { font-size: clamp(35px, 4.2vw, 55px); line-height: 1.07; }
.pe-section-heading > p { margin: 0 0 4px; color: var(--pe-muted); font-size: 15px; line-height: 1.65; }
.pe-country-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 46px; }
.pe-country-card { display: grid; grid-template-columns: 54px 1fr 20px; align-items: center; gap: 17px; padding: 25px; cursor: pointer; color: var(--pe-ink); text-align: left; background: var(--pe-paper-bright); border: 1px solid var(--pe-line); border-radius: 12px; transition: transform .2s ease, border .2s ease, box-shadow .2s ease; }
.pe-country-card:hover, .pe-country-card.is-active { border-color: var(--pe-coral); transform: translateY(-3px); box-shadow: 0 17px 32px rgb(11 23 42 / .09); }
.pe-country-card.is-active { background: #fff3ee; }
.pe-country-card .pe-flag { font-size: 32px; }
.pe-country-card small, .pe-country-card strong, .pe-country-card em { display: block; }
.pe-country-card small { color: var(--pe-coral-deep); font-size: 10px; font-style: normal; font-weight: 800; letter-spacing: .13em; }
.pe-country-card strong { margin: 3px 0 5px; font-family: var(--font-serif); font-size: 25px; letter-spacing: -.03em; }
.pe-country-card em { color: var(--pe-muted); font-size: 13px; font-style: normal; }
.pe-country-card > i { color: var(--pe-coral); font-size: 21px; font-style: normal; }

.pe-route-section { padding: 104px 0 110px; color: white; background: var(--pe-ink); }
.pe-route-intro { display: flex; justify-content: space-between; gap: 60px; align-items: end; }
.pe-route-intro .pe-eyebrow { color: var(--pe-sun); }
.pe-route-intro > p { width: min(405px, 100%); margin: 0 0 5px; color: #b8c5d2; line-height: 1.65; }
.pe-phase-tabs { display: flex; gap: 10px; margin: 45px 0 24px; overflow-x: auto; }
.pe-phase-tabs button { flex: 1; min-width: 165px; padding: 13px 17px; cursor: pointer; color: #becad6; background: transparent; border: 1px solid rgb(255 255 255 / .2); border-radius: 5px; font-size: 13px; font-weight: 700; transition: .2s ease; }
.pe-phase-tabs button:hover, .pe-phase-tabs button.is-active { color: var(--pe-ink); background: var(--pe-sun); border-color: var(--pe-sun); }
.pe-route-board { display: grid; grid-template-columns: 150px 1fr; min-height: 338px; border: 1px solid rgb(255 255 255 / .18); border-radius: 13px; overflow: hidden; }
.pe-route-stage { display: flex; flex-direction: column; justify-content: space-between; padding: 28px; background: rgb(255 255 255 / .06); border-right: 1px solid rgb(255 255 255 / .18); }
.pe-stage-number { color: var(--pe-sun); font-family: var(--font-serif); font-size: 57px; font-weight: 600; line-height: 1; }
.pe-stage-label { color: #d4dce4; font-size: 10px; font-weight: 800; letter-spacing: .14em; line-height: 1.4; }
.pe-route-content { display: grid; grid-template-columns: 1fr 1.1fr; gap: 48px; padding: 36px 42px; }
.pe-card-kicker { margin: 0 0 15px; color: var(--pe-sun); font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.pe-route-feature h3 { margin: 0; font-family: var(--font-serif); font-size: 30px; font-weight: 600; letter-spacing: -.035em; line-height: 1.12; }
.pe-route-feature > p:not(.pe-card-kicker) { margin: 15px 0 20px; color: #b9c6d2; font-size: 14px; line-height: 1.6; }
.pe-route-feature a { color: var(--pe-sun); border-bottom: 1px solid var(--pe-sun); padding-bottom: 3px; font-size: 13px; font-weight: 700; }
.pe-route-list { display: grid; align-content: start; border-top: 1px solid rgb(255 255 255 / .18); }
.pe-route-list a { display: grid; grid-template-columns: 35px 1fr 18px; align-items: center; gap: 11px; padding: 16px 0; border-bottom: 1px solid rgb(255 255 255 / .18); transition: padding .2s ease; }
.pe-route-list a:hover { padding-left: 7px; }
.pe-list-icon { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 7px; color: var(--pe-mint); background: rgb(184 221 208 / .13); font-size: 17px; }
.pe-route-list small, .pe-route-list strong { display: block; }
.pe-route-list small { color: #a7b7c8; font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.pe-route-list strong { margin-top: 3px; color: white; font-size: 14px; }
.pe-route-list i { color: var(--pe-sun); font-size: 18px; font-style: normal; }

.pe-principles { padding: 112px 0; color: white; background: var(--pe-coral); }
.pe-principles .pe-eyebrow { color: var(--pe-ink); }
.pe-principles .pe-eyebrow > span { box-shadow: 0 0 0 5px rgb(11 23 42 / .12); }
.pe-principles-grid { display: grid; grid-template-columns: 1.2fr .85fr; gap: 35px 90px; }
.pe-principles h2 { font-size: clamp(35px, 4vw, 56px); line-height: 1.05; }
.pe-principles-grid > p { margin: 9px 0 0; color: #fff0eb; font-size: 16px; line-height: 1.65; }
.pe-principle { padding-top: 25px; border-top: 1px solid rgb(255 255 255 / .35); }
.pe-principle b { color: var(--pe-ink); font-family: var(--font-serif); font-size: 26px; }
.pe-principle h3 { margin: 25px 0 8px; font-size: 16px; }
.pe-principle p { margin: 0; color: #fff0eb; font-size: 14px; line-height: 1.55; }

.pe-guides { padding: 112px 0; background: var(--pe-paper); }
.pe-guides-header { display: flex; justify-content: space-between; align-items: end; gap: 30px; }
.pe-dark-link { color: var(--pe-ink); }
.pe-guides-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 47px; }
.pe-guide-card { display: flex; min-height: 252px; flex-direction: column; padding: 26px; background: var(--pe-paper-bright); border: 1px solid var(--pe-line); border-radius: 11px; transition: transform .2s ease, box-shadow .2s ease, border .2s ease; }
.pe-guide-card:hover { border-color: var(--pe-coral); transform: translateY(-4px); box-shadow: 0 18px 34px rgb(11 23 42 / .09); }
.pe-guide-meta { color: var(--pe-coral-deep); font-size: 10px; font-weight: 800; letter-spacing: .11em; }
.pe-guide-meta i { font-style: normal; }
.pe-guide-card h3 { margin: 37px 0 12px; color: var(--pe-ink); font-family: var(--font-serif); font-size: 23px; font-weight: 600; line-height: 1.18; letter-spacing: -.03em; }
.pe-guide-card p { color: var(--pe-muted); font-size: 13px; line-height: 1.55; }
.pe-guide-link { margin-top: auto; color: var(--pe-coral-deep); font-size: 13px; font-weight: 800; }
.pe-guide-link i { margin-left: 4px; font-size: 18px; font-style: normal; }

.pe-resource { padding: 0 0 110px; background: var(--pe-paper); }
.pe-resource-card { display: grid; grid-template-columns: 105px 1fr auto; gap: 36px; align-items: center; padding: 43px; color: white; background: var(--pe-ink); border-radius: 16px 16px 16px 0; box-shadow: 13px 13px 0 var(--pe-coral); }
.pe-resource-seal { display: flex; justify-content: center; align-items: center; gap: 8px; width: 94px; height: 94px; border: 1px solid rgb(255 255 255 / .45); border-radius: 50%; transform: rotate(-12deg); }
.pe-resource-seal span { font-family: var(--font-serif); font-size: 34px; font-weight: 700; }
.pe-resource-seal small { font-size: 8px; font-weight: 800; letter-spacing: .12em; line-height: 1.3; }
.pe-resource h2 { font-size: clamp(31px, 3vw, 43px); line-height: 1.08; }
.pe-resource h2 em { color: var(--pe-sun); font-style: italic; }
.pe-resource p:not(.pe-eyebrow) { max-width: 560px; margin: 15px 0 0; color: #c8d4df; line-height: 1.55; }
.pe-button-light { color: var(--pe-ink); background: var(--pe-paper-bright); white-space: nowrap; }

.pe-home-footer { padding: 27px 0 35px; background: var(--pe-paper); }
.pe-home-footer > div { display: grid; grid-template-columns: 1fr 1fr auto; gap: 20px; align-items: center; padding-top: 26px; border-top: 1px solid var(--pe-line); color: var(--pe-muted); font-size: 12px; }
.pe-home-footer p { margin: 0; }
.pe-home-footer > div > div { display: flex; gap: 16px; }
.pe-home-footer > div > div a:hover { color: var(--pe-coral-deep); }

@media (max-width: 860px) {
    .pe-container, .pe-home-header { width: min(100% - 32px, 680px); }
    .pe-hero { padding: 52px 0 84px; }
    .pe-hero-grid, .pe-section-heading, .pe-route-intro, .pe-principles-grid { grid-template-columns: 1fr; }
    .pe-hero-grid { gap: 44px; }
    .pe-hero-panel { justify-self: center; }
    .pe-section-heading, .pe-route-intro { gap: 22px; }
    .pe-country-grid, .pe-guides-grid { grid-template-columns: 1fr; }
    .pe-route-content { grid-template-columns: 1fr; gap: 23px; }
    .pe-principles-grid { gap: 26px; }
    .pe-resource-card { grid-template-columns: 85px 1fr; }
    .pe-resource-card .pe-button { grid-column: 1 / -1; justify-self: start; }
    .pe-home-footer > div { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .pe-home-header { min-height: 70px; }
    .pe-home-nav > a:not(.pe-nav-cta) { display: none; }
    .pe-hero h1 { font-size: 49px; }
    .pe-hero-actions { align-items: flex-start; flex-direction: column; gap: 15px; }
    .pe-hero-panel { width: 292px; min-height: 356px; transform: scale(.9); }
    .pe-panel-card-one { left: -28px; }
    .pe-panel-card-two { right: -28px; }
    .pe-country-card { grid-template-columns: 43px 1fr 16px; padding: 20px; }
    .pe-route-board { grid-template-columns: 1fr; }
    .pe-route-stage { flex-direction: row; align-items: center; padding: 20px; border-right: 0; border-bottom: 1px solid rgb(255 255 255 / .18); }
    .pe-route-content { padding: 28px 22px; }
    .pe-resource-card { grid-template-columns: 1fr; padding: 29px 24px; }
    .pe-home-footer > div > div { flex-wrap: wrap; }
}


/* The legacy code injection still powers existing comparator pages during migration.
   Hide only its home-specific nodes when this controlled theme home is active. */
body.home-template .primo-home-shell > #primo-hero,
body.home-template .primo-home-shell > #primo-main-interface,
body.home-template #primo-impact,
body.home-template #primo-value,
body.home-template #primo-guides,
body.home-template #primo-trust-badge,
body.home-template #primo-header-flags,
body.home-template > #primo-testimonials,
body.home-template > #primo-leadmagnet,
body.home-template > #primo-legalbar {
    display: none !important;
}

/* The legacy injector inserts its old homepage before the theme body.
   During migration, suppress every legacy home node globally on the homepage only. */
body.home-template #primo-hero,
body.home-template #primo-main-interface,
body.home-template #primo-trust-route,
body.home-template #primo-guides,
body.home-template #primo-trust-badge,
body.home-template #primo-header-flags,
body.home-template #primo-impact,
body.home-template #primo-value,
body.home-template #primo-testimonials,
body.home-template #primo-leadmagnet,
body.home-template #primo-legalbar {
    display: none !important;
}

/* ================================================================
   PRIMO EUROPA · HOME REBUILD (tema, no inyección de Ghost)
   ================================================================ */
.home-template {
    --pe-navy: #06172d;
    --pe-ink: #102038;
    --pe-paper: #f8f5ee;
    --pe-paper-deep: #eee9df;
    --pe-coral: #ee6e51;
    --pe-gold: #e9ba56;
    --pe-muted: #647084;
    background: var(--pe-paper) !important;
}
.home-template .pe-home-header-rebuild {display:flex !important;min-height:92px;width:100%;align-items:center;justify-content:space-between;gap:24px;padding:0 clamp(24px,6vw,108px) !important;background:rgba(250,248,243,.98) !important;border-bottom:1px solid rgba(6,23,45,.10);box-shadow:none !important;position:relative;z-index:40}
.home-template .pe-home-header-rebuild .pe-brand,.home-template .pe-home-header-rebuild .pe-home-nav{display:flex !important;align-items:center}.home-template .pe-home-header-rebuild .pe-brand{gap:10px;color:var(--pe-navy)!important;font:800 13px/1 Inter,sans-serif;letter-spacing:.15em;text-decoration:none}.home-template .pe-home-header-rebuild .pe-brand strong{color:var(--pe-coral)}.home-template .pe-home-header-rebuild .pe-brand-icon{width:30px;height:30px;object-fit:contain;border-radius:8px}.home-template .pe-home-header-rebuild .pe-home-nav{gap:clamp(16px,2.6vw,34px)}.home-template .pe-home-header-rebuild .pe-home-nav a{color:#26364c!important;font:700 13px/1 Inter,sans-serif;text-decoration:none;white-space:nowrap}.home-template .pe-home-header-rebuild .pe-home-nav a:hover{color:var(--pe-coral)!important}.home-template .pe-home-header-rebuild .pe-nav-login{padding:12px 2px}.home-template .pe-home-header-rebuild .pe-nav-cta{display:inline-flex!important;align-items:center;min-height:43px;padding:0 19px!important;color:#fff!important;background:var(--pe-coral)!important;border-radius:8px!important;box-shadow:0 8px 18px rgba(238,110,81,.18)}
.home-template .pe-hero-rebuild{min-height:435px;padding:clamp(68px,8vw,112px) 0 clamp(70px,8vw,108px);overflow:hidden;background:radial-gradient(circle at 13% 10%,rgba(238,110,81,.16),transparent 32%),radial-gradient(circle at 88% 70%,rgba(43,88,136,.22),transparent 34%),var(--pe-navy);position:relative}.home-template .pe-hero-rebuild .pe-hero-simple{position:relative;z-index:2;max-width:920px;text-align:center}.home-template .pe-hero-rebuild .pe-eyebrow{justify-content:center;color:#f3c96d}.home-template .pe-hero-rebuild h1{max-width:850px;margin:0 auto 24px;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:clamp(40px,5vw,70px);font-weight:700;letter-spacing:-.055em;line-height:.99}.home-template .pe-hero-rebuild h1 em{color:var(--pe-coral);font-style:normal;font-size:.56em;letter-spacing:-.04em}.home-template .pe-hero-rebuild .pe-hero-lead{max-width:650px;margin:0 auto;color:#d4dce7;font:400 clamp(16px,1.6vw,19px)/1.6 Inter,sans-serif}.home-template .pe-hero-rebuild .pe-hero-actions{justify-content:center;margin-top:32px}.home-template .pe-hero-rebuild .pe-button{min-height:52px}
.home-template .pe-workflow{padding:clamp(58px,7vw,98px) 0;background:var(--pe-paper)}.home-template .pe-workflow-grid{display:grid;grid-template-columns:130px minmax(0,1fr);gap:clamp(26px,5vw,76px);max-width:1120px}.home-template .pe-workflow-steps{padding-top:64px;display:flex;flex-direction:column;align-items:center}.home-template .pe-workflow-step{display:flex;width:88px;flex-direction:column;align-items:center;gap:10px;text-align:center;color:#26364c;font:800 12px/1.25 Inter,sans-serif}.home-template .pe-workflow-step b{display:grid;width:45px;height:45px;place-items:center;background:var(--pe-navy);border-radius:50%;color:#fff;font-size:17px;box-shadow:0 8px 16px rgba(6,23,45,.15)}.home-template .pe-workflow-line{width:2px;height:54px;background:repeating-linear-gradient(to bottom,#d8d4ca 0 7px,transparent 7px 14px)}.home-template .pe-workflow-main{min-width:0}.home-template .pe-workflow-heading{max-width:820px;margin:0 auto 34px;text-align:center}.home-template .pe-workflow-heading .pe-eyebrow{justify-content:center}.home-template .pe-workflow-heading h2{margin:8px 0 10px;color:var(--pe-navy);font:700 clamp(27px,3vw,40px)/1.1 Georgia,serif;letter-spacing:-.035em}.home-template .pe-workflow-heading h2 em{color:var(--pe-coral);font-style:normal}.home-template .pe-workflow-heading>p:last-child{margin:0 auto;max-width:780px;color:var(--pe-muted);font:400 16px/1.55 Inter,sans-serif}
.home-template .pe-country-grid-workflow{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px}.home-template .pe-country-grid-workflow .pe-country-card{min-height:72px;display:flex;align-items:center;justify-content:center;gap:14px;padding:0 20px;border:1px solid #d9d6cf;border-radius:13px;background:#fff;color:var(--pe-navy);cursor:pointer;box-shadow:0 8px 24px rgba(6,23,45,.04);transition:.18s ease}.home-template .pe-country-grid-workflow .pe-country-card strong{font:800 19px/1 Inter,sans-serif}.home-template .pe-country-grid-workflow .pe-country-card .pe-flag{font-size:24px}.home-template .pe-country-grid-workflow .pe-country-card.is-active{border:2px solid var(--pe-coral);background:#fff9f4;box-shadow:0 10px 30px rgba(238,110,81,.10)}.home-template .pe-country-grid-workflow .pe-country-card:hover{transform:translateY(-2px)}
.home-template .pe-phase-accordion{display:grid;gap:12px}.home-template .pe-phase-accordion button{display:flex;align-items:center;gap:16px;width:100%;padding:17px 20px;border:1px solid #ebe7de;border-radius:13px;background:#fff;color:var(--pe-ink);box-shadow:0 7px 18px rgba(6,23,45,.04);cursor:pointer;text-align:left;transition:.18s ease}.home-template .pe-phase-accordion button.is-active{border-color:#f1c2b7;background:#fffaf7;box-shadow:0 10px 26px rgba(238,110,81,.10)}.home-template .pe-phase-accordion button:hover{border-color:rgba(238,110,81,.65)}.home-template .pe-phase-accordion .pe-phase-icon{display:grid;flex:0 0 37px;width:37px;height:37px;place-items:center;border-radius:10px;background:#f0eee8;color:var(--pe-coral);font-size:19px}.home-template .pe-phase-accordion button>span:nth-child(2){display:grid;gap:4px}.home-template .pe-phase-accordion strong{font:800 16px/1 Inter,sans-serif}.home-template .pe-phase-accordion small{color:#758092;font:400 13px/1 Inter,sans-serif}.home-template .pe-phase-accordion i{margin-left:auto;color:#58667a;font-style:normal;font-size:18px}
.home-template .pe-route-board-rebuild{margin-top:16px;border:1px solid #e2ded4;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 14px 36px rgba(6,23,45,.06)}.home-template .pe-route-board-rebuild .pe-route-stage{display:flex;gap:10px;align-items:center;padding:16px 24px;background:#f7f4ee;color:var(--pe-navy)}.home-template .pe-route-board-rebuild .pe-stage-number{color:var(--pe-coral);font:800 20px/1 Inter,sans-serif}.home-template .pe-route-board-rebuild .pe-stage-label{font:800 11px/1 Inter,sans-serif;letter-spacing:.12em}.home-template .pe-route-board-rebuild .pe-route-content{display:grid;grid-template-columns:.9fr 1.1fr}.home-template .pe-route-board-rebuild .pe-route-feature{padding:32px;background:var(--pe-navy);color:#fff}.home-template .pe-route-board-rebuild .pe-route-feature p{color:#cdd6e2;font:400 14px/1.55 Inter,sans-serif}.home-template .pe-route-board-rebuild .pe-route-feature h3{margin:8px 0 12px;color:#fff;font:700 27px/1.1 Georgia,serif;letter-spacing:-.025em}.home-template .pe-route-board-rebuild .pe-route-feature a{color:#f7c75b;font:800 13px/1 Inter,sans-serif;text-decoration:none}.home-template .pe-route-board-rebuild .pe-route-list{padding:10px 20px;display:grid;align-content:center}.home-template .pe-route-board-rebuild .pe-route-list a{display:flex;gap:14px;align-items:center;padding:15px 4px;border-bottom:1px solid #ece8df;color:var(--pe-ink);text-decoration:none}.home-template .pe-route-board-rebuild .pe-route-list a:last-child{border:0}.home-template .pe-route-board-rebuild .pe-route-list small{display:block;margin-bottom:4px;color:#8a94a4;font:800 10px/1 Inter,sans-serif;letter-spacing:.08em}.home-template .pe-route-board-rebuild .pe-route-list strong{font:800 14px/1.2 Inter,sans-serif}.home-template .pe-route-board-rebuild .pe-route-list i{margin-left:auto;color:var(--pe-coral);font-style:normal}.home-template .pe-workflow-note{margin:15px 0 0;padding:16px 20px;border:1px solid #e8e4dc;border-radius:12px;background:#fff;color:#737d8d;font:400 14px/1.45 Inter,sans-serif;text-align:center}
.home-template .pe-guides-six{padding:clamp(70px,8vw,110px) 0;background:#fff}.home-template .pe-guides-six .pe-guides-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.home-template .pe-guides-six .pe-guide-card{min-height:232px;display:flex;flex-direction:column;padding:25px;border:1px solid #e7e3da;border-radius:15px;background:var(--pe-paper);color:var(--pe-ink);text-decoration:none;transition:.18s ease}.home-template .pe-guides-six .pe-guide-card:hover{border-color:var(--pe-coral);box-shadow:0 16px 30px rgba(6,23,45,.09);transform:translateY(-3px)}.home-template .pe-guides-six .pe-guide-meta{color:var(--pe-coral);font:800 10px/1 Inter,sans-serif;letter-spacing:.09em;text-transform:uppercase}.home-template .pe-guides-six .pe-guide-card h3{margin:15px 0 10px;font:700 21px/1.12 Georgia,serif;letter-spacing:-.02em}.home-template .pe-guides-six .pe-guide-card p{margin:0;color:#69758a;font:400 14px/1.45 Inter,sans-serif}.home-template .pe-guides-six .pe-guide-link{margin-top:auto;padding-top:18px;color:var(--pe-coral);font:800 12px/1 Inter,sans-serif}
.home-template .pe-testimonials{padding:0 0 clamp(65px,8vw,105px);background:#fff}.home-template .pe-testimonials-heading{margin-bottom:28px;text-align:center}.home-template .pe-testimonials-heading .pe-eyebrow{justify-content:center}.home-template .pe-testimonials-heading h2{margin:6px 0 0;color:var(--pe-navy);font:700 clamp(28px,3vw,42px)/1.1 Georgia,serif;letter-spacing:-.035em}.home-template .pe-testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.home-template .pe-testimonial-card{padding:25px;border:1px solid #e5e1d7;border-radius:15px;background:var(--pe-paper);box-shadow:0 8px 23px rgba(6,23,45,.045)}.home-template .pe-testimonial-person{display:flex;align-items:center;gap:12px}.home-template .pe-avatar{display:grid;width:47px;height:47px;place-items:center;border-radius:50%;color:#fff;font:800 13px/1 Inter,sans-serif}.home-template .pe-avatar-carlos{background:linear-gradient(135deg,#203d5e,#7e97a7)}.home-template .pe-avatar-valentina{background:linear-gradient(135deg,#b86555,#e9ba56)}.home-template .pe-avatar-sofia{background:linear-gradient(135deg,#8f4962,#dca17e)}.home-template .pe-testimonial-person div{display:grid;gap:3px}.home-template .pe-testimonial-person strong{color:var(--pe-ink);font:800 14px/1 Inter,sans-serif}.home-template .pe-testimonial-person small{color:#617084;font:700 11px/1 Inter,sans-serif}.home-template .pe-testimonial-person p{margin:0;color:var(--pe-gold);font:800 12px/1 Inter,sans-serif;letter-spacing:.08em}.home-template .pe-testimonial-card blockquote{margin:18px 0 0;color:#627083;font:400 14px/1.55 Inter,sans-serif}
.home-template .pe-resource{padding:0;background:var(--pe-paper)}.home-template .pe-resource-card{display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center;padding:clamp(42px,5vw,72px) clamp(24px,5vw,80px);background:var(--pe-navy);color:#fff}.home-template .pe-resource-card h2{margin:8px 0;color:#fff;font:700 clamp(28px,3.1vw,43px)/1.05 Georgia,serif;letter-spacing:-.035em}.home-template .pe-resource-card h2 em{color:var(--pe-coral);font-style:normal}.home-template .pe-resource-card>div>p:last-child{margin:0;color:#bac7d7;font:400 15px/1.5 Inter,sans-serif}.home-template .pe-resource-seal{display:flex;align-items:center;gap:8px;color:#f5c968}.home-template .pe-resource-seal span{font:700 45px/.8 Georgia,serif}.home-template .pe-resource-seal small{font:800 10px/1.1 Inter,sans-serif;letter-spacing:.12em}.home-template .pe-button-light{background:var(--pe-coral)!important;color:#fff!important;white-space:nowrap}
.home-template .pe-home-footer-complete{padding:34px 0 30px;background:#041224;color:#c1cbd8;text-align:center}.home-template .pe-home-footer-complete .pe-container{display:grid;justify-items:center;gap:15px}.home-template .pe-home-footer-complete .pe-brand{display:flex;align-items:center;gap:9px;color:#fff;font:800 12px/1 Inter,sans-serif;letter-spacing:.15em;text-decoration:none}.home-template .pe-home-footer-complete .pe-brand strong{color:var(--pe-coral)}.home-template .pe-home-footer-complete .pe-brand-letter{display:grid;width:25px;height:25px;place-items:center;border:1px solid rgba(255,255,255,.4);border-radius:7px;color:#f4c865}.home-template .pe-home-footer-complete p{margin:0;color:#9eacbd;font:400 13px/1.4 Inter,sans-serif}.home-template .pe-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px}.home-template .pe-footer-links a{color:#dde5ef;font:700 12px/1 Inter,sans-serif;text-decoration:none}.home-template .pe-footer-links a:hover{color:var(--pe-coral)}.home-template .pe-home-footer-complete small{color:#7d8da3;font:400 11px/1.4 Inter,sans-serif}
@media (max-width:850px){.home-template .pe-home-header-rebuild{min-height:72px;padding:0 18px!important}.home-template .pe-home-header-rebuild .pe-home-nav{gap:14px}.home-template .pe-home-header-rebuild .pe-home-nav>a:not(.pe-nav-login):not(.pe-nav-cta):not(.pe-nav-plan):not([href="#rutas"]){display:none!important}.home-template .pe-home-header-rebuild .pe-nav-cta{min-height:38px;padding:0 12px!important;font-size:12px!important}.home-template .pe-workflow-grid{grid-template-columns:1fr}.home-template .pe-workflow-steps{display:none}.home-template .pe-route-board-rebuild .pe-route-content{grid-template-columns:1fr}.home-template .pe-guides-six .pe-guides-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-template .pe-testimonials-grid{grid-template-columns:1fr}.home-template .pe-resource-card{grid-template-columns:1fr;gap:17px}}@media (max-width:560px){.home-template .pe-home-header-rebuild .pe-brand>span:last-child{display:none}.home-template .pe-home-header-rebuild .pe-nav-login{font-size:12px!important}.home-template .pe-hero-rebuild{min-height:auto;padding:70px 0}.home-template .pe-hero-rebuild h1{font-size:39px}.home-template .pe-country-grid-workflow{grid-template-columns:1fr}.home-template .pe-guides-six .pe-guides-grid{grid-template-columns:1fr}.home-template .pe-route-board-rebuild .pe-route-feature{padding:26px}.home-template .pe-resource-seal{display:none}}

/* Hero editorial: composición solicitada por Felipe */
.home-template .pe-hero-rebuild{min-height:590px;padding:0;display:flex;align-items:center;background:linear-gradient(115deg,#071425 0%,#06172d 62%,#0a2746 100%)}
.home-template .pe-hero-rebuild .pe-hero-grid-rebuild{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:center;gap:clamp(42px,7vw,110px);min-height:590px;position:relative;z-index:2}
.home-template .pe-hero-rebuild .pe-hero-copy{max-width:680px;text-align:left}.home-template .pe-hero-rebuild .pe-hero-copy .pe-eyebrow{justify-content:flex-start}.home-template .pe-hero-rebuild h1{max-width:700px;margin:0 0 24px;font-size:clamp(43px,4.7vw,67px);text-align:left}.home-template .pe-hero-rebuild .pe-hero-lead{max-width:610px;margin:0;text-align:left}.home-template .pe-hero-rebuild .pe-hero-actions{justify-content:flex-start}
.home-template .pe-hero-orbit{position:absolute;z-index:1;pointer-events:none;border-radius:50%;border:1px solid rgba(255,255,255,.07);background:radial-gradient(circle at 52% 48%,rgba(238,110,81,.14),rgba(238,110,81,.035) 52%,transparent 68%)}.home-template .pe-hero-orbit-top{width:660px;height:660px;top:-438px;left:-274px}.home-template .pe-hero-orbit-bottom{width:690px;height:690px;right:-350px;bottom:-475px;background:radial-gradient(circle at 45% 42%,rgba(77,128,185,.25),rgba(77,128,185,.06) 52%,transparent 69%)}
.home-template .pe-hero-panel-large{min-height:410px;position:relative;display:flex;flex-direction:column;justify-content:flex-start;padding:34px 38px;border:1px solid rgba(255,255,255,.11);border-radius:28px 28px 28px 92px;background:linear-gradient(155deg,#12395f,#0a213e);box-shadow:0 30px 65px rgba(0,0,0,.28);overflow:hidden}.home-template .pe-hero-panel-large::after{position:absolute;top:30px;right:0;bottom:0;width:22px;border-radius:16px 0 0 0;background:var(--pe-coral);content:""}.home-template .pe-hero-panel-large .pe-panel-top{display:flex;justify-content:space-between;padding-right:22px;color:#b8cadb;font:800 10px/1 Inter,sans-serif;letter-spacing:.12em}.home-template .pe-hero-panel-large .pe-panel-title{position:relative;z-index:1;margin:74px 0 0;color:#fff;font:700 clamp(38px,3.7vw,54px)/.94 Georgia,serif;letter-spacing:-.045em}.home-template .pe-hero-panel-large .pe-panel-title strong{color:var(--pe-gold);font-weight:700}.home-template .pe-hero-panel-large .pe-panel-line{display:flex;align-items:center;gap:0;position:relative;z-index:1;margin-top:auto;padding-right:22px}.home-template .pe-hero-panel-large .pe-panel-line::before{position:absolute;left:5px;right:26px;height:1px;background:#89a0b8;content:""}.home-template .pe-hero-panel-large .pe-panel-line i{position:relative;z-index:2;display:block;width:12px;height:12px;border:2px solid #c8d4de;border-radius:50%;background:#12395f}.home-template .pe-hero-panel-large .pe-panel-line i.is-active{border-color:var(--pe-coral);background:var(--pe-coral);box-shadow:0 0 0 5px rgba(238,110,81,.18)}.home-template .pe-hero-panel-large .pe-panel-line .pe-panel-connector{flex:1}.home-template .pe-hero-panel-large .pe-panel-labels{display:flex;justify-content:space-between;padding:12px 22px 0 0;color:#bfcddb;font:700 10px/1 Inter,sans-serif}.home-template .pe-hero-panel-large .pe-panel-mark{position:absolute;right:35px;bottom:-76px;color:rgba(255,255,255,.035);font:800 220px/.8 Georgia,serif;letter-spacing:-.2em}
@media(max-width:850px){.home-template .pe-hero-rebuild{min-height:auto;padding:76px 0}.home-template .pe-hero-rebuild .pe-hero-grid-rebuild{grid-template-columns:1fr;min-height:auto;gap:46px}.home-template .pe-hero-rebuild .pe-hero-copy{text-align:center}.home-template .pe-hero-rebuild .pe-hero-copy .pe-eyebrow,.home-template .pe-hero-rebuild .pe-hero-actions{justify-content:center}.home-template .pe-hero-rebuild h1,.home-template .pe-hero-rebuild .pe-hero-lead{margin-left:auto;margin-right:auto;text-align:center}.home-template .pe-hero-panel-large{max-width:500px;width:100%;min-height:350px;margin:0 auto}.home-template .pe-hero-orbit-top{left:-430px}.home-template .pe-hero-orbit-bottom{right:-460px}}

/* Catálogo completo de categorías */
.home-template .pe-category-catalog{padding:clamp(72px,8vw,118px) 0;background:#fff}.home-template .pe-catalog-heading{max-width:760px;margin:0 auto 48px;text-align:center}.home-template .pe-catalog-heading .pe-eyebrow{justify-content:center}.home-template .pe-catalog-heading h2{margin:8px 0 14px;color:var(--pe-navy);font:700 clamp(32px,3.5vw,48px)/1.05 Georgia,serif;letter-spacing:-.04em}.home-template .pe-catalog-heading h2 em{color:var(--pe-coral);font-style:normal}.home-template .pe-catalog-heading>p:last-child{margin:0;color:#687489;font:400 16px/1.55 Inter,sans-serif}.home-template .pe-category-groups{display:grid;gap:28px}.home-template .pe-category-group{padding:25px;border:1px solid #e6e1d8;border-radius:18px;background:#fbfaf7;box-shadow:0 10px 30px rgba(6,23,45,.035)}.home-template .pe-category-group-head{display:flex;align-items:center;gap:16px;margin-bottom:19px}.home-template .pe-category-group-head>span{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border-radius:50%;background:var(--pe-navy);color:#fff;font:800 13px/1 Inter,sans-serif}.home-template .pe-category-group-head h3{margin:0 0 4px;color:var(--pe-navy);font:700 24px/1.05 Georgia,serif;letter-spacing:-.02em}.home-template .pe-category-group-head p{margin:0;color:#778293;font:400 13px/1.35 Inter,sans-serif}.home-template .pe-category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.home-template .pe-category-card{display:flex;min-height:118px;flex-direction:column;gap:13px;padding:17px;border:1px solid #ebe6de;border-radius:12px;background:#fff;color:var(--pe-ink);text-decoration:none;transition:.18s ease;position:relative}.home-template .pe-category-card:hover{border-color:var(--pe-coral);box-shadow:0 12px 22px rgba(6,23,45,.09);transform:translateY(-3px)}.home-template .pe-category-card>i{display:grid;width:28px;height:28px;place-items:center;border-radius:7px;background:#f6ece6;color:var(--pe-coral);font:800 12px/1 Inter,sans-serif;font-style:normal}.home-template .pe-category-card>span{display:grid;gap:5px}.home-template .pe-category-card small{color:#8791a1;font:800 9px/1.1 Inter,sans-serif;letter-spacing:.075em}.home-template .pe-category-card strong{color:var(--pe-ink);font:800 13px/1.22 Inter,sans-serif}.home-template .pe-category-card>b{position:absolute;right:15px;bottom:13px;color:var(--pe-coral);font:800 15px/1 Inter,sans-serif}@media(max-width:1050px){.home-template .pe-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.home-template .pe-category-catalog{padding:64px 0}.home-template .pe-category-group{padding:18px}.home-template .pe-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.home-template .pe-category-card{min-height:124px;padding:14px}.home-template .pe-category-card strong{font-size:12px}.home-template .pe-category-group-head h3{font-size:21px}}@media(max-width:390px){.home-template .pe-category-grid{grid-template-columns:1fr}}
.home-template .pe-category-card>b{right:14px;bottom:14px;color:var(--pe-coral);font:800 9px/1 Inter,sans-serif;letter-spacing:.03em}

/* Categorías desplegadas dentro de cada fase */
.home-template .pe-route-board-rebuild{display:block}.home-template .pe-route-board-rebuild .pe-route-content{display:block;padding:clamp(22px,3vw,38px)}.home-template .pe-route-catalog-intro{max-width:690px;margin-bottom:24px}.home-template .pe-route-catalog-intro h3{margin:8px 0 9px;color:var(--pe-navy);font:700 clamp(27px,3vw,39px)/1.05 Georgia,serif;letter-spacing:-.035em}.home-template .pe-route-catalog-intro p:last-child{margin:0;color:#6d7889;font:400 15px/1.55 Inter,sans-serif}.home-template .pe-route-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.home-template .pe-route-category-card{display:flex;align-items:flex-start;gap:11px;min-height:108px;padding:16px;border:1px solid #e8e4dd;border-radius:12px;background:#fff;color:var(--pe-ink);text-decoration:none;transition:.18s ease}.home-template .pe-route-category-card:hover{border-color:var(--pe-coral);box-shadow:0 10px 20px rgba(6,23,45,.08);transform:translateY(-2px)}.home-template .pe-route-category-card>i{display:grid;flex:0 0 29px;width:29px;height:29px;place-items:center;border-radius:8px;background:#f8eee9;color:var(--pe-coral);font:800 12px/1 Inter,sans-serif;font-style:normal}.home-template .pe-route-category-card>span{display:grid;gap:5px}.home-template .pe-route-category-card small{color:#8791a1;font:800 9px/1.15 Inter,sans-serif;letter-spacing:.06em}.home-template .pe-route-category-card strong{color:var(--pe-ink);font:800 13px/1.18 Inter,sans-serif}.home-template .pe-route-category-card em{margin-top:3px;color:var(--pe-coral);font:800 10px/1 Inter,sans-serif;font-style:normal}@media(max-width:720px){.home-template .pe-route-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.home-template .pe-route-board-rebuild .pe-route-content{padding:18px}.home-template .pe-route-category-card{min-height:118px;padding:13px}.home-template .pe-route-category-card strong{font-size:12px}}@media(max-width:390px){.home-template .pe-route-category-grid{grid-template-columns:1fr}}

/* Acordeón de fases: las opciones se abren debajo de su propia fila */
.home-template .pe-phase-accordion{display:grid;gap:12px;margin-top:28px}.home-template .pe-phase-item{overflow:hidden;border:1px solid #e5e2dc;border-radius:15px;background:#fff;box-shadow:0 7px 18px rgba(9,26,46,.035);transition:.2s ease}.home-template .pe-phase-item.is-open{border-color:#f1c9c1;box-shadow:0 16px 34px rgba(9,26,46,.07)}.home-template .pe-phase-trigger{display:flex;width:100%;align-items:center;gap:14px;padding:17px 20px;border:0;background:#fff;color:var(--pe-ink);text-align:left;cursor:pointer}.home-template .pe-phase-trigger .pe-phase-icon{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border-radius:11px;background:#f8eee9;color:var(--pe-coral);font-size:17px}.home-template .pe-phase-trigger>span:nth-child(2){display:grid;gap:3px}.home-template .pe-phase-trigger strong{font:800 16px/1.1 Inter,sans-serif}.home-template .pe-phase-trigger small{color:#8791a1;font:400 13px/1.2 Inter,sans-serif}.home-template .pe-phase-trigger>i{margin-left:auto;color:#718093;font:800 14px/1 Inter,sans-serif;font-style:normal;transition:.2s ease}.home-template .pe-phase-item.is-open .pe-phase-trigger>i{color:var(--pe-coral);transform:rotate(180deg)}.home-template .pe-phase-panel{display:none;border-top:1px solid #eeeae4;background:linear-gradient(135deg,#fff 0%,#fdfbf7 100%)}.home-template .pe-phase-item.is-open .pe-phase-panel{display:block}.home-template .pe-phase-panel-content{padding:22px}.home-template .pe-accordion-stage{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}.home-template .pe-accordion-stage span{color:var(--pe-coral);font:700 25px/1 Georgia,serif}.home-template .pe-accordion-stage small{color:#a6a0a0;font:800 9px/1 Inter,sans-serif;letter-spacing:.1em}.home-template .pe-accordion-copy{margin-bottom:18px}.home-template .pe-accordion-copy p{margin:0 0 7px;color:var(--pe-gold);font:800 9px/1.1 Inter,sans-serif;letter-spacing:.1em}.home-template .pe-accordion-copy h3{margin:0 0 7px;color:var(--pe-ink);font:700 clamp(23px,2.5vw,34px)/1.07 Georgia,serif;letter-spacing:-.03em}.home-template .pe-accordion-copy>span{display:block;max-width:690px;color:#748093;font:400 14px/1.5 Inter,sans-serif}.home-template .pe-accordion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.home-template .pe-accordion-card{display:flex;min-height:128px;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:18px;border:1px solid #e7e2dc;border-radius:14px;background:#fff;color:var(--pe-ink);text-align:center;text-decoration:none;transition:.18s ease}.home-template .pe-accordion-card:hover{border-color:var(--pe-coral);box-shadow:0 10px 20px rgba(9,26,46,.08);transform:translateY(-2px)}.home-template .pe-accordion-card>i{display:grid;width:37px;height:37px;place-items:center;border-radius:50%;background:#faf5ef;color:var(--pe-coral);font:800 15px/1 Inter,sans-serif;font-style:normal}.home-template .pe-accordion-card>span{display:grid;gap:5px}.home-template .pe-accordion-card small{color:#8a95a4;font:800 8px/1.1 Inter,sans-serif;letter-spacing:.07em}.home-template .pe-accordion-card strong{font:800 14px/1.17 Inter,sans-serif}.home-template .pe-route-board-rebuild{display:none}.home-template .pe-home-footer-compact{padding:31px 0 29px;background:#07182d;color:#92a0b2;text-align:center}.home-template .pe-home-footer-compact .pe-container{display:grid;gap:15px;justify-items:center}.home-template .pe-home-footer-compact .pe-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:24px}.home-template .pe-home-footer-compact .pe-footer-links a{color:#d0d7e1;font:500 12px/1 Inter,sans-serif;text-decoration:none}.home-template .pe-home-footer-compact small{font:400 11px/1.4 Inter,sans-serif}@media(max-width:720px){.home-template .pe-phase-trigger{padding:14px}.home-template .pe-phase-panel-content{padding:16px}.home-template .pe-accordion-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-template .pe-accordion-card{min-height:112px;padding:13px}.home-template .pe-accordion-card strong{font-size:12px}.home-template .pe-home-footer-compact .pe-footer-links{gap:13px}.home-template .pe-home-footer-compact .pe-footer-links a{font-size:11px}}

/* Tarjetas originales y cierre legal fuera del footer nativo */
.home-template .pe-legal-close{display:block!important;position:relative!important;visibility:visible!important;opacity:1!important;padding:31px 0 29px;background:#07182d;color:#92a0b2;text-align:center}.home-template .pe-legal-close .pe-container{display:grid;gap:15px;justify-items:center}.home-template .pe-legal-close .pe-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:24px}.home-template .pe-legal-close .pe-footer-links a{color:#d0d7e1;font:500 12px/1 Inter,sans-serif;text-decoration:none}.home-template .pe-legal-close small{font:400 11px/1.4 Inter,sans-serif}.home-template .pe-accordion-card>strong{color:var(--pe-ink);font:800 16px/1.2 Inter,sans-serif}@media(max-width:720px){.home-template .pe-accordion-grid{grid-template-columns:1fr;gap:14px}.home-template .pe-accordion-card{min-height:236px;padding:30px 18px;border-radius:20px;gap:18px}.home-template .pe-accordion-card>i{width:68px;height:68px;background:#f9f8ef;font-size:31px}.home-template .pe-accordion-card>strong{font-size:26px;line-height:1.18}.home-template .pe-phase-panel-content{padding:14px 0 18px}.home-template .pe-accordion-copy{display:none}.home-template .pe-legal-close{padding:28px 20px}.home-template .pe-legal-close .pe-footer-links{gap:12px 18px}.home-template .pe-legal-close .pe-footer-links a{font-size:11px}}

/* Refinamiento visual: iconos centrados, guías con paleta hero y transición beige al pie */
.home-template .pe-accordion-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px}.home-template .pe-accordion-card>i{display:grid;place-items:center;align-self:center;width:76px;height:76px;border-radius:50%;background:#f6f4ea;font-size:40px;line-height:1;box-shadow:0 10px 24px rgba(7,24,45,.08)}.home-template .pe-accordion-card>strong{display:block;text-align:center}
.home-template .pe-guides{background:#07182d;color:#f8f2e8}.home-template .pe-guides .pe-eyebrow{color:#f2c96d}.home-template .pe-guides .pe-eyebrow span{background:#ef775f}.home-template .pe-guides h2,.home-template .pe-guides h3{color:#f8f2e8}.home-template .pe-guides h2 em{color:#ef775f}.home-template .pe-guides .pe-text-link,.home-template .pe-guides .pe-dark-link{color:#f2c96d}.home-template .pe-guides .pe-guide-card{background:#102844;border-color:rgba(248,242,232,.15)}.home-template .pe-guides .pe-guide-card:hover{border-color:#ef775f;background:#143151}.home-template .pe-guides .pe-guide-meta{color:#f2c96d}.home-template .pe-guides .pe-guide-card p{color:#c9d2df}.home-template .pe-guides .pe-guide-link{color:#ef775f}
.home-template .pe-resource{padding-bottom:46px;background:#f2eee4}.home-template .pe-resource-card{margin-bottom:0}.home-template .pe-legal-close{border-top:1px solid #d9d1c3}
@media(max-width:720px){.home-template .pe-accordion-card{gap:20px}.home-template .pe-accordion-card>i{width:82px;height:82px;font-size:44px}.home-template .pe-resource{padding-bottom:32px}}

/* Corrección de prioridad: el tema heredado posiciona el icono en una esquina. */
.home-template .pe-phase-panel .pe-accordion-card>i{position:static!important;inset:auto!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;float:none!important;margin:0 auto!important;transform:none!important;align-self:center!important;justify-self:center!important;order:0!important}.home-template .pe-phase-panel .pe-accordion-card>strong{position:static!important;margin:0!important;order:1!important}

/* Ajustes finales de hero, guías y transición de recursos */
.home-template .pe-hero-rebuild .pe-hero-copy{display:flex;min-height:360px;flex-direction:column;justify-content:center;align-items:flex-start}.home-template .pe-hero-rebuild .pe-hero-copy h1{margin-bottom:28px}.home-template .pe-hero-rebuild .pe-hero-actions{margin-top:0}.home-template .pe-guide-meta{display:flex!important;align-items:center;gap:7px}.home-template .pe-guide-flag{display:inline-grid;flex:0 0 25px;width:25px;height:25px;place-items:center;border-radius:50%;background:rgba(242,201,109,.15);font-size:14px;line-height:1}.home-template .pe-resource{padding-top:46px}@media(max-width:720px){.home-template .pe-hero-rebuild .pe-hero-copy{min-height:0;align-items:center}.home-template .pe-hero-rebuild .pe-hero-copy h1{margin-bottom:26px}.home-template .pe-resource{padding-top:32px}}

/* Banderas visibles por guía y ampliación aislada del pie legal */
.home-template .pe-guide-card{position:relative}.home-template .pe-guide-card .pe-guide-flag-corner{position:absolute!important;top:18px!important;right:18px!important;display:grid!important;width:38px!important;height:38px!important;place-items:center!important;border:1px solid rgba(242,201,109,.35)!important;border-radius:50%!important;background:#173453!important;font-size:20px!important;line-height:1!important;box-shadow:0 7px 17px rgba(0,0,0,.16)!important}.home-template .pe-guide-card .pe-guide-meta{padding-right:42px}.home-template .pe-legal-close{padding:46px 0 44px!important}@media(max-width:720px){.home-template .pe-guide-card .pe-guide-flag-corner{top:15px!important;right:15px!important;width:36px!important;height:36px!important;font-size:19px!important}.home-template .pe-guide-card .pe-guide-meta{padding-right:40px}.home-template .pe-legal-close{padding:42px 20px!important}}

/* Refinamiento 1.5.13: compatibilidad de banderas, CTA y respiración visual */
.pe-testimonials {
  padding-top: clamp(5.5rem, 8vw, 8rem) !important;
}

.pe-guide-flag-corner {
  position: absolute !important;
  top: 1.1rem !important;
  right: 1.1rem !important;
  z-index: 2;
  display: grid !important;
  width: 2.35rem !important;
  height: 1.6rem !important;
  overflow: hidden;
  border: 1px solid rgba(7, 26, 47, .15);
  border-radius: .22rem;
  box-shadow: 0 .35rem .8rem rgba(7, 26, 47, .16);
  background: #fff;
}

.pe-guide-flag-corner .pe-flag-band,
.pe-guide-flag-corner i,
.pe-guide-flag-corner em {
  display: block !important;
  width: 100%;
  height: 33.333%;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  font-style: normal !important;
  transform: none !important;
}

.pe-guide-flag-de .pe-flag-band { background: #111827; }
.pe-guide-flag-de i { background: #d7263d; }
.pe-guide-flag-de em { background: #f6bf26; }
.pe-guide-flag-es .pe-flag-band { background: #aa151b; }
.pe-guide-flag-es i { background: #f1bf00; }
.pe-guide-flag-es em { background: #aa151b; }

.pe-resource-card .pe-button-light,
.pe-resource-card .pe-button-light:hover,
.pe-resource-card .pe-button-light:focus,
.pe-resource-card .pe-button-light:active {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.pe-resource-card .pe-button-light span,
.pe-resource-card .pe-button-light:hover span,
.pe-resource-card .pe-button-light:focus span {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* 1.5.14 — banderas CSS fieles y compatibles con Windows, Apple, iOS y Android */
.home-template .pe-guide-flag-corner,
.home-template .pe-country-flag {
  display: block !important;
  flex: 0 0 auto;
  width: 2.45rem !important;
  height: 1.62rem !important;
  overflow: hidden;
  border: 1px solid rgba(6, 23, 45, .2);
  border-radius: .22rem;
  box-shadow: 0 .35rem .8rem rgba(6, 23, 45, .16);
}
.home-template .pe-guide-flag-corner > *,
.home-template .pe-country-flag > * {
  display: none !important;
}
.home-template .pe-guide-flag-de,
.home-template .pe-country-flag-de {
  background: linear-gradient(to bottom, #111 0 33.333%, #dd0000 33.333% 66.666%, #ffce00 66.666% 100%) !important;
}
.home-template .pe-guide-flag-es,
.home-template .pe-country-flag-es {
  background: linear-gradient(to bottom, #aa151b 0 25%, #f1bf00 25% 75%, #aa151b 75% 100%) !important;
}
.home-template .pe-country-grid-workflow .pe-country-flag {
  width: 2.7rem !important;
  height: 1.8rem !important;
  margin: 0 !important;
}

/* 1.5.15 — cabecera editorial compartida para comparadores ES/DE */
.primo-comparator-template #primo-main-interface {
  display: none !important;
}
.primo-comparator-template .gh-article-header {
  display: none !important;
}
.primo-comparator-template .gh-article {
  overflow: hidden;
}
.pe-comparator-shell {
  width: 100vw;
  margin: 0 calc(50% - 50vw) 2.75rem;
  padding: clamp(2.25rem, 5vw, 4.5rem) 0 clamp(2.75rem, 5vw, 4.5rem);
  color: #fffaf0;
  background:
    radial-gradient(48rem 28rem at 96% -16%, rgba(242, 111, 81, .24), transparent 68%),
    radial-gradient(32rem 26rem at 0 100%, rgba(246, 191, 38, .13), transparent 70%),
    linear-gradient(132deg, #071a2f 0%, #0b2745 54%, #102f50 100%);
}
.pe-comparator-shell-inner {
  width: min(1120px, calc(100% - 3rem));
  margin: 0 auto;
}
.pe-comp-back {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  margin: 0 0 2.75rem;
  color: rgba(255, 250, 240, .78);
  font-family: var(--gh-font-body, Arial, sans-serif);
  font-size: .86rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 250, 240, .28);
}
.pe-comp-back:hover,
.pe-comp-back:focus-visible {
  color: #fffaf0;
  border-color: #f6bf26;
}
.pe-comp-context {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  margin: 0 0 1.25rem;
  color: #f6bf26;
  font-family: var(--gh-font-body, Arial, sans-serif);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.pe-comp-flag {
  display: block;
  flex: 0 0 auto;
  width: 2.05rem;
  height: 1.35rem;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: .2rem;
  box-shadow: 0 .3rem .9rem rgba(0, 0, 0, .2);
}
.pe-comp-flag-de {
  background: linear-gradient(to bottom, #111 0 33.333%, #dd0000 33.333% 66.666%, #ffce00 66.666% 100%);
}
.pe-comp-flag-es {
  background: linear-gradient(to bottom, #aa151b 0 25%, #f1bf00 25% 75%, #aa151b 75% 100%);
}
.pe-comp-context-flag {
  width: 1.8rem;
  height: 1.18rem;
}
.pe-comp-heading-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
}
.pe-comp-title {
  max-width: 700px;
  margin: 0;
  color: #fffaf0;
  font-family: var(--gh-font-heading, Georgia, serif);
  font-size: clamp(2.4rem, 5vw, 4.8rem);
  font-weight: 650;
  line-height: .97;
  letter-spacing: -.05em;
}
.pe-comp-subtitle {
  max-width: 610px;
  margin: 1.25rem 0 0;
  color: rgba(255, 250, 240, .76);
  font-family: var(--gh-font-body, Arial, sans-serif);
  font-size: clamp(1rem, 1.3vw, 1.14rem);
  line-height: 1.55;
}
.pe-comp-country-switch {
  display: inline-flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: .65rem;
  justify-content: flex-end;
}
.pe-comp-country {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  min-height: 3.2rem;
  padding: .7rem .95rem;
  color: #fffaf0;
  font-family: var(--gh-font-body, Arial, sans-serif);
  font-size: .92rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 250, 240, .25);
  border-radius: .7rem;
  transition: transform .18s ease, background-color .18s ease, border-color .18s ease;
}
a.pe-comp-country:hover,
a.pe-comp-country:focus-visible {
  color: #071a2f;
  background: #fffaf0;
  border-color: #fffaf0;
  transform: translateY(-2px);
}
.pe-comp-country-active {
  color: #071a2f;
  background: #f6bf26;
  border-color: #f6bf26;
  box-shadow: 0 .8rem 1.8rem rgba(0, 0, 0, .15);
}
@media (max-width: 700px) {
  .pe-comparator-shell {
    margin-bottom: 1.75rem;
    padding: 2.3rem 0 2.7rem;
  }
  .pe-comparator-shell-inner {
    width: min(100% - 2rem, 1120px);
  }
  .pe-comp-back {
    margin-bottom: 2rem;
  }
  .pe-comp-heading-row {
    align-items: start;
    flex-direction: column;
    gap: 1.5rem;
  }
  .pe-comp-title {
    font-size: clamp(2.45rem, 12vw, 3.5rem);
  }
  .pe-comp-country-switch {
    width: 100%;
    justify-content: stretch;
  }
  .pe-comp-country {
    flex: 1 1 0;
    justify-content: center;
  }
}

/* 1.5.16 — marco de comparadores: ruta arriba, bloque original intacto y cierre común */
.primo-comparator-frame-template #primo-main-interface,
.primo-comparator-frame-template #primo-header-flags,
.primo-comparator-frame-template #gh-navigation,
.primo-comparator-frame-template .gh-footer,
.primo-comparator-frame-template .gh-viewport > .gh-head,
.primo-comparator-frame-template .gh-viewport > .gh-foot,
.primo-comparator-frame-template .gh-article-header {
  display: none !important;
}
.primo-comparator-frame-template .gh-main {
  background: #f7f4ed;
}
.primo-comparator-frame-template .gh-article {
  overflow: visible;
}
.pe-comparator-frame {
  font-family: Inter, Arial, sans-serif;
}
.pe-cf-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 92px;
  padding: 0 clamp(24px, 6vw, 108px);
  color: #07182d;
  background: rgba(250, 248, 243, .98);
  border-bottom: 1px solid rgba(6, 23, 45, .1);
}
.pe-cf-brand,
.pe-cf-nav,
.pe-cf-nav a {
  display: flex;
  align-items: center;
}
.pe-cf-brand {
  gap: 10px;
  color: #07182d;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .15em;
  text-decoration: none;
}
.pe-cf-brand strong {
  color: #ee6e51;
}
.pe-cf-brand-mark {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  color: #ee6e51;
  font-size: 10px;
  letter-spacing: 0;
  border: 1px solid rgba(7, 24, 45, .2);
  border-radius: 8px;
}
.pe-cf-nav {
  gap: clamp(16px, 2.6vw, 34px);
}
.pe-cf-nav a {
  min-height: 43px;
  color: #26364c;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.pe-cf-nav a:hover {
  color: #ee6e51;
}
.pe-cf-nav .pe-cf-nav-cta {
  padding: 0 19px;
  color: #fff;
  background: #ee6e51;
  border-radius: 8px;
  box-shadow: 0 8px 18px rgba(238, 110, 81, .18);
}
.pe-cf-hero {
  position: relative;
  min-height: 435px;
  padding: clamp(68px, 8vw, 112px) 0 clamp(70px, 8vw, 108px);
  overflow: hidden;
  color: #fff;
  background: radial-gradient(circle at 13% 10%, rgba(238, 110, 81, .16), transparent 32%), radial-gradient(circle at 88% 70%, rgba(43, 88, 136, .22), transparent 34%), #07182d;
}
.pe-cf-orbit {
  position: absolute;
  width: 520px;
  height: 520px;
  border: 1px solid rgba(209, 220, 235, .11);
  border-radius: 50%;
}
.pe-cf-orbit-top {
  top: -340px;
  left: -280px;
}
.pe-cf-orbit-bottom {
  right: -310px;
  bottom: -350px;
}
.pe-cf-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 290px;
  align-items: center;
  gap: clamp(42px, 9vw, 170px);
}
.pe-cf-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: #f3c96d;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}
.pe-cf-eyebrow > span {
  width: 7px;
  height: 7px;
  background: #ee6e51;
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(239, 107, 80, .12);
}
.pe-cf-hero h1 {
  max-width: 680px;
  margin: 16px 0 0;
  color: #fff;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(48px, 6vw, 76px);
  font-weight: 700;
  line-height: .94;
  letter-spacing: -.055em;
}
.pe-cf-hero h1 em {
  color: #ee6e51;
  font-size: .56em;
  font-style: normal;
  letter-spacing: -.04em;
}
.pe-cf-button {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 52px;
  margin-top: 34px;
  padding: 0 21px;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  background: #ee6e51;
  border-radius: 8px;
}
.pe-cf-hero-panel {
  min-height: 250px;
  padding: 24px;
  color: #fff;
  background: linear-gradient(142deg, #173754, #0d2845);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 25px;
  box-shadow: inset -12px 0 0 #ee6e51, 0 24px 44px rgba(0, 0, 0, .16);
}
.pe-cf-hero-panel > div,
.pe-cf-hero-panel > small,
.pe-cf-hero-panel > p {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.pe-cf-hero-panel > div {
  color: #c8d4e0;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
}
.pe-cf-hero-panel h2 {
  margin: 39px 0 28px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 42px;
  line-height: .93;
  letter-spacing: -.05em;
}
.pe-cf-hero-panel h2 strong {
  color: #f3c96d;
}
.pe-cf-hero-panel p {
  gap: 0;
  margin: 0;
}
.pe-cf-hero-panel p i,
.pe-cf-hero-panel p b {
  display: block;
}
.pe-cf-hero-panel p i {
  width: 9px;
  height: 9px;
  background: #0d2845;
  border: 2px solid #c7d3e1;
  border-radius: 50%;
}
.pe-cf-hero-panel p i.is-active {
  background: #ee6e51;
  border-color: #ee6e51;
}
.pe-cf-hero-panel p b {
  flex: 1;
  height: 1px;
  background: #7890aa;
}
.pe-cf-hero-panel > small {
  margin-top: 10px;
  color: #c8d4e0;
  font-size: 9px;
  font-weight: 700;
}
.pe-cf-workflow {
  padding: clamp(58px, 7vw, 98px) 0;
  background: #f7f4ed;
}
.pe-cf-workflow-grid {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  gap: clamp(26px, 5vw, 76px);
  max-width: 1120px;
}
.pe-cf-steps {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 64px;
}
.pe-cf-steps > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  width: 88px;
  color: #26364c;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
}
.pe-cf-steps b {
  display: grid;
  width: 45px;
  height: 45px;
  place-items: center;
  color: #fff;
  font-size: 17px;
  background: #07182d;
  border-radius: 50%;
  box-shadow: 0 8px 16px rgba(6, 23, 45, .15);
}
.pe-cf-steps > i {
  width: 2px;
  height: 54px;
  background: repeating-linear-gradient(to bottom, #d8d4ca 0 7px, transparent 7px 14px);
}
.pe-cf-route-heading {
  max-width: 820px;
  margin: 0 auto 34px;
  text-align: center;
}
.pe-cf-eyebrow-dark {
  justify-content: center;
  color: #ee6e51;
}
.pe-cf-route-heading h2,
.pe-cf-testimonials-heading h2 {
  margin: 8px 0 10px;
  color: #07182d;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(27px, 3vw, 40px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.035em;
}
.pe-cf-route-heading h2 em {
  color: #ee6e51;
  font-style: normal;
}
.pe-cf-route-heading > p:last-child {
  max-width: 780px;
  margin: 0 auto;
  color: #69758a;
  font-size: 16px;
  line-height: 1.55;
}
.pe-cf-countries {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 22px;
}
.pe-cf-countries button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 72px;
  padding: 0 20px;
  color: #07182d;
  font-size: 19px;
  background: #fff;
  border: 1px solid #d9d6cf;
  border-radius: 13px;
  box-shadow: 0 8px 24px rgba(6, 23, 45, .04);
  cursor: pointer;
}
.pe-cf-countries button.is-active {
  background: #fff9f4;
  border: 2px solid #ee6e51;
  box-shadow: 0 10px 30px rgba(238, 110, 81, .1);
}
.pe-cf-flag {
  display: block;
  width: 2.7rem;
  height: 1.8rem;
  border: 1px solid rgba(6, 23, 45, .2);
  border-radius: .22rem;
  box-shadow: 0 .35rem .8rem rgba(6, 23, 45, .16);
}
.pe-cf-flag-de { background: linear-gradient(to bottom, #111 0 33.333%, #dd0000 33.333% 66.666%, #ffce00 66.666% 100%); }
.pe-cf-flag-es { background: linear-gradient(to bottom, #aa151b 0 25%, #f1bf00 25% 75%, #aa151b 75% 100%); }
.pe-cf-phases {
  display: grid;
  gap: 12px;
}
.pe-cf-phase-trigger {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  padding: 17px 20px;
  color: #07182d;
  text-align: left;
  background: #fff;
  border: 1px solid #ebe7de;
  border-radius: 13px;
  box-shadow: 0 7px 18px rgba(6, 23, 45, .04);
  cursor: pointer;
}
.pe-cf-phase.is-open .pe-cf-phase-trigger {
  background: #fffaf7;
  border-color: #f1c2b7;
  box-shadow: 0 10px 26px rgba(238, 110, 81, .1);
}
.pe-cf-phase-icon {
  display: grid;
  flex: 0 0 37px;
  width: 37px;
  height: 37px;
  place-items: center;
  font-size: 19px;
  background: #f0eee8;
  border-radius: 10px;
}
.pe-cf-phase-trigger > span:nth-child(2) {
  display: grid;
  gap: 4px;
}
.pe-cf-phase-trigger strong {
  font-size: 16px;
  line-height: 1;
}
.pe-cf-phase-trigger small {
  color: #758092;
  font-size: 13px;
}
.pe-cf-phase-trigger > i {
  margin-left: auto;
  color: #58667a;
  font-size: 18px;
  font-style: normal;
}
.pe-cf-phase-panel {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: grid-template-rows .22s ease;
}
.pe-cf-phase.is-open .pe-cf-phase-panel {
  grid-template-rows: 1fr;
}
.pe-cf-phase-panel > div {
  min-height: 0;
}
.pe-cf-phase.is-open .pe-cf-phase-panel > div {
  padding: 14px 0 18px;
}
.pe-cf-phase-panel > div > .pe-cf-card:first-child {
  margin-top: 0;
}
.pe-cf-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 178px;
  gap: 14px;
  padding: 22px 16px;
  color: #07182d;
  text-align: center;
  text-decoration: none;
  background: #fff;
  border: 1px solid #e7e3da;
  border-radius: 16px;
  box-shadow: 0 8px 22px rgba(6, 23, 45, .04);
}
.pe-cf-phase.is-open .pe-cf-phase-panel > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.pe-cf-card:hover {
  border-color: #ee6e51;
  box-shadow: 0 15px 30px rgba(6, 23, 45, .09);
  transform: translateY(-2px);
}
.pe-cf-card i {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  font-size: 31px;
  font-style: normal;
  background: #f6f4ea;
  border-radius: 50%;
}
.pe-cf-card strong {
  font-size: 16px;
  line-height: 1.2;
}
.pe-cf-card span {
  color: #ee6e51;
  font-size: 11px;
  font-weight: 800;
}
.pe-cf-note {
  margin: 15px 0 0;
  padding: 16px 20px;
  color: #737d8d;
  font-size: 14px;
  line-height: 1.45;
  text-align: center;
  background: #fff;
  border: 1px solid #e8e4dc;
  border-radius: 12px;
}
.pe-cf-testimonials {
  padding: clamp(5.5rem, 8vw, 8rem) 0 clamp(4rem, 6vw, 6rem);
  background: #fff;
}
.pe-cf-testimonials-heading {
  margin-bottom: 28px;
  text-align: center;
}
.pe-cf-testimonials-heading h2 {
  margin: 6px 0 0;
  font-size: clamp(28px, 3vw, 42px);
}
.pe-cf-testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.pe-cf-testimonials-grid article {
  padding: 25px;
  background: #f7f4ed;
  border: 1px solid #e5e1d7;
  border-radius: 15px;
  box-shadow: 0 8px 23px rgba(6, 23, 45, .045);
}
.pe-cf-testimonials-grid article > div {
  display: flex;
  align-items: center;
  gap: 12px;
}
.pe-cf-avatar {
  display: grid;
  width: 47px;
  height: 47px;
  place-items: center;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  border-radius: 50%;
}
.pe-cf-avatar-carlos { background: linear-gradient(135deg, #203d5e, #7e97a7); }
.pe-cf-avatar-valentina { background: linear-gradient(135deg, #b86555, #e9ba56); }
.pe-cf-avatar-sofia { background: linear-gradient(135deg, #8f4962, #dca17e); }
.pe-cf-testimonials-grid section {
  display: grid;
  gap: 3px;
}
.pe-cf-testimonials-grid strong { color: #07182d; font-size: 14px; }
.pe-cf-testimonials-grid small { color: #617084; font-size: 11px; font-weight: 700; }
.pe-cf-testimonials-grid section p { margin: 0; color: #c99b35; font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.pe-cf-testimonials-grid blockquote { margin: 18px 0 0; color: #627083; font-size: 14px; line-height: 1.55; }
.pe-cf-resource {
  padding: 0 0 46px;
  background: #f2eee4;
}
.pe-cf-resource-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 30px;
  padding: clamp(42px, 5vw, 72px) clamp(24px, 5vw, 80px);
  color: #fff;
  background: #07182d;
  border-radius: 16px 16px 16px 0;
  box-shadow: 13px 13px 0 #ee6e51;
}
.pe-cf-resource-seal {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #f5c968;
}
.pe-cf-resource-seal span { font-family: Georgia, 'Times New Roman', serif; font-size: 45px; font-weight: 700; line-height: .8; }
.pe-cf-resource-seal small { font-size: 10px; font-weight: 800; letter-spacing: .12em; line-height: 1.1; }
.pe-cf-resource-card .pe-cf-eyebrow { color: #f3c96d; }
.pe-cf-resource-card h2 {
  margin: 8px 0;
  color: #fff;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(28px, 3.1vw, 43px);
  line-height: 1.05;
  letter-spacing: -.035em;
}
.pe-cf-resource-card h2 em { color: #ee6e51; font-style: normal; }
.pe-cf-resource-card > div > p:last-child { margin: 0; color: #bac7d7; font-size: 15px; line-height: 1.5; }
.pe-cf-resource-cta {
  display: inline-flex;
  align-items: center;
  min-height: 50px;
  padding: 0 20px;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  background: #ee6e51;
  border-radius: 8px;
}
.pe-cf-legal {
  padding: 46px 0 44px;
  color: #92a0b2;
  text-align: center;
  background: #07182d;
  border-top: 1px solid #d9d1c3;
}
.pe-cf-legal .pe-container { display: grid; gap: 15px; justify-items: center; }
.pe-cf-legal nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; }
.pe-cf-legal a { color: #d0d7e1; font-size: 12px; font-weight: 500; text-decoration: none; }
.pe-cf-legal small { font-size: 11px; line-height: 1.4; }
@media (max-width: 860px) {
  .pe-cf-header { min-height: 76px; padding: 0 20px; }
  .pe-cf-nav { gap: 14px; }
  .pe-cf-nav a:not(.pe-cf-nav-cta) { display: none; }
  .pe-cf-hero-grid { grid-template-columns: 1fr; gap: 36px; }
  .pe-cf-hero-panel { max-width: 310px; justify-self: center; }
  .pe-cf-workflow-grid { grid-template-columns: 1fr; }
  .pe-cf-steps { display: none; }
  .pe-cf-phase.is-open .pe-cf-phase-panel > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pe-cf-testimonials-grid { grid-template-columns: 1fr; }
  .pe-cf-resource-card { grid-template-columns: 85px 1fr; }
  .pe-cf-resource-cta { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 560px) {
  .pe-cf-header { min-height: 70px; }
  .pe-cf-brand { font-size: 11px; }
  .pe-cf-brand-mark { width: 25px; height: 25px; font-size: 8px; }
  .pe-cf-hero { min-height: 0; padding: 52px 0 62px; }
  .pe-cf-hero h1 { font-size: 47px; }
  .pe-cf-hero-panel { display: none; }
  .pe-cf-countries { gap: 10px; }
  .pe-cf-countries button { min-height: 62px; padding: 0 10px; font-size: 15px; }
  .pe-cf-flag { width: 2.2rem; height: 1.46rem; }
  .pe-cf-phase.is-open .pe-cf-phase-panel > div { grid-template-columns: 1fr; }
  .pe-cf-card { min-height: 158px; }
  .pe-cf-resource-card { grid-template-columns: 1fr; padding: 29px 24px; }
  .pe-cf-resource-cta { grid-column: auto; }
  .pe-cf-legal { padding: 42px 20px; }
  .pe-cf-legal nav { gap: 12px 18px; }
  .pe-cf-legal a { font-size: 11px; }
}

/* 1.5.19 — cierre de comparador continuo y a ancho completo */
.primo-comparator-frame-template .gh-content > #pe-comparator-bottom-frame {
  position: relative;
  left: 50%;
  width: 100vw;
  margin: 0 0 0 -50vw !important;
  padding: 0;
  font-size: initial;
}
.primo-comparator-frame-template #pe-comparator-bottom-frame .pe-testimonials,
.primo-comparator-frame-template #pe-comparator-bottom-frame .pe-resource,
.primo-comparator-frame-template #pe-comparator-bottom-frame .pe-legal-close {
  width: 100%;
}
.primo-comparator-frame-template #pe-comparator-bottom-frame .pe-testimonials {
  margin-top: 0;
}
.primo-comparator-frame-template .gh-content > .primo-custom-layout + #pe-comparator-bottom-frame {
  margin-top: 0 !important;
}
@media (max-width: 720px) {
  .primo-comparator-frame-template .gh-content > #pe-comparator-bottom-frame {
    left: 50%;
    width: 100vw;
    margin-left: -50vw !important;
  }
}

/* 1.5.19 — banderas de guías: bandas CSS visibles en todos los sistemas */
.home-template .pe-guide-card .pe-guide-flag-corner {
  display: block !important;
  width: 2.45rem !important;
  height: 1.62rem !important;
  overflow: hidden !important;
  border: 1px solid rgba(6, 23, 45, .2) !important;
  border-radius: .22rem !important;
  box-shadow: 0 .35rem .8rem rgba(6, 23, 45, .16) !important;
}
.home-template .pe-guide-card .pe-guide-flag-corner > * {
  display: none !important;
}
.home-template .pe-guide-card .pe-guide-flag-de {
  background: linear-gradient(to bottom, #111 0 33.333%, #dd0000 33.333% 66.666%, #ffce00 66.666% 100%) !important;
}
.home-template .pe-guide-card .pe-guide-flag-es {
  background: linear-gradient(to bottom, #aa151b 0 25%, #f1bf00 25% 75%, #aa151b 75% 100%) !important;
}

/* 1.5.53 — Las banderas de portada igualan exactamente la referencia editorial de 33 × 22 px. */
.home-template .pe-guide-card .pe-guide-flag-corner {
  width: 33px !important;
  height: 22px !important;
}

/* 1.5.20 — CTAs coral: el texto mantiene contraste total en todos los estados */
.pe-nav-cta,
.pe-nav-cta:hover,
.pe-nav-cta:focus,
.pe-nav-cta:active,
.pe-button-coral,
.pe-button-coral:hover,
.pe-button-coral:focus,
.pe-button-coral:active,
.pe-resource-card .pe-button-light,
.pe-resource-card .pe-button-light:hover,
.pe-resource-card .pe-button-light:focus,
.pe-resource-card .pe-button-light:active {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.pe-nav-cta *,
.pe-nav-cta:hover *,
.pe-button-coral *,
.pe-button-coral:hover *,
.pe-resource-card .pe-button-light *,
.pe-resource-card .pe-button-light:hover * {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}

/* 1.5.20 — páginas legales: solo regreso y contenido propio */
.primo-legal-clean-template #gh-navigation,
.primo-legal-clean-template #primo-header-flags,
.primo-legal-clean-template #primo-trust-badge,
.primo-legal-clean-template #primo-testimonials,
.primo-legal-clean-template #primo-leadmagnet,
.primo-legal-clean-template #primo-legalbar,
.primo-legal-clean-template .gh-footer,
.primo-legal-clean-template .gh-container {
  display: none !important;
}
.primo-legal-clean-template .primo-back-bar {
  margin: 0 !important;
  padding: 22px 0 !important;
  background: #f7f4ed !important;
}
.primo-legal-clean-template .gh-article-header {
  margin-top: 44px !important;
}

/* 1.5.21 — regreso legal antes del título */
.primo-legal-clean-template .gh-article-header {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.primo-legal-clean-template .gh-article-header > #primo-back-bar {
  order: -1;
  width: 100%;
  margin: 0 0 28px !important;
  padding: 22px 0 !important;
  background: #f7f4ed !important;
}
.primo-legal-clean-template .gh-article-header > #primo-back-bar + .gh-article-tag,
.primo-legal-clean-template .gh-article-header > #primo-back-bar + .gh-article-title {
  margin-top: 0 !important;
}

/* 1.5.22 — captación de email por destino en el bloque final */
.pe-resource-card-signup {
  grid-template-columns: 105px minmax(0, 1fr) minmax(310px, .84fr);
}
.pe-resource-form {
  min-width: 0;
}
.pe-resource-country-choice {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.pe-resource-country-choice legend {
  margin: 0 0 10px;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
}
.pe-resource-country-choice > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.pe-resource-country {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 10px 8px;
  color: #fff;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  background: transparent;
  border: 1px solid rgb(255 255 255 / .48);
  border-radius: 8px;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, color .2s ease;
}
.pe-resource-country:hover,
.pe-resource-country:focus-visible,
.pe-resource-country.is-selected {
  color: var(--pe-ink);
  background: var(--pe-paper-bright);
  border-color: var(--pe-paper-bright);
  outline: none;
}
.pe-resource-country .pe-country-flag {
  width: 24px !important;
  height: 16px !important;
  border-radius: 2px;
  box-shadow: none;
}
.pe-resource-email-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 9px;
  margin-top: 10px;
}
.pe-resource-email-row input {
  min-width: 0;
  height: 48px;
  padding: 0 14px;
  color: var(--pe-ink);
  font: inherit;
  background: #fff;
  border: 1px solid transparent;
  border-radius: 8px;
}
.pe-resource-email-row input:focus {
  border-color: var(--pe-sun);
  outline: 3px solid rgb(246 191 38 / .26);
}
.pe-resource-email-row .pe-button {
  min-height: 48px;
  padding: 0 16px;
  border: 0;
  cursor: pointer;
}
.pe-resource-email-row .pe-button:disabled {
  cursor: not-allowed;
  opacity: .58;
}
.pe-resource-form-note,
.pe-resource-form-error,
.pe-resource-form-success {
  display: none;
  margin: 9px 0 0 !important;
  font-size: 12px;
  line-height: 1.35;
}
.pe-resource-form-note {
  display: block;
  color: #c8d4df !important;
}
.pe-resource-form.success .pe-resource-form-success,
.pe-resource-form.error .pe-resource-form-error {
  display: block;
}
.pe-resource-form.success .pe-resource-form-success {
  color: #fff !important;
}
.pe-resource-form.error .pe-resource-form-error {
  color: #ffd2c8 !important;
}
.pe-resource-form.is-country-selected .pe-resource-form-note {
  display: none;
}
@media (max-width: 900px) {
  .pe-resource-card-signup {
    grid-template-columns: 76px minmax(0, 1fr);
  }
  .pe-resource-form {
    grid-column: 1 / -1;
    margin-left: 112px;
  }
}
@media (max-width: 620px) {
  .pe-resource-card-signup {
    display: block;
    padding: 30px 24px;
  }
  .pe-resource-seal {
    margin-bottom: 22px;
  }
  .pe-resource-form {
    margin: 24px 0 0;
  }
  .pe-resource-email-row {
    grid-template-columns: 1fr;
  }
  .pe-resource-email-row .pe-button {
    width: 100%;
  }
}

.pe-resource-consent {
  margin: 9px 0 0 !important;
  color: #c8d4df !important;
  font-size: 11px;
  line-height: 1.35;
}
.pe-resource-consent a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.pe-resource-consent a:hover,
.pe-resource-consent a:focus-visible {
  color: var(--pe-sun);
}

.pe-resource-email-row[hidden] {
  display: none !important;
}

.pe-resource-country.is-selected {
  color: #fff;
  background: var(--pe-coral);
  border-color: var(--pe-coral);
}

/* 1.5.23 — miembro confirmado */
.pe-nav-member {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 12px;
  color: var(--pe-ink);
  font-size: 13px;
  font-weight: 800;
  background: #fff4d3;
  border: 1px solid rgb(241 191 0 / .5);
  border-radius: 999px;
}
.pe-member-welcome {
  position: relative;
  min-width: 0;
  padding-left: 54px;
}
.pe-member-check {
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  color: var(--pe-ink);
  font-size: 22px;
  font-weight: 900;
  background: var(--pe-sun);
  border-radius: 50%;
  box-shadow: 0 0 0 7px rgb(246 191 38 / .16);
}
.pe-member-welcome .pe-eyebrow {
  margin-bottom: 8px;
}
.pe-member-welcome h3 {
  margin: 0;
  color: #fff;
  font-family: var(--font-serif);
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1.08;
}
.pe-member-welcome h3 em {
  color: var(--pe-sun);
  font-style: italic;
}
.pe-member-welcome > p:not(.pe-eyebrow) {
  margin: 12px 0 17px !important;
}
.pe-member-welcome .pe-button-light {
  display: inline-flex;
}
@media (max-width: 900px) {
  .pe-member-welcome {
    grid-column: 1 / -1;
    margin-left: 112px;
  }
}
@media (max-width: 620px) {
  .pe-nav-member {
    display: none;
  }
  .pe-member-welcome {
    margin-left: 0;
  }
}

/* 1.5.29 — paso 1 alineado con los selectores de país */
.home-template .pe-workflow-steps {
  padding-top: 218px;
}
@media (max-width: 860px) {
  .home-template .pe-workflow-steps {
    padding-top: 0;
  }
}

/* 1.5.31 — indicador textual de apertura de fases */
.home-template .pe-phase-trigger > i {
  display: none;
}
.home-template .pe-phase-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 142px;
  min-height: 38px;
  margin-left: auto;
  padding: 0 15px;
  border: 1.5px solid var(--pe-coral);
  border-radius: 999px;
  color: var(--pe-coral);
  font: 800 11px/1 Inter, sans-serif;
  letter-spacing: .035em;
  text-transform: uppercase;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.home-template .pe-phase-action b {
  font: 800 21px/.8 Inter, sans-serif;
  transition: transform .2s ease;
}
.home-template .pe-phase-action-close {
  display: none;
}
.home-template .pe-phase-item.is-open .pe-phase-action {
  border-color: var(--pe-coral);
  background: var(--pe-coral);
  color: #fff;
}
.home-template .pe-phase-item.is-open .pe-phase-action-open {
  display: none;
}
.home-template .pe-phase-item.is-open .pe-phase-action-close {
  display: inline;
}
.home-template .pe-phase-item.is-open .pe-phase-action b {
  transform: rotate(180deg);
}
@media (max-width: 620px) {
  .home-template .pe-phase-action {
    min-width: auto;
    min-height: 34px;
    gap: 5px;
    padding: 0 9px;
    font-size: 9px;
  }
  .home-template .pe-phase-action b {
    font-size: 17px;
  }
}

/* 1.5.32 — cabecera de Guías más directa y encuadre completo */
.home-template .pe-guides-six {
  padding: 44px 0 58px;
}
.home-template .pe-guides-six .pe-guides-header {
  align-items: center;
}
.home-template .pe-guides-six .pe-guides-header h2 {
  margin: 0;
}
.home-template .pe-guides-six .pe-guides-grid {
  gap: 14px;
  margin-top: 26px;
}
.home-template .pe-guides-six .pe-guide-card {
  min-height: 206px;
  padding: 21px;
}
.home-template .pe-guides-six .pe-guide-card h3 {
  margin: 13px 0 8px;
  font-size: 20px;
}
.home-template .pe-guides-six .pe-guide-card p {
  font-size: 13px;
}
@media (max-width: 720px) {
  .home-template .pe-guides-six {
    padding: 38px 0 50px;
  }
  .home-template .pe-guides-six .pe-guides-grid {
    margin-top: 22px;
  }
}

/* 1.5.33 — página exclusiva de todas las guías */
body.tag-guias .gh-head,
body.tag-guias .gh-foot,
body.tag-guias #primo-header-flags,
body.tag-guias #primo-back-bar,
body.tag-guias #primo-trust-badge,
body.tag-guias #primo-leadmagnet,
body.tag-guias #primo-testimonials,
body.tag-guias #primo-legalbar {
  display: none !important;
}
body.tag-guias .gh-viewport {
  display: block;
  min-height: 100vh;
}
body.tag-guias .pe-guides-page {
  min-height: 100vh;
  padding: 46px 0 62px;
  background: #071d34;
}
body.tag-guias .pe-guides-page-inner {
  width: min(1160px, calc(100% - 48px));
  margin: 0 auto;
}
body.tag-guias .pe-guides-back {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  margin: 0 0 28px;
  color: #f8c86a;
  border-bottom: 1px solid rgba(248, 200, 106, .55);
  font: 800 12px/1 Inter, sans-serif;
  letter-spacing: .025em;
  text-decoration: none;
}
body.tag-guias .pe-guides-back:hover {
  color: #fff4d8;
  border-color: #fff4d8;
}
body.tag-guias .pe-guides-page-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 30px;
}
body.tag-guias .pe-guides-page-header h1 {
  margin: 0;
  color: #fff8e9;
  font-family: var(--font-serif, Georgia, serif);
  font-size: clamp(45px, 5.1vw, 72px);
  font-weight: 600;
  line-height: .88;
  letter-spacing: -.045em;
}
body.tag-guias .pe-guides-page-header h1 em {
  color: var(--pe-coral);
  font-style: italic;
}
body.tag-guias .pe-guides-page-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
body.tag-guias .pe-guides-page-grid .pe-guide-card {
  display: flex;
  flex-direction: column;
  min-height: 238px;
  padding: 23px;
  background: #102f52;
  border: 1px solid rgba(117, 162, 203, .24);
  border-radius: 16px;
  box-shadow: none;
}
body.tag-guias .pe-guides-page-grid .pe-guide-card:hover {
  transform: translateY(-3px);
  border-color: rgba(248, 200, 106, .55);
  box-shadow: 0 14px 28px rgba(0, 0, 0, .18);
}
body.tag-guias .pe-guides-page-grid .pe-guide-meta {
  color: #f8c86a;
}
body.tag-guias .pe-guides-page-grid .pe-guide-card h2 {
  margin: 14px 0 10px;
  color: #fff8e9;
  font: 600 23px/1.03 var(--font-serif, Georgia, serif);
  letter-spacing: -.025em;
}
body.tag-guias .pe-guides-page-grid .pe-guide-card p {
  margin: 0;
  color: #d2dfeb;
  font-size: 14px;
  line-height: 1.45;
}
body.tag-guias .pe-guides-page-grid .pe-guide-link {
  margin-top: auto;
  padding-top: 17px;
  color: var(--pe-coral);
}
@media (max-width: 820px) {
  body.tag-guias .pe-guides-page {
    padding: 32px 0 46px;
  }
  body.tag-guias .pe-guides-page-inner {
    width: min(100% - 32px, 620px);
  }
  body.tag-guias .pe-guides-page-grid {
    grid-template-columns: 1fr;
  }
  body.tag-guias .pe-guides-page-grid .pe-guide-card {
    min-height: 208px;
  }
}

/* La página de todas las guías es una experiencia editorial independiente */
body.tag-guias #gh-navigation {
  display: none !important;
}

/* 1.5.35 — cada bandera se posiciona dentro de su propia tarjeta */
body.tag-guias .pe-guides-page-grid .pe-guide-card {
  position: relative;
  overflow: hidden;
}
body.tag-guias .pe-guides-page-grid .pe-guide-flag-corner {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 2;
}

/* 1.5.36 — banderas CSS explícitas y visibles en todas las tarjetas de Guías */
body.tag-guias .pe-guides-page-grid .pe-guide-flag {
  display: block !important;
  width: 33px;
  height: 22px;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .25);
}
body.tag-guias .pe-guides-page-grid .pe-guide-flag > .pe-flag-band,
body.tag-guias .pe-guides-page-grid .pe-guide-flag > i,
body.tag-guias .pe-guides-page-grid .pe-guide-flag > em {
  display: none !important;
}

/* 1.5.54 — El archivo de guías usa la misma bandera de 33 × 22 px que la portada. */
body.tag-guias .pe-guides-page-grid .pe-guide-flag-corner {
  width: 33px !important;
  height: 22px !important;
}

body.tag-guias .pe-guides-page-grid .pe-guide-flag-de {
  background: linear-gradient(to bottom, #111 0 33.333%, #dd0000 33.333% 66.666%, #ffce00 66.666% 100%) !important;
}
body.tag-guias .pe-guides-page-grid .pe-guide-flag-es {
  background: linear-gradient(to bottom, #aa151b 0 25%, #f1bf00 25% 75%, #aa151b 75% 100%) !important;
}

/* 1.5.38 — lectura limpia exclusiva para SCHUFA */
body.pe-schufa-clean-body #gh-navigation,
body.pe-schufa-clean-body .gh-foot,
body.pe-schufa-clean-body #primo-header-flags,
body.pe-schufa-clean-body #primo-back-bar,
body.pe-schufa-clean-body #primo-trust-badge,
body.pe-schufa-clean-body #primo-leadmagnet,
body.pe-schufa-clean-body #primo-testimonials,
body.pe-schufa-clean-body #primo-legalbar,
body.pe-schufa-clean-body #primo-loading-overlay {
  display: none !important;
}
body.pe-schufa-clean-body .gh-viewport {
  display: block;
  min-height: 100vh;
}
body.pe-schufa-clean-body .pe-schufa-clean {
  min-height: 100vh;
  padding: 44px 0 78px;
  background: #fffdf7;
}
body.pe-schufa-clean-body .pe-schufa-clean-article {
  width: min(760px, calc(100% - 40px));
  margin: 0 auto;
}
body.pe-schufa-clean-body .pe-schufa-back {
  display: inline-flex;
  margin: 0 0 28px;
  color: #17334f;
  border-bottom: 1px solid rgba(23, 51, 79, .35);
  font: 800 12px/1.2 Inter, sans-serif;
  text-decoration: none;
}
body.pe-schufa-clean-body .pe-schufa-back:hover {
  color: var(--pe-coral);
  border-color: var(--pe-coral);
}
body.pe-schufa-clean-body .pe-schufa-clean-header {
  margin-bottom: 30px;
}
body.pe-schufa-clean-body .pe-schufa-kicker {
  display: block;
  margin-bottom: 13px;
  color: var(--pe-coral);
  font: 800 12px/1 Inter, sans-serif;
  letter-spacing: .09em;
}
body.pe-schufa-clean-body .pe-schufa-clean-header h1 {
  max-width: 720px;
  margin: 0;
  color: #082139;
  font: 600 clamp(42px, 5.4vw, 72px)/.94 var(--font-serif, Georgia, serif);
  letter-spacing: -.045em;
}
body.pe-schufa-clean-body .pe-schufa-excerpt {
  max-width: 650px;
  margin: 20px 0 0;
  color: #5d6973;
  font-size: 19px;
  line-height: 1.55;
}
body.pe-schufa-clean-body .pe-schufa-feature {
  display: block;
  width: 100%;
  max-height: 480px;
  margin: 0 0 40px;
  object-fit: cover;
  border-radius: 16px;
}
body.pe-schufa-clean-body .pe-schufa-content {
  color: #1d2f40;
  font-size: 18px;
  line-height: 1.72;
}
body.pe-schufa-clean-body .pe-schufa-content h2,
body.pe-schufa-clean-body .pe-schufa-content h3 {
  margin: 42px 0 14px;
  color: #082139;
  font-family: var(--font-serif, Georgia, serif);
  line-height: 1.08;
}
body.pe-schufa-clean-body .pe-schufa-content h2 { font-size: 32px; }
body.pe-schufa-clean-body .pe-schufa-content h3 { font-size: 26px; }
body.pe-schufa-clean-body .pe-schufa-content a {
  color: #bd503b;
  font-weight: 700;
}
body.pe-schufa-clean-body .pe-schufa-content ul,
body.pe-schufa-clean-body .pe-schufa-content ol {
  padding-left: 1.25em;
}
@media (max-width: 640px) {
  body.pe-schufa-clean-body .pe-schufa-clean { padding: 30px 0 54px; }
  body.pe-schufa-clean-body .pe-schufa-clean-article { width: min(100% - 32px, 760px); }
  body.pe-schufa-clean-body .pe-schufa-clean-header h1 { font-size: 43px; }
  body.pe-schufa-clean-body .pe-schufa-content { font-size: 17px; }
}

/* Índice filtrable de guías de Primo Europa */
body.tag-guias .pe-guides-page-intro {
  max-width: 650px;
  margin: 24px 0 0;
  color: #c9d8e7;
  font-size: 17px;
  line-height: 1.55;
}
body.tag-guias .pe-guides-eyebrow {
  margin: 0 0 16px;
  color: #f8c86a;
  font: 800 12px/1 Inter, sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
}
body.tag-guias .pe-guide-filters {
  display: grid;
  gap: 18px;
  margin: 42px 0 22px;
  padding: 22px 0;
  border-top: 1px solid rgba(117, 162, 203, .26);
  border-bottom: 1px solid rgba(117, 162, 203, .26);
}
body.tag-guias .pe-filter-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
}
body.tag-guias .pe-filter-label {
  flex: 0 0 108px;
  color: #f8c86a;
  font: 800 12px/1 Inter, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.tag-guias .pe-filter-button {
  padding: 9px 13px;
  color: #dce8f2;
  font: 700 13px/1.1 Inter, sans-serif;
  cursor: pointer;
  background: transparent;
  border: 1px solid rgba(172, 202, 229, .38);
  border-radius: 999px;
  transition: background .18s, border-color .18s, color .18s;
}
body.tag-guias .pe-filter-button:hover { border-color: #f8c86a; color: #fff8e9; }
body.tag-guias .pe-filter-button.is-active { color: #09223d; background: #f8c86a; border-color: #f8c86a; }
body.tag-guias .pe-guide-results {
  margin: 0 0 18px;
  color: #a9c0d3;
  font: 700 13px/1.4 Inter, sans-serif;
}
body.tag-guias .pe-guide-empty {
  margin: 18px 0 0;
  padding: 20px;
  color: #d2dfeb;
  background: #102f52;
  border: 1px solid rgba(117, 162, 203, .24);
  border-radius: 14px;
}
body.tag-guias .pe-guides-page-grid .pe-guide-card[hidden] { display: none; }
body.tag-guias .pe-guides-page-grid .pe-guide-region {
  position: absolute;
  top: 25px;
  right: 20px;
  color: #f8c86a;
  font: 800 10px/1 Inter, sans-serif;
  letter-spacing: .08em;
}
body.tag-guias .pe-guides-page-grid .pe-guide-flag-pair {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 2;
  display: flex;
  gap: 4px;
}

/* Retorno contextual de guías informativas */
.pe-guide-return-nav {
  display: flex;
  grid-column: main;
  align-items: center;
  gap: 18px;
  margin: 0 0 28px;
  font: 800 12px/1 Inter, sans-serif;
  letter-spacing: .04em;
}
.pe-guide-return-link {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  color: #17334f;
  text-decoration: none;
  border-bottom: 1px solid rgba(23, 51, 79, .32);
}
.pe-guide-return-link:hover {
  color: #bd503b;
  border-color: #bd503b;
  opacity: 1;
}
@media (max-width: 820px) {
  body.tag-guias .pe-guides-page-intro { font-size: 16px; }
  body.tag-guias .pe-guide-filters { gap: 16px; margin-top: 30px; padding: 18px 0; }
  body.tag-guias .pe-filter-label { flex-basis: 100%; }
  body.tag-guias .pe-filter-button { padding: 8px 11px; font-size: 12px; }
  .pe-guide-return-nav { flex-wrap: wrap; gap: 12px; margin-bottom: 22px; }
}

/* Sello de guías destacadas en portada */
.pe-guides-six .pe-guide-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin: 0 0 12px;
  padding: 5px 9px;
  color: #09223d;
  font: 800 10px/1 Inter, sans-serif;
  letter-spacing: .07em;
  text-transform: uppercase;
  background: #f8c86a;
  border-radius: 999px;
}



/* Proyecto Musk: planificador de llegada
/* ---------------------------------------------------------- */

.pm-page {
    --pm-navy: #061b35;
    --pm-coral: #e8634a;
    --pm-cream: #faf7f1;
    --pm-ink: #10233a;
    --pm-muted: #5d6b7b;
    --pm-line: #dbe0e5;
    background: var(--pm-cream);
    color: var(--pm-ink);
}

.pm-shell {
    width: min(1120px, calc(100% - 48px));
    margin: 0 auto;
}

.pm-hero {
    overflow: hidden;
    position: relative;
    padding: 82px 0 98px;
    background: var(--pm-navy);
    color: #fff;
}

.pm-hero::before,
.pm-hero::after {
    position: absolute;
    border: 1px solid rgb(255 255 255 / 0.12);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.pm-hero::before {
    top: -300px;
    left: -170px;
    width: 560px;
    height: 560px;
}

.pm-hero::after {
    right: -260px;
    bottom: -385px;
    width: 680px;
    height: 680px;
}

.pm-hero-inner {
    display: flex;
    gap: 64px;
    align-items: center;
    justify-content: space-between;
    position: relative;
    z-index: 1;
}

.pm-hero-copy {
    max-width: 650px;
}

.pm-eyebrow {
    display: inline-flex;
    gap: 9px;
    align-items: center;
    margin: 0 0 18px;
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    line-height: 1;
    color: var(--pm-coral);
}

.pm-eyebrow span {
    width: 8px;
    height: 8px;
    border: 2px solid var(--pm-cream);
    border-radius: 50%;
    background: var(--pm-coral);
}

.pm-hero h1 {
    max-width: 650px;
    margin: 0;
    font-family: var(--font-serif);
    font-size: clamp(4.8rem, 5.3vw, 8rem);
    font-weight: 600;
    letter-spacing: -0.04em;
    line-height: 0.98;
    color: var(--pm-cream);
}

.pm-hero-copy > p:last-child {
    max-width: 530px;
    margin: 24px 0 0;
    font-size: clamp(1.7rem, 1.2vw, 2rem);
    line-height: 1.5;
    color: rgb(255 255 255 / 0.7);
}

.pm-route-legend {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    width: min(420px, 100%);
    padding: 0;
    margin: 0;
    list-style: none;
}

.pm-route-legend li {
    display: grid;
    grid-template-rows: 44px auto;
    gap: 12px;
    position: relative;
    font-size: 1.25rem;
    font-weight: 650;
    text-align: center;
    color: rgb(255 255 255 / 0.68);
}

.pm-route-legend li::before {
    position: absolute;
    top: 21px;
    left: -50%;
    z-index: -1;
    width: 100%;
    height: 1px;
    content: "";
    background: rgb(255 255 255 / 0.58);
}

.pm-route-legend li:first-child::before {
    display: none;
}

.pm-route-legend span {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    margin: 0 auto;
    border: 1px solid rgb(255 255 255 / 0.78);
    border-radius: 50%;
    background: var(--pm-navy);
}

.pm-route-legend .is-active span {
    border-color: var(--pm-coral);
    box-shadow: inset 0 0 0 5px var(--pm-navy);
    background: var(--pm-coral);
}

.pm-route-legend .is-active {
    color: #fff;
}

.pm-planner-section {
    padding: 0 0 104px;
}

.pm-planner {
    position: relative;
    z-index: 2;
    width: min(860px, 100%);
    min-height: 500px;
    padding: clamp(32px, 4vw, 64px);
    margin: -48px auto 0;
    background: #fff;
    border: 1px solid rgb(7 27 53 / 0.08);
    border-radius: 20px;
    box-shadow: 0 18px 40px rgb(7 27 53 / 0.1);
}

.pm-progress {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
    margin-bottom: clamp(32px, 3vw, 48px);
    font-size: 1.45rem;
    font-weight: 750;
}

.pm-progress-dots {
    display: flex;
    gap: 10px;
}

.pm-progress-dots i {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #d9dde1;
}

.pm-progress-dots i.is-active {
    background: var(--pm-coral);
}

.pm-step h2,
.pm-result h2,
.pm-noscript h2 {
    margin: 0;
    font-family: var(--font-serif);
    font-size: clamp(3.2rem, 3.2vw, 4.8rem);
    font-weight: 600;
    letter-spacing: -0.035em;
    line-height: 1.03;
    text-align: center;
    color: var(--pm-ink);
}

.pm-step-intro {
    max-width: 620px;
    margin: 14px auto 34px;
    font-size: 1.65rem;
    line-height: 1.55;
    text-align: center;
    color: var(--pm-muted);
}

.pm-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.pm-options--countries {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 650px;
    margin: 0 auto;
}

.pm-option {
    min-height: 92px;
    padding: 20px 22px;
    text-align: left;
    color: var(--pm-ink);
    cursor: pointer;
    border: 1px solid var(--pm-line);
    border-radius: 12px;
    background: #fff;
    transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.pm-option:hover {
    border-color: var(--pm-coral);
    box-shadow: 0 6px 18px rgb(7 27 53 / 0.07);
    transform: translateY(-1px);
}

.pm-option:focus-visible,
.pm-next:focus-visible,
.pm-back:focus-visible,
.pm-share:focus-visible,
.pm-result a:focus-visible {
    outline: 3px solid rgb(232 99 74 / 0.42);
    outline-offset: 3px;
}

.pm-option.is-selected {
    border-color: var(--pm-coral);
    box-shadow: inset 0 0 0 1px var(--pm-coral);
    background: #fff7f3;
}

.pm-option strong {
    display: block;
    font-size: 1.7rem;
    font-weight: 760;
    letter-spacing: -0.016em;
    line-height: 1.25;
}

.pm-option small {
    display: block;
    margin-top: 6px;
    font-size: 1.35rem;
    line-height: 1.35;
    color: var(--pm-muted);
}

.pm-options--countries .pm-option {
    display: flex;
    gap: 14px;
    align-items: center;
    justify-content: center;
    min-height: 126px;
    text-align: center;
}

.pm-options--countries .pm-option strong {
    font-size: 2.35rem;
}

.pm-flag {
    font-size: 3rem;
    line-height: 1;
}

.pm-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 36px;
}

.pm-back,
.pm-next,
.pm-share {
    min-height: 50px;
    padding: 0 24px;
    font-size: 1.55rem;
    font-weight: 750;
    cursor: pointer;
    border-radius: 8px;
}

.pm-back {
    color: var(--pm-ink);
    background: transparent;
    border: 0;
}

.pm-next {
    min-width: 180px;
    margin-left: auto;
    color: #fff;
    background: var(--pm-navy);
    border: 1px solid var(--pm-navy);
    transition: background 0.18s ease, opacity 0.18s ease;
}

.pm-next:hover:not(:disabled) {
    background: #0c315e;
}

.pm-next:disabled {
    cursor: not-allowed;
    opacity: 0.42;
}

.pm-disclaimer {
    max-width: 620px;
    margin: 24px auto 0;
    font-size: 1.15rem;
    line-height: 1.45;
    text-align: center;
    color: #7a8591;
}

.pm-result {
    outline: none;
}

.pm-result-header {
    padding-bottom: 28px;
    margin-bottom: 28px;
    text-align: center;
    border-bottom: 1px solid var(--pm-line);
}

.pm-result-header > p:last-child {
    max-width: 570px;
    margin: 14px auto 0;
    font-size: 1.6rem;
    line-height: 1.55;
    color: var(--pm-muted);
}

.pm-priorities {
    display: grid;
    gap: 14px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.pm-priority {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 18px;
    padding: 22px;
    border: 1px solid var(--pm-line);
    border-radius: 12px;
    background: #fff;
}

.pm-priority-number {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    margin-top: 2px;
    font-size: 1.45rem;
    font-weight: 800;
    color: var(--pm-coral);
    border-radius: 50%;
    background: #fff0ea;
}

.pm-priority h3 {
    margin: 0;
    font-size: 1.85rem;
    font-weight: 780;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.pm-priority p {
    margin: 7px 0 13px;
    font-size: 1.45rem;
    line-height: 1.5;
    color: var(--pm-muted);
}

.pm-priority a {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    font-size: 1.4rem;
    font-weight: 760;
    color: var(--pm-navy);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.pm-waiting {
    padding: 20px 22px;
    margin-top: 18px;
    border-left: 3px solid var(--pm-coral);
    background: #f8f2ea;
}

.pm-waiting strong {
    display: block;
    font-size: 1.45rem;
}

.pm-waiting p {
    margin: 5px 0 0;
    font-size: 1.4rem;
    line-height: 1.5;
    color: var(--pm-muted);
}

.pm-result-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    align-items: center;
    justify-content: space-between;
    margin-top: 28px;
}

.pm-share {
    color: var(--pm-navy);
    background: #fff;
    border: 1px solid var(--pm-navy);
}

.pm-signup {
    font-size: 1.45rem;
    font-weight: 760;
    color: var(--pm-navy);
    text-decoration: underline;
    text-underline-offset: 4px;
}

.pm-noscript {
    max-width: 760px;
    padding: 48px;
    margin: -48px auto 0;
    text-align: center;
    background: #fff;
    border-radius: 20px;
}

.pm-noscript p {
    margin-top: 14px;
}

.pm-noscript a {
    color: var(--pm-navy);
    text-decoration: underline;
}

@media (max-width: 900px) {
    .pm-hero-inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .pm-route-legend {
        max-width: 500px;
    }
}

@media (max-width: 640px) {
    .pm-shell {
        width: min(100% - 32px, 1120px);
    }

    .pm-hero {
        padding: 56px 0 84px;
    }

    .pm-hero h1 {
        font-size: clamp(4.2rem, 13vw, 6rem);
    }

    .pm-route-legend {
        gap: 8px;
        width: 100%;
    }

    .pm-route-legend li {
        grid-template-rows: 36px auto;
        gap: 8px;
        font-size: 1.05rem;
    }

    .pm-route-legend li::before {
        top: 17px;
    }

    .pm-route-legend span {
        width: 36px;
        height: 36px;
        font-size: 1.2rem;
    }

    .pm-planner {
        min-height: 0;
        padding: 30px 20px;
        margin-top: -36px;
        border-radius: 16px;
    }

    .pm-options,
    .pm-options--countries {
        grid-template-columns: 1fr;
    }

    .pm-options--countries .pm-option {
        min-height: 92px;
    }

    .pm-options--countries .pm-option strong {
        font-size: 2rem;
    }

    .pm-actions,
    .pm-result-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .pm-next,
    .pm-back,
    .pm-share {
        width: 100%;
    }

    .pm-back {
        min-height: 42px;
    }

    .pm-signup {
        text-align: center;
    }

    .pm-priority {
        gap: 14px;
        padding: 18px;
    }
}


/* Proyecto Musk: formulario visual polish
/* ---------------------------------------------------------- */

.pm-page {
    --pm-surface: #071c35;
    --pm-surface-2: #0c2949;
    --pm-surface-3: #11375f;
    --pm-light-ink: #f4f0e9;
    --pm-soft: #b9c8d8;
    --pm-dark-line: rgb(184 211 236 / 0.17);
    background:
        radial-gradient(circle at 83% 8%, rgb(232 99 74 / 0.13), transparent 27%),
        radial-gradient(circle at 8% 54%, rgb(33 88 137 / 0.18), transparent 31%),
        linear-gradient(180deg, #f0eee9 0%, #e5e9ec 100%);
}

.pm-planner-section {
    position: relative;
    overflow: hidden;
    padding: 0 0 116px;
}

.pm-planner-section::before {
    position: absolute;
    inset: 0;
    content: "";
    pointer-events: none;
    background-image: linear-gradient(rgb(6 27 53 / 0.035) 1px, transparent 1px), linear-gradient(90deg, rgb(6 27 53 / 0.035) 1px, transparent 1px);
    background-size: 34px 34px;
    mask-image: linear-gradient(to bottom, black, transparent 78%);
}

.pm-planner {
    isolation: isolate;
    overflow: hidden;
    min-height: 528px;
    padding: clamp(36px, 4.5vw, 68px);
    color: var(--pm-light-ink);
    background:
        radial-gradient(circle at 92% 7%, rgb(232 99 74 / 0.19), transparent 31%),
        radial-gradient(circle at 2% 98%, rgb(37 100 157 / 0.32), transparent 39%),
        linear-gradient(145deg, var(--pm-surface-2) 0%, var(--pm-surface) 61%, #061629 100%);
    border: 1px solid rgb(205 224 241 / 0.19);
    border-radius: 28px;
    box-shadow: 0 35px 78px rgb(4 20 39 / 0.28), 0 1px 0 rgb(255 255 255 / 0.12) inset;
}

.pm-planner::before {
    position: absolute;
    top: 0;
    right: 9%;
    left: 9%;
    height: 2px;
    content: "";
    background: linear-gradient(90deg, transparent, var(--pm-coral), #f6b16d, var(--pm-coral), transparent);
    opacity: 0.9;
}

.pm-planner::after {
    position: absolute;
    right: -18%;
    bottom: -46%;
    z-index: -1;
    width: 440px;
    height: 440px;
    border: 1px solid rgb(210 228 242 / 0.1);
    border-radius: 50%;
    content: "";
}

.pm-planner > * {
    position: relative;
    z-index: 1;
}

.pm-progress {
    gap: 11px;
    padding: 10px 16px;
    margin: 0 auto clamp(32px, 3vw, 48px);
    width: fit-content;
    min-width: 152px;
    color: #f7f4ee;
    border: 1px solid rgb(214 228 242 / 0.14);
    border-radius: 999px;
    background: rgb(2 16 31 / 0.29);
    box-shadow: 0 10px 24px rgb(0 10 23 / 0.17) inset;
}

.pm-progress-dots {
    gap: 7px;
}

.pm-progress-dots i {
    width: 26px;
    height: 4px;
    border-radius: 99px;
    background: rgb(204 220 236 / 0.24);
}

.pm-progress-dots i.is-active {
    background: linear-gradient(90deg, var(--pm-coral), #f1a268);
    box-shadow: 0 0 12px rgb(232 99 74 / 0.6);
}

.pm-step h2,
.pm-result h2,
.pm-noscript h2 {
    color: var(--pm-light-ink);
}

.pm-step-intro,
.pm-result-header > p:last-child {
    color: var(--pm-soft);
}

.pm-option {
    position: relative;
    overflow: hidden;
    min-height: 102px;
    color: var(--pm-light-ink);
    border: 1px solid var(--pm-dark-line);
    border-radius: 16px;
    background: linear-gradient(145deg, rgb(255 255 255 / 0.075), rgb(255 255 255 / 0.025));
    box-shadow: 0 1px 0 rgb(255 255 255 / 0.07) inset, 0 12px 22px rgb(0 11 25 / 0.13);
    backdrop-filter: blur(8px);
}

.pm-option::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    content: "";
    background: transparent;
    transition: background 0.18s ease, box-shadow 0.18s ease;
}

.pm-option:hover {
    border-color: rgb(238 150 119 / 0.72);
    background: linear-gradient(145deg, rgb(32 77 119 / 0.86), rgb(12 42 73 / 0.88));
    box-shadow: 0 16px 28px rgb(0 10 24 / 0.22), 0 1px 0 rgb(255 255 255 / 0.12) inset;
    transform: translateY(-3px);
}

.pm-option.is-selected {
    border-color: rgb(247 164 125 / 0.95);
    background: linear-gradient(145deg, rgb(156 73 57 / 0.7), rgb(33 71 108 / 0.94));
    box-shadow: 0 18px 34px rgb(0 10 24 / 0.28), 0 0 0 1px rgb(255 202 161 / 0.26) inset;
}

.pm-option.is-selected::before {
    background: linear-gradient(#ffc69b, var(--pm-coral));
    box-shadow: 0 0 16px rgb(232 99 74 / 0.95);
}

.pm-option strong {
    color: var(--pm-light-ink);
}

.pm-option small {
    color: rgb(226 235 244 / 0.69);
}

.pm-options--countries .pm-option {
    min-height: 138px;
    border-radius: 18px;
}

.pm-options--countries .pm-option strong {
    letter-spacing: -0.035em;
}

.pm-flag {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    font-size: 2.5rem;
    border: 1px solid rgb(220 234 247 / 0.16);
    border-radius: 16px;
    background: rgb(1 14 28 / 0.25);
}

.pm-actions {
    padding-top: 6px;
    border-top: 1px solid rgb(202 222 241 / 0.12);
}

.pm-back,
.pm-share {
    color: var(--pm-light-ink);
    border: 1px solid rgb(208 225 241 / 0.2);
    background: rgb(4 20 37 / 0.22);
    transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.pm-back:hover,
.pm-share:hover {
    border-color: rgb(244 166 127 / 0.7);
    background: rgb(255 255 255 / 0.1);
    transform: translateY(-1px);
}

.pm-next {
    border-color: #f0a06f;
    background: linear-gradient(135deg, #e7634a 0%, #c9413d 58%, #a82d39 100%);
    box-shadow: 0 12px 22px rgb(147 39 48 / 0.29), 0 1px 0 rgb(255 233 214 / 0.36) inset;
}

.pm-next:hover:not(:disabled) {
    background: linear-gradient(135deg, #f07b5d 0%, #d84c45 58%, #b9333f 100%);
    transform: translateY(-2px);
}

.pm-next:disabled {
    border-color: rgb(205 222 237 / 0.14);
    background: rgb(207 221 234 / 0.18);
    box-shadow: none;
    opacity: 0.56;
}

.pm-disclaimer {
    color: rgb(207 222 237 / 0.54);
}

.pm-result-header {
    border-bottom-color: rgb(207 222 237 / 0.14);
}

.pm-priority {
    border-color: rgb(204 224 242 / 0.16);
    border-radius: 16px;
    background: linear-gradient(145deg, rgb(255 255 255 / 0.08), rgb(255 255 255 / 0.025));
    box-shadow: 0 1px 0 rgb(255 255 255 / 0.07) inset;
}

.pm-priority-number {
    color: #ffe0c4;
    background: linear-gradient(145deg, #d95b48, #9c3140);
    box-shadow: 0 4px 10px rgb(113 29 42 / 0.31);
}

.pm-priority h3 {
    color: var(--pm-light-ink);
}

.pm-priority p,
.pm-waiting p {
    color: var(--pm-soft);
}

.pm-priority a,
.pm-signup {
    color: #f5b280;
}

.pm-waiting {
    border-left-color: #f2a16f;
    background: linear-gradient(90deg, rgb(183 84 55 / 0.24), rgb(255 255 255 / 0.045));
}

.pm-waiting strong {
    color: var(--pm-light-ink);
}

.pm-signup:hover,
.pm-priority a:hover {
    color: #ffd2ad;
    opacity: 1;
}

@media (max-width: 640px) {
    .pm-planner-section {
        padding-bottom: 72px;
    }

    .pm-planner {
        padding: 28px 18px;
        border-radius: 22px;
    }

    .pm-options--countries .pm-option {
        min-height: 104px;
    }

    .pm-progress-dots i {
        width: 18px;
    }
}


/* Proyecto Musk: composición invertida — tarjeta clara sobre fondo azul
/* ---------------------------------------------------------- */

.pm-page {
    background: var(--pm-navy);
}

.pm-planner-section {
    overflow: hidden;
    position: relative;
    padding: 0 0 124px;
    background:
        radial-gradient(circle at 8% 20%, rgb(232 99 74 / 0.19), transparent 24%),
        radial-gradient(circle at 88% 68%, rgb(55 124 183 / 0.28), transparent 29%),
        linear-gradient(145deg, #061a33 0%, #082746 52%, #06172d 100%);
}

.pm-planner-section::before {
    inset: 0;
    opacity: 1;
    background-image:
        linear-gradient(rgb(205 225 242 / 0.075) 1px, transparent 1px),
        linear-gradient(90deg, rgb(205 225 242 / 0.075) 1px, transparent 1px);
    background-size: 38px 38px;
    mask-image: linear-gradient(to bottom, black 0%, black 72%, transparent 100%);
}

.pm-planner-section::after {
    position: absolute;
    right: -184px;
    bottom: 30px;
    width: 520px;
    height: 520px;
    border: 1px solid rgb(216 234 249 / 0.2);
    border-radius: 48% 52% 48% 52%;
    box-shadow: 0 0 0 34px rgb(216 234 249 / 0.045), 0 0 0 70px rgb(216 234 249 / 0.025);
    content: "";
    pointer-events: none;
    transform: rotate(-18deg);
}

.pm-planner {
    overflow: hidden;
    min-height: 528px;
    color: var(--pm-ink);
    background:
        radial-gradient(circle at 96% 4%, rgb(232 99 74 / 0.11), transparent 24%),
        linear-gradient(145deg, #fffdf9 0%, #f7f3eb 100%);
    border: 1px solid rgb(255 255 255 / 0.74);
    box-shadow: 0 38px 80px rgb(0 12 28 / 0.38), 0 1px 0 rgb(255 255 255 / 0.92) inset;
}

.pm-planner::before {
    right: 18%;
    left: 18%;
    background: linear-gradient(90deg, transparent, #f3a274, var(--pm-coral), #f3a274, transparent);
}

.pm-planner::after {
    right: -178px;
    bottom: -242px;
    z-index: 0;
    width: 430px;
    height: 430px;
    border-color: rgb(8 38 70 / 0.08);
    box-shadow: 0 0 0 42px rgb(8 38 70 / 0.025), 0 0 0 84px rgb(8 38 70 / 0.015);
}

.pm-progress {
    color: #fff;
    border-color: rgb(255 255 255 / 0.12);
    background: linear-gradient(135deg, #0d3157, #071b34);
    box-shadow: 0 9px 22px rgb(2 17 35 / 0.22), 0 1px 0 rgb(255 255 255 / 0.12) inset;
}

.pm-progress-dots i {
    background: rgb(222 235 246 / 0.28);
}

.pm-progress-dots i.is-active {
    background: linear-gradient(90deg, #f28c67, var(--pm-coral));
}

.pm-step h2,
.pm-result h2,
.pm-noscript h2 {
    color: var(--pm-ink);
}

.pm-step-intro,
.pm-result-header > p:last-child {
    color: var(--pm-muted);
}

.pm-option {
    color: var(--pm-ink);
    border-color: rgb(10 42 74 / 0.12);
    background: rgb(255 255 255 / 0.78);
    box-shadow: 0 1px 0 rgb(255 255 255 / 0.96) inset, 0 9px 20px rgb(5 28 54 / 0.055);
    backdrop-filter: none;
}

.pm-option::before {
    background: rgb(7 32 61 / 0.08);
}

.pm-option:hover {
    border-color: rgb(232 99 74 / 0.78);
    background: #fff;
    box-shadow: 0 16px 28px rgb(5 28 54 / 0.13), 0 1px 0 rgb(255 255 255 / 0.95) inset;
}

.pm-option.is-selected {
    border-color: var(--pm-coral);
    background: linear-gradient(135deg, #fff1e8 0%, #fffdf9 62%);
    box-shadow: 0 16px 28px rgb(188 65 52 / 0.14), 0 0 0 1px rgb(232 99 74 / 0.16) inset;
}

.pm-option.is-selected::before {
    background: linear-gradient(#f5b06f, var(--pm-coral));
}

.pm-option strong {
    color: var(--pm-ink);
}

.pm-option small {
    color: var(--pm-muted);
}

.pm-flag {
    border-color: rgb(10 42 74 / 0.12);
    background: linear-gradient(145deg, #f7eee4, #fff);
    box-shadow: 0 4px 10px rgb(5 28 54 / 0.06);
}

.pm-actions {
    border-top-color: rgb(10 42 74 / 0.1);
}

.pm-back,
.pm-share {
    color: var(--pm-ink);
    border-color: rgb(10 42 74 / 0.14);
    background: rgb(255 255 255 / 0.68);
}

.pm-back:hover,
.pm-share:hover {
    color: var(--pm-ink);
    border-color: rgb(232 99 74 / 0.7);
    background: #fff;
}

.pm-next {
    border-color: #ef9870;
    background: linear-gradient(135deg, #0a3159 0%, #082544 64%, #061a31 100%);
    box-shadow: 0 12px 22px rgb(5 28 54 / 0.23), 0 1px 0 rgb(255 255 255 / 0.18) inset;
}

.pm-next:hover:not(:disabled) {
    background: linear-gradient(135deg, #12436f 0%, #092d50 64%, #071f3a 100%);
}

.pm-next:disabled {
    border-color: rgb(10 42 74 / 0.08);
    background: #e8eaeb;
    opacity: 0.66;
}

.pm-disclaimer {
    color: #74808b;
}

.pm-result-header {
    border-bottom-color: rgb(10 42 74 / 0.1);
}

.pm-priority {
    border-color: rgb(10 42 74 / 0.11);
    background: rgb(255 255 255 / 0.78);
    box-shadow: 0 1px 0 rgb(255 255 255 / 0.94) inset, 0 8px 18px rgb(5 28 54 / 0.04);
}

.pm-priority-number {
    color: #fff;
    background: linear-gradient(145deg, #e1684c, #a6303d);
}

.pm-priority h3,
.pm-waiting strong {
    color: var(--pm-ink);
}

.pm-priority p,
.pm-waiting p {
    color: var(--pm-muted);
}

.pm-priority a,
.pm-signup {
    color: #a6433f;
}

.pm-waiting {
    border-left-color: var(--pm-coral);
    background: linear-gradient(90deg, #fff0e7, #faf7f1);
}

.pm-signup:hover,
.pm-priority a:hover {
    color: #7e3034;
}

@media (max-width: 640px) {
    .pm-planner-section {
        padding-bottom: 76px;
    }

    .pm-planner-section::after {
        right: -260px;
        width: 390px;
        height: 390px;
    }
}


/* Proyecto Musk: navegación con reinicio
/* ---------------------------------------------------------- */

.pm-actions {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
}

.pm-restart {
    min-height: 42px;
    padding: 0 16px;
    font-size: 1.3rem;
    font-weight: 760;
    letter-spacing: 0.01em;
    color: #6a7380;
    cursor: pointer;
    border: 0;
    border-radius: 999px;
    background: transparent;
    transition: color 0.18s ease, background 0.18s ease;
}

.pm-restart:hover {
    color: var(--pm-ink);
    background: rgb(10 42 74 / 0.06);
}

.pm-restart:focus-visible {
    outline: 3px solid rgb(232 99 74 / 0.42);
    outline-offset: 3px;
}

.pm-actions .pm-next {
    justify-self: end;
}

@media (max-width: 640px) {
    .pm-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .pm-actions .pm-back,
    .pm-actions .pm-next {
        width: 100%;
    }

    .pm-actions .pm-next {
        justify-self: stretch;
    }

    .pm-restart {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-self: center;
    }
}


/* Proyecto Musk: cabecero Primo Europa con acceso al plan
/* ---------------------------------------------------------- */

.pm-navigation {
    height: 92px;
    color: #08213d;
    background: #faf8f3;
    border-bottom: 1px solid #ebe5db;
}

.pm-navigation .gh-navigation-inner {
    max-width: 1340px;
}

.pm-navigation .gh-navigation-menu {
    margin-left: auto;
}

.pm-navigation .gh-navigation-menu .nav {
    gap: 28px;
}

.pm-navigation .gh-navigation-menu .nav a,
.pm-navigation .gh-navigation-members > a:not(.gh-button):not(.pm-header-plan) {
    font-size: 1.42rem;
    font-weight: 720;
    color: #0c2947;
}

.pm-navigation .gh-navigation-members {
    gap: 22px;
}

.pm-header-plan {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 15px;
    font-size: 1.32rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: #092746 !important;
    border: 1px solid rgb(9 39 70 / 0.18);
    border-radius: 999px;
    background: #fffdf9;
    box-shadow: 0 2px 5px rgb(9 39 70 / 0.05);
    transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.pm-header-plan:hover {
    color: #fff !important;
    border-color: #0b3157;
    background: #0b3157;
    opacity: 1;
    transform: translateY(-1px);
}

.pm-navigation .gh-button {
    min-height: 44px;
    padding-inline: 22px;
    font-size: 1.4rem;
    font-weight: 760;
    background: linear-gradient(135deg, #f17a61, #e85e49);
    box-shadow: 0 7px 15px rgb(204 78 59 / 0.18);
}

.pm-navigation .gh-button:hover {
    opacity: 1;
    background: linear-gradient(135deg, #f4866e, #eb624e);
}

@media (max-width: 991px) {
    .pm-navigation .gh-navigation-menu {
        margin-left: 16px;
    }

    .pm-navigation .gh-navigation-menu .nav {
        gap: 18px;
    }

    .pm-navigation .gh-navigation-members {
        gap: 14px;
    }
}

@media (max-width: 767px) {
    .pm-navigation {
        height: 64px;
    }

    .pm-navigation .gh-navigation-menu {
        margin-left: 0;
    }

    .pm-navigation .gh-navigation-members {
        gap: 16px;
    }

    .pm-header-plan {
        min-height: 42px;
        padding-inline: 20px;
        font-size: 1.6rem;
    }
}


/* Proyecto Musk: wordmark completo en cabecero
/* ---------------------------------------------------------- */

.pm-navigation .gh-navigation-logo {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    color: #0a2949;
}

.pm-navigation .gh-navigation-logo img {
    width: auto;
    max-width: 20px;
    height: 30px;
    max-height: 30px;
    object-fit: contain;
}

.pm-brand-wordmark {
    display: inline-flex;
    gap: 5px;
    align-items: center;
    font-family: Inter, var(--font-sans);
    font-size: 1.42rem;
    font-style: normal;
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1;
    white-space: nowrap;
}

.pm-brand-wordmark strong {
    font-weight: 850;
    color: #082847;
}

.pm-brand-wordmark em {
    font-style: normal;
    font-weight: 850;
    color: #e9644b;
}

@media (max-width: 767px) {
    .pm-brand-wordmark {
        font-size: 1.28rem;
    }

    .pm-navigation .gh-navigation-logo img {
        max-width: 17px;
        height: 26px;
        max-height: 26px;
    }
}


/* Proyecto Musk — Línea de Llegada (integración final)
/* ---------------------------------------------------------- */

.pm-isolated-template .pe-home-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 92px;
    padding: 0 clamp(28px, 6.5vw, 100px);
    background: #fbf9f4;
    border-top: 2px solid #f2a38a;
    border-bottom: 1px solid #ece8df;
}

.pm-isolated-template .pe-brand,
.pm-isolated-template .pe-home-nav {
    display: flex;
    align-items: center;
}

.pm-isolated-template .pe-brand {
    gap: 10px;
    color: var(--pe-navy, #06172d);
    font: 800 13px/1 Inter, sans-serif;
    letter-spacing: .15em;
    text-decoration: none;
}

.pm-isolated-template .pe-brand strong { color: var(--pe-coral, #ee6e51); }

.pm-isolated-template .pe-brand-icon {
    width: 30px;
    height: 30px;
    object-fit: contain;
    border-radius: 8px;
}

.pm-isolated-template .pe-home-nav { gap: clamp(16px, 2.6vw, 34px); }

.pm-isolated-template .pe-home-nav a {
    color: #26364c;
    font: 700 13px/1 Inter, sans-serif;
    text-decoration: none;
    white-space: nowrap;
}

.pm-isolated-template .pe-home-nav a:hover { color: var(--pe-coral, #ee6e51); }

/* Primo Europa — acceso visible a la herramienta salarial dentro de la navegación compartida. */
.pe-home-nav .pe-nav-salary {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 14px;
    color: #fff !important;
    background: var(--pe-navy, #06172d);
    border: 1px solid var(--pe-navy, #06172d);
    border-radius: 7px;
    box-shadow: 0 6px 14px rgb(6 23 45 / .14);
}

.pe-home-nav .pe-nav-salary:hover,
.pe-home-nav .pe-nav-salary:focus {
    color: #fff !important;
    background: #0b315c;
    border-color: #0b315c;
}
.home-template .pe-home-header-rebuild .pe-home-nav > a.pe-nav-salary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 16px;
    color: #fff !important;
    font-weight: 800;
    background: #092a51;
    border-radius: 8px;
    box-shadow: 0 7px 15px rgb(9 42 81 / .16);
}
@media (max-width: 560px) {
    .home-template .pe-home-header-rebuild .pe-home-nav > a.pe-nav-salary.pe-nav-salary {
        display: inline-flex !important;
        align-items: center;
        min-height: 42px;
        padding: 0 12px;
        color: #fff !important;
        font: 800 11px/1 Inter, sans-serif !important;
        background: #092a51;
        border-radius: 999px;
        box-shadow: 0 5px 12px rgb(9 42 81 / .20);
        white-space: nowrap;
    }
}
@media (max-width: 560px) {
    .home-template .pe-home-header-rebuild .pe-home-nav > a[href="#rutas"],
    .home-template .pe-home-header-rebuild .pe-home-nav .pe-nav-plan {
        display: none !important;
    }
    .home-template .pe-home-header-rebuild .pe-home-nav .pe-nav-salary {
        display: inline-flex !important;
        align-items: center;
        min-height: 42px;
        padding: 0 12px;
        font-size: 11px !important;
        font-weight: 800 !important;
        line-height: 1;
        white-space: nowrap;
    }
}
.primo-legal-close-links { padding: 12px 2px; }

.pm-isolated-template .pe-nav-cta {
    display: inline-flex;
    align-items: center;
    min-height: 43px;
    padding: 0 19px;
    color: #fff !important;
    background: var(--pe-coral, #ee6e51);
    border-radius: 8px;
    box-shadow: 0 8px 18px rgb(238 110 81 / .18);
}

.pm-page {
    --pm-navy: #092d5d;
    --pm-ink: #0b315c;
    --pm-muted: #68788a;
    --pm-coral: #ef7054;
    background: #edf1f4;
}

.pm-hero {
    min-height: 488px;
    padding: clamp(70px, 8vw, 108px) 0 clamp(130px, 12vw, 166px);
    background: linear-gradient(122deg, #113f79 0%, #156199 53%, #0c315f 100%);
}

.pm-hero::before {
    top: auto;
    right: -110px;
    bottom: -146px;
    left: auto;
    width: 760px;
    height: 310px;
    border: 40px solid rgb(255 255 255 / .09);
    border-radius: 50%;
    transform: rotate(-18deg);
}

.pm-hero::after {
    top: 43px;
    right: 23%;
    bottom: auto;
    width: 13px;
    height: 13px;
    border: 0;
    border-radius: 50%;
    background: #ffb076;
    box-shadow: 48px 54px 0 -3px #ffb076, 118px -18px 0 -2px #ffb076, 177px 78px 0 -4px #ffb076;
}

.pm-hero-copy { max-width: 660px; }

.pm-hero h1 { max-width: 660px; }

.pm-planner-section {
    padding: 0 0 110px;
    background: #edf1f4;
}

.pm-planner-section::before,
.pm-planner-section::after { display: none; }

.pm-planner {
    overflow: hidden;
    min-height: 528px;
    padding: clamp(36px, 4.5vw, 62px);
    margin-top: -76px;
    color: var(--pm-ink);
    background: #fff;
    border: 1px solid rgb(12 49 89 / .1);
    border-radius: 8px 28px 8px 28px;
    box-shadow: 0 36px 68px rgb(3 27 54 / .23);
}

.pm-planner::before {
    top: 0;
    right: auto;
    bottom: 0;
    left: 0;
    width: 8px;
    height: 100%;
    background: linear-gradient(#ffad71, #ec6d53, #0e4c87);
}

.pm-planner::after { display: none; }

.pm-progress {
    color: #fff;
    border: 0;
    border-radius: 7px;
    background: #0c4077;
    box-shadow: 0 9px 22px rgb(2 17 35 / .16);
}

.pm-progress-dots i { background: rgb(255 255 255 / .27); }
.pm-progress-dots i.is-active { background: #ffb176; box-shadow: none; }

.pm-step h2,
.pm-result h2,
.pm-noscript h2,
.pm-option strong,
.pm-priority h3,
.pm-waiting strong { color: var(--pm-ink); }

.pm-step-intro,
.pm-result-header > p:last-child,
.pm-option small,
.pm-priority p,
.pm-waiting p { color: var(--pm-muted); }

.pm-option {
    color: var(--pm-ink);
    border: 1px solid #e0e7ed;
    border-radius: 11px;
    background: #fbfcfd;
    box-shadow: none;
}

.pm-option::before { display: none; }

.pm-option:hover {
    border-color: rgb(239 112 84 / .67);
    background: #fff;
    box-shadow: 0 12px 24px rgb(6 23 45 / .08);
    transform: translateY(-2px);
}

.pm-option.is-selected {
    border-color: var(--pm-coral);
    background: #fff9f5;
    box-shadow: 0 0 0 1px rgb(239 112 84 / .18), 0 11px 22px rgb(238 110 81 / .08);
}

.pm-option.is-selected::before { display: none; }

.pm-options--countries .pm-country-card {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 72px;
    padding: 0 20px;
    border: 1px solid #d9d6cf;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 8px 24px rgb(6 23 45 / .04);
}

.pm-options--countries .pm-country-card strong {
    font-family: Inter, var(--font-sans);
    font-size: 1.9rem;
    font-weight: 800;
    letter-spacing: 0;
}

.pm-options--countries .pm-country-card:hover { transform: translateY(-2px); }

.pm-options--countries .pm-country-card.is-selected {
    border: 2px solid var(--pm-coral);
    background: #fff9f4;
    box-shadow: 0 10px 30px rgb(238 110 81 / .1);
}

.pm-country-flag {
    display: block;
    flex: 0 0 auto;
    width: 2.45rem;
    height: 1.62rem;
    overflow: hidden;
    border: 1px solid rgb(6 23 45 / .2);
    border-radius: 3px;
    box-shadow: 0 .35rem .8rem rgb(6 23 45 / .16);
}

.pm-country-flag-de { background: linear-gradient(to bottom, #111 0 33.333%, #dd0000 33.333% 66.666%, #ffce00 66.666% 100%); }
.pm-country-flag-es { background: linear-gradient(to bottom, #aa151b 0 25%, #f1bf00 25% 75%, #aa151b 75% 100%); }

.pm-actions { border-top-color: #dfe7ed; }

.pm-back,
.pm-share,
.pm-copy-route,
.pm-result-back,
.pm-result-restart {
    color: var(--pm-ink);
    border-color: rgb(10 42 74 / .14);
    background: #fff;
}

.pm-next {
    border-color: var(--pm-coral);
    background: var(--pm-coral);
    box-shadow: 0 10px 18px rgb(204 78 59 / .2);
}

.pm-next:hover:not(:disabled) { background: #f07c60; }
.pm-next:disabled { background: #e8eaeb; border-color: #e0e5e8; }

.pm-disclaimer { color: #74808b; }
.pm-result[hidden] { display: none !important; }

.pm-result-header { border-bottom-color: #dfe7ed; }
.pm-priority { border-color: #e0e7ed; border-radius: 11px; background: #fbfcfd; box-shadow: none; }
.pm-priority-number { background: var(--pm-coral); }
.pm-waiting { border-left-color: var(--pm-coral); background: #fff5ed; }
.pm-priority a,
.pm-signup { color: #b94d42; }

.pm-result-actions {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 12px;
    align-items: center;
}

.pm-copy-route,
.pm-share,
.pm-result-back,
.pm-result-restart {
    min-height: 46px;
    padding: 0 16px;
    font-size: 1.35rem;
    font-weight: 760;
    cursor: pointer;
    border: 1px solid rgb(10 42 74 / .14);
    border-radius: 7px;
}

.pm-signup {
    grid-column: 1 / -1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 18px;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 800;
    text-decoration: none;
    background: var(--pm-coral);
    border-radius: 7px;
    box-shadow: 0 10px 18px rgb(204 78 59 / .18);
}

.pm-signup:hover { color: #fff; background: #f07c60; opacity: 1; }

@media (max-width: 767px) {
    .pm-isolated-template .pe-home-header { min-height: 70px; padding: 0 18px; }
    .pm-isolated-template .pe-home-nav { gap: 13px; }
    .pm-isolated-template .pe-home-nav a:nth-child(1),
    .pm-isolated-template .pe-home-nav a:nth-child(2) { display: none; }
    .pm-isolated-template .pe-brand { font-size: 11px; }
    .pm-isolated-template .pe-brand-icon { width: 25px; height: 25px; }
    .pm-isolated-template .pe-nav-cta { min-height: 38px; padding: 0 12px; }
    .pm-hero { min-height: 410px; padding: 62px 0 118px; }
    .pm-hero::after { right: 18%; }
    .pm-planner { padding: 32px 22px; margin-top: -52px; border-radius: 8px 22px 8px 22px; }
    .pm-options--countries .pm-country-card { min-height: 72px; }
    .pm-result-actions { grid-template-columns: 1fr 1fr; }
    .pm-signup { grid-column: 1 / -1; }
}


/* Proyecto Musk — recursos contextualizados y acciones de resultado */

.pm-result-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pm-result-back,
.pm-result-restart,
.pm-copy-route,
.pm-share {
    width: 100%;
}

.pm-resource-form {
    display: grid;
    grid-column: 1 / -1;
    gap: 12px;
    padding: 20px;
    margin: 4px 0 0;
    border: 1px solid #e0e7ed;
    border-radius: 10px;
    background: #f8fbfd;
}

.pm-resource-country {
    margin: 0;
    color: var(--pm-ink);
    font-size: 1.4rem;
    font-weight: 700;
}

.pm-resource-country strong { color: #b94d42; }

.pm-resource-email-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
}

.pm-resource-email-row input {
    min-width: 0;
    height: 48px;
    padding: 0 14px;
    color: var(--pm-ink);
    font: 1.45rem/1 Inter, sans-serif;
    border: 1px solid #ccd9e3;
    border-radius: 7px;
    background: #fff;
}

.pm-resource-email-row input:focus-visible {
    outline: 3px solid rgb(239 112 84 / .34);
    outline-offset: 2px;
}

.pm-resource-email-row .pm-signup {
    grid-column: auto;
    width: auto;
    white-space: nowrap;
}

.pm-resource-consent,
.pm-resource-form-error,
.pm-resource-form-success {
    margin: 0;
    color: #74808b;
    font-size: 1.15rem;
    line-height: 1.45;
}

.pm-resource-consent a { color: #b94d42; }
.pm-resource-form-success { display: none; color: #196a4a; font-weight: 700; }

.pm-result-back:focus-visible,
.pm-result-restart:focus-visible,
.pm-copy-route:focus-visible,
.pm-share:focus-visible,
.pm-signup:focus-visible {
    outline: 3px solid rgb(239 112 84 / .42);
    outline-offset: 3px;
}

@media (max-width: 767px) {
    .pm-result-actions { grid-template-columns: 1fr 1fr; }
    .pm-resource-email-row { grid-template-columns: 1fr; }
    .pm-resource-email-row .pm-signup { width: 100%; grid-column: auto; }
}


.pm-resource-form.success .pm-resource-form-success,
.pm-resource-form.error .pm-resource-form-error { display: block; }

.pm-resource-form.success .pm-resource-email-row,
.pm-resource-form.success .pm-resource-country,
.pm-resource-form.success .pm-resource-consent { display: none; }

.pm-resource-form.error .pm-resource-form-error { color: #ad403b; font-weight: 700; }


.pm-isolated-template .pe-home-header {
    width: 100vw;
    margin-left: calc(50% - 50vw);
}

/* Proyecto Musk — navegación compartida y progreso sin recorte */
.pe-home-nav .pe-nav-plan {
    white-space: nowrap;
}

.pm-planner-section {
    overflow: visible;
}

.pm-planner {
    overflow: visible;
    padding-top: clamp(78px, 8vw, 104px);
}

.pm-progress {
    position: absolute;
    z-index: 4;
    top: -33px;
    left: 50%;
    margin: 0;
    transform: translateX(-50%);
}

@media (max-width: 767px) {
    .pm-isolated-template .pe-home-nav {
        gap: 10px;
    }

    .pm-isolated-template .pe-home-nav a:nth-child(2),
    .pm-isolated-template .pe-home-nav a:nth-child(3) {
        display: none;
    }

    .pm-isolated-template .pe-home-nav .pe-nav-plan {
        display: inline-flex;
        font-size: 1.15rem;
    }

    .pm-planner {
        padding-top: 76px;
    }

    .pm-progress {
        top: -27px;
    }
}

@media (max-width: 767px) {
    .pm-isolated-template .pe-home-nav .pe-nav-login {
        display: none;
    }
}

/* Proyecto Musk — clasificación visible de contenido */
.pm-content-type {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 8px;
    margin: 12px 0 5px;
    color: #0c4077;
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
    background: #e7f0f8;
    border-radius: 999px;
}

.pm-content-type--compare {
    color: #9b4137;
    background: #fff0e8;
}

.pm-comparison-link {
    color: #9b4137 !important;
}

.pm-content-note {
    margin: 10px 0 0;
    color: #74808b !important;
    font-size: 1.3rem;
    line-height: 1.45;
}


/* Proyecto Musk — prioridad visual de comparador y guía */
.pm-priority .pm-content-type--compare {
    display: inline-flex;
    align-items: center;
    margin: 16px 0 7px;
    padding: 5px 9px;
    color: #7f322d;
    font-size: 1.05rem;
    font-weight: 850;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
    background: #ffe8dc;
    border: 1px solid #f6c1ad;
    border-radius: 999px;
}

.pm-priority .pm-content-type--guide {
    display: inline-flex;
    align-items: center;
    margin: 16px 0 7px;
    padding: 5px 9px;
    color: #164b76;
    font-size: 1.05rem;
    font-weight: 850;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
    background: #e4f0fa;
    border: 1px solid #bed8ed;
    border-radius: 999px;
}

.pm-priority .pm-primary-content-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 14px 15px;
    color: #823227;
    font-size: 1.45rem;
    line-height: 1.35;
    text-decoration: none;
    background: linear-gradient(135deg, #fff3ed, #ffebe0);
    border: 1px solid #efaf99;
    border-radius: 10px;
}

.pm-priority .pm-guide-link {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    color: #164b76;
}

@media (max-width: 640px) {
    .pm-priority .pm-primary-content-link {
        align-items: flex-start;
        padding: 13px;
    }
}


/* Proyecto Musk — navegación móvil y lectura del siguiente paso */
.pm-step h2 { scroll-margin-top: 96px; }

@media (max-width: 850px) {
    .home-template .pe-home-header-rebuild .pe-home-nav .pe-nav-plan,
    .home-template .pe-home-header-rebuild .pe-home-nav > a[href="/#rutas"],
    .home-template .pe-home-header-rebuild .pe-home-nav > a[href="#rutas"] {
        display: inline-flex !important;
        align-items: center;
    }
}

@media (max-width: 767px) {
    .pm-isolated-template .pe-home-nav a:nth-child(1),
    .pm-isolated-template .pe-home-nav a:nth-child(2) {
        display: inline-flex !important;
        align-items: center;
    }

    .pm-isolated-template .pe-home-nav .pe-nav-login,
    .pm-isolated-template .pe-home-nav .pe-nav-cta {
        display: none !important;
    }
}

@media (max-width: 560px) {
    .home-template .pe-home-header-rebuild .pe-home-nav {
        gap: 12px;
    }

    .home-template .pe-home-header-rebuild .pe-home-nav .pe-nav-login,
    .home-template .pe-home-header-rebuild .pe-home-nav .pe-nav-cta {
        display: none !important;
    }

    .home-template .pe-home-header-rebuild .pe-home-nav .pe-nav-plan,
    .home-template .pe-home-header-rebuild .pe-home-nav > a[href="/#rutas"],
    .home-template .pe-home-header-rebuild .pe-home-nav > a[href="#rutas"],
    .pm-isolated-template .pe-home-nav .pe-nav-plan,
    .pm-isolated-template .pe-home-nav > a[href="/#rutas"],
    .pm-isolated-template .pe-home-nav > a[href="#rutas"] {
        display: inline-flex !important;
        font-size: 1.1rem !important;
    }
}

/* Corrección defensiva de portada móvil: las reglas heredadas ocultaban los enlaces prioritarios. */
@media (max-width: 560px) {
    .pe-home-header-rebuild .pe-home-nav {
        align-items: center !important;
        display: flex !important;
        gap: 10px !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .pe-home-header-rebuild .pe-home-nav > a:nth-child(1),
    .pe-home-header-rebuild .pe-home-nav > a:nth-child(2) {
        align-items: center !important;
        color: #0d2b4a !important;
        display: inline-flex !important;
        font-size: 1.1rem !important;
        font-weight: 800 !important;
        line-height: 1.1 !important;
        opacity: 1 !important;
        visibility: visible !important;
        white-space: nowrap !important;
    }

    .pe-home-header-rebuild .pe-home-nav > a:nth-child(n + 3) {
        display: none !important;
    }
}


/* Proyecto Musk — alternativa A: solo botones prioritarios en cabecera móvil */
@media (max-width:560px){
  .home-template .pe-home-header-rebuild .pe-home-nav,
  .pm-isolated-template .pe-home-nav{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:7px!important;
  }
  .home-template .pe-home-header-rebuild .pe-home-nav .pe-nav-plan,
  .pm-isolated-template .pe-home-nav .pe-nav-plan{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:42px!important;
    padding:0 12px!important;
    border-radius:999px!important;
    background:#092a51!important;
    color:#fff!important;
    box-shadow:0 5px 12px rgba(9,42,81,.20)!important;
    font:800 11px/1 Inter,sans-serif!important;
    white-space:nowrap!important;
  }
  .home-template .pe-home-header-rebuild .pe-home-nav>a[href="#rutas"],
  .home-template .pe-home-header-rebuild .pe-home-nav>a[href="/#rutas"],
  .pm-isolated-template .pe-home-nav>a[href="#rutas"],
  .pm-isolated-template .pe-home-nav>a[href="/#rutas"]{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:42px!important;
    padding:0 12px!important;
    border:1.5px solid #b6c4d4!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#092a51!important;
    font:800 11px/1 Inter,sans-serif!important;
    white-space:nowrap!important;
  }
}


/* Corrección puntual: etiqueta visible en la pastilla azul de Proyecto Musk móvil */
@media (max-width:560px){
  body.pm-isolated-template .pe-home-nav > a.pe-nav-plan,
  body.pm-isolated-template .pe-home-nav > a.pe-nav-plan:visited{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    opacity:1!important;
    text-shadow:none!important;
  }
}

/* Proyecto Musk 1.5.75 — la portada mantiene el mismo wordmark móvil que Tu plan de llegada. */
@media (max-width: 560px) {
    .home-template .pe-home-header-rebuild .pe-brand {
        font-size: 11px !important;
    }

    .home-template .pe-home-header-rebuild .pe-brand-icon {
        width: 25px !important;
        height: 25px !important;
    }

    .home-template .pe-home-header-rebuild .pe-brand > span:last-child {
        display: inline !important;
    }
}

/* Proyecto Musk 1.5.76 — acceso permanente a cookies integrado en el pie legal. */
.gh-footer-legal {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px 24px;
}

.gh-footer-legal .gh-footer-menu .nav {
    gap: 8px 24px;
}

.primo-consent-trigger--footer {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: inherit !important;
    cursor: pointer;
    font: inherit;
    font-weight: 700;
    line-height: 1.1;
    text-decoration: none !important;
    white-space: nowrap;
}

.primo-consent-trigger--footer:hover {
    color: var(--pe-coral, #ee6e51) !important;
}

.primo-consent-trigger--footer:focus-visible {
    outline: 2px solid var(--pe-coral, #ee6e51);
    outline-offset: 4px;
}

.primo-consent-trigger-icon {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-width: 1.7;
}

.pe-legal-close .primo-consent-trigger--footer {
    color: #d0d7e1 !important;
    font: 500 12px/1 Inter, sans-serif;
}

@media (max-width: 720px) {
    .gh-footer-legal,
    .gh-footer-legal .gh-footer-menu .nav {
        gap: 12px 18px;
    }

    .pe-legal-close .primo-consent-trigger--footer {
        font-size: 11px;
    }
}

/* Proyecto Musk 1.5.77 — cierre legal visible en la plantilla aislada del planificador. */
.primo-legal-close {
    width: 100%;
    padding: 34px 24px 30px;
    background: #07182d;
    color: #92a0b2;
    text-align: center;
}

.primo-legal-close-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 12px 24px;
    margin-bottom: 15px;
}

.primo-legal-close-links a {
    color: #d0d7e1;
    font: 500 12px/1 Inter, sans-serif;
    text-decoration: none;
}

.primo-legal-close-links a:hover {
    color: var(--pe-coral, #ee6e51);
}

.primo-legal-close .primo-consent-trigger--footer {
    color: #d0d7e1 !important;
    font: 500 12px/1 Inter, sans-serif;
}

.primo-legal-close small {
    color: #92a0b2;
    font: 400 11px/1.4 Inter, sans-serif;
}

@media (max-width: 720px) {
    .primo-legal-close {
        padding: 28px 20px;
    }

    .primo-legal-close-links {
        gap: 12px 18px;
    }

    .primo-legal-close-links a,
    .primo-legal-close .primo-consent-trigger--footer {
        font-size: 11px;
    }
}

/* Proyecto Musk 1.5.81 — doble control limpio de navegación en escritorio. */
@media (min-width: 768px) {
    .home-template .pe-home-header-rebuild .pe-home-nav > a[href="#rutas"],
    .home-template .pe-home-header-rebuild .pe-home-nav > a[href="/#rutas"],
    .pm-isolated-template .pe-home-nav > a[href="/#rutas"] {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        min-height: 44px;
        padding: 0 18px;
        color: #fff !important;
        font-weight: 800 !important;
        background: #092a51;
        border: 1px solid #092a51;
        border-radius: 10px;
        box-shadow: 0 6px 14px rgb(9 42 81 / .16);
        transition: background .18s ease, box-shadow .18s ease, transform .18s ease;
    }

    .home-template .pe-home-header-rebuild .pe-home-nav > a[href="#rutas"]::after,
    .home-template .pe-home-header-rebuild .pe-home-nav > a[href="/#rutas"]::after,
    .pm-isolated-template .pe-home-nav > a[href="/#rutas"]::after {
        margin-left: 9px;
        content: "→";
        font-size: 1.55em;
        font-weight: 500;
        line-height: 1;
    }

    .home-template .pe-home-header-rebuild .pe-home-nav > a[href="#rutas"]:hover,
    .home-template .pe-home-header-rebuild .pe-home-nav > a[href="/#rutas"]:hover,
    .pm-isolated-template .pe-home-nav > a[href="/#rutas"]:hover {
        color: #fff !important;
        background: #123d70;
        box-shadow: 0 9px 19px rgb(9 42 81 / .22);
        transform: translateY(-1px);
    }

    .home-template .pe-home-header-rebuild .pe-home-nav .pe-nav-plan,
    .pm-isolated-template .pe-home-nav .pe-nav-plan {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        min-height: 44px;
        padding: 0 18px;
        color: #092a51 !important;
        font-weight: 800 !important;
        background: #fff;
        border: 1.5px solid #092a51;
        border-radius: 10px;
        box-shadow: none;
        transition: background .18s ease, border-color .18s ease, transform .18s ease;
    }

    .home-template .pe-home-header-rebuild .pe-home-nav .pe-nav-plan:hover,
    .pm-isolated-template .pe-home-nav .pe-nav-plan:hover {
        color: #092a51 !important;
        background: #f3f7fa;
        border-color: #123d70;
        transform: translateY(-1px);
    }

    .home-template .pe-home-header-rebuild .pe-home-nav > a[href="#rutas"]:focus-visible,
    .home-template .pe-home-header-rebuild .pe-home-nav > a[href="/#rutas"]:focus-visible,
    .pm-isolated-template .pe-home-nav > a[href="/#rutas"]:focus-visible,
    .home-template .pe-home-header-rebuild .pe-home-nav .pe-nav-plan:focus-visible,
    .pm-isolated-template .pe-home-nav .pe-nav-plan:focus-visible {
        outline: 3px solid rgb(238 110 81 / .55);
        outline-offset: 3px;
    }
}

/* MOBILE NAVIGATION — CTA «Explorar rutas» + menú de tres destinos. */
.pe-mobile-nav-actions,
.pe-mobile-nav-panel {
    display: none;
}
@media (max-width: 767px) {
    .pe-home-header-rebuild { position: relative !important; min-height: 66px !important; padding: 0 16px !important; }
    .pe-home-header-rebuild .pe-brand { min-width: 0; font-size: 10px !important; letter-spacing: .09em !important; }
    .pe-home-header-rebuild .pe-brand-icon { width: 25px !important; height: 25px !important; }
    .pe-home-header-rebuild .pe-home-nav { position: static !important; display: flex !important; flex: 0 0 auto !important; min-width: 0 !important; gap: 0 !important; }
    .pe-home-header-rebuild .pe-home-nav > a, .pe-home-header-rebuild .pe-home-nav > .pe-nav-member { display: none !important; }
    .pe-home-header-rebuild .pe-mobile-nav-actions { display: flex !important; align-items: center; gap: 7px; }
    .pe-home-header-rebuild .pe-mobile-nav-primary, .pe-home-header-rebuild .pe-mobile-nav-toggle { display: inline-flex !important; align-items: center; justify-content: center; min-height: 38px; border-radius: 0 !important; font: 800 10px/1 Inter, sans-serif !important; letter-spacing: .055em; text-decoration: none !important; text-transform: uppercase; white-space: nowrap; }
    .pe-home-header-rebuild .pe-mobile-nav-primary { padding: 0 10px; background: #092a51; border: 1px solid #092a51; color: #fff !important; -webkit-text-fill-color: #fff !important; box-shadow: 0 4px 10px rgb(9 42 81 / .16); }
    .pe-home-header-rebuild .pe-mobile-nav-primary span { margin-left: 5px; font-size: 15px; line-height: 0; }
    .pe-home-header-rebuild .pe-mobile-nav-toggle { gap: 5px; padding: 0 9px; background: #fffdf8; border: 1px solid #092a51; color: #092a51; cursor: pointer; }
    .pe-mobile-nav-toggle-icon { display: grid; gap: 3px; width: 13px; }
    .pe-mobile-nav-toggle-icon i { display: block; height: 1.5px; background: currentColor; }
    .pe-home-header-rebuild .pe-mobile-nav-panel { position: absolute; z-index: 100; top: calc(100% - 1px); right: 0; left: 0; display: grid; gap: 1px; padding: 12px 16px 16px; background: #dfe9ef; border-top: 1px solid #cbd7de; box-shadow: 0 11px 18px rgb(8 41 74 / .18); }
    .pe-home-header-rebuild .pe-mobile-nav-panel[hidden] { display: none !important; }
    .pe-home-header-rebuild .pe-mobile-nav-panel a { display: flex !important; align-items: center; justify-content: space-between; min-height: 48px; padding: 0 14px; color: #08294a !important; background: #fffdf8; font: 800 13px/1 Inter, sans-serif !important; text-decoration: none !important; }
    .pe-home-header-rebuild .pe-mobile-nav-panel a b { font-size: 18px; font-weight: 500; }
    .pe-home-header-rebuild .pe-mobile-nav-panel .pe-mobile-nav-panel-salary { color: #c94321 !important; background: #fff0e8; border: 1px solid #ff8d6d; }
    .pe-home-header-rebuild .pe-mobile-nav-primary:focus-visible, .pe-home-header-rebuild .pe-mobile-nav-toggle:focus-visible, .pe-home-header-rebuild .pe-mobile-nav-panel a:focus-visible { outline: 3px solid #ff6a42; outline-offset: 3px; }
    body.home-template .pe-home-header-rebuild .pe-home-nav > a[href],
    body.pm-isolated-template .pe-home-header-rebuild .pe-home-nav > a[href] { display: none !important; }
}

/* Ancla de Guías: el destino es el encabezado visible, no el inicio con espacio de la sección. */
@media (max-width: 767px) {
    .home-template .pe-guides-header#guias { scroll-margin-top: 16px; }
}
