:root { --jhf-primary:        var(--e-global-color-primary,   #0D1D31); --jhf-primary-dark:   #06121F;
--jhf-primary-soft:   #1a2d4a; --jhf-secondary:      var(--e-global-color-secondary, #EC005F); --jhf-secondary-dark: #C7004F;
--jhf-secondary-soft: #FF3380; --jhf-accent:         var(--e-global-color-accent,    #EC005F); --jhf-text:           var(--e-global-color-text,      #435469);
--jhf-text-strong:    var(--e-global-color-primary,   #0D1D31);
--jhf-text-muted:     #5B6572; --jhf-text-on-dark:   #E8ECF1; --jhf-bg:             #FAFAF7;
--jhf-surface:        #FFFFFF;
--jhf-surface-alt:    #F7F8FA;
--jhf-surface-dark:   var(--e-global-color-primary,   #0D1D31);
--jhf-border:         #E1E5EB; --jhf-success:        #2E8B57;
--jhf-error:          #D93545; --jhf-font-display:   var(--e-global-typography-primary-font-family, 'Raleway'), system-ui, sans-serif;
--jhf-font-body:      var(--e-global-typography-text-font-family,    'Raleway'), system-ui, sans-serif; --jhf-text-xs:        0.75rem; --jhf-text-sm:        0.875rem; --jhf-text-eyebrow:   1rem; --jhf-text-base:      1.125rem; --jhf-text-lg:        1.25rem; --jhf-text-xl:        1.375rem; --jhf-text-2xl:       1.625rem; --jhf-text-3xl:       2rem; --jhf-text-4xl:       2.75rem; --jhf-text-hero:      4rem;  --jhf-eyebrow-tracking: 0.156em;  --jhf-space-1: 0.25rem;
--jhf-space-2: 0.5rem;
--jhf-space-3: 0.75rem;
--jhf-space-4: 1rem;
--jhf-space-6: 1.5rem;
--jhf-space-8: 2rem;
--jhf-space-12: 3rem;
--jhf-space-16: 4rem;
--jhf-space-24: 6rem; --jhf-radius-sm:   0.5rem;
--jhf-radius-md:   0.75rem;
--jhf-radius-lg:   1rem;
--jhf-radius-xl:   1.5rem;
--jhf-radius-full: 9999px; --jhf-shadow-sm:   0 1px 2px rgba(13, 29, 49, 0.06);
--jhf-shadow-md:   0 6px 24px rgba(13, 29, 49, 0.08);
--jhf-shadow-lg:   0 18px 48px rgba(13, 29, 49, 0.14);
--jhf-shadow-btn:  0 10px 40px rgba(13, 29, 49, 0.10); --jhf-shadow-pink: 0 8px 24px rgba(236, 0, 95, 0.28);
} .jhf-eyebrow {
font-family: var(--jhf-font-display);
font-size: var(--jhf-text-eyebrow);
font-weight: 700;
line-height: 1.4;
letter-spacing: var(--jhf-eyebrow-tracking);
text-transform: uppercase;
color: var(--jhf-secondary);
}.jhf-consent {
position: fixed;
left: 50%;
bottom: 16px;
transform: translateX(-50%);
z-index: 2147483000;
box-sizing: border-box;
width: min(820px, calc(100% - 32px));
max-height: calc(100vh - 32px);
overflow: auto;
padding: var(--jhf-space-6);
background: var(--jhf-primary, #0D1D31);
color: var(--jhf-text-on-dark, #E8ECF1);
border: 1px solid var(--jhf-primary-soft, #1a2d4a);
border-radius: var(--jhf-radius-lg, 1rem);
box-shadow: var(--jhf-shadow-lg);
font-family: var(--jhf-font-body);
font-size: var(--jhf-text-sm);
line-height: 1.55;
text-align: left;
}
.jhf-consent *,
.jhf-consent *::before,
.jhf-consent *::after { box-sizing: border-box; }
.jhf-consent--banner {
display: flex;
flex-wrap: wrap;
gap: var(--jhf-space-4);
align-items: center;
justify-content: space-between;
}
.jhf-consent--pannello { width: min(580px, calc(100% - 32px)); }
.jhf-consent__text { flex: 1 1 340px; min-width: 240px; }
.jhf-consent__title,
.jhf-consent__heading {
margin: 0 0 var(--jhf-space-1);
font-family: var(--jhf-font-display);
font-weight: 800;
color: #fff;
}
.jhf-consent__title { font-size: var(--jhf-text-base); }
.jhf-consent__heading { font-size: var(--jhf-text-xl); line-height: 1.25; }
.jhf-consent__desc {
margin: 0;
color: #B9C3CF;
font-size: var(--jhf-text-sm);
}
.jhf-consent--pannello .jhf-consent__desc { margin-bottom: var(--jhf-space-2); }
.jhf-consent__link,
.jhf-consent__link:visited {
color: #fff;
text-decoration: underline;
text-underline-offset: 2px;
}
.jhf-consent__link:hover { color: var(--jhf-secondary-soft, #FF3380); }
.jhf-consent__actions {
display: flex;
flex: 0 0 auto;
flex-wrap: wrap;
gap: var(--jhf-space-2);
}
.jhf-consent__actions--panel {
justify-content: flex-end;
padding-top: var(--jhf-space-4);
border-top: 1px solid var(--jhf-primary-soft, #1a2d4a);
} .jhf-consent .jhf-consent__btn { margin: 0; white-space: nowrap; }
.jhf-consent .jhf-button--white:hover,
.jhf-consent .jhf-button--white:focus { border-color: #ffffff !important; }
.jhf-consent__link:focus-visible,
.jhf-consent__check:focus-visible {
outline: 2px solid var(--jhf-secondary-soft, #FF3380);
outline-offset: 2px;
}
.jhf-consent__row {
display: flex;
gap: var(--jhf-space-4);
align-items: flex-start;
padding: var(--jhf-space-4) 0;
border-top: 1px solid var(--jhf-primary-soft, #1a2d4a);
}
.jhf-consent__row-text { flex: 1 1 auto; }
.jhf-consent__row-title {
display: block;
margin-bottom: 2px;
font-weight: 700;
color: #fff;
cursor: pointer;
}
.jhf-consent__row-desc { margin: 0; color: #B9C3CF; font-size: 0.8125rem; line-height: 1.5; }
.jhf-consent__row-control {
display: inline-flex;
flex: 0 0 auto;
align-items: center;
gap: var(--jhf-space-2);
margin-top: 2px;
color: #B9C3CF;
font-size: 0.8125rem;
}
.jhf-consent__check {
width: 20px;
height: 20px;
margin: 0;
accent-color: var(--jhf-secondary, #EC005F);
cursor: pointer;
}
.jhf-consent__check:disabled { cursor: default; }
@media (max-width: 640px) {
.jhf-consent { bottom: 8px; width: calc(100% - 16px); padding: var(--jhf-space-4); max-height: calc(100vh - 16px); }
.jhf-consent__actions { width: 100%; }
.jhf-consent .jhf-consent__btn { flex: 1 1 auto; }
}.jhf-page {
font-family: var(--jhf-font-body);
color: var(--jhf-text);
font-size: var(--jhf-text-base);
line-height: 1.65;
padding: 0;
}
.jhf-container {
max-width: 1200px;
margin: 0 auto;
padding: 0 var(--jhf-space-6);
}
.jhf-section { padding: var(--jhf-space-16) 0; }
.jhf-section--tight { padding: var(--jhf-space-12) 0; }
.jhf-eyebrow {
font-family: var(--jhf-font-display);
font-size: var(--jhf-text-eyebrow);
font-weight: 700;
line-height: 1.4;
letter-spacing: var(--jhf-eyebrow-tracking);
text-transform: uppercase;
color: var(--jhf-secondary);
margin: 0 0 var(--jhf-space-4);
}
.jhf-eyebrow .sep { margin: 0 0.5em; opacity: 0.5; }
.jhf-eyebrow--on-dark { color: rgba(255,255,255,0.85); } .jhf-button {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
min-height: 48px;
padding: 14px 28px;
border: 2px solid transparent;
border-radius: var(--jhf-radius-full);
font-family: var(--jhf-font-display);
font-size: 15px;
font-weight: 700;
line-height: 1;
text-decoration: none;
cursor: pointer;
transition: background-color .25s ease-out, color .25s ease-out, border-color .25s ease-out, box-shadow .25s ease-out, transform .25s ease-out;
}
.jhf-button:hover:not([disabled]) {
transform: translateY(-2px);
box-shadow: var(--jhf-shadow-btn, 0 10px 40px rgba(13,29,49,0.10));
}
.jhf-button:focus-visible {
outline: 2px solid var(--jhf-secondary);
outline-offset: 2px;
}
.jhf-button[disabled] { opacity: 0.55; cursor: not-allowed; }
.jhf-button--primary {
background: var(--jhf-secondary);
color: #fff;
border-color: var(--jhf-secondary);
}
.jhf-button--primary:hover:not([disabled]) {
background: var(--jhf-secondary-soft);
border-color: var(--jhf-secondary-soft);
color: #fff;
}
.jhf-button--navy {
background: var(--jhf-primary);
color: #fff;
}
.jhf-button--navy:hover { background: var(--jhf-primary-dark); color: #fff; } .jhf-button--secondary {
background: white;
color: var(--jhf-primary);
border-color: var(--jhf-border, #E5E7EB);
}
.jhf-button--secondary:hover { background: var(--jhf-surface-alt, #F7F8FA); color: var(--jhf-primary); }
.jhf-button--outline {
background: transparent;
color: var(--jhf-primary);
border-color: var(--jhf-primary);
}
.jhf-button--outline:hover { background: var(--jhf-primary); color: #fff; }
.jhf-button--ghost {
background: transparent;
color: var(--jhf-secondary);
padding-left: 0;
padding-right: 0;
}
.jhf-button--ghost:hover { color: var(--jhf-secondary-dark); } .jhf-icon {
width: 18px;
height: 18px;
flex-shrink: 0;
display: inline-block;
vertical-align: middle;
}
.jhf-icon--accent { color: var(--jhf-secondary); }
.jhf-icon--lg { width: 22px; height: 22px; } .jhf-chip {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 6px 12px;
border-radius: var(--jhf-radius-full);
font-size: 13px;
font-weight: 600;
background: var(--jhf-surface-alt);
color: var(--jhf-primary);
border: 1px solid var(--jhf-border);
}
.jhf-chip .jhf-icon { width: 14px; height: 14px; }
.jhf-chip--accent {
background: rgba(236, 0, 95, 0.08);
color: var(--jhf-secondary-dark);
border-color: rgba(236, 0, 95, 0.25);
}
.jhf-chip--ghost {
background: transparent;
border-color: var(--jhf-border);
} .jhf-event-header { padding: var(--jhf-space-16) 0 var(--jhf-space-12); }
.jhf-event-header__title {
font-family: var(--jhf-font-display);
font-size: var(--jhf-text-3xl);
font-weight: 900;
line-height: 1.1;
color: var(--jhf-text-strong);
margin: 0 0 var(--jhf-space-6);
letter-spacing: -0.01em;
}
@media (min-width: 768px) {
.jhf-event-header__title { font-size: var(--jhf-text-4xl); }
}
.jhf-event-header__meta {
display: flex;
flex-wrap: wrap;
gap: var(--jhf-space-2) var(--jhf-space-6);
margin-top: var(--jhf-space-6);
color: var(--jhf-text-strong);
font-size: var(--jhf-text-sm);
}
.jhf-event-header__meta-item {
display: inline-flex;
align-items: center;
gap: 8px;
} .jhf-stat-strip {
background: var(--jhf-primary);
color: #fff;
padding: 64px 0;
}
.jhf-stat-strip__grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 24px;
text-align: center;
}
@media (min-width: 768px) {
.jhf-stat-strip__grid {
grid-template-columns: repeat(4, 1fr);
gap: 24px;
}
}
.jhf-stat {
position: relative;
padding: 0 16px;
}
.jhf-stat__value {
display: inline-flex;
align-items: flex-start;
justify-content: center;
}
.jhf-stat__num {
display: block;
font-family: var(--jhf-font-display);
font-size: clamp(40px, 5vw, 60px);
font-weight: 900;
color: var(--jhf-secondary);
letter-spacing: -0.03em;
line-height: 1;
margin-bottom: 4px;
font-variant-numeric: tabular-nums;
}
.jhf-stat__plus {
font-family: var(--jhf-font-display);
font-size: clamp(28px, 3.5vw, 44px);
font-weight: 900;
line-height: 1;
color: var(--jhf-secondary);
margin-left: 4px;
}
.jhf-stat__label {
display: block;
margin: 4px 0 0;
font-size: 13px;
font-weight: 600;
letter-spacing: 1.5px;
text-transform: uppercase;
color: rgba(255,255,255,0.75);
} .jhf-companies-grid {
display: grid;
grid-template-columns: 1fr;
gap: var(--jhf-space-6);
}
@media (min-width: 640px) {
.jhf-companies-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
.jhf-companies-grid { grid-template-columns: repeat(3, 1fr); }
} .jhf-company-card {
background: var(--jhf-surface);
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-lg);
padding: var(--jhf-space-6);
display: flex;
flex-direction: column;
gap: var(--jhf-space-4);
transition: box-shadow .2s ease, transform .2s ease;
}
.jhf-company-card:hover {
box-shadow: var(--jhf-shadow-md);
transform: translateY(-2px);
}
.jhf-company-card__head {
display: flex;
align-items: center;
gap: var(--jhf-space-4);
}
.jhf-company-card__logo {
width: 64px;
height: 64px;
flex-shrink: 0;
border-radius: var(--jhf-radius-md);
background: var(--jhf-surface-alt);
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
}
.jhf-company-card__logo img {
width: 100%;
height: 100%;
object-fit: contain;
padding: 6px;
}
.jhf-company-card__logo--placeholder { color: var(--jhf-text-muted); }
.jhf-company-card__logo--placeholder .jhf-icon { width: 28px; height: 28px; }
.jhf-company-card__name {
font-family: var(--jhf-font-display);
font-size: 18px;
font-weight: 700;
color: var(--jhf-text-strong);
margin: 0;
line-height: 1.2;
}
.jhf-company-card__sector {
margin: 4px 0 0;
font-size: 13px;
font-weight: 500;
color: var(--jhf-text-muted);
text-transform: uppercase;
letter-spacing: 0.06em;
}
.jhf-company-card__excerpt {
color: var(--jhf-text);
font-size: 15px;
margin: 0;
line-height: 1.55;
}
.jhf-company-card__chips {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
.jhf-company-card__footer {
display: flex;
justify-content: space-between;
align-items: center;
gap: var(--jhf-space-4);
margin-top: auto;
padding-top: var(--jhf-space-4);
border-top: 1px solid var(--jhf-border);
flex-wrap: wrap;
} .jhf-event-card {
background: var(--jhf-surface);
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-lg);
overflow: hidden;
display: flex;
flex-direction: column;
transition: box-shadow .2s ease, transform .2s ease;
}
.jhf-event-card:hover {
box-shadow: var(--jhf-shadow-md);
transform: translateY(-2px);
}
.jhf-event-card__cover {
display: block;
background: var(--jhf-surface-alt);
}
.jhf-event-card__cover img {
width: 100%;
height: 200px;
object-fit: cover;
display: block;
}
.jhf-event-card__body { padding: var(--jhf-space-6); display: flex; flex-direction: column; gap: var(--jhf-space-3); }
.jhf-event-card__title {
font-family: var(--jhf-font-display);
font-size: var(--jhf-text-xl);
font-weight: 700;
margin: 0;
color: var(--jhf-text-strong);
}
.jhf-event-card__title a { color: inherit; text-decoration: none; }
.jhf-event-card__title a:hover { color: var(--jhf-secondary); }
.jhf-event-card__meta {
display: flex;
align-items: center;
gap: 8px;
margin: 0;
font-size: 14px;
color: var(--jhf-text);
}
.jhf-event-card .jhf-button { margin-top: var(--jhf-space-4); align-self: flex-start; }
.jhf-events-grid {
display: grid;
grid-template-columns: 1fr;
gap: var(--jhf-space-6);
}
@media (min-width: 768px) {
.jhf-events-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
.jhf-events-grid { grid-template-columns: repeat(3, 1fr); }
} .jhf-filter-form {
display: flex;
flex-wrap: wrap;
gap: var(--jhf-space-4);
align-items: center;
padding: var(--jhf-space-4) var(--jhf-space-6);
background: var(--jhf-surface);
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-md);
margin-bottom: var(--jhf-space-8);
}
.jhf-filter-form label {
font-size: 14px;
font-weight: 600;
color: var(--jhf-text-strong);
display: inline-flex;
align-items: center;
gap: 8px;
}
.jhf-filter-form select {
padding: 8px 12px;
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-sm);
font-family: var(--jhf-font-body);
font-size: 14px;
background: var(--jhf-surface);
color: var(--jhf-text-strong);
} .jhf-company-page__header { padding: var(--jhf-space-12) 0 var(--jhf-space-6); }
.jhf-company-page__title {
font-family: var(--jhf-font-display);
font-size: var(--jhf-text-3xl);
font-weight: 900;
color: var(--jhf-text-strong);
margin: 0 0 var(--jhf-space-3);
line-height: 1.1;
}
@media (min-width: 768px) {
.jhf-company-page__title { font-size: var(--jhf-text-4xl); }
}
.jhf-company-page__sector {
color: var(--jhf-text-muted);
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.06em;
font-size: 14px;
}
.jhf-company-page__body { padding: var(--jhf-space-6) 0; }
.jhf-company-page__events {
background: var(--jhf-surface-alt);
padding: var(--jhf-space-12) 0;
margin-top: var(--jhf-space-12);
} .jhf-empty {
background: var(--jhf-surface);
border: 1px dashed var(--jhf-border);
padding: var(--jhf-space-12);
border-radius: var(--jhf-radius-lg);
text-align: center;
color: var(--jhf-text-muted);
} .jhf-button,
a.jhf-button,
a.jhf-button:link,
a.jhf-button:visited,
a.jhf-button:hover,
a.jhf-button:active,
a.jhf-button:focus,
button.jhf-button {
text-decoration: none !important;
font-family: var(--jhf-font-display) !important;
font-weight: 700 !important;
text-transform: none !important;
letter-spacing: normal !important;
border-radius: var(--jhf-radius-full) !important;
}
.jhf-button--primary,
a.jhf-button--primary,
a.jhf-button--primary:link,
a.jhf-button--primary:visited,
button.jhf-button--primary {
background-color: var(--jhf-secondary) !important;
color: #ffffff !important;
border-color: var(--jhf-secondary) !important;
}
.jhf-button--primary:hover,
a.jhf-button--primary:hover,
a.jhf-button--primary:focus,
button.jhf-button--primary:hover {
background-color: var(--jhf-secondary-soft) !important;
color: #ffffff !important;
border-color: var(--jhf-secondary-soft) !important;
}
.jhf-button--navy,
a.jhf-button--navy:link,
a.jhf-button--navy:visited,
button.jhf-button--navy {
background-color: var(--jhf-primary) !important;
color: #ffffff !important;
border-color: var(--jhf-primary) !important;
}
.jhf-button--navy:hover,
a.jhf-button--navy:hover,
a.jhf-button--navy:focus {
background-color: var(--jhf-primary-dark) !important;
color: #ffffff !important;
} .jhf-button--secondary,
a.jhf-button--secondary:link,
a.jhf-button--secondary:visited,
button.jhf-button--secondary {
background-color: #ffffff !important;
color: var(--jhf-primary) !important;
border: 2px solid var(--jhf-border, #E5E7EB) !important;
}
.jhf-button--secondary:hover,
a.jhf-button--secondary:hover,
a.jhf-button--secondary:focus {
background-color: var(--jhf-surface-alt, #F7F8FA) !important;
color: var(--jhf-primary) !important;
}
.jhf-button--outline,
a.jhf-button--outline:link,
a.jhf-button--outline:visited,
button.jhf-button--outline {
background-color: transparent !important;
color: var(--jhf-primary) !important;
border: 1px solid var(--jhf-primary) !important;
}
.jhf-button--outline:hover,
a.jhf-button--outline:hover {
background-color: var(--jhf-primary) !important;
color: #ffffff !important;
}
.jhf-button--ghost,
a.jhf-button--ghost:link,
a.jhf-button--ghost:visited,
button.jhf-button--ghost {
background-color: transparent !important;
color: var(--jhf-secondary) !important;
border-color: transparent !important;
}
.jhf-button--ghost:hover,
a.jhf-button--ghost:hover {
color: var(--jhf-secondary-dark) !important;
} .jhf-button .jhf-icon { color: currentColor !important; } .jhf-shortcode { font-family: var(--jhf-font-body); color: var(--jhf-text); }
.jhf-form {
max-width: 480px;
display: flex;
flex-direction: column;
gap: var(--jhf-space-4);
background: var(--jhf-surface);
padding: var(--jhf-space-8);
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-lg);
}
.jhf-form--inline { padding: 0; border: none; max-width: none; gap: var(--jhf-space-3); }
.jhf-form__row { display: flex; flex-direction: column; gap: 6px; }
.jhf-form__row label {
font-size: 14px;
font-weight: 600;
color: var(--jhf-text-strong);
}
.jhf-form__req { color: var(--jhf-secondary); margin-left: 2px; }
.jhf-form__help { font-size: 13px; color: var(--jhf-text-muted); margin: 0; }
.jhf-form input[type="text"],
.jhf-form input[type="email"],
.jhf-form input[type="password"],
.jhf-form input[type="file"] {
padding: 10px 14px;
font-family: var(--jhf-font-body);
font-size: 16px;
line-height: 1.4;
color: var(--jhf-text-strong);
background: #fff;
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-sm);
transition: border-color .15s, box-shadow .15s;
}
.jhf-form input:focus {
outline: none;
border-color: var(--jhf-secondary);
box-shadow: 0 0 0 3px rgba(236, 0, 95, 0.15);
}
.jhf-form__row--checkbox label {
flex-direction: row;
align-items: flex-start;
gap: 10px;
font-weight: 400;
color: var(--jhf-text);
font-size: 15px;
line-height: 1.5;
cursor: pointer;
}
.jhf-form__row--checkbox input[type="checkbox"] {
width: 18px;
height: 18px;
margin-top: 2px;
accent-color: var(--jhf-secondary);
}
.jhf-form__footer {
font-size: 14px;
color: var(--jhf-text-muted);
text-align: center;
margin: var(--jhf-space-4) 0 0;
}
.jhf-form__footer a { color: var(--jhf-secondary); font-weight: 600; } .jhf-notice {
padding: 14px 18px;
border-radius: var(--jhf-radius-sm);
margin-bottom: var(--jhf-space-6);
font-size: 15px;
line-height: 1.5;
border: 1px solid;
}
.jhf-notice a { font-weight: 600; }
.jhf-notice--success { background: #ecfdf5; color: #065f46; border-color: #a7f3d0; }
.jhf-notice--error   { background: #fef2f2; color: #991b1b; border-color: #fecaca; }
.jhf-notice--info    { background: #eff6ff; color: #1e3a8a; border-color: #bfdbfe; } .jhf-dashboard {
max-width: 1200px;
margin: 0 auto;
padding: var(--jhf-space-8) var(--jhf-space-6);
}
.jhf-dashboard__header { margin-bottom: var(--jhf-space-12); }
.jhf-dashboard__title {
font-family: var(--jhf-font-display);
font-size: var(--jhf-text-3xl);
font-weight: 900;
color: var(--jhf-text-strong);
margin: 0;
line-height: 1.1;
letter-spacing: -0.01em;
}
@media (min-width: 768px) {
.jhf-dashboard__title { font-size: var(--jhf-text-4xl); }
}
.jhf-dashboard__grid {
display: grid;
grid-template-columns: 1fr;
gap: var(--jhf-space-8);
}
@media (min-width: 768px) {
.jhf-dashboard__grid { grid-template-columns: repeat(2, 1fr); }
}
.jhf-dashboard__card {
background: var(--jhf-surface);
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-lg);
padding: var(--jhf-space-8);
}
.jhf-dashboard__card-title {
font-family: var(--jhf-font-display);
font-size: var(--jhf-text-xl);
font-weight: 700;
color: var(--jhf-text-strong);
margin: 0 0 var(--jhf-space-6);
padding-bottom: var(--jhf-space-3);
border-bottom: 1px solid var(--jhf-border);
}
.jhf-dashboard__cv-info { margin: 0 0 var(--jhf-space-4); }
.jhf-dashboard__profile { margin: 0; }
.jhf-dashboard__profile dt {
font-size: 12px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1px;
color: var(--jhf-text-muted);
margin-bottom: 4px;
}
.jhf-dashboard__profile dd {
margin: 0 0 var(--jhf-space-4);
color: var(--jhf-text-strong);
font-weight: 600;
font-size: 16px;
} .jhf-dashboard__subtitle {
margin: var(--jhf-space-4) 0 0;
color: var(--jhf-text);
font-size: var(--jhf-text-lg);
max-width: 65ch;
}
.jhf-dashboard__quick {
margin: var(--jhf-space-12) 0 var(--jhf-space-16);
}
.jhf-dashboard__quick-title {
font-family: var(--jhf-font-display);
font-size: var(--jhf-text-2xl);
font-weight: 700;
color: var(--jhf-text-strong);
margin: 0 0 var(--jhf-space-8);
letter-spacing: -0.01em;
}
.jhf-quick-grid {
display: grid;
grid-template-columns: 1fr;
gap: var(--jhf-space-6);
}
@media (min-width: 768px) {
.jhf-quick-grid { grid-template-columns: repeat(3, 1fr); }
}
.jhf-quick-card {
background: var(--jhf-surface);
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-lg);
padding: var(--jhf-space-8);
display: flex;
flex-direction: column;
gap: var(--jhf-space-3);
transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.jhf-quick-card:hover {
box-shadow: var(--jhf-shadow-md);
transform: translateY(-2px);
}
.jhf-quick-card__icon {
width: 48px;
height: 48px;
border-radius: var(--jhf-radius-md);
background: var(--jhf-surface-alt);
color: var(--jhf-secondary);
display: flex;
align-items: center;
justify-content: center;
margin-bottom: var(--jhf-space-2);
}
.jhf-quick-card__title {
font-family: var(--jhf-font-display);
font-size: var(--jhf-text-xl);
font-weight: 700;
color: var(--jhf-text-strong);
margin: 0;
line-height: 1.2;
}
.jhf-quick-card__text {
color: var(--jhf-text);
font-size: 15px;
line-height: 1.55;
margin: 0 0 var(--jhf-space-4);
flex-grow: 1;
}
.jhf-quick-card .jhf-button {
align-self: flex-start;
} .jhf-quick-card--highlight {
background: var(--jhf-surface-dark);
border-color: var(--jhf-surface-dark);
color: #fff;
}
.jhf-quick-card--highlight .jhf-quick-card__title { color: #fff; }
.jhf-quick-card--highlight .jhf-quick-card__text  { color: rgba(255,255,255,0.85); }
.jhf-quick-card--highlight .jhf-quick-card__icon {
background: rgba(236, 0, 95, 0.15);
color: var(--jhf-secondary);
} .jhf-cv-actions {
display: flex;
flex-wrap: wrap;
gap: var(--jhf-space-3);
align-items: center;
}
.jhf-cv-delete-form { display: inline; margin: 0; padding: 0; }
.jhf-button--danger-ghost,
button.jhf-button--danger-ghost {
background-color: transparent !important;
color: var(--jhf-error) !important;
border: 1px solid transparent !important;
}
.jhf-button--danger-ghost:hover,
button.jhf-button--danger-ghost:hover {
background-color: rgba(217, 53, 69, 0.08) !important;
color: var(--jhf-error) !important;
border-color: rgba(217, 53, 69, 0.25) !important;
} .jhf-booking { max-width: 1200px; margin: 0 auto; padding: var(--jhf-space-12) var(--jhf-space-6); }
.jhf-booking__header { margin-bottom: var(--jhf-space-12); }
.jhf-booking__title {
font-family: var(--jhf-font-display);
font-size: var(--jhf-text-3xl);
font-weight: 900;
color: var(--jhf-text-strong);
margin: var(--jhf-space-3) 0 var(--jhf-space-3);
line-height: 1.1;
}
@media (min-width: 768px) {
.jhf-booking__title { font-size: var(--jhf-text-4xl); }
}
.jhf-booking__meta {
display: inline-flex; align-items: center; gap: 8px;
color: var(--jhf-text-strong); margin: 0 0 var(--jhf-space-4); font-size: 16px;
}
.jhf-booking__stats { display: flex; gap: 8px; flex-wrap: wrap; margin-top: var(--jhf-space-4); }
.jhf-booking__companies { display: flex; flex-direction: column; gap: var(--jhf-space-12); }
.jhf-booking-company {
background: var(--jhf-surface);
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-lg);
padding: var(--jhf-space-8);
scroll-margin-top: 80px;
}
.jhf-booking-company__header {
margin: 0 0 var(--jhf-space-8);
padding-bottom: var(--jhf-space-4);
border-bottom: 1px solid var(--jhf-border);
}
.jhf-booking-company__name {
font-family: var(--jhf-font-display);
font-size: var(--jhf-text-2xl);
font-weight: 700;
color: var(--jhf-text-strong);
margin: 0 0 var(--jhf-space-3);
line-height: 1.2;
}
.jhf-booking-company__meta { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.jhf-slot-section { margin-top: var(--jhf-space-6); }
.jhf-slot-section__title {
font-family: var(--jhf-font-display);
font-size: 14px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1.5px;
color: var(--jhf-text-muted);
margin: 0 0 var(--jhf-space-4);
}
.jhf-slot-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
gap: var(--jhf-space-3);
}
.jhf-slot-form { margin: 0; }
.jhf-slot {
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: 4px;
padding: 14px 8px;
border-radius: var(--jhf-radius-md);
border: 1px solid var(--jhf-border);
background: var(--jhf-surface);
font-family: var(--jhf-font-display);
cursor: pointer;
transition: all .15s ease;
}
.jhf-slot__time { font-size: 18px; font-weight: 800; color: var(--jhf-text-strong); }
.jhf-slot__label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; }
.jhf-slot--available .jhf-slot__label { color: var(--jhf-secondary); }
.jhf-slot--available:hover {
border-color: var(--jhf-secondary);
background: rgba(236, 0, 95, 0.05);
transform: translateY(-1px);
box-shadow: var(--jhf-shadow-sm);
}
.jhf-slot--mine {
background: var(--jhf-secondary);
border-color: var(--jhf-secondary);
}
.jhf-slot--mine .jhf-slot__time,
.jhf-slot--mine .jhf-slot__label { color: #fff; }
.jhf-slot--mine:hover { background: var(--jhf-secondary-dark); border-color: var(--jhf-secondary-dark); }
.jhf-slot--booked {
background: var(--jhf-surface-alt);
border-color: var(--jhf-border);
cursor: not-allowed;
opacity: 0.55;
}
.jhf-slot--booked .jhf-slot__time { color: var(--jhf-text-muted); }
.jhf-slot--booked .jhf-slot__label { color: var(--jhf-text-muted); } .jhf-dashboard__appointments { margin: var(--jhf-space-12) 0; }
.jhf-appointment-list { display: flex; flex-direction: column; gap: var(--jhf-space-4); }
.jhf-appointment {
display: flex;
align-items: center;
gap: var(--jhf-space-6);
padding: var(--jhf-space-6);
background: var(--jhf-surface);
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-lg);
flex-wrap: wrap;
}
.jhf-appointment__when {
min-width: 200px;
padding-right: var(--jhf-space-4);
border-right: 1px solid var(--jhf-border);
}
@media (max-width: 640px) {
.jhf-appointment__when { border-right: none; padding-right: 0; padding-bottom: var(--jhf-space-3); border-bottom: 1px solid var(--jhf-border); width: 100%; min-width: 0; }
}
.jhf-appointment__date {
font-size: 14px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.06em;
color: var(--jhf-secondary);
}
.jhf-appointment__time {
font-family: var(--jhf-font-display);
font-size: var(--jhf-text-2xl);
font-weight: 900;
color: var(--jhf-text-strong);
font-variant-numeric: tabular-nums;
line-height: 1.1;
margin-top: 2px;
}
.jhf-appointment__who { flex: 1; min-width: 200px; }
.jhf-appointment__company {
font-family: var(--jhf-font-display);
font-size: 18px;
font-weight: 700;
color: var(--jhf-text-strong);
text-decoration: none;
display: block;
margin-bottom: 4px;
}
.jhf-appointment__company:hover { color: var(--jhf-secondary); }
.jhf-appointment__event {
font-size: 14px;
color: var(--jhf-text-muted);
display: flex;
align-items: center;
gap: 6px;
flex-wrap: wrap;
}
.jhf-appointment__event a { color: var(--jhf-text-muted); text-decoration: none; }
.jhf-appointment__event a:hover { color: var(--jhf-secondary); }
.jhf-appointment__actions form { margin: 0; } .jhf-back-link {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: 14px;
font-weight: 600;
color: var(--jhf-text-muted);
text-decoration: none;
margin-bottom: var(--jhf-space-6);
padding: 8px 12px;
border-radius: var(--jhf-radius-md);
background: var(--jhf-surface);
border: 1px solid var(--jhf-border);
transition: color .15s, border-color .15s;
}
.jhf-back-link:hover { color: var(--jhf-secondary); border-color: var(--jhf-secondary); }
.jhf-icon--flip { transform: rotate(180deg); }
.jhf-booking__intro {
color: var(--jhf-text);
font-size: 16px;
max-width: 65ch;
margin: 0 0 var(--jhf-space-8);
}
.jhf-booking-pickers {
display: grid;
grid-template-columns: 1fr;
gap: var(--jhf-space-4);
}
@media (min-width: 640px)  { .jhf-booking-pickers { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .jhf-booking-pickers { grid-template-columns: repeat(3, 1fr); } }
.jhf-picker-card {
display: flex;
flex-direction: column;
gap: var(--jhf-space-4);
padding: var(--jhf-space-6);
background: var(--jhf-surface);
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-lg);
color: var(--jhf-text);
text-decoration: none;
transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.jhf-picker-card:hover {
border-color: var(--jhf-secondary);
transform: translateY(-2px);
box-shadow: var(--jhf-shadow-md);
}
.jhf-picker-card.is-active {
border-color: var(--jhf-secondary);
background: rgba(236, 0, 95, 0.04);
}
.jhf-picker-card.is-full {
opacity: 0.65;
}
.jhf-picker-card__head { display: flex; align-items: center; gap: var(--jhf-space-3); }
.jhf-picker-card__logo {
width: 56px; height: 56px; flex-shrink: 0;
border-radius: var(--jhf-radius-md);
background: var(--jhf-surface-alt);
overflow: hidden; display: flex; align-items: center; justify-content: center;
}
.jhf-picker-card__logo img { width: 100%; height: 100%; object-fit: contain; padding: 4px; }
.jhf-picker-card__logo--placeholder { color: var(--jhf-text-muted); }
.jhf-picker-card__head-text { min-width: 0; }
.jhf-picker-card__name {
font-family: var(--jhf-font-display);
font-size: 17px;
font-weight: 700;
color: var(--jhf-text-strong);
margin: 0;
line-height: 1.2;
}
.jhf-picker-card__sector {
margin: 4px 0 0;
font-size: 12px;
font-weight: 600;
color: var(--jhf-text-muted);
text-transform: uppercase;
letter-spacing: 0.06em;
}
.jhf-picker-card__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.jhf-picker-card__cta {
margin-top: auto;
padding-top: var(--jhf-space-3);
border-top: 1px solid var(--jhf-border);
display: inline-flex;
align-items: center;
gap: 6px;
font-family: var(--jhf-font-display);
font-size: 13px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.06em;
color: var(--jhf-secondary);
}
.jhf-picker-card.is-full .jhf-picker-card__cta { color: var(--jhf-text-muted); } .jhf-slot--locked {
background: var(--jhf-surface-alt);
border-color: var(--jhf-border);
cursor: not-allowed;
opacity: 0.5;
}
.jhf-slot--locked .jhf-slot__time { color: var(--jhf-text-muted); }
.jhf-slot--locked .jhf-slot__label {
color: var(--jhf-text-muted);
text-transform: uppercase;
letter-spacing: 1px;
} .jhf-slot-grid {
display: grid !important;
grid-template-columns: repeat(auto-fill, minmax(95px, 1fr)) !important;
gap: 8px !important;
}
.jhf-slot-form { margin: 0 !important; padding: 0 !important; }
.jhf-slot,
button.jhf-slot,
.jhf-slot-form button.jhf-slot {
width: 100% !important;
min-height: 56px !important;
padding: 8px 6px !important;
margin: 0 !important;
display: flex !important;
flex-direction: column !important;
align-items: center !important;
justify-content: center !important;
gap: 3px !important;
border-radius: 12px !important;
background-color: var(--jhf-surface) !important;
border: 1px solid var(--jhf-border) !important;
color: var(--jhf-text-strong) !important;
font-family: var(--jhf-font-display) !important;
font-size: inherit !important;
line-height: 1.1 !important;
text-align: center !important;
text-transform: none !important;
letter-spacing: normal !important;
box-shadow: none !important;
cursor: pointer;
transition: background-color .15s, border-color .15s, transform .15s, box-shadow .15s;
overflow: hidden;
}
.jhf-slot__time {
font-size: 15px !important;
font-weight: 800 !important;
color: inherit !important;
line-height: 1 !important;
font-variant-numeric: tabular-nums;
letter-spacing: -0.01em;
display: block !important;
}
.jhf-slot__label {
font-size: 9px !important;
font-weight: 700 !important;
text-transform: uppercase !important;
letter-spacing: 0.08em !important;
color: inherit !important;
line-height: 1 !important;
opacity: 0.7;
display: block !important;
} .jhf-slot--available .jhf-slot__label { color: var(--jhf-secondary) !important; opacity: 1; }
.jhf-slot--available:hover {
background-color: rgba(236, 0, 95, 0.06) !important;
border-color: var(--jhf-secondary) !important;
transform: translateY(-1px);
box-shadow: 0 2px 6px rgba(236, 0, 95, 0.15) !important;
} .jhf-slot--mine,
button.jhf-slot--mine {
background-color: var(--jhf-secondary) !important;
border-color: var(--jhf-secondary) !important;
color: #fff !important;
}
.jhf-slot--mine .jhf-slot__time,
.jhf-slot--mine .jhf-slot__label {
color: #fff !important;
opacity: 1 !important;
}
.jhf-slot--mine:hover {
background-color: var(--jhf-secondary-dark) !important;
border-color: var(--jhf-secondary-dark) !important;
} .jhf-slot--booked,
button.jhf-slot--booked {
background-color: var(--jhf-surface-alt) !important;
border-color: var(--jhf-border) !important;
color: var(--jhf-text-muted) !important;
cursor: not-allowed !important;
opacity: 0.6;
}
.jhf-slot--booked .jhf-slot__time,
.jhf-slot--booked .jhf-slot__label {
color: var(--jhf-text-muted) !important;
opacity: 1 !important;
}
.jhf-slot--booked:hover { transform: none !important; box-shadow: none !important; } .jhf-slot--locked,
button.jhf-slot--locked {
background-color: transparent !important;
border: 1px dashed var(--jhf-border) !important;
color: var(--jhf-text-muted) !important;
cursor: not-allowed !important;
opacity: 0.45;
}
.jhf-slot--locked .jhf-slot__time {
color: var(--jhf-text-muted) !important;
font-weight: 600 !important;
}
.jhf-slot--locked .jhf-slot__label { display: none !important; }
.jhf-slot--locked:hover { transform: none !important; box-shadow: none !important; } .jhf-company-portal { padding: var(--jhf-space-8) var(--jhf-space-6); max-width: 1200px; margin: 0 auto; }
.jhf-company-block { margin: var(--jhf-space-12) 0; }
.jhf-company-block__header { margin-bottom: var(--jhf-space-6); }
.jhf-company-block__name {
font-family: var(--jhf-font-display);
font-size: var(--jhf-text-2xl);
font-weight: 800;
color: var(--jhf-text-strong);
margin: var(--jhf-space-2) 0 0;
letter-spacing: -0.01em;
}
.jhf-event-block {
background: var(--jhf-surface);
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-lg);
padding: var(--jhf-space-6);
margin-bottom: var(--jhf-space-6);
}
.jhf-event-block__header {
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: var(--jhf-space-4);
flex-wrap: wrap;
margin-bottom: var(--jhf-space-6);
padding-bottom: var(--jhf-space-4);
border-bottom: 1px solid var(--jhf-border);
}
.jhf-event-block__title {
font-family: var(--jhf-font-display);
font-size: var(--jhf-text-xl);
font-weight: 700;
color: var(--jhf-text-strong);
margin: 0;
line-height: 1.2;
}
.jhf-event-block__date { margin: 4px 0 0; color: var(--jhf-text-muted); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; font-weight: 600; }
.jhf-event-block__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.jhf-appointments-table {
width: 100%;
border-collapse: collapse;
font-size: 14px;
}
.jhf-appointments-table thead th {
text-align: left;
padding: 10px 8px;
font-size: 11px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--jhf-text-muted);
border-bottom: 1px solid var(--jhf-border);
}
.jhf-appointments-table tbody td {
padding: 12px 8px;
border-bottom: 1px solid var(--jhf-border);
color: var(--jhf-text);
}
.jhf-appointments-table tbody tr:last-child td { border-bottom: none; }
.jhf-appointments-table tbody tr:hover td { background: var(--jhf-surface-alt); }
.jhf-appointments-table a { color: var(--jhf-secondary); text-decoration: none; } .jhf-button--sm,
a.jhf-button--sm,
button.jhf-button--sm {
padding: 10px 20px !important;
min-height: 38px !important;
font-size: 13px !important;
} .jhf-shortcode .jhf-slot.jhf-slot--mine,
.jhf-shortcode button.jhf-slot.jhf-slot--mine,
.jhf-shortcode .jhf-slot-form button.jhf-slot--mine,
body .jhf-booking .jhf-slot--mine,
body .jhf-booking button.jhf-slot--mine {
background-color: var(--jhf-secondary) !important;
background: var(--jhf-secondary) !important;
background-image: none !important;
border: 1px solid var(--jhf-secondary) !important;
color: #ffffff !important;
}
.jhf-shortcode .jhf-slot--mine .jhf-slot__time,
.jhf-shortcode .jhf-slot--mine .jhf-slot__label,
body .jhf-booking .jhf-slot--mine .jhf-slot__time,
body .jhf-booking .jhf-slot--mine .jhf-slot__label,
.jhf-slot--mine *,
button.jhf-slot--mine * {
color: #ffffff !important;
opacity: 1 !important;
}
.jhf-shortcode .jhf-slot--mine:hover,
body .jhf-booking .jhf-slot--mine:hover {
background-color: var(--jhf-secondary-dark) !important;
background: var(--jhf-secondary-dark) !important;
border-color: var(--jhf-secondary-dark) !important;
} .jhf-shortcode .jhf-slot.jhf-slot--booked,
body .jhf-booking .jhf-slot--booked {
background-color: var(--jhf-surface-alt) !important;
background: var(--jhf-surface-alt) !important;
background-image: none !important;
border: 1px solid var(--jhf-border) !important;
color: var(--jhf-text-muted) !important;
}
.jhf-shortcode .jhf-slot.jhf-slot--locked,
body .jhf-booking .jhf-slot--locked {
background-color: transparent !important;
background: transparent !important;
background-image: none !important;
border: 1px dashed var(--jhf-border) !important;
} .jhf-shortcode .jhf-slot.jhf-slot--available,
body .jhf-booking .jhf-slot--available {
background-color: var(--jhf-surface) !important;
background: var(--jhf-surface) !important;
background-image: none !important;
border: 1px solid var(--jhf-border) !important;
color: var(--jhf-text-strong) !important;
}
.jhf-shortcode .jhf-slot.jhf-slot--available:hover,
body .jhf-booking .jhf-slot--available:hover {
background-color: rgba(236, 0, 95, 0.06) !important;
border-color: var(--jhf-secondary) !important;
} .jhf-company-card__profiles {
margin: 0;
padding: 10px 12px;
background: var(--jhf-surface-alt);
border-radius: var(--jhf-radius-sm);
font-size: 13px;
color: var(--jhf-text);
line-height: 1.5;
}
.jhf-company-card__profiles strong {
display: block;
font-size: 11px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.06em;
color: var(--jhf-text-muted);
margin-bottom: 4px;
} .jhf-waitlist-block {
background: var(--jhf-surface);
border: 1px dashed var(--jhf-secondary);
border-radius: var(--jhf-radius-lg);
padding: var(--jhf-space-8);
margin: var(--jhf-space-6) 0;
text-align: left;
}
.jhf-waitlist-block h3 { color: var(--jhf-text-strong) !important; }
.jhf-waitlist-block p { color: var(--jhf-text); margin-bottom: var(--jhf-space-4); }
.jhf-waitlist-block form { margin: 0; }
.jhf-dashboard__waitlist .jhf-appointment {
border-left: 4px solid var(--jhf-secondary);
} .jhf-danger-zone {
margin-top: var(--jhf-space-16);
padding-top: var(--jhf-space-8);
border-top: 1px dashed var(--jhf-error);
}
.jhf-danger-zone summary {
font-family: var(--jhf-font-display);
font-size: 14px;
font-weight: 700;
color: var(--jhf-error);
text-transform: uppercase;
letter-spacing: 0.06em;
cursor: pointer;
padding: 8px 0;
user-select: none;
}
.jhf-danger-zone summary:hover { opacity: 0.7; }
.jhf-danger-zone__body {
padding: var(--jhf-space-6) 0 0;
} .jhf-qr-scanner { max-width: 1200px; margin: 0 auto; padding: var(--jhf-space-8) var(--jhf-space-6); }
.jhf-qr-scanner__layout {
display: grid;
grid-template-columns: 1fr;
gap: var(--jhf-space-8);
margin-top: var(--jhf-space-8);
}
@media (min-width: 768px) {
.jhf-qr-scanner__layout { grid-template-columns: 1fr 1fr; }
}
.jhf-qr-scanner__camera-box {
background: var(--jhf-surface);
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-lg);
padding: var(--jhf-space-6);
}
.jhf-qr-reader {
width: 100%;
max-width: 500px;
margin: 0 auto var(--jhf-space-4);
border-radius: var(--jhf-radius-md);
overflow: hidden;
background: #000;
min-height: 300px;
}
.jhf-qr-scanner__controls {
display: flex;
gap: var(--jhf-space-3);
flex-wrap: wrap;
justify-content: center;
}
.jhf-qr-scanner__result {
background: var(--jhf-surface);
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-lg);
padding: var(--jhf-space-6);
min-height: 300px;
}
.jhf-checkin-card { display: flex; flex-direction: column; }
.jhf-checkin-appointment {
background: var(--jhf-surface-alt);
border-radius: var(--jhf-radius-md);
padding: var(--jhf-space-4);
margin-bottom: var(--jhf-space-3);
border-left: 4px solid var(--jhf-secondary);
} .jhf-my-qr {
background: var(--jhf-surface);
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-lg);
padding: var(--jhf-space-6);
text-align: center;
margin-top: var(--jhf-space-6);
}
.jhf-my-qr__canvas {
display: inline-block;
padding: var(--jhf-space-4);
background: #fff;
border-radius: var(--jhf-radius-md);
margin: var(--jhf-space-3) auto;
}
.jhf-my-qr__canvas img,
.jhf-my-qr__canvas svg,
.jhf-my-qr__canvas canvas { display: block; max-width: 100%; height: auto; } .jhf-partners-section {
padding: 96px 0;
background: #ffffff;
}
.jhf-partners-section--alt {
background: var(--jhf-surface-alt, #F7F8FA);
} .jhf-section-header {
text-align: center;
max-width: 760px;
margin: 0 auto 64px;
}
.jhf-section-header .jhf-eyebrow {
display: inline-block;
margin-bottom: 16px;
}
.jhf-section-header__title {
font-family: var(--jhf-font-display);
font-size: clamp(32px, 4vw, 48px);
font-weight: 800;
line-height: 1.15;
letter-spacing: -0.01em;
color: var(--jhf-primary);
margin: 0 0 16px;
}
.jhf-section-header__paragraph {
font-size: 18px;
color: var(--jhf-text);
line-height: 1.6;
margin: 0;
} .jhf-partners__main-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}
.jhf-partner-main-card {
background: white;
border: 1px solid var(--jhf-border, #E5E7EB);
border-radius: 24px;
padding: 40px 32px;
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
transition: transform .25s ease-out, box-shadow .25s ease-out, border-color .25s ease-out;
}
.jhf-partner-main-card:hover {
transform: translateY(-6px);
box-shadow: 0 20px 60px rgba(13, 29, 49, 0.12);
border-color: transparent;
}
.jhf-partner-main__logo {
width: 100%;
min-height: 100px;
background: var(--jhf-surface-alt, #F7F8FA);
border-radius: 12px;
display: grid;
place-items: center;
padding: 16px;
overflow: hidden;
}
.jhf-partners-section--alt .jhf-partner-main__logo {
background: white;
border: 1px solid var(--jhf-border, #E5E7EB);
}
.jhf-partner-main__logo-img {
max-width: 100%;
max-height: 80px;
width: auto;
height: auto;
object-fit: contain;
display: block;
}
.jhf-partner-main__placeholder {
font-family: var(--jhf-font-display);
font-weight: 900;
font-size: 24px;
color: var(--jhf-primary);
letter-spacing: -0.02em;
line-height: 1.1;
text-align: center;
}
.jhf-partner-main__name {
font-family: var(--jhf-font-display);
font-size: 17px;
font-weight: 800;
color: var(--jhf-primary);
margin: 0;
line-height: 1.25;
}
.jhf-partner-main__description {
font-size: 14px;
color: var(--jhf-text-muted, #5B6572);
line-height: 1.55;
margin: 0;
}
.jhf-partner-main__cta {
color: var(--jhf-secondary);
font-weight: 700;
font-size: 13px;
text-transform: uppercase;
letter-spacing: 1px;
text-decoration: none;
margin-top: auto;
display: inline-flex;
align-items: center;
gap: 6px;
transition: color .25s ease-out;
}
.jhf-partner-main__cta::after {
content: "→";
transition: transform .25s ease-out;
}
.jhf-partner-main-card:hover .jhf-partner-main__cta::after {
transform: translateX(4px);
}
.jhf-partner-main__cta:hover {
color: var(--jhf-secondary-soft, #FF3380);
} .jhf-partners__base-grid {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 16px;
}
.jhf-partner-base-cell {
aspect-ratio: 16/9;
background: white;
border: 1px solid var(--jhf-border, #E5E7EB);
border-radius: 12px;
display: grid;
place-items: center;
padding: 16px;
text-decoration: none;
transition: transform .25s ease-out, box-shadow .25s ease-out, border-color .25s ease-out, color .25s ease-out;
color: var(--jhf-text-muted, #5B6572);
overflow: hidden;
font-weight: 800;
font-size: 14px;
letter-spacing: 0.5px;
text-transform: uppercase;
text-align: center;
}
.jhf-partner-base-cell:hover {
transform: translateY(-3px);
box-shadow: 0 4px 20px rgba(13, 29, 49, 0.06);
border-color: var(--jhf-primary);
color: var(--jhf-primary);
}
.jhf-partner-base__logo {
max-width: 100%;
max-height: 100%;
width: auto;
height: auto;
object-fit: contain;
}
.jhf-partner-base__name {
line-height: 1.25;
} .jhf-partners__patrocini-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 16px;
}
.jhf-patrocinio-cell {
display: grid;
grid-template-columns: 1fr auto;
gap: 24px;
align-items: center;
background: white;
border: 1px solid var(--jhf-border, #E5E7EB);
border-radius: 16px;
padding: 20px 28px;
min-height: 120px;
text-decoration: none;
color: inherit;
transition: transform .25s ease-out, box-shadow .25s ease-out, border-color .25s ease-out;
}
a.jhf-patrocinio-cell:hover {
transform: translateY(-2px);
box-shadow: 0 6px 24px rgba(13, 29, 49, 0.08);
border-color: var(--jhf-text-muted, #768499);
}
.jhf-patrocinio__text {
display: flex;
flex-direction: column;
gap: 4px;
line-height: 1.3;
}
.jhf-patrocinio__formula {
font-size: 0.9375rem;
font-weight: 500;
color: var(--jhf-text-muted, #5B6572);
}
.jhf-patrocinio__name {
font-family: var(--jhf-font-display);
font-size: 1.125rem;
font-weight: 800;
color: var(--jhf-primary);
letter-spacing: -0.005em;
}
.jhf-patrocinio__logo {
max-height: 80px;
max-width: 180px;
width: auto;
height: auto;
object-fit: contain;
display: block;
flex-shrink: 0;
} @media (max-width: 960px) {
.jhf-partners-section { padding: 64px 0; }
.jhf-section-header { margin-bottom: 40px; }
.jhf-partners__main-grid { grid-template-columns: 1fr; gap: 16px; }
.jhf-partners__base-grid { grid-template-columns: repeat(3, 1fr); }
.jhf-partners__patrocini-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
.jhf-partners__base-grid { grid-template-columns: repeat(2, 1fr); }
.jhf-patrocinio-cell { grid-template-columns: 1fr; gap: 12px; padding: 16px 20px; min-height: auto; }
.jhf-patrocinio__logo { max-height: 60px; max-width: 140px; justify-self: start; }
.jhf-partner-main-card { padding: 32px 24px; }
}  .jhf-event-hero {
position: relative;
min-height: 620px;
display: flex;
align-items: flex-end;
color: white;
overflow: hidden;
padding: 96px 0 64px;
background: var(--jhf-primary);
}
.jhf-event-hero--photo::before {
content: '';
position: absolute;
inset: 0;
background: var(--jhf-hero-image) center/cover no-repeat;
opacity: 0.55;
z-index: 0;
}
.jhf-event-hero__overlay {
position: absolute;
inset: 0;
background: linear-gradient(135deg, rgba(236,0,95,0.78) 0%, rgba(13,29,49,0.85) 60%, rgba(13,29,49,0.95) 100%);
z-index: 1;
}
.jhf-event-hero--gradient .jhf-event-hero__overlay {
background:
radial-gradient(ellipse at top right, rgba(236,0,95,0.35) 0%, transparent 60%),
radial-gradient(ellipse at bottom left, rgba(236,0,95,0.15) 0%, transparent 50%),
var(--jhf-primary);
} .jhf-event-hero--gradient {
min-height: 540px;
padding: 80px 0 56px;
}
.jhf-event-hero__inner { position: relative; z-index: 2; width: 100%; }
.jhf-event-hero__breadcrumb {
display: inline-flex;
align-items: center;
gap: 8px;
color: rgba(255,255,255,0.7);
font-size: 13px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1.5px;
margin-bottom: 24px;
text-decoration: none;
transition: color .25s ease-out;
}
.jhf-event-hero__breadcrumb:hover { color: white; }
.jhf-event-hero__pill {
display: inline-flex;
align-items: center;
gap: 8px;
background: var(--jhf-secondary);
color: white;
padding: 6px 14px;
border-radius: 999px;
font-size: 12px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1.5px;
margin-bottom: 24px;
}
.jhf-event-hero__pill--upcoming::before {
content: '';
width: 8px;
height: 8px;
background: white;
border-radius: 50%;
animation: jhf-pulse 2s infinite;
}
.jhf-event-hero__pill--past {
background: rgba(255,255,255,0.15);
border: 1px solid rgba(255,255,255,0.25);
}
@keyframes jhf-pulse {
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.5; transform: scale(1.3); }
}
.jhf-event-hero__meta {
display: flex;
flex-wrap: wrap;
gap: 24px;
margin-bottom: 24px;
color: rgba(255,255,255,0.85);
font-size: 15px;
font-weight: 600;
}
.jhf-event-hero__meta span {
display: inline-flex;
align-items: center;
gap: 8px;
}
.jhf-event-hero__title {
font-family: var(--jhf-font-display);
font-size: clamp(40px, 6vw, 72px);
font-weight: 800;
line-height: 1.15;
color: white;
margin: 0 0 24px;
letter-spacing: -0.01em;
max-width: 780px;
}
.jhf-event-hero__lead {
font-size: 19px;
color: rgba(255,255,255,0.85);
line-height: 1.55;
margin: 0 0 40px;
max-width: 620px;
}
.jhf-event-hero__actions {
display: flex;
gap: 16px;
flex-wrap: wrap;
} .jhf-event-section-title {
font-family: var(--jhf-font-display);
font-size: clamp(1.625rem, 3vw, 2.25rem);
font-weight: 800;
color: var(--jhf-text-strong);
margin: 0 0 var(--jhf-space-8, 2rem);
letter-spacing: -0.01em;
line-height: 1.15;
} .jhf-event-final-cta {
background: var(--jhf-secondary);
color: white;
padding: var(--jhf-space-16, 4rem) 0;
text-align: center;
position: relative;
overflow: hidden;
}
.jhf-event-final-cta::before {
content: '';
position: absolute;
inset: 0;
background:
radial-gradient(circle at 20% 30%, rgba(255,255,255,0.1) 0%, transparent 40%),
radial-gradient(circle at 80% 70%, rgba(13,29,49,0.18) 0%, transparent 40%);
pointer-events: none;
}
.jhf-event-final-cta__inner {
position: relative;
max-width: 720px;
margin: 0 auto;
}
.jhf-event-final-cta__title {
font-family: var(--jhf-font-display);
font-size: clamp(1.75rem, 3.5vw, 2.5rem);
font-weight: 800;
color: white;
margin: 0 0 var(--jhf-space-4, 1rem);
letter-spacing: -0.01em;
line-height: 1.15;
}
.jhf-event-final-cta__text {
color: rgba(255,255,255,0.92);
font-size: 1.1875rem;
margin: 0 0 var(--jhf-space-6, 1.5rem);
}
.jhf-eyebrow--on-magenta { color: rgba(255,255,255,0.85) !important; } .jhf-button--white,
a.jhf-button--white:link,
a.jhf-button--white:visited,
button.jhf-button--white {
background-color: #ffffff !important;
color: var(--jhf-secondary) !important;
border: 2px solid #ffffff !important;
}
.jhf-button--white:hover,
a.jhf-button--white:hover,
a.jhf-button--white:focus {
background-color: var(--jhf-primary) !important;
color: #ffffff !important;
border-color: var(--jhf-primary) !important;
} .jhf-button--ghost-light,
a.jhf-button--ghost-light:link,
a.jhf-button--ghost-light:visited,
button.jhf-button--ghost-light {
background-color: transparent !important;
color: #ffffff !important;
border: 2px solid rgba(255,255,255,0.4) !important;
}
.jhf-button--ghost-light:hover,
a.jhf-button--ghost-light:hover,
a.jhf-button--ghost-light:focus {
background-color: rgba(255,255,255,0.08) !important;
border-color: #ffffff !important;
color: #ffffff !important;
} @media (max-width: 960px) {
.jhf-event-hero { min-height: 540px; padding: 64px 0; }
}
@media (max-width: 640px) {
.jhf-event-hero { min-height: 480px; padding: 48px 0; }
.jhf-event-hero__title { font-size: clamp(32px, 8vw, 44px); }
.jhf-event-hero__lead { font-size: 17px; margin-bottom: 32px; }
.jhf-event-hero__actions .jhf-button { width: 100%; justify-content: center; }
} .jhf-patrocinio-cell img,
.jhf-patrocinio__logo {
border-radius: 0 !important;
}  .jhf-programma {
background: #ffffff;
padding: 96px 0;
}
.jhf-programma__header {
max-width: 720px;
margin: 0 auto var(--jhf-space-10, 2.5rem);
text-align: center;
}
.jhf-programma__title {
color: var(--jhf-navy, #0D1D31);
font-family: "Raleway", system-ui, -apple-system, sans-serif;
font-size: clamp(2rem, 4vw, 3rem);
font-weight: 800;
line-height: 1.2;
margin: var(--jhf-space-2, 0.5rem) 0 0;
}
.jhf-programma__intro {
color: #4B5563;
font-size: 1rem;
line-height: 1.6;
margin: var(--jhf-space-4, 1rem) auto 0;
max-width: 640px;
}
.jhf-programma__list {
list-style: none;
max-width: 880px;
margin: 0 auto;
padding: 0;
position: relative;
} .jhf-programma__list::before {
content: "";
position: absolute;
left: 150px;
top: 24px;
bottom: 24px;
width: 2px;
background: #E5E7EB;
}
.jhf-programma__item {
display: grid;
grid-template-columns: 150px 1fr;
gap: 16px;
padding: var(--jhf-space-4, 1rem) 0;
position: relative;
align-items: flex-start;
}
.jhf-programma__time {
text-align: right;
font-family: "Raleway", system-ui, -apple-system, sans-serif;
font-size: 14px;
font-weight: 800;
color: var(--jhf-navy, #0D1D31);
padding-top: 18px;
padding-right: 14px; font-variant-numeric: tabular-nums;
white-space: nowrap;
}
.jhf-programma__content {
background: white;
border: 1px solid #E5E7EB;
border-radius: 12px;
padding: var(--jhf-space-5, 1.25rem) var(--jhf-space-6, 1.5rem);
box-shadow: 0 2px 8px rgba(13, 29, 49, 0.04);
position: relative;
} .jhf-programma__content::before {
content: "";
position: absolute;
left: -22px;
top: 24px;
width: 14px;
height: 14px;
background: var(--jhf-magenta, #EC005F);
border-radius: 50%;
border: 3px solid white;
box-shadow: 0 0 0 1px var(--jhf-magenta, #EC005F);
} .jhf-programma__tag {
display: inline-block;
font-size: 0.6875rem;
font-weight: 700;
letter-spacing: 1.5px;
text-transform: uppercase;
padding: 4px 10px;
border-radius: 999px;
background: rgba(13, 29, 49, 0.08);
color: var(--jhf-navy, #0D1D31);
margin-bottom: var(--jhf-space-2, 0.5rem);
}
.jhf-programma__tag--talk,
.jhf-programma__tag--networking,
.jhf-programma__tag--cerimonia { background: rgba(236, 0, 95, 0.10); color: var(--jhf-magenta, #EC005F); }
.jhf-programma__tag--workshop,
.jhf-programma__tag--panel,
.jhf-programma__tag--q-a,
.jhf-programma__tag--qa { background: rgba(13, 29, 49, 0.08); color: var(--jhf-navy, #0D1D31); }
.jhf-programma__tag--pausa { background: rgba(140, 143, 148, 0.15); color: #5d6770; }
.jhf-programma__item-title {
color: var(--jhf-navy, #0D1D31);
font-family: "Raleway", system-ui, -apple-system, sans-serif;
font-size: 1.125rem;
font-weight: 700;
line-height: 1.3;
margin: 0 0 var(--jhf-space-2, 0.5rem);
}
.jhf-programma__desc {
color: #4B5563;
font-size: 0.9375rem;
line-height: 1.55;
margin: 0;
} .jhf-programma__avail {
display: inline-block;
margin-top: var(--jhf-space-3, 0.75rem);
background: rgba(236, 0, 95, 0.10);
color: var(--jhf-magenta, #EC005F);
font-size: 0.6875rem;
font-weight: 700;
letter-spacing: 1px;
text-transform: uppercase;
padding: 4px 10px;
border-radius: 999px;
} .jhf-programma__item--key .jhf-programma__content {
background: var(--jhf-navy, #0D1D31);
border-color: var(--jhf-navy, #0D1D31);
color: white;
}
.jhf-programma__item--key .jhf-programma__content::before {
background: white;
box-shadow: 0 0 0 1px white;
}
.jhf-programma__item--key .jhf-programma__item-title {
color: white;
}
.jhf-programma__item--key .jhf-programma__desc {
color: rgba(255, 255, 255, 0.75);
}
.jhf-programma__item--key .jhf-programma__tag {
background: rgba(255, 255, 255, 0.12);
color: white;
}
.jhf-programma__item--key .jhf-programma__avail {
background: rgba(255, 255, 255, 0.15);
color: white;
} @media (max-width: 768px) {
.jhf-programma { padding: var(--jhf-space-10, 2.5rem) 0; }
.jhf-programma__list::before {
left: 100px;
}
.jhf-programma__item {
grid-template-columns: 100px 1fr;
gap: 12px;
}
.jhf-programma__time {
font-size: 12px;
padding-top: 16px;
padding-right: 10px;
}
.jhf-programma__content {
padding: var(--jhf-space-4, 1rem) var(--jhf-space-5, 1.25rem);
}
.jhf-programma__content::before {
left: -16px;
width: 10px;
height: 10px;
top: 22px;
}
}
@media (max-width: 480px) {
.jhf-programma__item-title { font-size: 1rem; }
.jhf-programma__desc { font-size: 0.875rem; }
} .jhf-about-section {
padding: 96px 0;
background: #ffffff;
}
.jhf-about {
display: grid;
grid-template-columns: 1fr;
gap: 40px;
align-items: center;
}
@media (min-width: 900px) {
.jhf-about--with-image {
grid-template-columns: 1fr 1fr;
gap: 96px;
}
.jhf-about--full .jhf-about__text {
max-width: 760px;
margin: 0 auto;
}
}
.jhf-about__image {
border-radius: 24px;
overflow: hidden;
height: 480px;
position: relative;
}
.jhf-about__image::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(45deg, rgba(13, 29, 49, 0.25), transparent);
pointer-events: none;
}
.jhf-about__image-img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
@media (max-width: 899px) {
.jhf-about__image {
height: 320px;
order: -1;
}
}
.jhf-about__text > .jhf-eyebrow {
margin-bottom: 16px;
display: inline-block;
}
.jhf-about__title {
font-family: var(--jhf-font-display);
font-size: clamp(32px, 4vw, 48px);
font-weight: 800;
line-height: 1.15;
letter-spacing: -0.01em;
color: var(--jhf-primary);
margin: 0 0 24px;
}
.jhf-about__body {
color: var(--jhf-text);
font-size: 17px;
line-height: 1.65;
}
.jhf-about__body p {
margin: 0 0 16px;
color: inherit;
}
.jhf-about__body p:last-child { margin-bottom: 0; } .jhf-about__lead {
font-size: 19px;
line-height: 1.6;
color: var(--jhf-text-muted, #5B6572);
font-weight: 400;
max-width: 640px;
margin: 0 0 24px;
} .jhf-about__highlight {
background: var(--jhf-surface-alt, #F7F8FA);
border-left: 4px solid var(--jhf-secondary);
padding: 24px 40px;
border-radius: 0 12px 12px 0;
margin-top: 40px;
}
.jhf-about__highlight-label {
display: block;
font-size: 12px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1.5px;
color: var(--jhf-secondary);
margin-bottom: 6px;
}
.jhf-about__highlight p {
color: var(--jhf-primary);
font-weight: 600;
font-size: 16px;
line-height: 1.5;
margin: 0;
}
@media (max-width: 640px) {
.jhf-about-section { padding: 64px 0; }
.jhf-about__title { font-size: clamp(28px, 6vw, 36px); margin-bottom: 16px; }
.jhf-about__body { font-size: 16px; }
.jhf-about__lead { font-size: 17px; }
.jhf-about__highlight { padding: 20px 24px; margin-top: 28px; }
} .jhf-company-card {
background: white;
border: 1px solid var(--jhf-border, #E5E7EB);
border-radius: 16px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 12px;
position: relative;
transition: transform .25s ease-out, box-shadow .25s ease-out, border-color .25s ease-out;
}
.jhf-company-card:hover {
transform: translateY(-4px);
box-shadow: 0 10px 40px rgba(13, 29, 49, 0.10);
border-color: transparent;
}
.jhf-company-card__head {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 12px;
}
.jhf-company-card__logo {
width: 64px;
height: 64px;
background: var(--jhf-surface-alt, #F7F8FA);
border-radius: 12px;
display: grid;
place-items: center;
flex-shrink: 0;
overflow: hidden;
}
.jhf-company-card__logo img {
max-width: 100%;
max-height: 100%;
object-fit: contain;
}
.jhf-company-card__logo--placeholder {
color: var(--jhf-primary);
}
.jhf-company-card__logo--placeholder svg {
width: 28px;
height: 28px;
}
.jhf-company-card__protected-badge,
span.jhf-company-card__protected-badge {
display: inline-block !important;
background: rgba(236, 0, 95, 0.10) !important;
color: var(--jhf-secondary) !important;
font-family: var(--jhf-font-display, "Raleway"), system-ui, sans-serif !important;
font-size: 10px !important;
font-weight: 700 !important;
line-height: 1.4 !important;
text-transform: uppercase !important;
letter-spacing: 1px !important;
padding: 4px 10px !important;
border: 0 !important;
border-radius: 999px !important;
flex-shrink: 0;
white-space: nowrap;
text-decoration: none !important;
}
.jhf-company-card__body {
display: flex;
flex-direction: column;
gap: 6px;
}
.jhf-company-card__name {
font-family: var(--jhf-font-display);
font-size: 18px;
font-weight: 800;
line-height: 1.25;
color: var(--jhf-primary);
margin: 0;
}
.jhf-company-card__sector {
display: inline-block;
font-size: 13px;
color: var(--jhf-text-muted, #5B6572);
text-transform: uppercase;
letter-spacing: 1px;
font-weight: 600;
}
.jhf-company-card__excerpt {
font-size: 14px;
color: var(--jhf-text, #435469);
line-height: 1.55;
margin: 4px 0 0;
}
.jhf-company-card__profiles {
font-size: 13px;
color: var(--jhf-text, #435469);
line-height: 1.5;
margin: 4px 0 0;
padding: 10px 12px;
background: var(--jhf-surface-alt, #F7F8FA);
border-radius: 8px;
}
.jhf-company-card__profiles-label {
font-weight: 700;
color: var(--jhf-primary);
margin-right: 4px;
}
.jhf-company-card__meta {
display: flex;
flex-wrap: wrap;
gap: 16px;
align-items: center;
padding-top: 12px;
margin-top: auto;
border-top: 1px solid var(--jhf-surface-alt, #F7F8FA);
color: var(--jhf-text, #435469);
font-size: 14px;
font-weight: 600;
}
.jhf-company-card__positions strong {
color: var(--jhf-secondary);
font-size: 18px;
font-weight: 800;
margin-right: 4px;
}
.jhf-company-card__booth {
color: var(--jhf-text-muted, #5B6572);
font-size: 13px;
}
.jhf-company-card__booth strong {
color: var(--jhf-primary);
font-weight: 800;
}
.jhf-company-card__footer {
display: flex;
justify-content: space-between;
align-items: center;
gap: 12px;
margin-top: 4px;
flex-wrap: wrap;
}
.jhf-company-card__cta {
color: var(--jhf-secondary);
font-weight: 700;
font-size: 14px;
text-transform: uppercase;
letter-spacing: 0.5px;
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 6px;
transition: color .25s ease-out;
}
.jhf-company-card__cta::after {
content: "→";
transition: transform .25s ease-out;
}
.jhf-company-card:hover .jhf-company-card__cta::after {
transform: translateX(4px);
}
.jhf-company-card__cta:hover {
color: var(--jhf-secondary-soft, #FF3380);
}
@media (max-width: 640px) {
.jhf-company-card { padding: 20px; }
.jhf-company-card__footer { flex-direction: column; align-items: stretch; }
.jhf-company-card__footer .jhf-button { width: 100%; justify-content: center; }
.jhf-company-card__cta { justify-content: center; }
} .jhf-companies-section {
background: var(--jhf-surface-alt, #F7F8FA);
padding: 96px 0;
} .jhf-companies-filter {
display: flex;
gap: 16px;
flex-wrap: wrap;
align-items: center;
background: white;
padding: 24px;
border: 1px solid var(--jhf-border, #E5E7EB);
border-radius: 16px;
box-shadow: 0 4px 20px rgba(13, 29, 49, 0.06);
margin-bottom: 64px;
} .jhf-companies-filter__label {
font-size: 13px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1.5px;
color: var(--jhf-text-muted, #5B6572);
margin-right: 16px;
} .jhf-companies-filter .jhf-filter-pill,
.jhf-companies-filter button.jhf-filter-pill {
background: var(--jhf-surface-alt, #F7F8FA) !important;
color: var(--jhf-primary) !important;
border: 1px solid transparent !important;
border-radius: 999px !important;
padding: 8px 16px !important;
font-family: var(--jhf-font-display, "Raleway"), system-ui, sans-serif !important;
font-size: 14px !important;
font-weight: 600 !important;
line-height: 1.2 !important;
letter-spacing: 0 !important;
text-transform: none !important;
text-decoration: none !important;
cursor: pointer !important;
outline: none !important;
box-shadow: none !important;
transition: background-color .25s ease-out, color .25s ease-out, border-color .25s ease-out !important;
}
.jhf-companies-filter .jhf-filter-pill:hover,
.jhf-companies-filter button.jhf-filter-pill:hover {
background: var(--jhf-border, #E5E7EB) !important;
color: var(--jhf-primary) !important;
border-color: transparent !important;
transform: none !important;
}
.jhf-companies-filter .jhf-filter-pill:focus-visible {
outline: 2px solid var(--jhf-secondary) !important;
outline-offset: 2px !important;
} .jhf-companies-filter .jhf-filter-pill.is-active,
.jhf-companies-filter button.jhf-filter-pill.is-active {
background: var(--jhf-primary) !important;
color: #ffffff !important;
border-color: var(--jhf-primary) !important;
} .jhf-companies-filter .jhf-filter-pill--protected.is-active,
.jhf-companies-filter button.jhf-filter-pill--protected.is-active {
background: var(--jhf-secondary) !important;
color: #ffffff !important;
border-color: var(--jhf-secondary) !important;
} .jhf-company-card.is-hidden {
display: none !important;
} .jhf-companies-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 24px;
} .jhf-company-card__logo--placeholder span {
font-family: var(--jhf-font-display);
font-weight: 800;
font-size: 20px;
color: var(--jhf-primary);
letter-spacing: -0.02em;
} .jhf-company-card__cta {
color: var(--jhf-secondary);
font-weight: 700;
font-size: 14px;
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 6px;
transition: color .25s ease-out;
margin-top: 8px;
}
.jhf-company-card__cta::after {
content: "→";
transition: transform .25s ease-out;
}
.jhf-company-card:hover .jhf-company-card__cta::after {
transform: translateX(4px);
}
.jhf-company-card__cta:hover {
color: var(--jhf-secondary-soft, #FF3380);
} @media (max-width: 768px) {
.jhf-companies-section { padding: 64px 0; }
.jhf-companies-filter { padding: 14px 16px; }
.jhf-companies-filter__label { width: 100%; margin-bottom: 4px; }
} .jhf-location-section {
background: #ffffff;
padding: 96px 0;
}
.jhf-location-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: stretch;
} .jhf-location-info {
background: white;
border-radius: 24px;
padding: 40px;
box-shadow: 0 4px 20px rgba(13, 29, 49, 0.06);
border: 1px solid var(--jhf-border, #E5E7EB);
display: flex;
flex-direction: column;
gap: 24px;
}
.jhf-location-info__name {
font-family: var(--jhf-font-display);
font-size: 28px;
font-weight: 800;
line-height: 1.15;
letter-spacing: -0.01em;
color: var(--jhf-primary);
margin: 0;
}
.jhf-location-info__address {
font-size: 17px;
color: var(--jhf-text-muted, #5B6572);
line-height: 1.5;
}
.jhf-location-info__features {
display: flex;
flex-direction: column;
gap: 16px;
border-top: 1px solid var(--jhf-border, #E5E7EB);
padding-top: 24px;
}
.jhf-location-feature {
display: flex;
align-items: center;
gap: 16px;
font-size: 15px;
color: var(--jhf-text);
line-height: 1.4;
}
.jhf-location-feature__icon {
width: 32px;
height: 32px;
background: var(--jhf-surface-alt, #F7F8FA);
border-radius: 50%;
display: grid;
place-items: center;
font-size: 14px;
color: var(--jhf-secondary);
flex-shrink: 0;
line-height: 1;
}
.jhf-location-info__cta {
margin-top: auto;
padding-top: 8px;
} .jhf-location-map {
border-radius: 24px;
overflow: hidden;
background: var(--jhf-surface-alt, #F7F8FA);
min-height: 400px;
position: relative;
border: 1px solid var(--jhf-border, #E5E7EB);
}
.jhf-location-map iframe {
display: block;
width: 100%;
height: 100%;
min-height: 400px;
border: 0;
} .jhf-location-map__placeholder {
width: 100%;
height: 100%;
min-height: 400px;
background:
linear-gradient(135deg, rgba(236, 0, 95, 0.06) 0%, transparent 50%),
repeating-linear-gradient(0deg, rgba(13, 29, 49, 0.04) 0px, rgba(13, 29, 49, 0.04) 1px, transparent 1px, transparent 30px),
repeating-linear-gradient(90deg, rgba(13, 29, 49, 0.04) 0px, rgba(13, 29, 49, 0.04) 1px, transparent 1px, transparent 30px),
var(--jhf-surface-alt, #F7F8FA);
display: grid;
place-items: center;
}
.jhf-location-map__pin {
width: 56px;
height: 56px;
background: var(--jhf-secondary);
border-radius: 50% 50% 50% 0;
transform: rotate(-45deg);
display: grid;
place-items: center;
box-shadow: 0 8px 24px rgba(236, 0, 95, 0.4);
position: relative;
animation: jhf-pin-drop 1.5s ease-out;
} .jhf-location-map__pin::after {
content: "";
position: absolute;
top: -10px;
left: -10px;
right: -10px;
bottom: -10px;
border: 2px solid var(--jhf-secondary);
border-radius: 50%;
opacity: 0.4;
animation: jhf-pin-ping 2s infinite;
} @keyframes jhf-pin-drop {
from { transform: translateY(-30px) rotate(-45deg); opacity: 0; }
to   { transform: translateY(0)     rotate(-45deg); opacity: 1; }
}
@keyframes jhf-pin-ping {
0%   { transform: scale(0.8); opacity: 0.6; }
100% { transform: scale(2);   opacity: 0;   }
} @media (prefers-reduced-motion: reduce) {
.jhf-location-map__pin,
.jhf-location-map__pin::after {
animation: none;
}
} @media (max-width: 960px) {
.jhf-location-section { padding: 64px 0; }
.jhf-location-grid {
grid-template-columns: 1fr;
gap: 32px;
}
.jhf-location-info { padding: 32px; }
.jhf-location-map,
.jhf-location-map__placeholder,
.jhf-location-map iframe { min-height: 320px; }
}
@media (max-width: 640px) {
.jhf-location-info { padding: 24px; }
.jhf-location-info__name { font-size: 24px; }
.jhf-location-info__address { font-size: 16px; }
.jhf-location-feature { font-size: 14px; gap: 12px; }
} .jhf-faq-section {
background: var(--jhf-surface-alt, #F7F8FA);
padding: 96px 0;
}
.jhf-faq-wrapper {
max-width: 820px;
}
.jhf-faq-list {
display: flex;
flex-direction: column;
gap: 16px;
}
.jhf-faq-item {
background: #ffffff;
border-radius: 12px;
border: 1px solid var(--jhf-border, #E5E7EB);
overflow: hidden;
transition: border-color .25s ease-out, box-shadow .25s ease-out;
}
.jhf-faq-item.is-open {
border-color: var(--jhf-secondary);
box-shadow: 0 4px 20px rgba(13, 29, 49, 0.06);
} .jhf-faq-list .jhf-faq-question,
.jhf-faq-list button.jhf-faq-question {
width: 100%;
background: transparent !important;
background-color: transparent !important;
border: 0 !important;
border-radius: 0 !important;
outline: 0 !important;
box-shadow: none !important;
padding: 24px 40px !important;
text-align: left;
text-decoration: none !important;
font-family: var(--jhf-font-display) !important;
font-size: 17px !important;
font-weight: 700 !important;
color: var(--jhf-primary) !important;
line-height: 1.35;
letter-spacing: 0 !important;
text-transform: none !important;
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
gap: 24px;
transition: none;
}
.jhf-faq-list .jhf-faq-question:hover,
.jhf-faq-list button.jhf-faq-question:hover {
background: transparent !important;
color: var(--jhf-primary) !important;
transform: none !important;
box-shadow: none !important;
}
.jhf-faq-list .jhf-faq-question:focus-visible {
outline: 2px solid var(--jhf-secondary) !important;
outline-offset: -2px !important;
}
.jhf-faq-question__text { flex: 1; }
.jhf-faq-toggle {
width: 28px;
height: 28px;
border-radius: 50%;
background: var(--jhf-surface-alt, #F7F8FA);
color: var(--jhf-primary);
display: grid;
place-items: center;
font-size: 16px;
font-weight: 700;
line-height: 1;
flex-shrink: 0;
transition: background-color .25s ease-out, color .25s ease-out, transform .25s ease-out;
}
.jhf-faq-item.is-open .jhf-faq-toggle {
background: var(--jhf-secondary);
color: #ffffff;
transform: rotate(45deg);
}
.jhf-faq-answer {
padding: 0 40px 24px;
color: var(--jhf-text-muted, #5B6572);
font-size: 15px;
line-height: 1.7;
display: none;
}
.jhf-faq-item.is-open .jhf-faq-answer {
display: block;
} @media (max-width: 640px) {
.jhf-faq-section { padding: 64px 0; }
.jhf-faq-question { padding: 20px 24px; font-size: 16px; gap: 16px; }
.jhf-faq-answer { padding: 0 24px 20px; font-size: 14px; }
} @media (prefers-reduced-motion: reduce) {
.jhf-faq-item,
.jhf-faq-toggle {
transition: none;
}
}  .jhf-company-hero {
background: var(--jhf-primary);
color: white;
padding: 96px 0 64px;
position: relative;
overflow: hidden;
}
.jhf-company-hero::before {
content: "";
position: absolute;
inset: 0;
background:
radial-gradient(ellipse at top right, rgba(236, 0, 95, 0.15) 0%, transparent 55%),
radial-gradient(ellipse at bottom left, rgba(236, 0, 95, 0.06) 0%, transparent 50%);
pointer-events: none;
}
.jhf-company-hero__inner {
position: relative;
display: grid;
grid-template-columns: auto 1fr;
gap: 64px;
align-items: center;
}
.jhf-company-hero__breadcrumb {
grid-column: 1 / -1;
display: inline-flex;
color: rgba(255, 255, 255, 0.7);
font-size: 13px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1.5px;
margin-bottom: 24px;
text-decoration: none;
transition: color .25s ease-out;
}
.jhf-company-hero__breadcrumb:hover { color: white; }
.jhf-company-hero__logo {
width: 140px;
height: 140px;
background: white;
border-radius: 24px;
display: grid;
place-items: center;
font-family: var(--jhf-font-display);
font-weight: 900;
font-size: 48px;
color: var(--jhf-primary);
letter-spacing: -0.04em;
box-shadow: 0 20px 60px rgba(13, 29, 49, 0.18);
flex-shrink: 0;
overflow: hidden;
padding: 12px;
}
.jhf-company-hero__logo img {
max-width: 100%;
max-height: 100%;
object-fit: contain;
}
.jhf-company-hero__content {
display: flex;
flex-direction: column;
gap: 16px;
}
.jhf-company-hero__badges {
display: flex;
gap: 16px;
flex-wrap: wrap;
margin-bottom: 8px;
}
.jhf-badge-sector {
display: inline-block;
font-size: 12px;
color: white;
text-transform: uppercase;
letter-spacing: 1.5px;
font-weight: 700;
padding: 6px 14px;
background: rgba(255, 255, 255, 0.12);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: 999px;
}
.jhf-badge-protected {
background: var(--jhf-secondary);
color: white;
font-size: 12px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1px;
padding: 6px 14px;
border-radius: 999px;
display: inline-flex;
align-items: center;
gap: 6px;
}
.jhf-badge-protected::before {
content: "";
width: 6px;
height: 6px;
background: white;
border-radius: 50%;
}
.jhf-company-hero__title {
font-family: var(--jhf-font-display);
font-size: clamp(40px, 6vw, 72px);
font-weight: 800;
line-height: 1.15;
letter-spacing: -0.01em;
color: white;
margin: 0 0 8px;
}
.jhf-company-hero__tagline {
font-size: 18px;
color: rgba(255, 255, 255, 0.85);
line-height: 1.55;
margin: 0 0 8px;
max-width: 640px;
}
.jhf-company-hero__actions {
display: flex;
gap: 16px;
flex-wrap: wrap;
margin-top: 16px;
}
.jhf-company-hero__icon-btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 12px 22px;
border-radius: 999px;
background: rgba(255, 255, 255, 0.08);
border: 2px solid rgba(255, 255, 255, 0.2);
color: white;
font-family: var(--jhf-font-display);
font-weight: 700;
font-size: 14px;
text-decoration: none;
transition: background-color .25s ease-out, border-color .25s ease-out;
}
.jhf-company-hero__icon-btn:hover {
background: rgba(255, 255, 255, 0.15);
border-color: white;
color: white;
}
.jhf-company-hero__icon-btn svg {
width: 18px;
height: 18px;
flex-shrink: 0;
} .jhf-company-stat-strip {
background: var(--jhf-primary-soft, #1a2d4a);
color: white;
padding: 40px 0;
border-top: 1px solid rgba(255, 255, 255, 0.05);
}
.jhf-company-stat-strip__grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px;
text-align: center;
}
.jhf-company-stat-strip__grid .jhf-stat__num {
font-family: var(--jhf-font-display);
font-size: clamp(32px, 4vw, 44px);
font-weight: 900;
color: var(--jhf-secondary);
letter-spacing: -0.02em;
line-height: 1;
margin-bottom: 4px;
display: block;
font-variant-numeric: tabular-nums;
}
.jhf-company-stat-strip__grid .jhf-stat__label {
font-size: 12px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1.5px;
color: rgba(255, 255, 255, 0.7);
margin: 0;
} .jhf-company-about-section {
padding: 96px 0;
background: #ffffff;
}
.jhf-company-about {
display: grid;
grid-template-columns: 1fr;
gap: 40px;
align-items: start;
}
@media (min-width: 900px) {
.jhf-company-about--with-image {
grid-template-columns: 1.3fr 1fr;
gap: 96px;
}
.jhf-company-about--full .jhf-company-about__text {
max-width: 760px;
}
}
.jhf-company-about__text > .jhf-eyebrow {
display: inline-block;
margin-bottom: 16px;
}
.jhf-company-about__body {
color: var(--jhf-text);
font-size: 17px;
line-height: 1.65;
}
.jhf-company-about__body h2,
.jhf-company-about__body h3 {
font-family: var(--jhf-font-display);
color: var(--jhf-primary);
font-weight: 800;
line-height: 1.15;
letter-spacing: -0.01em;
margin: 0 0 24px;
}
.jhf-company-about__body h2 { font-size: clamp(32px, 4vw, 48px); }
.jhf-company-about__body h3 { font-size: 22px; }
.jhf-company-about__body p {
margin: 0 0 16px;
color: inherit;
}
.jhf-company-about__body p:last-child { margin-bottom: 0; }
.jhf-company-about__image {
border-radius: 24px;
overflow: hidden;
aspect-ratio: 4/5;
position: relative;
}
.jhf-company-about__image::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(45deg, rgba(13, 29, 49, 0.2), transparent);
pointer-events: none;
}
.jhf-company-about__image-img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
@media (max-width: 899px) {
.jhf-company-about__image {
aspect-ratio: 16/9;
order: -1;
}
} .jhf-section-header--left {
text-align: left;
max-width: none;
margin: 0 auto 64px;
} .jhf-company-events-section {
background: var(--jhf-surface-alt, #F7F8FA);
padding: 96px 0;
}
.jhf-company-events__grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 24px;
}
.jhf-event-mini-card {
background: white;
border: 1px solid var(--jhf-border, #E5E7EB);
border-radius: 16px;
padding: 24px 32px;
display: flex;
flex-direction: column;
gap: 8px;
transition: transform .25s ease-out, box-shadow .25s ease-out, border-color .25s ease-out;
}
.jhf-event-mini-card:hover {
transform: translateY(-3px);
box-shadow: 0 4px 20px rgba(13, 29, 49, 0.06);
border-color: transparent;
}
.jhf-event-mini-card--future {
border-color: var(--jhf-secondary);
border-width: 2px;
}
.jhf-event-mini__status {
align-self: flex-start;
font-size: 11px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1.5px;
padding: 4px 10px;
border-radius: 999px;
margin-bottom: 8px;
}
.jhf-event-mini__status--future {
background: var(--jhf-primary);
color: white;
}
.jhf-event-mini__status--past {
background: var(--jhf-surface-alt, #F7F8FA);
color: var(--jhf-text-muted, #5B6572);
}
.jhf-event-mini__title {
font-family: var(--jhf-font-display);
font-size: 18px;
font-weight: 800;
line-height: 1.3;
color: var(--jhf-primary);
margin: 0 0 2px;
}
.jhf-event-mini__meta {
font-size: 14px;
color: var(--jhf-text-muted, #5B6572);
font-weight: 600;
}
.jhf-event-mini__actions {
margin-top: 16px;
display: flex;
gap: 12px;
flex-wrap: wrap;
}  .jhf-company-final-cta {
background: var(--jhf-secondary);
color: white;
padding: 96px 0;
text-align: center;
position: relative;
overflow: hidden;
}
.jhf-company-final-cta::before {
content: "";
position: absolute;
inset: 0;
background:
radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.1) 0%, transparent 40%),
radial-gradient(circle at 80% 70%, rgba(13, 29, 49, 0.15) 0%, transparent 40%);
pointer-events: none;
}
.jhf-company-final-cta__inner {
position: relative;
max-width: 720px;
margin: 0 auto;
}
.jhf-company-final-cta__title {
font-family: var(--jhf-font-display);
font-size: clamp(32px, 4vw, 48px);
font-weight: 800;
line-height: 1.15;
letter-spacing: -0.01em;
color: white;
margin: 0 0 24px;
}
.jhf-company-final-cta__text {
color: rgba(255, 255, 255, 0.9);
font-size: 19px;
line-height: 1.55;
margin: 0 0 40px;
} @media (max-width: 960px) {
.jhf-company-hero { padding: 64px 0 48px; }
.jhf-company-hero__inner { grid-template-columns: 1fr; gap: 24px; }
.jhf-company-hero__logo { width: 110px; height: 110px; font-size: 38px; }
.jhf-company-stat-strip__grid { grid-template-columns: repeat(2, 1fr); gap: 40px; }
.jhf-company-about-section { padding: 64px 0; }
.jhf-company-events-section { padding: 64px 0; }
.jhf-company-final-cta { padding: 64px 0; }
}
@media (max-width: 640px) {
.jhf-company-hero__title { font-size: clamp(32px, 8vw, 44px); }
.jhf-company-hero__tagline { font-size: 17px; }
.jhf-company-hero__icon-btn { width: 100%; justify-content: center; }
.jhf-company-stat-strip__grid { grid-template-columns: repeat(2, 1fr); }
.jhf-company-about__body { font-size: 16px; }
.jhf-event-mini-card { padding: 20px 24px; }
.jhf-event-mini__actions .jhf-button { flex: 1; justify-content: center; }
.jhf-company-final-cta__title { font-size: clamp(28px, 6vw, 36px); }
.jhf-company-final-cta__text { font-size: 17px; margin-bottom: 32px; }
} .jhf-company-positions-section {
background: var(--jhf-surface-alt, #F7F8FA);
padding: 96px 0;
}
.jhf-company-positions__header {
display: flex;
justify-content: space-between;
align-items: flex-end;
margin-bottom: 64px;
gap: 24px;
flex-wrap: wrap;
}
.jhf-company-positions__header-text {
display: flex;
flex-direction: column;
gap: 8px;
}
.jhf-company-positions__header-text .jhf-eyebrow {
margin: 0;
display: inline-block;
}
.jhf-company-positions__header .jhf-section-header__title {
margin: 0;
}
.jhf-company-positions__count {
background: var(--jhf-secondary);
color: white;
font-size: 13px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1.5px;
padding: 8px 16px;
border-radius: 999px;
}
.jhf-company-positions__list {
display: flex;
flex-direction: column;
gap: 16px;
} .jhf-position-item {
background: white;
border: 1px solid var(--jhf-border, #E5E7EB);
border-radius: 16px;
overflow: hidden;
transition: border-color .25s ease-out, box-shadow .25s ease-out;
}
.jhf-position-item:hover {
border-color: var(--jhf-secondary);
box-shadow: 0 4px 20px rgba(13, 29, 49, 0.06);
}
.jhf-position-item.is-open {
border-color: var(--jhf-secondary);
box-shadow: 0 10px 40px rgba(13, 29, 49, 0.10);
} .jhf-company-positions__list .jhf-position-summary,
.jhf-company-positions__list button.jhf-position-summary {
width: 100%;
background: transparent !important;
background-color: transparent !important;
border: 0 !important;
border-radius: 0 !important;
outline: 0 !important;
box-shadow: none !important;
padding: 24px 40px !important;
text-align: left;
text-decoration: none !important;
font-family: var(--jhf-font-display) !important;
color: var(--jhf-primary) !important;
letter-spacing: 0 !important;
text-transform: none !important;
cursor: pointer;
display: grid;
grid-template-columns: 1fr auto auto;
gap: 24px;
align-items: center;
transition: none;
}
.jhf-company-positions__list .jhf-position-summary:hover,
.jhf-company-positions__list button.jhf-position-summary:hover {
background: transparent !important;
color: var(--jhf-primary) !important;
transform: none !important;
box-shadow: none !important;
}
.jhf-company-positions__list .jhf-position-summary:focus-visible {
outline: 2px solid var(--jhf-secondary) !important;
outline-offset: -2px !important;
}
.jhf-position-info {
display: flex;
flex-direction: column;
gap: 4px;
}
.jhf-position-title {
font-size: 19px;
font-weight: 800;
color: var(--jhf-primary);
line-height: 1.3;
}
.jhf-position-meta {
display: flex;
flex-wrap: wrap;
gap: 24px;
font-size: 13px;
color: var(--jhf-text-muted, #5B6572);
font-weight: 600;
}
.jhf-position-meta span {
display: inline-flex;
align-items: center;
gap: 4px;
}
.jhf-position-spots {
background: var(--jhf-surface-alt, #F7F8FA);
color: var(--jhf-primary);
font-size: 12px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1px;
padding: 6px 14px;
border-radius: 999px;
white-space: nowrap;
}
.jhf-position-spots strong {
color: var(--jhf-secondary);
font-size: 14px;
margin-right: 4px;
}
.jhf-position-spots.is-protected {
background: rgba(236, 0, 95, 0.10);
color: var(--jhf-secondary);
}
.jhf-position-spots.is-protected strong {
color: var(--jhf-secondary);
}
.jhf-position-toggle {
width: 36px;
height: 36px;
border-radius: 50%;
background: var(--jhf-surface-alt, #F7F8FA);
display: grid;
place-items: center;
font-size: 18px;
font-weight: 700;
color: var(--jhf-primary);
line-height: 1;
transition: background-color .25s ease-out, color .25s ease-out, transform .25s ease-out;
}
.jhf-position-item.is-open .jhf-position-toggle {
background: var(--jhf-secondary);
color: white;
transform: rotate(45deg);
} .jhf-position-details {
display: none;
padding: 0 40px 24px;
border-top: 1px solid var(--jhf-border, #E5E7EB);
}
.jhf-position-item.is-open .jhf-position-details {
display: block;
padding-top: 24px;
margin-top: 8px;
}
.jhf-position-detail-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
margin-bottom: 24px;
}
@media (max-width: 768px) {
.jhf-position-detail-grid { grid-template-columns: 1fr; gap: 24px; }
}
.jhf-detail-block h4 {
font-family: var(--jhf-font-display);
font-size: 13px;
text-transform: uppercase;
letter-spacing: 1.5px;
color: var(--jhf-secondary);
margin: 0 0 16px;
font-weight: 700;
}
.jhf-detail-block ul {
list-style: none;
display: flex;
flex-direction: column;
gap: 8px;
padding: 0;
margin: 0;
}
.jhf-detail-block ul li {
position: relative;
padding-left: 22px;
font-size: 15px;
color: var(--jhf-text-muted, #5B6572);
line-height: 1.55;
}
.jhf-detail-block ul li::before {
content: "";
position: absolute;
left: 0;
top: 9px;
width: 6px;
height: 6px;
border-radius: 50%;
background: var(--jhf-secondary);
} .jhf-position-cta-row {
background: var(--jhf-surface-alt, #F7F8FA);
border-radius: 12px;
padding: 20px 32px;
display: flex;
justify-content: space-between;
align-items: center;
gap: 24px;
flex-wrap: wrap;
}
.jhf-position-cta-row p {
margin: 0;
font-size: 14px;
color: var(--jhf-text);
font-weight: 600;
}
.jhf-position-cta-row p strong {
color: var(--jhf-primary);
} @media (max-width: 768px) {
.jhf-company-positions-section { padding: 64px 0; }
.jhf-company-positions__header { margin-bottom: 40px; align-items: flex-start; flex-direction: column; }
.jhf-position-summary { padding: 20px 24px; grid-template-columns: 1fr; gap: 12px; }
.jhf-position-details { padding: 0 24px 20px; }
.jhf-position-item.is-open .jhf-position-details { padding-top: 20px; }
.jhf-position-cta-row { padding: 16px 20px; flex-direction: column; align-items: stretch; }
.jhf-position-cta-row .jhf-button { width: 100%; justify-content: center; }
} @media (prefers-reduced-motion: reduce) {
.jhf-position-item,
.jhf-position-toggle {
transition: none;
}
} .jhf-company-profiles-section {
background: #ffffff;
padding: 96px 0;
}
.jhf-company-profiles__grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 24px;
margin-top: 0;
}
.jhf-profile-card {
background: white;
border: 1px solid var(--jhf-border, #E5E7EB);
border-radius: 16px;
padding: 24px;
transition: transform .25s ease-out, box-shadow .25s ease-out, border-color .25s ease-out;
}
.jhf-profile-card:hover {
transform: translateY(-3px);
box-shadow: 0 4px 20px rgba(13, 29, 49, 0.06);
border-color: transparent;
}
.jhf-profile-card__title {
font-family: var(--jhf-font-display);
font-size: 16px;
font-weight: 800;
line-height: 1.3;
color: var(--jhf-primary);
margin: 0 0 16px;
}
.jhf-skill-tags {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
.jhf-skill-tag {
background: var(--jhf-surface-alt, #F7F8FA);
color: var(--jhf-text);
font-size: 12px;
font-weight: 600;
padding: 5px 12px;
border-radius: 999px;
white-space: nowrap;
}
@media (max-width: 640px) {
.jhf-company-profiles-section { padding: 64px 0; }
.jhf-profile-card { padding: 20px; }
} .jhf-system-page-section {
min-height: 60vh;
display: flex;
align-items: center;
justify-content: center;
padding: 96px 16px;
background: var(--jhf-surface-alt, #F7F8FA);
}
.jhf-system-card {
background: white;
border-radius: 24px;
border: 1px solid var(--jhf-border, #E5E7EB);
box-shadow: 0 4px 20px rgba(13, 29, 49, 0.06);
padding: 80px 64px;
max-width: 640px;
width: 100%;
text-align: center;
} .jhf-system-card__icon {
margin: 0 auto 40px;
width: 96px;
height: 96px;
border-radius: 50%;
display: grid;
place-items: center;
line-height: 1;
}
.jhf-system-card__icon--404 {
background: rgba(245, 158, 11, 0.10);
color: #f59e0b;
font-family: var(--jhf-font-display);
font-size: 48px;
font-weight: 900;
letter-spacing: -0.02em;
}
.jhf-system-card__icon--mail {
background: rgba(236, 0, 95, 0.10);
color: var(--jhf-secondary);
}
.jhf-system-card__icon--mail svg {
width: 44px;
height: 44px;
}
.jhf-system-card__icon--wave {
background: rgba(13, 29, 49, 0.05);
color: var(--jhf-primary);
font-size: 48px;
}
.jhf-system-card .jhf-eyebrow {
margin-bottom: 16px;
display: inline-block;
}
.jhf-system-card__title {
font-family: var(--jhf-font-display);
font-size: clamp(28px, 3.5vw, 40px);
font-weight: 800;
line-height: 1.15;
letter-spacing: -0.01em;
color: var(--jhf-primary);
margin: 0 0 16px;
}
.jhf-system-card__lead,
.jhf-system-card__paragraph {
color: var(--jhf-text-muted, #5B6572);
font-size: 17px;
line-height: 1.6;
max-width: 480px;
margin: 0 auto 24px;
} .jhf-system-page__email-highlight {
display: inline-block;
background: var(--jhf-surface-alt, #F7F8FA);
color: var(--jhf-primary);
font-weight: 800;
padding: 4px 12px;
border-radius: 999px;
font-family: monospace;
font-size: 15px;
margin: 0 4px;
} .jhf-system-card__steps {
list-style: none;
background: var(--jhf-surface-alt, #F7F8FA);
border-radius: 16px;
padding: 24px;
margin: 16px auto 24px;
max-width: 480px;
text-align: left;
display: flex;
flex-direction: column;
gap: 4px;
}
.jhf-system-card__step {
display: flex;
align-items: flex-start;
gap: 16px;
padding: 8px 0;
}
.jhf-system-card__step-num {
width: 28px;
height: 28px;
border-radius: 50%;
background: var(--jhf-secondary);
color: white;
display: grid;
place-items: center;
font-weight: 800;
font-size: 13px;
flex-shrink: 0;
}
.jhf-system-card__step-text {
font-size: 14px;
color: var(--jhf-text);
line-height: 1.55;
padding-top: 4px;
}
.jhf-system-card__step-text strong {
color: var(--jhf-primary);
font-weight: 700;
}
.jhf-system-card__resend {
margin: 16px 0 0;
font-size: 13px;
color: var(--jhf-text-muted, #5B6572);
}
.jhf-system-card__resend a {
color: var(--jhf-secondary);
font-weight: 700;
text-decoration: underline;
text-underline-offset: 3px;
} .jhf-system-card__actions {
display: flex;
gap: 16px;
justify-content: center;
flex-wrap: wrap;
margin-top: 8px;
} .jhf-system-card__suggestions {
background: var(--jhf-surface-alt, #F7F8FA);
border-radius: 16px;
padding: 24px 32px;
margin-top: 40px;
text-align: left;
}
.jhf-system-card__suggestions h3 {
font-family: var(--jhf-font-display);
font-size: 14px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1.5px;
color: var(--jhf-text-muted, #5B6572);
margin: 0 0 16px;
}
.jhf-system-card__suggestions ul {
list-style: none;
display: flex;
flex-direction: column;
gap: 6px;
padding: 0;
margin: 0;
}
.jhf-system-card__suggestions ul li {
font-size: 14px;
color: var(--jhf-text);
}
.jhf-system-card__suggestions ul li a {
color: var(--jhf-secondary);
font-weight: 700;
text-decoration: underline;
text-underline-offset: 3px;
} @media (max-width: 640px) {
.jhf-system-page-section { padding: 64px 16px; }
.jhf-system-card { padding: 48px 24px; }
.jhf-system-card__icon { width: 80px; height: 80px; }
.jhf-system-card__icon--404,
.jhf-system-card__icon--wave { font-size: 36px; }
.jhf-system-card__suggestions { padding: 20px; }
.jhf-system-card__actions .jhf-button { width: 100%; justify-content: center; }
} body.jhf-system-page--canvas {
margin: 0;
padding: 0;
background: var(--jhf-surface-alt, #F7F8FA);
min-height: 100vh;
font-family: var(--jhf-font-display, "Raleway"), system-ui, sans-serif;
color: var(--jhf-text);
}
body.jhf-system-page--canvas .jhf-system-page-section {
min-height: 100vh;
} .jhf-site-header {
position: sticky;
top: 0;
z-index: 100;
background: rgba(255, 255, 255, 0.96);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border-bottom: 1px solid transparent;
transition: box-shadow .25s ease-out, border-color .25s ease-out, padding .3s ease-out;
}
body.jhf-scrolled .jhf-site-header {
box-shadow: 0 4px 20px rgba(13, 29, 49, 0.06);
border-bottom-color: var(--jhf-border, #E5E7EB);
}
.jhf-site-header__inner {
display: flex;
align-items: center;
justify-content: space-between;
padding: 18px 0;
transition: padding .3s ease-out;
}
body.jhf-scrolled .jhf-site-header__inner {
padding: 10px 0;
} .jhf-logo {
display: inline-flex;
align-items: center;
gap: 12px;
color: var(--jhf-primary);
font-family: var(--jhf-font-display);
font-weight: 900;
font-size: 20px;
letter-spacing: -0.02em;
line-height: 1;
text-decoration: none;
transition: opacity .25s ease-out;
}
.jhf-logo:hover { opacity: 0.78; }
.jhf-logo__mark {
height: 80px;
width: auto;
display: block;
flex-shrink: 0;
transition: height .3s ease-out, transform .25s ease-out;
} body.jhf-scrolled .jhf-logo__mark {
height: 40px;
}
.jhf-logo__text {
opacity: 0;
max-width: 0;
overflow: hidden;
white-space: nowrap;
transition: opacity .3s ease-out, max-width .3s ease-out;
}
body.jhf-scrolled .jhf-logo__text {
opacity: 1;
max-width: 300px;
}
.jhf-logo__placeholder {
font-family: var(--jhf-font-display);
font-weight: 900;
font-size: 36px;
color: var(--jhf-primary);
letter-spacing: -0.04em;
}
body.jhf-scrolled .jhf-logo__placeholder { font-size: 18px; } .jhf-main-nav {
display: flex;
align-items: center;
gap: 32px;
}
.jhf-main-nav__list {
list-style: none;
display: flex;
gap: 28px;
margin: 0;
padding: 0;
}
.jhf-main-nav__list a,
.jhf-main-nav a {
font-size: 15px;
font-weight: 600;
color: var(--jhf-primary);
text-decoration: none;
transition: color .25s ease-out;
}
.jhf-main-nav__list a:hover,
.jhf-main-nav a:hover { color: var(--jhf-secondary); }
.jhf-main-nav__list .current-menu-item > a,
.jhf-main-nav__list .current_page_item > a { color: var(--jhf-secondary); }
.jhf-nav-cta {
padding: 10px 22px;
background: var(--jhf-primary);
color: white !important;
border-radius: 999px;
font-size: 14px;
font-weight: 700;
text-decoration: none;
transition: background-color .25s ease-out;
}
.jhf-nav-cta:hover { background: var(--jhf-secondary); } .jhf-mobile-menu-btn,
.jhf-site-header button.jhf-mobile-menu-btn {
display: none !important;
background: transparent !important;
background-color: transparent !important;
border: 0 !important;
border-radius: 0 !important;
box-shadow: none !important;
padding: 8px !important;
cursor: pointer;
color: var(--jhf-primary) !important;
line-height: 0;
outline: 0 !important;
} @media (max-width: 900px) {
.jhf-main-nav__list,
.jhf-nav-cta {
display: none;
}
.jhf-mobile-menu-btn,
.jhf-site-header button.jhf-mobile-menu-btn,
button[class*="jhf-mobile-menu-btn"] { display: inline-flex !important; }
.jhf-main-nav.is-open .jhf-main-nav__list {
display: flex;
flex-direction: column;
position: absolute;
top: 100%;
left: 0;
right: 0;
background: white;
padding: 16px 24px;
gap: 12px;
box-shadow: 0 4px 20px rgba(13, 29, 49, 0.08);
border-bottom: 1px solid var(--jhf-border, #E5E7EB);
}
.jhf-main-nav.is-open .jhf-nav-cta {
display: inline-flex;
justify-content: center;
}
.jhf-logo__mark { height: 50px; }
body.jhf-scrolled .jhf-logo__mark { height: 36px; }
} .jhf-site-footer {
background: var(--jhf-primary);
color: var(--jhf-text-on-dark, #E8ECF1);
padding: 96px 0 24px;
}
.jhf-footer-grid {
display: grid;
grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
gap: 64px;
margin-bottom: 64px;
}
.jhf-footer-col h4 {
color: white;
font-family: var(--jhf-font-display);
font-size: 14px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 2.5px;
margin: 0 0 24px;
}
.jhf-footer-col__list {
list-style: none;
display: flex;
flex-direction: column;
gap: 10px;
margin: 0;
padding: 0;
}
.jhf-footer-col__list a,
.jhf-footer-col a {
color: rgba(255, 255, 255, 0.72);
font-size: 15px;
text-decoration: none;
transition: color .25s ease-out;
}
.jhf-footer-col__list a:hover,
.jhf-footer-col a:hover { color: white; } .jhf-footer-brand .jhf-logo {
color: white;
margin-bottom: 24px;
}
.jhf-footer-brand .jhf-logo__mark {
height: 48px;
}
.jhf-footer-brand .jhf-logo__text {
opacity: 1;
max-width: none;
overflow: visible;
color: white;
}
.jhf-footer-brand__tagline {
color: rgba(255, 255, 255, 0.72);
font-size: 14px;
margin: 0 0 16px;
line-height: 1.5;
}
.jhf-footer-brand__promosso {
font-size: 12px;
text-transform: uppercase;
letter-spacing: 1.5px;
opacity: 0.6;
margin: 0;
color: rgba(255, 255, 255, 0.72);
} .jhf-social-row {
display: flex;
gap: 10px;
margin-top: 24px;
}
.jhf-social-link {
width: 36px;
height: 36px;
border-radius: 50%;
background: rgba(255, 255, 255, 0.08);
color: white;
display: grid;
place-items: center;
text-decoration: none;
transition: background-color .25s ease-out, transform .25s ease-out;
}
.jhf-social-link:hover {
background: var(--jhf-secondary);
transform: translateY(-2px);
color: white;
}
.jhf-social-link svg { display: block; } .jhf-footer-bottom {
border-top: 1px solid rgba(255, 255, 255, 0.08);
padding-top: 24px;
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 16px;
}
.jhf-footer-bottom p {
color: rgba(255, 255, 255, 0.72);
font-size: 13px;
margin: 0;
}
.jhf-footer-legal {
display: flex;
gap: 24px;
}
.jhf-footer-legal a {
color: rgba(255, 255, 255, 0.72);
font-size: 13px;
text-decoration: none;
}
.jhf-footer-legal a:hover { color: white; } @media (max-width: 960px) {
.jhf-site-footer { padding: 64px 0 24px; }
.jhf-footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; margin-bottom: 40px; }
}
@media (max-width: 640px) {
.jhf-footer-grid { grid-template-columns: 1fr; }
.jhf-footer-bottom { flex-direction: column; align-items: flex-start; }
} @media (prefers-reduced-motion: reduce) {
.jhf-site-header,
.jhf-site-header__inner,
.jhf-logo__mark,
.jhf-logo__text { transition: none; }
}  .elementor-section:has(.jhf-site-header),
.elementor-container:has(.jhf-site-header),
.elementor-column:has(.jhf-site-header),
.elementor-widget-html:has(.jhf-site-header),
.e-con:has(.jhf-site-header),
.e-con-inner:has(.jhf-site-header) {
border: 0 !important;
outline: 0 !important;
box-shadow: none !important;
padding: 0 !important;
margin: 0 !important;
background: transparent !important;
} .elementor-section:has(.jhf-site-footer),
.elementor-container:has(.jhf-site-footer),
.elementor-column:has(.jhf-site-footer),
.elementor-widget-html:has(.jhf-site-footer),
.e-con:has(.jhf-site-footer),
.e-con-inner:has(.jhf-site-footer) {
border: 0 !important;
outline: 0 !important;
box-shadow: none !important;
padding: 0 !important;
margin: 0 !important;
background: transparent !important;
} .elementor-widget-html .jhf-site-header,
.elementor-widget-html .jhf-site-footer {
margin: 0;
} .jhf-site-header .jhf-logo .jhf-logo__mark,
.jhf-site-header .jhf-logo img.jhf-logo__mark,
.elementor .jhf-site-header .jhf-logo__mark {
height: 80px !important;
width: auto !important;
max-width: none !important;
max-height: none !important;
}
body.jhf-scrolled .jhf-site-header .jhf-logo .jhf-logo__mark,
body.jhf-scrolled .jhf-site-header .jhf-logo img.jhf-logo__mark,
body.jhf-scrolled .elementor .jhf-site-header .jhf-logo__mark {
height: 40px !important;
} .jhf-site-footer .jhf-footer-brand .jhf-logo__mark,
.jhf-site-footer .jhf-footer-brand img.jhf-logo__mark,
.elementor .jhf-site-footer .jhf-logo__mark {
height: 48px !important;
width: auto !important;
max-width: none !important;
max-height: none !important;
} @media (max-width: 900px) {
.jhf-site-header .jhf-logo .jhf-logo__mark,
.jhf-site-header .jhf-logo img.jhf-logo__mark,
.elementor .jhf-site-header .jhf-logo__mark {
height: 50px !important;
}
body.jhf-scrolled .jhf-site-header .jhf-logo .jhf-logo__mark,
body.jhf-scrolled .jhf-site-header .jhf-logo img.jhf-logo__mark,
body.jhf-scrolled .elementor .jhf-site-header .jhf-logo__mark {
height: 36px !important;
}
}  .elementor-section:has(.jhf-site-header),
.elementor-section .elementor-container:has(.jhf-site-header),
.elementor-column:has(.jhf-site-header),
.elementor-widget-html:has(.jhf-site-header),
.elementor-widget-wrap:has(.jhf-site-header),
.e-con:has(.jhf-site-header),
.e-con-inner:has(.jhf-site-header),
.elementor-location-header,
.elementor-location-header > div,
.elementor-location-header section {
overflow: visible !important;
} html, body {
overflow-x: hidden;
overflow-y: visible;
} .jhf-site-header,
.elementor .jhf-site-header,
.elementor-widget-html .jhf-site-header {
position: sticky !important;
top: 0 !important;
z-index: 100 !important;
}  .elementor-location-header,
.elementor-location-header *,
header.elementor-location-header,
header.elementor-location-header *,
.elementor-section-wrap,
.elementor-edit-mode .elementor-section-wrap,
#wrapper:has(.jhf-site-header),
#page:has(.jhf-site-header),
.site-main:has(.jhf-site-header),
.entry-content:has(.jhf-site-header) {
overflow: visible !important;
transform: none !important;
filter: none !important;
perspective: none !important;
contain: none !important;
} :has(> .jhf-site-header),
:has(> * > .jhf-site-header),
:has(> * > * > .jhf-site-header) {
overflow: visible !important;
} body.jhf-fixed-header .jhf-site-header {
position: fixed !important;
top: 0 !important;
left: 0 !important;
right: 0 !important;
z-index: 1000 !important;
} body.jhf-fixed-header.jhf-scrolled .jhf-site-header {
padding: 10px 0;
} .jhf-events-archive-hero {
background: var(--jhf-primary);
color: white;
padding: 96px 0 80px;
position: relative;
overflow: hidden;
}
.jhf-events-archive-hero::before {
content: "";
position: absolute;
inset: 0;
background:
radial-gradient(ellipse at top right, rgba(236, 0, 95, 0.18) 0%, transparent 55%),
radial-gradient(ellipse at bottom left, rgba(236, 0, 95, 0.10) 0%, transparent 50%);
pointer-events: none;
}
.jhf-events-archive-hero > .jhf-container {
position: relative;
}
.jhf-events-archive-hero .jhf-eyebrow {
margin-bottom: 16px;
display: inline-block;
}
.jhf-events-archive-hero__title {
font-family: var(--jhf-font-display);
font-size: clamp(40px, 6vw, 72px);
font-weight: 800;
line-height: 1.15;
letter-spacing: -0.01em;
color: white;
margin: 0 0 24px;
}
.jhf-events-archive-hero__lead {
font-size: 19px;
color: rgba(255, 255, 255, 0.85);
line-height: 1.6;
margin: 0;
max-width: 720px;
} .jhf-events-archive-section {
padding: 96px 0;
background: #ffffff;
}
.jhf-events-archive-section--alt {
background: var(--jhf-surface-alt, #F7F8FA);
}
.jhf-section-title-row {
display: flex;
justify-content: space-between;
align-items: flex-end;
margin-bottom: 40px;
gap: 24px;
flex-wrap: wrap;
}
.jhf-section-title-row__title {
font-family: var(--jhf-font-display);
font-size: clamp(32px, 4vw, 48px);
font-weight: 800;
line-height: 1.15;
letter-spacing: -0.01em;
color: var(--jhf-primary);
margin: 0;
}
.jhf-section-title-row__meta {
color: var(--jhf-text-muted, #5B6572);
font-size: 14px;
font-weight: 600;
} .jhf-featured-event {
display: grid;
grid-template-columns: 1.1fr 0.9fr;
background: white;
border: 2px solid var(--jhf-secondary); border-radius: 24px;
overflow: hidden;
text-decoration: none;
color: inherit;
box-shadow: 0 10px 40px rgba(13, 29, 49, 0.10);
transition: transform .25s ease-out, box-shadow .25s ease-out;
}
.jhf-featured-event:hover {
transform: translateY(-3px);
box-shadow: 0 20px 60px rgba(13, 29, 49, 0.16);
}
.jhf-featured-event__image {
min-height: 400px;
background: var(--jhf-surface-alt, #F7F8FA) center/cover no-repeat;
position: relative;
}
.jhf-featured-event__image::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(45deg, rgba(13, 29, 49, 0.25), transparent);
pointer-events: none;
}
.jhf-featured-event__pill {
position: absolute;
top: 24px;
left: 24px;
z-index: 1;
background: var(--jhf-secondary);
color: white;
padding: 8px 16px;
border-radius: 999px;
font-size: 12px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1.5px;
display: inline-flex;
align-items: center;
gap: 8px;
} .jhf-featured-event__pill::before {
content: "";
width: 8px;
height: 8px;
background: white;
border-radius: 50%;
animation: jhf-featured-pulse 2s infinite;
}
@keyframes jhf-featured-pulse {
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.5; transform: scale(1.3); }
}
@media (prefers-reduced-motion: reduce) {
.jhf-featured-event__pill::before { animation: none; }
}
.jhf-featured-event__content {
padding: 48px;
display: flex;
flex-direction: column;
gap: 16px;
}
.jhf-featured-event__meta {
display: flex;
flex-wrap: wrap;
gap: 16px 24px;
font-size: 14px;
color: var(--jhf-text-muted, #5B6572);
font-weight: 600;
margin-bottom: 4px;
}
.jhf-featured-event__meta span {
display: inline-flex;
align-items: center;
gap: 6px;
}
.jhf-featured-event__title {
font-family: var(--jhf-font-display);
font-size: clamp(28px, 3vw, 40px);
font-weight: 800;
line-height: 1.15;
letter-spacing: -0.01em;
color: var(--jhf-primary);
margin: 0;
}
.jhf-featured-event__text {
color: var(--jhf-text-muted, #5B6572);
font-size: 16px;
line-height: 1.6;
margin: 0;
}
.jhf-featured-event__stats {
display: flex;
gap: 32px;
flex-wrap: wrap;
padding: 16px 0;
border-top: 1px solid var(--jhf-border, #E5E7EB);
border-bottom: 1px solid var(--jhf-border, #E5E7EB);
}
.jhf-featured-stat {
display: flex;
flex-direction: column;
gap: 4px;
}
.jhf-featured-stat strong {
font-family: var(--jhf-font-display);
font-size: 28px;
font-weight: 900;
color: var(--jhf-secondary);
letter-spacing: -0.02em;
line-height: 1;
}
.jhf-featured-stat span {
font-size: 12px;
color: var(--jhf-text-muted, #5B6572);
text-transform: uppercase;
letter-spacing: 1.5px;
font-weight: 600;
}
.jhf-featured-event__actions {
display: flex;
gap: 16px;
flex-wrap: wrap;
margin-top: 8px;
} .jhf-events-upcoming-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
gap: 24px;
} .jhf-events-past-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
gap: 24px;
} .jhf-event-card {
background: white;
border: 1px solid var(--jhf-border, #E5E7EB);
border-radius: 16px;
overflow: hidden;
text-decoration: none;
color: inherit;
transition: transform .25s ease-out, box-shadow .25s ease-out, border-color .25s ease-out;
display: flex;
flex-direction: column;
}
.jhf-event-card:hover {
transform: translateY(-4px);
box-shadow: 0 10px 40px rgba(13, 29, 49, 0.10);
border-color: transparent;
}
.jhf-event-card__image {
height: 200px;
background: var(--jhf-surface-alt, #F7F8FA) center/cover no-repeat;
position: relative;
}
.jhf-event-card__image::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(180deg, rgba(13, 29, 49, 0) 50%, rgba(13, 29, 49, 0.25));
pointer-events: none;
}
.jhf-event-card-status {
position: absolute;
top: 16px;
left: 16px;
z-index: 1;
padding: 6px 14px;
border-radius: 999px;
font-size: 11px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1.5px;
}
.jhf-event-card-status--upcoming {
background: var(--jhf-secondary);
color: white;
}
.jhf-event-card-status--past {
background: rgba(255, 255, 255, 0.92);
color: var(--jhf-text-muted, #5B6572);
}
.jhf-event-card__content {
padding: 24px 28px 28px;
display: flex;
flex-direction: column;
gap: 6px;
flex: 1;
}
.jhf-event-card__date {
font-size: 12px;
color: var(--jhf-secondary);
text-transform: uppercase;
letter-spacing: 1.5px;
font-weight: 700;
}
.jhf-event-card__title {
font-family: var(--jhf-font-display);
font-size: 22px;
font-weight: 800;
line-height: 1.2;
color: var(--jhf-primary);
margin: 4px 0 4px;
}
.jhf-event-card__location {
font-size: 14px;
color: var(--jhf-text-muted, #5B6572);
margin-bottom: 12px;
}
.jhf-event-card__meta {
display: flex;
gap: 16px;
flex-wrap: wrap;
padding: 12px 0;
border-top: 1px solid var(--jhf-surface-alt, #F7F8FA);
font-size: 14px;
color: var(--jhf-text-muted, #5B6572);
}
.jhf-event-card__meta strong {
color: var(--jhf-secondary);
font-weight: 800;
}
.jhf-event-card__cta {
margin-top: auto;
padding-top: 8px;
color: var(--jhf-secondary);
font-weight: 700;
font-size: 14px;
} .jhf-past-card {
background: white;
border: 1px solid var(--jhf-border, #E5E7EB);
border-radius: 16px;
overflow: hidden;
text-decoration: none;
color: inherit;
transition: transform .25s ease-out, box-shadow .25s ease-out, border-color .25s ease-out;
display: flex;
flex-direction: column;
}
.jhf-past-card:hover {
transform: translateY(-3px);
box-shadow: 0 8px 28px rgba(13, 29, 49, 0.08);
border-color: transparent;
}
.jhf-past-card__image {
height: 140px;
background: var(--jhf-surface-alt, #F7F8FA) center/cover no-repeat;
position: relative;
}
.jhf-past-card {
filter: grayscale(0.4);
transition: transform .25s ease-out, box-shadow .25s ease-out, filter .25s ease-out;
}
.jhf-past-card:hover {
filter: grayscale(0);
}
.jhf-past-card__image::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(180deg, rgba(13, 29, 49, 0) 50%, rgba(13, 29, 49, 0.20));
pointer-events: none;
}
.jhf-past-card__content {
padding: 16px 20px 20px;
display: flex;
flex-direction: column;
gap: 2px;
}
.jhf-past-card__date {
font-size: 12px;
color: var(--jhf-text-muted, #5B6572);
text-transform: uppercase;
letter-spacing: 1.5px;
font-weight: 700;
}
.jhf-past-card__title {
font-family: var(--jhf-font-display);
font-size: 17px;
font-weight: 800;
line-height: 1.25;
color: var(--jhf-primary);
margin: 2px 0 2px;
}
.jhf-past-card__location {
font-size: 13px;
color: var(--jhf-text-muted, #5B6572);
margin-bottom: 8px;
}
.jhf-past-card__meta {
display: flex;
gap: 16px;
flex-wrap: wrap;
padding-top: 12px;
border-top: 1px solid var(--jhf-surface-alt, #F7F8FA);
font-size: 13px;
color: var(--jhf-text-muted, #5B6572);
} @media (max-width: 960px) {
.jhf-events-archive-hero { padding: 64px 0 56px; }
.jhf-events-archive-section { padding: 64px 0; }
.jhf-featured-event { grid-template-columns: 1fr; }
.jhf-featured-event__image { min-height: 280px; }
.jhf-featured-event__content { padding: 32px; }
.jhf-featured-event__stats { gap: 24px; }
}
@media (max-width: 640px) {
.jhf-section-title-row { flex-direction: column; align-items: flex-start; }
.jhf-events-upcoming-grid,
.jhf-events-past-grid { grid-template-columns: 1fr; }
.jhf-featured-event__content { padding: 24px; }
}  .jhf-events-archive-hero {
padding: 120px 0 96px !important;
}
.jhf-events-archive-hero__inner {
position: relative;
max-width: 820px;
}
.jhf-events-archive-hero__stats {
display: flex;
gap: 64px;
margin-top: 40px;
flex-wrap: wrap;
}
.jhf-archive-hero-stat {
display: flex;
flex-direction: column;
gap: 4px;
}
.jhf-archive-hero-stat strong {
font-family: var(--jhf-font-display);
font-size: 36px;
font-weight: 900;
color: var(--jhf-secondary);
letter-spacing: -0.02em;
line-height: 1;
}
.jhf-archive-hero-stat span {
font-size: 13px;
text-transform: uppercase;
letter-spacing: 1.5px;
color: rgba(255, 255, 255, 0.65);
font-weight: 600;
} body.jhf-fixed-header .jhf-events-archive-hero {
padding-top: 200px !important; } .jhf-newsletter-cta {
background: var(--jhf-primary);
color: white;
border-radius: 24px;
padding: 96px 64px; text-align: center;
position: relative;
overflow: hidden;
} .jhf-newsletter-cta::before {
content: "";
position: absolute;
inset: 0;
background:
radial-gradient(circle at 15% 30%, rgba(236, 0, 95, 0.20) 0%, transparent 50%),
radial-gradient(circle at 85% 70%, rgba(236, 0, 95, 0.10) 0%, transparent 50%);
pointer-events: none;
}
.jhf-newsletter-cta__inner {
position: relative;
max-width: 580px; margin: 0 auto;
}
.jhf-newsletter-cta .jhf-eyebrow {
margin-bottom: 16px;
display: inline-block;
}
.jhf-newsletter-cta__title {
font-family: var(--jhf-font-display);
font-size: clamp(28px, 3.5vw, 40px);
font-weight: 800;
line-height: 1.15;
letter-spacing: -0.01em;
color: white;
margin: 0 0 16px;
}
.jhf-newsletter-cta__text {
color: rgba(255, 255, 255, 0.85);
font-size: 17px;
line-height: 1.6;
margin: 0 0 32px;
}
.jhf-newsletter-form {
display: flex;
gap: 12px;
flex-wrap: wrap;
justify-content: center;
align-items: stretch;
} .jhf-newsletter-form input.jhf-newsletter-input[type="email"] {
flex: 1 1 auto;
min-width: 240px;
width: auto;
padding: 14px 20px;
border: 2px solid rgba(255, 255, 255, 0.2);
background: rgba(255, 255, 255, 0.08);
color: white;
border-radius: 999px;
font-family: var(--jhf-font-display);
font-size: 15px;
line-height: 1.4;
transition: border-color .25s ease-out, background-color .25s ease-out;
box-shadow: none;
}
.jhf-newsletter-form input.jhf-newsletter-input[type="email"]::placeholder {
color: rgba(255, 255, 255, 0.55);
opacity: 1;
}
.jhf-newsletter-form input.jhf-newsletter-input[type="email"]:hover {
border-color: rgba(255, 255, 255, 0.35);
}
.jhf-newsletter-form input.jhf-newsletter-input[type="email"]:focus {
outline: none;
border-color: var(--jhf-secondary); background: rgba(255, 255, 255, 0.12);
box-shadow: 0 0 0 3px rgba(236, 0, 95, 0.20);
} .jhf-newsletter-form button.jhf-button.jhf-button--primary {
padding: 14px 28px;
border-radius: 999px;
border: 2px solid var(--jhf-secondary);
background: var(--jhf-secondary);
color: white;
font-family: var(--jhf-font-display);
font-size: 15px;
font-weight: 700;
letter-spacing: 0;
text-transform: none;
cursor: pointer;
transition: transform .2s ease-out, box-shadow .2s ease-out, background-color .2s ease-out;
box-shadow: 0 4px 12px rgba(236, 0, 95, 0.25);
}
.jhf-newsletter-form button.jhf-button.jhf-button--primary:hover {
background: #d6004f;
border-color: #d6004f;
transform: translateY(-1px);
box-shadow: 0 6px 16px rgba(236, 0, 95, 0.35);
}
.jhf-newsletter-form button.jhf-button.jhf-button--primary:focus {
outline: none;
box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.4), 0 4px 12px rgba(236, 0, 95, 0.25);
} .jhf-events-filters-bar {
background: white;
border-bottom: 1px solid var(--jhf-border);
padding: 16px 0;
position: sticky;
top: 78px; z-index: 50;
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
}
body.jhf-fixed-header .jhf-events-filters-bar {
top: 80px;
}
.jhf-events-filters-bar__inner {
display: flex;
gap: 32px;
align-items: center;
flex-wrap: wrap;
}
.jhf-filter-group {
display: flex;
gap: 8px;
align-items: center;
flex-wrap: wrap;
}
.jhf-filter-label {
font-size: 12px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1.5px;
color: var(--jhf-text-muted);
} .jhf-sector-select-wrap { position: relative; display: inline-flex; align-items: center; }
.jhf-sector-select {
appearance: none; -webkit-appearance: none; -moz-appearance: none;
font-family: inherit; font-size: 14px; font-weight: 600; color: var(--jhf-text);
background: var(--jhf-surface-alt, #F7F8FA);
border: 1px solid var(--jhf-border, #E5E7EB);
border-radius: 999px;
padding: 9px 42px 9px 16px;
line-height: 1.2; cursor: pointer; max-width: 340px;
transition: border-color .2s ease, box-shadow .2s ease;
}
.jhf-sector-select:hover { border-color: #d3dae4; }
.jhf-sector-select:focus-visible { outline: none; border-color: var(--jhf-primary, #0D1D31); box-shadow: 0 0 0 3px rgba(13,29,49,0.15); }
.jhf-sector-select__chevron { position: absolute; right: 14px; width: 16px; height: 16px; color: var(--jhf-text-muted, #5B6572); pointer-events: none; }
@media (max-width: 640px) {
.jhf-sector-select-wrap { width: 100%; }
.jhf-sector-select { max-width: 100%; width: 100%; }
} .jhf-events-filters-bar .jhf-filter-group button.jhf-filter-pill,
.jhf-events-filters-bar .jhf-filter-group button.jhf-filter-pill:hover,
.jhf-events-filters-bar .jhf-filter-group button.jhf-filter-pill:focus,
.jhf-events-filters-bar .jhf-filter-group button.jhf-filter-pill:focus-visible,
.jhf-events-filters-bar .jhf-filter-group button.jhf-filter-pill:active {
padding: 7px 14px;
border-radius: 999px;
border: 1px solid transparent;
font-family: inherit;
font-size: 13px;
font-weight: 600;
cursor: pointer;
transition: all .25s ease-out;
text-transform: none;
letter-spacing: 0;
line-height: 1.2;
box-shadow: none;
outline: none;
}
.jhf-events-filters-bar .jhf-filter-group button.jhf-filter-pill {
background: var(--jhf-surface-alt);
color: var(--jhf-text);
}
.jhf-events-filters-bar .jhf-filter-group button.jhf-filter-pill:hover {
background: var(--jhf-border);
color: var(--jhf-text);
}
.jhf-events-filters-bar .jhf-filter-group button.jhf-filter-pill.is-active,
.jhf-events-filters-bar .jhf-filter-group button.jhf-filter-pill.is-active:hover,
.jhf-events-filters-bar .jhf-filter-group button.jhf-filter-pill.is-active:focus,
.jhf-events-filters-bar .jhf-filter-group button.jhf-filter-pill.is-active:focus-visible {
background: var(--jhf-primary);
color: white;
border-color: var(--jhf-primary);
border-radius: 999px;
} .jhf-events-filters-bar .jhf-filter-group button.jhf-filter-pill:focus-visible {
box-shadow: 0 0 0 3px rgba(13, 29, 49, 0.20);
}
.jhf-filters-count {
margin-left: auto;
font-size: 13px;
color: var(--jhf-text-muted);
font-weight: 600;
}
.jhf-filters-count strong {
color: var(--jhf-text);
font-weight: 800;
} .jhf-events-archive-section.is-hidden-by-filter {
display: none;
}
.jhf-event-card-wrap.is-hidden-by-filter {
display: none;
}
@media (max-width: 640px) {
.jhf-events-filters-bar {
position: static;
}
.jhf-events-filters-bar__inner {
gap: 16px;
}
.jhf-filters-count {
margin-left: 0;
width: 100%;
text-align: center;
}
} .jhf-site-footer .jhf-footer-brand .jhf-logo,
.jhf-site-footer .jhf-footer-brand .jhf-logo__text {
font-size: 20px !important;
} @media (max-width: 640px) {
.jhf-events-archive-hero { padding: 96px 0 64px !important; }
body.jhf-fixed-header .jhf-events-archive-hero { padding-top: 160px !important; }
.jhf-events-archive-hero__stats { gap: 32px; }
.jhf-archive-hero-stat strong { font-size: 28px; }
.jhf-newsletter-cta { padding: 48px 24px; }
.jhf-newsletter-form { flex-direction: column; }
.jhf-newsletter-form .jhf-button { width: 100%; justify-content: center; }
}  .jhf-companies-archive-hero {
background: var(--jhf-primary);
color: white;
padding: 96px 0 64px;
position: relative;
overflow: hidden;
}
body.jhf-fixed-header .jhf-companies-archive-hero {
padding-top: 200px;
}
.jhf-companies-archive-hero::before {
content: '';
position: absolute;
inset: 0;
background:
radial-gradient(ellipse at top right, rgba(236, 0, 95, 0.15) 0%, transparent 55%),
radial-gradient(ellipse at bottom left, rgba(236, 0, 95, 0.06) 0%, transparent 50%);
pointer-events: none;
}
.jhf-companies-archive-hero__inner {
position: relative;
max-width: 820px;
}
.jhf-companies-archive-hero__title {
color: white;
font-family: var(--jhf-font-display);
font-size: clamp(40px, 6vw, 64px);
font-weight: 800;
line-height: 1.15;
letter-spacing: -0.01em;
margin: 0 0 24px;
}
.jhf-companies-archive-hero__lead {
color: rgba(255, 255, 255, 0.8);
font-size: 19px;
line-height: 1.6;
max-width: 720px;
margin: 0;
}
.jhf-companies-archive-hero__stats {
display: flex;
gap: 64px;
margin-top: 40px;
flex-wrap: wrap;
} .jhf-companies-search-filters-bar {
background: white;
padding: 24px 0;
border-bottom: 1px solid var(--jhf-border);
position: sticky;
top: 78px;
z-index: 50;
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
}
body.jhf-fixed-header .jhf-companies-search-filters-bar {
top: 80px;
}
.jhf-companies-search-bar {
position: relative;
margin-bottom: 24px;
} .jhf-companies-search-bar input.jhf-companies-search-input[type="search"] {
width: 100%;
padding: 16px 22px 16px 56px;
border-radius: 999px;
border: 2px solid var(--jhf-border);
background: var(--jhf-surface-alt);
font-family: inherit;
font-size: 16px;
color: var(--jhf-text);
outline: none;
transition: all .25s ease-out;
box-shadow: none;
line-height: 1.4;
}
.jhf-companies-search-bar input.jhf-companies-search-input[type="search"]::placeholder {
color: var(--jhf-text-muted);
}
.jhf-companies-search-bar input.jhf-companies-search-input[type="search"]:focus {
border-color: var(--jhf-primary);
background: white;
box-shadow: 0 4px 20px rgba(13, 29, 49, 0.06);
}
.jhf-companies-search-icon {
position: absolute;
left: 22px;
top: 50%;
transform: translateY(-50%);
width: 22px;
height: 22px;
color: var(--jhf-text-muted);
pointer-events: none;
}
.jhf-companies-filters-inner {
display: flex;
gap: 40px;
align-items: center;
flex-wrap: wrap;
} .jhf-companies-search-filters-bar .jhf-filter-group a.jhf-filter-pill,
.jhf-companies-search-filters-bar .jhf-filter-group a.jhf-filter-pill:hover,
.jhf-companies-search-filters-bar .jhf-filter-group a.jhf-filter-pill:focus,
.jhf-companies-search-filters-bar .jhf-filter-group a.jhf-filter-pill:focus-visible,
.jhf-companies-search-filters-bar .jhf-filter-group a.jhf-filter-pill:active {
display: inline-flex;
align-items: center;
padding: 7px 14px;
border-radius: 999px;
border: 1px solid transparent;
font-family: inherit;
font-size: 13px;
font-weight: 600;
color: var(--jhf-text);
cursor: pointer;
transition: all .25s ease-out;
text-transform: none;
letter-spacing: 0;
line-height: 1.2;
text-decoration: none;
outline: none;
box-shadow: none;
background: var(--jhf-surface-alt);
}
.jhf-companies-search-filters-bar .jhf-filter-group a.jhf-filter-pill:hover {
background: var(--jhf-border);
color: var(--jhf-text);
}
.jhf-companies-search-filters-bar .jhf-filter-group a.jhf-filter-pill.is-active,
.jhf-companies-search-filters-bar .jhf-filter-group a.jhf-filter-pill.is-active:hover,
.jhf-companies-search-filters-bar .jhf-filter-group a.jhf-filter-pill.is-active:focus {
background: var(--jhf-primary);
color: white;
border-color: var(--jhf-primary);
border-radius: 999px;
}
.jhf-companies-search-filters-bar .jhf-filter-group a.jhf-filter-pill--protected.is-active,
.jhf-companies-search-filters-bar .jhf-filter-group a.jhf-filter-pill--protected.is-active:hover {
background: var(--jhf-secondary);
border-color: var(--jhf-secondary);
} .jhf-companies-archive-section {
padding: 96px 0;
}
.jhf-companies-archive-section--alt {
background: var(--jhf-surface-alt);
} .jhf-companies-archive-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
gap: 24px;
}
.jhf-companies-archive-card {
background: white;
border: 1px solid var(--jhf-border);
border-radius: 16px;
padding: 40px;
transition: all .25s ease-out;
display: flex;
flex-direction: column;
gap: 16px;
position: relative;
text-decoration: none;
color: inherit;
}
.jhf-companies-archive-card:hover {
transform: translateY(-4px);
box-shadow: 0 10px 40px rgba(13, 29, 49, 0.10);
border-color: transparent;
}
.jhf-companies-archive-card__header {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 16px;
margin-bottom: 8px;
}
.jhf-companies-archive-card__logo {
width: 72px;
height: 72px;
background: var(--jhf-surface-alt);
border-radius: 12px;
display: grid;
place-items: center;
flex-shrink: 0;
overflow: hidden;
}
.jhf-companies-archive-card__logo img {
width: 100%;
height: 100%;
object-fit: contain;
display: block;
}
.jhf-companies-archive-card__initials {
font-family: var(--jhf-font-display);
font-weight: 800;
font-size: 22px;
color: var(--jhf-primary);
letter-spacing: -0.02em;
}
.jhf-companies-archive-card__protected-badge {
background: rgba(236, 0, 95, 0.10);
color: var(--jhf-secondary);
font-size: 10px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1px;
padding: 5px 10px;
border-radius: 999px;
flex-shrink: 0;
align-self: flex-start;
display: inline-flex;
align-items: center;
gap: 5px;
}
.jhf-companies-archive-card__protected-badge::before {
content: '';
width: 6px;
height: 6px;
background: var(--jhf-secondary);
border-radius: 50%;
}
.jhf-companies-archive-card__name {
font-family: var(--jhf-font-display);
font-size: 20px;
font-weight: 800;
line-height: 1.15;
letter-spacing: -0.01em;
color: var(--jhf-text);
margin: 0 0 4px;
}
.jhf-companies-archive-card__sector {
display: inline-block;
font-size: 11px;
color: var(--jhf-text-muted);
text-transform: uppercase;
letter-spacing: 1.5px;
font-weight: 700;
padding: 4px 10px;
background: var(--jhf-surface-alt);
border-radius: 999px;
margin-bottom: 16px;
align-self: flex-start;
}
.jhf-companies-archive-card__desc {
color: var(--jhf-text-muted);
font-size: 14px;
line-height: 1.6;
margin-bottom: 16px;
display: -webkit-box;
-webkit-line-clamp: 3;
line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
}
.jhf-companies-archive-card__footer {
margin-top: auto;
padding-top: 24px;
border-top: 1px solid var(--jhf-surface-alt);
display: flex;
justify-content: space-between;
align-items: center;
gap: 16px;
}
.jhf-companies-archive-card__editions {
display: flex;
align-items: center;
gap: 6px;
font-size: 13px;
color: var(--jhf-text-muted);
font-weight: 600;
}
.jhf-companies-archive-card__editions strong {
color: var(--jhf-primary);
font-size: 16px;
margin-right: 2px;
}
.jhf-companies-archive-card__cta {
color: var(--jhf-secondary);
font-weight: 700;
font-size: 14px;
display: inline-flex;
align-items: center;
gap: 6px;
}
.jhf-companies-archive-card__cta::after {
content: '→';
transition: transform .25s ease-out;
}
.jhf-companies-archive-card:hover .jhf-companies-archive-card__cta::after {
transform: translateX(4px);
} .jhf-companies-archive-empty {
text-align: center;
padding: 128px 24px;
display: none;
}
.jhf-companies-archive-empty.is-visible {
display: block;
}
.jhf-companies-archive-empty__icon {
font-size: 56px;
margin-bottom: 24px;
opacity: 0.5;
}
.jhf-companies-archive-empty h3 {
font-family: var(--jhf-font-display);
font-size: 24px;
font-weight: 800;
color: var(--jhf-text);
margin: 0 0 16px;
}
.jhf-companies-archive-empty p {
color: var(--jhf-text-muted);
font-size: 17px;
margin: 0;
} .jhf-companies-archive-card.is-hidden-by-search {
display: none;
} .jhf-companies-archive-pagination {
display: flex;
justify-content: center;
align-items: center;
gap: 8px;
margin-top: 96px;
}
.jhf-companies-archive-pagination .jhf-page-btn {
min-width: 40px;
height: 40px;
border-radius: 12px;
background: transparent;
border: 1px solid var(--jhf-border);
color: var(--jhf-text);
font-family: inherit;
font-weight: 700;
font-size: 14px;
cursor: pointer;
transition: all .25s ease-out;
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0 16px;
text-decoration: none;
}
.jhf-companies-archive-pagination .jhf-page-btn:hover {
border-color: var(--jhf-primary);
}
.jhf-companies-archive-pagination .jhf-page-btn.is-current {
background: var(--jhf-primary);
color: white;
border-color: var(--jhf-primary);
}
.jhf-companies-archive-pagination .jhf-page-btn.is-dots {
border: none;
opacity: 0.5;
cursor: default;
} .jhf-b2b-cta {
background: var(--jhf-primary);
color: white;
border-radius: 24px;
padding: 96px;
position: relative;
overflow: hidden;
display: grid;
grid-template-columns: 1.2fr 1fr;
gap: 64px;
align-items: center;
}
.jhf-b2b-cta::before {
content: '';
position: absolute;
inset: 0;
background:
radial-gradient(circle at 15% 30%, rgba(236, 0, 95, 0.20) 0%, transparent 50%),
radial-gradient(circle at 85% 70%, rgba(236, 0, 95, 0.10) 0%, transparent 50%);
pointer-events: none;
}
.jhf-b2b-cta__content {
position: relative;
}
.jhf-b2b-cta__title {
color: white;
font-family: var(--jhf-font-display);
font-size: clamp(28px, 3.5vw, 40px);
font-weight: 800;
line-height: 1.15;
letter-spacing: -0.01em;
margin: 16px 0 24px;
}
.jhf-b2b-cta__text {
color: rgba(255, 255, 255, 0.85);
font-size: 17px;
line-height: 1.6;
margin: 0 0 40px;
}
.jhf-b2b-cta__actions {
display: flex;
gap: 16px;
flex-wrap: wrap;
}
.jhf-b2b-cta__stats {
position: relative;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
}
.jhf-b2b-stat {
background: rgba(255, 255, 255, 0.06);
border: 1px solid rgba(255, 255, 255, 0.10);
border-radius: 16px;
padding: 24px;
}
.jhf-b2b-stat strong {
display: block;
font-family: var(--jhf-font-display);
font-size: 36px;
font-weight: 900;
color: var(--jhf-secondary);
letter-spacing: -0.02em;
line-height: 1;
margin-bottom: 4px;
}
.jhf-b2b-stat span {
font-size: 13px;
color: rgba(255, 255, 255, 0.75);
font-weight: 600;
} .jhf-button--ghost-light {
background: transparent;
color: white;
border: 2px solid rgba(255, 255, 255, 0.4);
}
.jhf-button--ghost-light:hover {
border-color: white;
background: rgba(255, 255, 255, 0.05);
color: white;
} @media (max-width: 960px) {
.jhf-companies-search-filters-bar { position: static; }
.jhf-b2b-cta { grid-template-columns: 1fr; gap: 40px; padding: 64px 32px; }
.jhf-companies-archive-hero__stats { gap: 24px; }
.jhf-companies-archive-section { padding: 64px 0; }
}
@media (max-width: 640px) {
.jhf-companies-archive-grid { grid-template-columns: 1fr; }
.jhf-companies-filters-inner { gap: 16px; }
.jhf-companies-filters-inner .jhf-filter-group { width: 100%; }
.jhf-filters-count { margin-left: 0; }
.jhf-b2b-cta__stats { grid-template-columns: 1fr; }
.jhf-b2b-cta { padding: 48px 24px; }
}  body .jhf-companies-search-bar input.jhf-companies-search-input[type="search"] {
background: var(--jhf-surface-alt) !important;
background-color: var(--jhf-surface-alt) !important;
}
body .jhf-companies-search-bar input.jhf-companies-search-input[type="search"]:focus {
background: white !important;
background-color: white !important;
} body .jhf-companies-search-filters-bar .jhf-filter-group a.jhf-filter-pill {
background: var(--jhf-surface-alt) !important;
background-color: var(--jhf-surface-alt) !important;
}
body .jhf-companies-search-filters-bar .jhf-filter-group a.jhf-filter-pill:hover {
background: var(--jhf-border) !important;
background-color: var(--jhf-border) !important;
}
body .jhf-companies-search-filters-bar .jhf-filter-group a.jhf-filter-pill.is-active,
body .jhf-companies-search-filters-bar .jhf-filter-group a.jhf-filter-pill.is-active:hover {
background: var(--jhf-primary) !important;
background-color: var(--jhf-primary) !important;
color: white !important;
}
body .jhf-companies-search-filters-bar .jhf-filter-group a.jhf-filter-pill--protected.is-active,
body .jhf-companies-search-filters-bar .jhf-filter-group a.jhf-filter-pill--protected.is-active:hover {
background: var(--jhf-secondary) !important;
background-color: var(--jhf-secondary) !important;
} .jhf-companies-archive-card__sector {
background: var(--jhf-surface-alt);
background-color: var(--jhf-surface-alt);
} body .jhf-companies-archive-section.jhf-companies-archive-section--alt {
background: var(--jhf-surface-alt) !important;
background-color: var(--jhf-surface-alt) !important;
} body .jhf-events-archive-section.jhf-events-archive-section--alt {
background: var(--jhf-surface-alt) !important;
background-color: var(--jhf-surface-alt) !important;
} .jhf-companies-archive-card__logo {
background: var(--jhf-surface-alt);
background-color: var(--jhf-surface-alt);
} .jhf-companies-archive-card__footer {
border-top: 1px solid var(--jhf-surface-alt);
} .jhf-auth-layout {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 100vh;
}
body.jhf-fixed-header .jhf-auth-layout {
min-height: calc(100vh - 80px);
} .jhf-auth-brand {
background: var(--jhf-primary);
color: white;
padding: 64px 96px;
display: flex;
flex-direction: column;
justify-content: space-between;
position: relative;
overflow: hidden;
}
.jhf-auth-brand::before {
content: '';
position: absolute;
inset: 0;
background:
radial-gradient(ellipse at top right, rgba(236, 0, 95, 0.22) 0%, transparent 55%),
radial-gradient(ellipse at bottom left, rgba(236, 0, 95, 0.08) 0%, transparent 50%);
pointer-events: none;
}
.jhf-auth-brand-inner {
position: relative;
max-width: 480px;
}
.jhf-auth-brand-logo {
display: inline-flex;
align-items: center;
gap: 12px;
color: white !important;
font-family: var(--jhf-font-display);
font-weight: 900;
font-size: 20px;
letter-spacing: -0.02em;
line-height: 1;
margin-bottom: 64px;
text-decoration: none;
}
.jhf-auth-brand-logo img {
height: 48px;
width: auto;
display: block;
flex-shrink: 0;
}
.jhf-auth-brand-content { position: relative; }
.jhf-auth-brand-headline {
color: white;
font-family: var(--jhf-font-display);
font-weight: 800;
font-size: clamp(32px, 4vw, 44px);
line-height: 1.15;
letter-spacing: -0.01em;
margin: 16px 0 24px;
}
.jhf-auth-brand-accent {
color: var(--jhf-secondary);
}
.jhf-auth-brand-lead {
color: rgba(255, 255, 255, 0.8);
font-size: 17px;
line-height: 1.6;
margin: 0 0 40px;
}
.jhf-auth-features {
display: flex;
flex-direction: column;
gap: 20px;
}
.jhf-auth-feature {
display: flex;
gap: 16px;
align-items: flex-start;
}
.jhf-auth-feature-check {
width: 32px;
height: 32px;
border-radius: 50%;
background: rgba(236, 0, 95, 0.15);
color: var(--jhf-secondary);
display: grid;
place-items: center;
flex-shrink: 0;
}
.jhf-auth-feature-check svg {
width: 18px;
height: 18px;
}
.jhf-auth-feature-text {
display: flex;
flex-direction: column;
gap: 2px;
}
.jhf-auth-feature-text strong {
color: white;
font-weight: 700;
font-size: 15px;
line-height: 1.3;
}
.jhf-auth-feature-text span {
color: rgba(255, 255, 255, 0.7);
font-size: 13px;
line-height: 1.5;
}
.jhf-auth-brand-footer {
position: relative;
font-size: 12px;
color: rgba(255, 255, 255, 0.5);
text-transform: uppercase;
letter-spacing: 1.5px;
margin-top: 64px;
} .jhf-auth-form-side {
background: white;
padding: 64px 96px;
display: flex;
align-items: center;
justify-content: center;
}
.jhf-auth-form-wrapper {
width: 100%;
max-width: 440px;
}
.jhf-auth-form-card {
display: none;
}
.jhf-auth-form-card.is-visible {
display: block;
}
.jhf-auth-form-header {
margin-bottom: 32px;
}
.jhf-auth-form-header .jhf-eyebrow {
font-size: 13px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 2px;
color: var(--jhf-secondary);
margin-bottom: 16px;
display: inline-block;
}
.jhf-auth-form-header h1 {
font-family: var(--jhf-font-display);
font-size: clamp(28px, 3.5vw, 36px);
font-weight: 800;
line-height: 1.15;
letter-spacing: -0.01em;
color: var(--jhf-text-strong);
margin: 0 0 12px;
}
.jhf-auth-form-header p {
color: var(--jhf-text-muted);
font-size: 15px;
line-height: 1.55;
margin: 0;
} .jhf-form-fields {
display: flex;
flex-direction: column;
gap: 20px;
}
.jhf-form-row {
display: flex;
flex-direction: column;
gap: 6px;
}
.jhf-form-row label {
font-size: 14px;
font-weight: 700;
color: var(--jhf-text-strong);
}
.jhf-form-row .jhf-form-required {
color: var(--jhf-secondary);
font-weight: 700;
}
.jhf-form-row--split {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}
.jhf-form-row--split > .jhf-form-row {
margin: 0;
} body .jhf-form-fields input.jhf-form-input[type="text"],
body .jhf-form-fields input.jhf-form-input[type="email"],
body .jhf-form-fields input.jhf-form-input[type="password"] {
width: 100% !important;
padding: 14px 18px !important;
border-radius: 12px !important;
border: 2px solid var(--jhf-border) !important;
background: white !important;
font-family: inherit !important;
font-size: 15px !important;
color: var(--jhf-text-strong) !important;
outline: none !important;
transition: border-color .25s ease-out, background-color .25s ease-out, box-shadow .25s ease-out !important;
box-shadow: none !important;
line-height: 1.4 !important;
}
body .jhf-form-fields input.jhf-form-input::placeholder {
color: var(--jhf-text-muted);
opacity: 1;
}
body .jhf-form-fields input.jhf-form-input:hover {
border-color: rgba(13, 29, 49, 0.25) !important;
}
body .jhf-form-fields input.jhf-form-input:focus {
border-color: var(--jhf-primary) !important;
box-shadow: 0 0 0 3px rgba(13, 29, 49, 0.08) !important;
} .jhf-form-input-wrapper {
position: relative;
}
.jhf-input-icon-action {
position: absolute;
right: 12px;
top: 50%;
transform: translateY(-50%);
width: 32px;
height: 32px;
background: transparent;
border: none;
cursor: pointer;
color: var(--jhf-text-muted);
display: grid;
place-items: center;
padding: 0;
transition: color .2s ease-out;
}
.jhf-input-icon-action:hover { color: var(--jhf-primary); }
.jhf-input-icon-action svg { width: 20px; height: 20px; }
.jhf-input-icon-action.is-showing svg path:last-of-type,
.jhf-input-icon-action.is-showing svg circle {
opacity: 0.4;
}
.jhf-form-helper {
font-size: 13px;
color: var(--jhf-text-muted);
margin-top: 4px;
} .jhf-checkbox-row {
display: flex;
gap: 12px;
align-items: flex-start;
padding: 12px;
background: var(--jhf-surface-alt);
border-radius: 12px;
border: 1px solid transparent;
transition: border-color .2s ease-out;
}
.jhf-checkbox-row:has(input:checked) {
border-color: var(--jhf-primary);
background: rgba(13, 29, 49, 0.04);
}
.jhf-checkbox-row input[type="checkbox"] {
margin-top: 3px;
width: 18px;
height: 18px;
flex-shrink: 0;
accent-color: var(--jhf-secondary);
cursor: pointer;
}
.jhf-checkbox-row label {
font-size: 14px;
font-weight: 500;
color: var(--jhf-text);
line-height: 1.5;
cursor: pointer;
margin: 0;
}
.jhf-checkbox-row label strong {
font-weight: 700;
color: var(--jhf-text-strong);
}
.jhf-checkbox-row label a {
color: var(--jhf-secondary);
text-decoration: underline;
font-weight: 700;
} .jhf-forgot-row {
text-align: right;
margin-top: -8px;
}
.jhf-forgot-row a {
font-size: 14px;
color: var(--jhf-text-muted);
font-weight: 600;
text-decoration: none;
transition: color .2s ease-out;
}
.jhf-forgot-row a:hover { color: var(--jhf-secondary); } .jhf-form-submit {
margin-top: 8px;
}
.jhf-button--block {
width: 100%;
justify-content: center;
padding: 16px 28px;
font-size: 16px;
} .jhf-form-error,
.jhf-form-info,
.jhf-form-success {
padding: 16px 20px;
border-radius: 12px;
font-size: 14px;
font-weight: 600;
line-height: 1.55;
margin-bottom: 24px;
display: flex;
align-items: flex-start;
gap: 8px;
}
.jhf-form-error {
background: rgba(220, 38, 38, 0.08);
color: #dc2626;
border: 1px solid rgba(220, 38, 38, 0.20);
}
.jhf-form-error::before { content: '⚠'; font-size: 16px; flex-shrink: 0; }
.jhf-form-info {
background: rgba(13, 29, 49, 0.06);
color: var(--jhf-text-strong);
border: 1px solid rgba(13, 29, 49, 0.15);
}
.jhf-form-info::before { content: 'ℹ'; font-size: 16px; flex-shrink: 0; }
.jhf-form-info a,
.jhf-form-info__link {
color: inherit;
text-decoration: underline;
font-weight: 700;
background: transparent;
border: none;
cursor: pointer;
font-family: inherit;
font-size: inherit;
padding: 0;
}
.jhf-form-success {
background: rgba(16, 185, 129, 0.08);
color: #047857;
border: 1px solid rgba(16, 185, 129, 0.25);
}
.jhf-form-success::before { content: '✓'; font-size: 16px; flex-shrink: 0; } .jhf-auth-form-footer {
margin-top: 32px;
padding-top: 24px;
border-top: 1px solid var(--jhf-border);
text-align: center;
font-size: 14px;
color: var(--jhf-text-muted);
}
.jhf-auth-form-footer a {
color: var(--jhf-secondary);
font-weight: 700;
text-decoration: none;
}
.jhf-auth-form-footer a:hover { text-decoration: underline; } .jhf-auth-already-logged {
max-width: 520px;
margin: 96px auto;
padding: 32px;
background: var(--jhf-surface-alt);
border-radius: 16px;
text-align: center;
}
.jhf-auth-already-logged a {
color: var(--jhf-secondary);
font-weight: 700;
margin-left: 8px;
} @media (max-width: 960px) {
.jhf-auth-layout { grid-template-columns: 1fr; }
.jhf-auth-brand { padding: 40px 24px; }
.jhf-auth-brand-logo { margin-bottom: 32px; }
.jhf-auth-features { display: none; }
.jhf-auth-brand-footer { display: none; }
.jhf-auth-form-side { padding: 40px 24px; }
}
@media (max-width: 640px) {
.jhf-form-row--split { grid-template-columns: 1fr; }
}  .jhf-shortcode:has(.jhf-auth-layout),
.entry-content:has(.jhf-auth-layout),
.elementor-widget-shortcode:has(.jhf-auth-layout),
.elementor-widget-container:has(.jhf-auth-layout) {
display: block;
min-height: 100vh;
}
.jhf-auth-layout {
min-height: 100vh;
width: 100%;
}
body.logged-in .jhf-auth-layout {
min-height: calc(100vh - 32px); }
@media (max-width: 782px) {
body.logged-in .jhf-auth-layout {
min-height: calc(100vh - 46px); }
} .jhf-auth-brand,
.jhf-auth-form-side {
min-height: 100%;
} body .jhf-auth-form-card .jhf-form-submit .jhf-button.jhf-button--primary.jhf-button--block,
body .jhf-auth-form-card button.jhf-button.jhf-button--primary.jhf-button--block {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
gap: 8px !important;
width: 100% !important;
padding: 16px 28px !important;
border-radius: 999px !important;
border: 2px solid var(--jhf-secondary) !important;
background: var(--jhf-secondary) !important;
background-color: var(--jhf-secondary) !important;
color: white !important;
font-family: var(--jhf-font-display) !important;
font-weight: 700 !important;
font-size: 16px !important;
line-height: 1 !important;
text-transform: none !important;
letter-spacing: 0 !important;
cursor: pointer !important;
transition: all .25s ease-out !important;
box-shadow: 0 4px 12px rgba(236, 0, 95, 0.20) !important;
min-height: auto !important;
text-decoration: none !important;
}
body .jhf-auth-form-card .jhf-form-submit .jhf-button.jhf-button--primary.jhf-button--block:hover,
body .jhf-auth-form-card button.jhf-button.jhf-button--primary.jhf-button--block:hover {
background: var(--jhf-secondary-soft) !important;
background-color: var(--jhf-secondary-soft) !important;
border-color: var(--jhf-secondary-soft) !important;
transform: translateY(-2px) !important;
box-shadow: 0 10px 40px rgba(13, 29, 49, 0.10) !important;
} body .jhf-form-input-wrapper button.jhf-input-icon-action,
body .jhf-form-input-wrapper button.jhf-input-icon-action:hover,
body .jhf-form-input-wrapper button.jhf-input-icon-action:focus,
body .jhf-form-input-wrapper button.jhf-input-icon-action:focus-visible,
body .jhf-form-input-wrapper button.jhf-input-icon-action:active {
position: absolute !important;
right: 12px !important;
top: 50% !important;
transform: translateY(-50%) !important;
width: 32px !important;
height: 32px !important;
padding: 0 !important;
margin: 0 !important;
background: transparent !important;
background-color: transparent !important;
border: none !important;
border-radius: 0 !important;
outline: none !important;
box-shadow: none !important;
color: var(--jhf-text-muted) !important;
display: grid !important;
place-items: center !important;
cursor: pointer !important;
font-size: 0 !important;
min-height: auto !important;
min-width: auto !important;
letter-spacing: 0 !important;
}
body .jhf-form-input-wrapper button.jhf-input-icon-action:hover {
color: var(--jhf-primary) !important;
}
body .jhf-form-input-wrapper button.jhf-input-icon-action svg {
width: 20px !important;
height: 20px !important;
display: block !important;
}   .jhf-next-event-card {
position: relative;
overflow: hidden;
background: var(--jhf-surface);
color: var(--jhf-text-strong);
border-radius: var(--jhf-radius-xl);
padding: var(--jhf-space-8);
box-shadow: var(--jhf-shadow-lg);
}
.jhf-next-event-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 6px;
background: var(--jhf-secondary);
}
.jhf-next-event-card__label {
display: inline-flex;
align-items: center;
gap: var(--jhf-space-2);
background: rgba(236, 0, 95, 0.10);
color: var(--jhf-secondary);
padding: 6px 14px;
border-radius: var(--jhf-radius-full);
font-family: var(--jhf-font-display);
font-size: var(--jhf-text-xs);
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1.5px;
margin-bottom: var(--jhf-space-6);
}
.jhf-next-event-card__label::before {
content: '';
width: 8px;
height: 8px;
background: var(--jhf-secondary);
border-radius: 50%;
}
.jhf-next-event-card__image {
position: relative;
width: 100%;
height: 180px;
background-size: cover;
background-position: center;
border-radius: var(--jhf-radius-md);
margin-bottom: var(--jhf-space-6);
}
.jhf-next-event-card__image::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(135deg, rgba(236, 0, 95, 0.40) 0%, rgba(13, 29, 49, 0.60) 100%);
border-radius: var(--jhf-radius-md);
}
.jhf-next-event-card__image--gradient {
background: linear-gradient(135deg, var(--jhf-secondary) 0%, var(--jhf-primary) 100%);
}
.jhf-next-event-card__image--gradient::after { content: none; }
.jhf-next-event-card__title {
font-family: var(--jhf-font-display);
font-size: var(--jhf-text-2xl);
font-weight: 800;
line-height: 1.15;
color: var(--jhf-text-strong);
margin: 0 0 var(--jhf-space-4);
}
.jhf-next-event-card__meta {
display: flex;
flex-wrap: wrap;
gap: var(--jhf-space-4);
margin-bottom: var(--jhf-space-6);
color: var(--jhf-text-muted);
font-size: var(--jhf-text-sm);
}
.jhf-next-event-card__meta span {
display: inline-flex;
align-items: center;
gap: 6px;
}
.jhf-next-event-card__stats {
display: flex;
gap: var(--jhf-space-6);
padding: var(--jhf-space-4) 0;
margin-bottom: var(--jhf-space-6);
border-top: 1px solid var(--jhf-border);
border-bottom: 1px solid var(--jhf-border);
}
.jhf-next-event-card__stat {
flex: 1;
text-align: center;
}
.jhf-next-event-card__stat strong {
display: block;
font-family: var(--jhf-font-display);
font-size: var(--jhf-text-2xl);
font-weight: 800;
color: var(--jhf-text-strong);
}
.jhf-next-event-card__stat span {
font-size: var(--jhf-text-xs);
color: var(--jhf-text-muted);
text-transform: uppercase;
letter-spacing: 1px;
}
.jhf-next-event-card__cta {
width: 100%;
} .jhf-editions-calendar__grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: var(--jhf-space-6);
}
.jhf-edition-card {
position: relative;
display: flex;
flex-direction: column;
gap: var(--jhf-space-4);
background: var(--jhf-surface);
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-lg);
padding: var(--jhf-space-6);
transition: transform .25s ease-out, box-shadow .25s ease-out, border-color .25s ease-out, opacity .25s ease-out;
}
.jhf-edition-card:hover {
transform: translateY(-4px);
box-shadow: var(--jhf-shadow-md);
border-color: transparent;
}
.jhf-edition-card.is-featured {
border-color: var(--jhf-secondary);
border-width: 2px;
}
.jhf-edition-card.is-past { opacity: 0.7; }
.jhf-edition-card.is-past:hover { opacity: 1; }
.jhf-edition-status {
align-self: flex-start;
font-family: var(--jhf-font-display);
font-size: var(--jhf-text-xs);
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1.5px;
padding: 4px 10px;
border-radius: var(--jhf-radius-full);
}
.jhf-edition-status--upcoming {
background: rgba(236, 0, 95, 0.10);
color: var(--jhf-secondary);
}
.jhf-edition-status--featured {
background: var(--jhf-secondary);
color: #fff;
}
.jhf-edition-status--past {
background: var(--jhf-surface-alt);
color: var(--jhf-text-muted);
}
.jhf-edition-card__title {
font-family: var(--jhf-font-display);
font-size: var(--jhf-text-xl);
font-weight: 800;
line-height: 1.15;
color: var(--jhf-text-strong);
margin: 0;
}
.jhf-edition-card__date {
font-size: var(--jhf-text-sm);
color: var(--jhf-text-muted);
font-weight: 600;
}
.jhf-edition-card__location {
font-size: var(--jhf-text-sm);
color: var(--jhf-text-strong);
font-weight: 500;
}
.jhf-edition-card__link {
margin-top: auto;
display: inline-flex;
align-items: center;
gap: 6px;
padding-top: var(--jhf-space-4);
color: var(--jhf-secondary);
font-family: var(--jhf-font-display);
font-weight: 700;
font-size: var(--jhf-text-sm);
text-decoration: none;
}
.jhf-edition-card__link::after {
content: '→';
transition: transform .25s ease-out;
}
.jhf-edition-card:hover .jhf-edition-card__link::after { transform: translateX(4px); } .jhf-logo-wall {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
gap: var(--jhf-space-6);
}
.jhf-logo-cell {
aspect-ratio: 16 / 9;
display: grid;
place-items: center;
background: var(--jhf-surface);
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-md);
padding: var(--jhf-space-6);
transition: transform .25s ease-out, box-shadow .25s ease-out, border-color .25s ease-out;
}
.jhf-logo-cell:hover {
border-color: var(--jhf-primary);
transform: translateY(-3px);
box-shadow: var(--jhf-shadow-sm);
}
.jhf-logo-cell img {
max-width: 100%;
max-height: 100%;
width: auto;
height: auto;
object-fit: contain;
}
.jhf-logo-placeholder {
font-family: var(--jhf-font-display);
font-weight: 800;
color: var(--jhf-text-muted);
font-size: var(--jhf-text-sm);
letter-spacing: 1px;
text-transform: uppercase;
text-align: center;
}  .jhf-home {
overflow-x: clip;
} .jhf-home-section {
padding: var(--jhf-space-16) 0;
background: var(--jhf-surface);
}
.jhf-home-section--alt {
background: var(--jhf-surface-alt);
} .jhf-button--ghost-light,
a.jhf-button--ghost-light:link,
a.jhf-button--ghost-light:visited,
button.jhf-button--ghost-light {
background: transparent;
color: #fff;
border-color: rgba(255, 255, 255, 0.4);
}
.jhf-button--ghost-light:hover,
a.jhf-button--ghost-light:hover,
a.jhf-button--ghost-light:focus,
button.jhf-button--ghost-light:hover {
background: transparent;
color: #fff;
border-color: #fff;
} .jhf-hero {
position: relative;
overflow: hidden;
background: var(--jhf-primary);
color: #fff;
padding: var(--jhf-space-16) 0; width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
}
.jhf-hero::before {
content: '';
position: absolute;
inset: 0;
background:
radial-gradient(ellipse at top right, rgba(236, 0, 95, 0.18) 0%, transparent 60%),
radial-gradient(ellipse at bottom left, rgba(236, 0, 95, 0.08) 0%, transparent 50%);
pointer-events: none;
}
.jhf-hero__inner {
position: relative;
display: grid;
grid-template-columns: 1fr;
gap: var(--jhf-space-12);
align-items: center;
}
.jhf-hero__text .jhf-eyebrow { display: inline-block; }
.jhf-hero__title {
font-family: var(--jhf-font-display);
font-size: clamp(40px, 6vw, 72px);
font-weight: 800;
line-height: 1.1;
letter-spacing: -0.01em;
color: #fff;
margin: 0 0 var(--jhf-space-6);
}
.jhf-hero__highlight {
color: var(--jhf-secondary);
display: inline-block;
}
.jhf-hero__lead {
font-size: var(--jhf-text-lg);
line-height: 1.6;
max-width: 640px;
color: var(--jhf-text-on-dark);
margin: 0 0 var(--jhf-space-8);
}
.jhf-hero__actions {
display: flex;
flex-wrap: wrap;
gap: var(--jhf-space-4);
} .jhf-about__grid {
display: grid;
grid-template-columns: 1fr;
gap: var(--jhf-space-12);
align-items: center;
}
.jhf-about__image {
position: relative;
height: 320px;
border-radius: var(--jhf-radius-xl);
overflow: hidden;
background: linear-gradient(135deg, var(--jhf-primary) 0%, var(--jhf-secondary) 120%);
order: -1;
}
.jhf-about__image::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(45deg, rgba(13, 29, 49, 0.2), transparent);
}
.jhf-about__text .jhf-eyebrow { display: inline-block; }
.jhf-about__title {
font-family: var(--jhf-font-display);
font-size: clamp(32px, 4vw, 48px);
font-weight: 800;
line-height: 1.15;
letter-spacing: -0.01em;
color: var(--jhf-primary);
margin: 0 0 var(--jhf-space-4);
}
.jhf-about__lead {
font-size: var(--jhf-text-lg);
line-height: 1.6;
color: var(--jhf-text);
margin: 0 0 var(--jhf-space-8);
}
.jhf-values-list {
display: flex;
flex-direction: column;
gap: var(--jhf-space-6);
}
.jhf-value-item {
display: flex;
gap: var(--jhf-space-6);
align-items: flex-start;
}
.jhf-value-icon {
flex-shrink: 0;
width: 48px;
height: 48px;
display: grid;
place-items: center;
background: var(--jhf-surface-alt);
border-radius: var(--jhf-radius-md);
color: var(--jhf-secondary);
font-family: var(--jhf-font-display);
font-size: var(--jhf-text-xl);
font-weight: 800;
}
.jhf-value-item__title {
font-family: var(--jhf-font-display);
font-size: var(--jhf-text-base);
font-weight: 700;
color: var(--jhf-text-strong);
margin: 0 0 4px;
}
.jhf-value-item__text {
font-size: var(--jhf-text-sm);
color: var(--jhf-text-muted);
margin: 0;
} .jhf-how__grid {
display: grid;
grid-template-columns: 1fr;
gap: var(--jhf-space-8);
margin-top: var(--jhf-space-8);
}
.jhf-how-column {
background: var(--jhf-surface);
border-radius: var(--jhf-radius-xl);
padding: var(--jhf-space-8);
box-shadow: var(--jhf-shadow-sm);
}
.jhf-how-column__header {
display: flex;
align-items: center;
gap: var(--jhf-space-4);
margin-bottom: var(--jhf-space-8);
padding-bottom: var(--jhf-space-6);
border-bottom: 2px solid var(--jhf-surface-alt);
}
.jhf-how-column__icon {
flex-shrink: 0;
width: 56px;
height: 56px;
display: grid;
place-items: center;
border-radius: var(--jhf-radius-md);
background: var(--jhf-primary);
color: #fff;
}
.jhf-how-column--companies .jhf-how-column__icon {
background: var(--jhf-secondary);
}
.jhf-how-column__icon .jhf-icon {
width: 26px;
height: 26px;
color: #fff;
}
.jhf-how-column__title {
font-family: var(--jhf-font-display);
font-size: var(--jhf-text-xl);
font-weight: 800;
color: var(--jhf-text-strong);
margin: 0;
}
.jhf-steps-list {
list-style: none;
counter-reset: jhf-step;
margin: 0;
padding: 0;
}
.jhf-step-item {
counter-increment: jhf-step;
display: flex;
gap: var(--jhf-space-6);
padding: var(--jhf-space-6) 0;
border-bottom: 1px solid var(--jhf-surface-alt);
}
.jhf-step-item:last-child {
border-bottom: none;
padding-bottom: 0;
}
.jhf-step-item::before {
content: counter(jhf-step);
flex-shrink: 0;
width: 36px;
height: 36px;
display: grid;
place-items: center;
border-radius: 50%;
background: var(--jhf-surface-alt);
color: var(--jhf-primary);
font-family: var(--jhf-font-display);
font-weight: 800;
font-size: var(--jhf-text-base);
}
.jhf-step-content__title {
font-family: var(--jhf-font-display);
font-size: var(--jhf-text-base);
font-weight: 700;
color: var(--jhf-text-strong);
margin: 0 0 4px;
}
.jhf-step-content__text {
font-size: var(--jhf-text-sm);
color: var(--jhf-text-muted);
margin: 0;
}  .jhf-home-companies .jhf-logo-wall {
margin-top: var(--jhf-space-8);
margin-bottom: var(--jhf-space-8);
display: flex;
flex-wrap: nowrap;
grid-template-columns: none;
overflow-x: auto;
gap: var(--jhf-space-4);
padding-bottom: var(--jhf-space-3);
scroll-snap-type: x proximity;
-webkit-overflow-scrolling: touch;
scrollbar-width: thin;
}
.jhf-home-companies .jhf-logo-cell {
flex: 0 0 auto;
width: 180px;
scroll-snap-align: start;
}
.jhf-home-companies .jhf-logo-wall::-webkit-scrollbar { height: 8px; }
.jhf-home-companies .jhf-logo-wall::-webkit-scrollbar-thumb { background: var(--jhf-border); border-radius: 999px; }
.jhf-home-companies .jhf-logo-wall::-webkit-scrollbar-track { background: transparent; }
@media (max-width: 640px) {
.jhf-home-companies .jhf-logo-cell { width: 150px; }
}
.jhf-companies-cta {
text-align: center;
} .jhf-home-partners__grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
gap: var(--jhf-space-6);
margin-top: var(--jhf-space-8);
}
.jhf-home-partners__cell {
aspect-ratio: 16 / 9;
display: grid;
place-items: center;
background: var(--jhf-surface);
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-md);
padding: var(--jhf-space-6);
}
.jhf-home-partners__cell img {
max-width: 100%;
max-height: 100%;
width: auto;
height: auto;
object-fit: contain;
} .jhf-hfaq__wrapper {
max-width: 820px;
}
.jhf-hfaq-list {
margin-top: var(--jhf-space-8);
display: flex;
flex-direction: column;
gap: var(--jhf-space-4);
}
.jhf-hfaq-item {
background: var(--jhf-surface);
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-md);
overflow: hidden;
transition: border-color .25s ease-out, box-shadow .25s ease-out;
}
.jhf-hfaq-item[open] {
border-color: var(--jhf-secondary);
box-shadow: var(--jhf-shadow-sm);
}
.jhf-hfaq-question {
display: flex;
justify-content: space-between;
align-items: center;
gap: var(--jhf-space-6);
padding: var(--jhf-space-6) var(--jhf-space-8);
font-family: var(--jhf-font-display);
font-size: var(--jhf-text-base);
font-weight: 700;
color: var(--jhf-primary);
cursor: pointer;
list-style: none;
}
.jhf-hfaq-question::-webkit-details-marker { display: none; }
.jhf-hfaq-question:focus-visible {
outline: 2px solid var(--jhf-secondary);
outline-offset: -2px;
}
.jhf-hfaq-toggle {
position: relative;
flex-shrink: 0;
width: 28px;
height: 28px;
border-radius: 50%;
background: var(--jhf-surface-alt);
transition: background-color .25s ease-out, transform .25s ease-out;
}
.jhf-hfaq-toggle::before,
.jhf-hfaq-toggle::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
background: currentColor;
transform: translate(-50%, -50%);
}
.jhf-hfaq-toggle::before { width: 12px; height: 2px; }
.jhf-hfaq-toggle::after  { width: 2px; height: 12px; }
.jhf-hfaq-item[open] .jhf-hfaq-toggle {
background: var(--jhf-secondary);
color: #fff;
transform: rotate(45deg);
}
.jhf-hfaq-answer {
padding: 0 var(--jhf-space-8) var(--jhf-space-6);
color: var(--jhf-text-muted);
font-size: var(--jhf-text-sm);
line-height: 1.7;
} .jhf-final-cta {
position: relative;
overflow: hidden;
background: var(--jhf-secondary);
color: #fff;
padding: var(--jhf-space-16) 0;
text-align: center; width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
}
.jhf-final-cta::before {
content: '';
position: absolute;
inset: 0;
background:
radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.1) 0%, transparent 40%),
radial-gradient(circle at 80% 70%, rgba(13, 29, 49, 0.15) 0%, transparent 40%);
pointer-events: none;
}
.jhf-final-cta__inner {
position: relative;
max-width: 720px;
}
.jhf-final-cta .jhf-eyebrow { display: inline-block; }
.jhf-final-cta__title {
font-family: var(--jhf-font-display);
font-size: clamp(32px, 4vw, 48px);
font-weight: 800;
line-height: 1.15;
color: #fff;
margin: 0 0 var(--jhf-space-4);
}
.jhf-final-cta__text {
font-size: var(--jhf-text-lg);
color: rgba(255, 255, 255, 0.9);
margin: 0 0 var(--jhf-space-8);
}
.jhf-final-cta .jhf-button--secondary {
background: #fff;
color: var(--jhf-secondary);
border-color: #fff;
}
.jhf-final-cta .jhf-button--secondary:hover {
background: var(--jhf-primary);
color: #fff;
border-color: var(--jhf-primary);
} @media (max-width: 640px) {
.jhf-hero__actions .jhf-button,
.jhf-final-cta .jhf-button {
width: 100%;
}
}
@media (min-width: 768px) {
.jhf-how__grid {
grid-template-columns: 1fr 1fr;
}
.jhf-about__image {
height: 480px;
}
}
@media (min-width: 1024px) {
.jhf-hero {
padding: var(--jhf-space-24) 0 var(--jhf-space-16);
}
.jhf-hero__inner {
grid-template-columns: 1.1fr 0.9fr;
gap: var(--jhf-space-24);
}
.jhf-about__grid {
grid-template-columns: 1fr 1fr;
gap: var(--jhf-space-24);
}
.jhf-about__image {
order: 0;
}
} .jhf-hfaq-*).
Immagini Unsplash dei mockup sostituite da placeholder a gradiente brand.
Full-bleed con width:100vw; margin-left:calc(50% - 50vw). Breakpoint 640/768/960/1024.
============================================================ */
.jhf-progetto,
.jhf-contatti,
.jhf-blog,
.jhf-article {
overflow-x: clip;
} .jhf-section-header--on-dark .jhf-section-header__title { color: #fff; }
.jhf-section-header--on-dark .jhf-section-header__paragraph { color: rgba(255, 255, 255, 0.72); } .jhf-page-hero {
position: relative;
overflow: hidden;
width: 100vw;
margin-left: calc(50% - 50vw);
background: var(--jhf-primary);
color: #fff;
padding: var(--jhf-space-24) 0 var(--jhf-space-16);
}
.jhf-page-hero::before {
content: '';
position: absolute;
inset: 0;
background:
radial-gradient(ellipse at top right, rgba(236, 0, 95, 0.18) 0%, transparent 55%),
radial-gradient(ellipse at bottom left, rgba(236, 0, 95, 0.06) 0%, transparent 50%);
pointer-events: none;
}
.jhf-page-hero__inner { position: relative; max-width: 820px; }
.jhf-page-hero .jhf-eyebrow { display: inline-block; margin-bottom: var(--jhf-space-4); }
.jhf-page-hero__title {
color: #fff;
font-family: var(--jhf-font-display);
font-weight: 800;
line-height: 1.12;
letter-spacing: -0.01em;
font-size: clamp(2.5rem, 6vw, 4.5rem);
margin: 0 0 var(--jhf-space-6);
}
.jhf-page-hero__lead {
color: rgba(255, 255, 255, 0.85);
font-size: clamp(1.125rem, 2vw, 1.375rem);
line-height: 1.6;
max-width: 720px;
margin: 0;
} .jhf-story__grid {
display: grid;
grid-template-columns: 1fr;
gap: var(--jhf-space-12);
align-items: center;
}
.jhf-story__text .jhf-eyebrow { display: block; margin-bottom: var(--jhf-space-4); }
.jhf-story__title {
font-family: var(--jhf-font-display);
font-weight: 800;
font-size: clamp(2rem, 4vw, 3rem);
line-height: 1.15;
letter-spacing: -0.01em;
color: var(--jhf-primary);
margin: 0 0 var(--jhf-space-6);
}
.jhf-story__p {
color: var(--jhf-text);
font-size: var(--jhf-text-base);
line-height: 1.7;
margin: 0 0 var(--jhf-space-4);
}
.jhf-story__p:last-child { margin-bottom: 0; }
.jhf-story__p strong { color: var(--jhf-primary); font-weight: 700; }
.jhf-story__media {
position: relative;
border-radius: var(--jhf-radius-xl);
overflow: hidden;
aspect-ratio: 16 / 9;
background-size: cover;
background-position: center;
}
figure.jhf-story__media { margin: 0; }
.jhf-story__img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
}
.jhf-story__media--placeholder {
background:
radial-gradient(circle at 30% 20%, rgba(236, 0, 95, 0.35) 0%, transparent 55%),
linear-gradient(135deg, var(--jhf-primary) 0%, var(--jhf-primary-soft) 100%);
} .jhf-mission__inner {
max-width: 880px;
margin: 0 auto;
text-align: center;
}
.jhf-mission__inner .jhf-eyebrow { display: inline-block; margin-bottom: var(--jhf-space-4); }
.jhf-mission__quote {
font-family: var(--jhf-font-display);
font-weight: 800;
font-size: clamp(1.75rem, 3.5vw, 2.625rem);
line-height: 1.3;
letter-spacing: -0.01em;
color: var(--jhf-primary);
margin: 0 0 var(--jhf-space-8);
}
.jhf-mission__accent { color: var(--jhf-secondary); }
.jhf-mission__signature {
display: inline-flex;
align-items: center;
gap: var(--jhf-space-4);
color: var(--jhf-text-muted);
font-size: var(--jhf-text-sm);
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1.5px;
}
.jhf-mission__signature::before {
content: '';
display: inline-block;
width: 40px;
height: 2px;
background: var(--jhf-secondary);
} .jhf-values__grid {
display: grid;
grid-template-columns: 1fr;
gap: var(--jhf-space-6);
}
.jhf-value-card {
display: flex;
flex-direction: column;
gap: var(--jhf-space-6);
background: var(--jhf-surface);
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-xl);
padding: var(--jhf-space-12);
transition: transform .2s ease-out, box-shadow .2s ease-out, border-color .2s ease-out;
}
.jhf-value-card:hover {
transform: translateY(-6px);
box-shadow: var(--jhf-shadow-md);
border-color: transparent;
}
.jhf-value-card__num {
display: inline-flex;
align-items: center;
gap: var(--jhf-space-4);
font-size: var(--jhf-text-sm);
font-weight: 800;
letter-spacing: 2px;
color: var(--jhf-secondary);
text-transform: uppercase;
}
.jhf-value-card__num::after {
content: '';
flex: 1;
height: 2px;
background: var(--jhf-surface-alt);
}
.jhf-value-card__title {
font-family: var(--jhf-font-display);
font-weight: 800;
font-size: 1.625rem;
line-height: 1.2;
color: var(--jhf-primary);
margin: 0;
}
.jhf-value-card__text {
font-size: var(--jhf-text-base);
line-height: 1.65;
color: var(--jhf-text);
margin: 0;
} .jhf-team__grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: var(--jhf-space-8);
}
.jhf-team-card {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
gap: var(--jhf-space-3);
}
.jhf-team-card__photo {
width: 160px;
height: 160px;
border-radius: 50%;
overflow: hidden;
background-size: cover;
background-position: center;
border: 4px solid #fff;
box-shadow: var(--jhf-shadow-sm);
transition: transform .2s ease-out, box-shadow .2s ease-out;
}
.jhf-team-card:hover .jhf-team-card__photo {
transform: translateY(-4px) scale(1.03);
box-shadow: var(--jhf-shadow-md);
}
.jhf-team-card__photo--placeholder {
display: grid;
place-items: center;
color: #fff;
font-family: var(--jhf-font-display);
font-weight: 800;
font-size: 2.5rem;
background:
radial-gradient(circle at 30% 25%, rgba(236, 0, 95, 0.5) 0%, transparent 60%),
linear-gradient(135deg, var(--jhf-primary) 0%, var(--jhf-primary-soft) 100%);
}
.jhf-team-card__name {
font-family: var(--jhf-font-display);
font-weight: 800;
font-size: 1.125rem;
color: var(--jhf-primary);
margin: var(--jhf-space-2) 0 0;
}
.jhf-team-card__role {
font-size: var(--jhf-text-xs);
text-transform: uppercase;
letter-spacing: 1.5px;
color: var(--jhf-secondary);
font-weight: 700;
}
.jhf-team-card__bio {
font-size: var(--jhf-text-sm);
line-height: 1.55;
color: var(--jhf-text-muted);
max-width: 220px;
margin: 0;
} .jhf-impact {
position: relative;
width: 100vw;
margin-left: calc(50% - 50vw);
background: var(--jhf-primary);
color: #fff;
padding: var(--jhf-space-24) 0;
}
.jhf-impact > .jhf-container { position: relative; }
.jhf-impact__stats {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: var(--jhf-space-8);
margin-bottom: var(--jhf-space-16);
}
.jhf-impact__stat { text-align: center; padding: var(--jhf-space-4); }
.jhf-impact__stat strong {
display: block;
font-family: var(--jhf-font-display);
font-weight: 900;
font-size: clamp(3rem, 6vw, 5rem);
line-height: 1;
letter-spacing: -0.03em;
color: var(--jhf-secondary);
margin-bottom: var(--jhf-space-2);
}
.jhf-impact__stat span {
font-size: var(--jhf-text-sm);
text-transform: uppercase;
letter-spacing: 1.5px;
color: rgba(255, 255, 255, 0.7);
font-weight: 600;
}
.jhf-impact__map {
display: grid;
grid-template-columns: 1fr;
gap: var(--jhf-space-16);
align-items: center;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: var(--jhf-radius-xl);
padding: var(--jhf-space-12);
}
.jhf-impact__map-text h3 {
font-family: var(--jhf-font-display);
font-weight: 800;
font-size: 1.75rem;
color: #fff;
margin: 0 0 var(--jhf-space-4);
}
.jhf-impact__map-text p {
color: rgba(255, 255, 255, 0.75);
font-size: var(--jhf-text-base);
line-height: 1.6;
margin: 0 0 var(--jhf-space-6);
}
.jhf-impact__cities { display: flex; flex-direction: column; gap: var(--jhf-space-4); }
.jhf-impact__city {
display: flex;
align-items: center;
gap: var(--jhf-space-4);
padding: var(--jhf-space-4) var(--jhf-space-6);
background: rgba(255, 255, 255, 0.04);
border-radius: var(--jhf-radius-md);
border-left: 3px solid var(--jhf-secondary);
}
.jhf-impact__city-name { font-weight: 700; color: #fff; }
.jhf-impact__city-meta { font-size: var(--jhf-text-sm); color: rgba(255, 255, 255, 0.55); margin-left: auto; }
.jhf-impact__map-svg { display: grid; place-items: center; }
.jhf-lazio-map {
width: 100%;
height: auto;
max-height: 480px;
font-family: var(--jhf-font-display);
} .jhf-testimonials__grid {
display: grid;
grid-template-columns: 1fr;
gap: var(--jhf-space-6);
}
.jhf-testimonial-card {
position: relative;
display: flex;
flex-direction: column;
gap: var(--jhf-space-6);
background: var(--jhf-surface);
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-xl);
padding: var(--jhf-space-12);
}
.jhf-testimonial-card::before {
content: '\201C';
position: absolute;
top: var(--jhf-space-4);
right: var(--jhf-space-6);
font-family: Georgia, serif;
font-size: 96px;
font-weight: 900;
line-height: 1;
color: var(--jhf-secondary);
opacity: 0.18;
}
.jhf-testimonial-card__quote {
position: relative;
color: var(--jhf-primary);
font-size: var(--jhf-text-base);
line-height: 1.65;
font-weight: 500;
margin: 0;
}
.jhf-testimonial-card__author {
display: flex;
align-items: center;
gap: var(--jhf-space-4);
padding-top: var(--jhf-space-6);
margin-top: auto;
border-top: 1px solid var(--jhf-surface-alt);
}
.jhf-testimonial-card__avatar {
width: 48px;
height: 48px;
border-radius: 50%;
overflow: hidden;
flex-shrink: 0;
background-size: cover;
background-position: center;
}
.jhf-testimonial-card__avatar--placeholder {
display: grid;
place-items: center;
color: #fff;
font-family: var(--jhf-font-display);
font-weight: 800;
font-size: 1rem;
background: linear-gradient(135deg, var(--jhf-primary) 0%, var(--jhf-primary-soft) 100%);
}
.jhf-testimonial-card__name { font-weight: 800; color: var(--jhf-primary); font-size: var(--jhf-text-sm); }
.jhf-testimonial-card__role { font-size: var(--jhf-text-xs); color: var(--jhf-text-muted); } .jhf-final-cta__actions {
display: flex;
gap: var(--jhf-space-4);
justify-content: center;
flex-wrap: wrap;
} .jhf-contact-split {
display: grid;
grid-template-columns: 1fr;
gap: var(--jhf-space-12);
align-items: start;
} .jhf-contact-form-card {
background: var(--jhf-surface);
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-xl);
padding: var(--jhf-space-12);
box-shadow: var(--jhf-shadow-sm);
}
.jhf-contact-form-card__title {
font-family: var(--jhf-font-display);
font-weight: 800;
font-size: 2rem;
color: var(--jhf-primary);
margin: 0 0 var(--jhf-space-4);
}
.jhf-contact-form-card__intro {
color: var(--jhf-text-muted);
font-size: var(--jhf-text-base);
margin: 0 0 var(--jhf-space-8);
}
.jhf-contact-form__grid {
display: grid;
grid-template-columns: 1fr;
gap: var(--jhf-space-6);
}
.jhf-form-row { display: flex; flex-direction: column; gap: 6px; }
.jhf-form-row--full { grid-column: 1 / -1; }
.jhf-form-row label,
.jhf-form-label {
font-size: var(--jhf-text-xs);
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1.5px;
color: var(--jhf-text-muted);
}
.jhf-req { color: var(--jhf-secondary); }
.jhf-input,
.jhf-select,
.jhf-textarea {
width: 100%;
padding: 14px 18px;
border-radius: var(--jhf-radius-md);
border: 2px solid var(--jhf-border);
background: var(--jhf-surface-alt);
font-family: inherit;
font-size: var(--jhf-text-sm);
color: var(--jhf-primary);
outline: none;
transition: border-color .2s ease-out, background .2s ease-out, box-shadow .2s ease-out;
}
.jhf-input::placeholder,
.jhf-textarea::placeholder { color: var(--jhf-text-muted); }
.jhf-input:focus,
.jhf-select:focus,
.jhf-textarea:focus {
border-color: var(--jhf-primary);
background: var(--jhf-surface);
box-shadow: 0 0 0 4px rgba(13, 29, 49, 0.06);
}
.jhf-textarea { min-height: 140px; resize: vertical; line-height: 1.5; }
.jhf-select {
appearance: none;
-webkit-appearance: none;
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23768499' d='M6 8L0 0h12z'/></svg>");
background-repeat: no-repeat;
background-position: right 18px center;
padding-right: 44px;
} .jhf-reqpills {
display: flex;
flex-wrap: wrap;
gap: var(--jhf-space-2);
margin-top: 6px;
}
.jhf-reqpill { display: inline-flex; cursor: pointer; }
.jhf-reqpill input {
position: absolute;
opacity: 0;
width: 1px;
height: 1px;
pointer-events: none;
}
.jhf-reqpill span {
display: inline-block;
padding: 10px 18px;
border-radius: var(--jhf-radius-full);
background: var(--jhf-surface-alt);
border: 2px solid transparent;
font-size: var(--jhf-text-sm);
font-weight: 600;
color: var(--jhf-primary);
transition: background .2s ease-out, color .2s ease-out, border-color .2s ease-out;
}
.jhf-reqpill:hover span { background: var(--jhf-border); }
.jhf-reqpill input:checked + span {
background: var(--jhf-primary);
color: #fff;
border-color: var(--jhf-primary);
}
.jhf-reqpill input:focus-visible + span {
outline: 2px solid var(--jhf-secondary);
outline-offset: 2px;
}
.jhf-checkbox-row {
display: flex;
align-items: flex-start;
gap: var(--jhf-space-4);
padding: var(--jhf-space-6);
background: var(--jhf-surface-alt);
border-radius: var(--jhf-radius-md);
}
.jhf-checkbox-row input[type="checkbox"] {
width: 22px;
height: 22px;
flex-shrink: 0;
margin-top: 2px;
accent-color: var(--jhf-secondary);
cursor: pointer;
}
.jhf-checkbox-row label {
font-size: var(--jhf-text-sm);
line-height: 1.55;
color: var(--jhf-primary);
text-transform: none;
letter-spacing: 0;
font-weight: 500;
cursor: pointer;
}
.jhf-checkbox-row a { color: var(--jhf-secondary); font-weight: 700; text-decoration: underline; }
.jhf-button--block { width: 100%; justify-content: center; padding: 16px 28px; font-size: 1rem; }
.jhf-form-actions { gap: 0; }
.jhf-form-note {
margin-top: var(--jhf-space-4);
font-size: var(--jhf-text-xs);
color: var(--jhf-text-muted);
text-align: center;
}
.jhf-form-note a { color: var(--jhf-secondary); font-weight: 700; } .jhf-form-notice {
display: flex;
align-items: center;
gap: var(--jhf-space-3);
padding: var(--jhf-space-4) var(--jhf-space-6);
border-radius: var(--jhf-radius-md);
margin-bottom: var(--jhf-space-6);
font-size: var(--jhf-text-sm);
font-weight: 600;
}
.jhf-form-notice--success { background: rgba(16, 122, 87, 0.1); color: #0f7a57; border: 1px solid rgba(16, 122, 87, 0.25); }
.jhf-form-notice--error { background: rgba(236, 0, 95, 0.08); color: var(--jhf-secondary-dark); border: 1px solid rgba(236, 0, 95, 0.25); }
.jhf-form-notice .jhf-icon { width: 20px; height: 20px; flex-shrink: 0; } .jhf-hp-field {
position: absolute !important;
left: -9999px !important;
width: 1px;
height: 1px;
overflow: hidden;
} .jhf-channels { display: flex; flex-direction: column; gap: var(--jhf-space-6); }
.jhf-channel-card {
display: flex;
flex-direction: column;
gap: var(--jhf-space-2);
background: var(--jhf-surface);
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-lg);
padding: var(--jhf-space-8);
transition: transform .2s ease-out, box-shadow .2s ease-out, border-color .2s ease-out;
}
a.jhf-channel-card:hover {
border-color: var(--jhf-secondary);
transform: translateY(-3px);
box-shadow: var(--jhf-shadow-sm);
}
.jhf-channel-card__icon {
width: 44px;
height: 44px;
border-radius: var(--jhf-radius-md);
background: rgba(236, 0, 95, 0.1);
color: var(--jhf-secondary);
display: grid;
place-items: center;
margin-bottom: var(--jhf-space-4);
}
.jhf-channel-card__icon .jhf-icon { width: 22px; height: 22px; }
.jhf-channel-card__label {
font-size: var(--jhf-text-sm);
text-transform: uppercase;
letter-spacing: 1.5px;
color: var(--jhf-text-muted);
font-weight: 700;
margin: 0;
}
.jhf-channel-card__value {
font-size: var(--jhf-text-lg);
font-weight: 800;
color: var(--jhf-primary);
word-break: break-word;
}
.jhf-channel-card__desc { font-size: var(--jhf-text-sm); color: var(--jhf-text-muted); margin: 4px 0 0; }
.jhf-channel-card--social { background: var(--jhf-primary); }
.jhf-channel-card--social .jhf-channel-card__label { color: rgba(255, 255, 255, 0.7); }
.jhf-channel-card--social .jhf-channel-card__value { color: #fff; }
.jhf-channel-card--social .jhf-channel-card__icon { background: rgba(255, 255, 255, 0.1); color: #fff; }
.jhf-channel-card__social { display: flex; gap: var(--jhf-space-4); margin-top: var(--jhf-space-4); }
.jhf-channel-social-link {
flex: 1;
padding: 12px;
background: rgba(255, 255, 255, 0.08);
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: var(--jhf-radius-md);
color: #fff;
font-weight: 700;
font-size: var(--jhf-text-xs);
text-align: center;
transition: background .2s ease-out, border-color .2s ease-out;
}
.jhf-channel-social-link:hover { background: var(--jhf-secondary); border-color: var(--jhf-secondary); } .jhf-location__block {
display: grid;
grid-template-columns: 1fr;
background: var(--jhf-surface);
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-xl);
overflow: hidden;
}
.jhf-location__info {
display: flex;
flex-direction: column;
gap: var(--jhf-space-4);
padding: var(--jhf-space-12);
}
.jhf-location__place {
font-family: var(--jhf-font-display);
font-weight: 800;
font-size: 1.75rem;
color: var(--jhf-primary);
margin: 0;
}
.jhf-location__address { font-size: var(--jhf-text-base); color: var(--jhf-text-muted); line-height: 1.5; }
.jhf-location__meta {
display: flex;
flex-direction: column;
gap: var(--jhf-space-4);
border-top: 1px solid var(--jhf-border);
padding-top: var(--jhf-space-4);
}
.jhf-location__meta-row {
display: flex;
justify-content: space-between;
align-items: center;
gap: var(--jhf-space-4);
padding: 4px 0;
}
.jhf-location__meta-label {
color: var(--jhf-text-muted);
text-transform: uppercase;
letter-spacing: 1.5px;
font-size: var(--jhf-text-xs);
font-weight: 700;
}
.jhf-location__meta-value { color: var(--jhf-primary); font-weight: 700; font-size: var(--jhf-text-sm); }
.jhf-location__cta { margin-top: var(--jhf-space-4); align-self: flex-start; }
.jhf-location__map {
min-height: 300px;
position: relative;
background: var(--jhf-surface-alt);
display: grid;
place-items: center;
}
.jhf-location__map-grid {
width: 100%;
height: 100%;
display: grid;
place-items: center;
background:
linear-gradient(135deg, rgba(236, 0, 95, 0.06) 0%, transparent 50%),
repeating-linear-gradient(0deg, rgba(13, 29, 49, 0.04) 0px, rgba(13, 29, 49, 0.04) 1px, transparent 1px, transparent 30px),
repeating-linear-gradient(90deg, rgba(13, 29, 49, 0.04) 0px, rgba(13, 29, 49, 0.04) 1px, transparent 1px, transparent 30px),
var(--jhf-surface-alt);
}
.jhf-location__pin {
position: relative;
width: 56px;
height: 56px;
background: var(--jhf-secondary);
border-radius: 50% 50% 50% 0;
transform: rotate(-45deg);
box-shadow: 0 8px 24px rgba(236, 0, 95, 0.4);
}
.jhf-location__pin::after {
content: '';
position: absolute;
inset: -10px;
border: 2px solid var(--jhf-secondary);
border-radius: 50%;
opacity: 0.4;
animation: jhf-pin-ping 2s infinite;
}
@keyframes jhf-pin-ping {
0% { transform: scale(0.8); opacity: 0.6; }
100% { transform: scale(2); opacity: 0; }
} .jhf-cfaq__wrapper { max-width: 820px; }
.jhf-cfaq-list {
display: flex;
flex-direction: column;
gap: var(--jhf-space-4);
}
.jhf-cfaq-item {
background: var(--jhf-surface);
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-md);
padding: 0 var(--jhf-space-6);
transition: box-shadow .2s ease-out, border-color .2s ease-out;
}
.jhf-cfaq-item[open] {
border-color: rgba(236, 0, 95, 0.35);
box-shadow: var(--jhf-shadow-sm);
}
.jhf-cfaq-question {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--jhf-space-4);
padding: var(--jhf-space-6) 0;
cursor: pointer;
list-style: none;
font-family: var(--jhf-font-display);
font-size: var(--jhf-text-lg);
font-weight: 700;
color: var(--jhf-primary);
}
.jhf-cfaq-question::-webkit-details-marker { display: none; }
.jhf-cfaq-question:focus-visible {
outline: 2px solid var(--jhf-secondary);
outline-offset: 2px;
border-radius: var(--jhf-radius-sm);
}
.jhf-cfaq-toggle {
position: relative;
width: 20px;
height: 20px;
flex-shrink: 0;
}
.jhf-cfaq-toggle::before,
.jhf-cfaq-toggle::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: var(--jhf-secondary);
transition: transform .2s ease-out, opacity .2s ease-out;
}
.jhf-cfaq-toggle::before { width: 12px; height: 2px; }
.jhf-cfaq-toggle::after  { width: 2px; height: 12px; }
.jhf-cfaq-item[open] .jhf-cfaq-toggle::after { transform: translate(-50%, -50%) rotate(90deg); opacity: 0; }
.jhf-cfaq-answer {
padding: 0 0 var(--jhf-space-6);
font-size: var(--jhf-text-base);
line-height: 1.7;
color: var(--jhf-text);
} @media (max-width: 640px) {
.jhf-final-cta__actions .jhf-button,
.jhf-page-hero__actions .jhf-button { width: 100%; }
}
@media (min-width: 768px) {
.jhf-values__grid { grid-template-columns: repeat(3, 1fr); }
.jhf-impact__stats { grid-template-columns: repeat(4, 1fr); }
.jhf-contact-form__grid { grid-template-columns: 1fr 1fr; }
.jhf-testimonials__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 960px) {
.jhf-story__grid { grid-template-columns: 1fr 1fr; gap: var(--jhf-space-24); }
.jhf-story__media { aspect-ratio: 4 / 3; }
.jhf-impact__map { grid-template-columns: 1fr 1.2fr; }
.jhf-contact-split { grid-template-columns: 1.4fr 1fr; gap: var(--jhf-space-16); }
.jhf-location__block { grid-template-columns: 1fr 1fr; }
.jhf-location__map { min-height: 380px; }
}  .jhf-cover-ph {
background: linear-gradient(135deg, var(--jhf-primary) 0%, var(--jhf-primary-soft) 100%);
}
.jhf-cover-ph.img-1 { background: linear-gradient(135deg, #0D1D31 0%, #1a2d4a 100%); }
.jhf-cover-ph.img-2 { background: linear-gradient(135deg, #12233b 0%, #EC005F 160%); }
.jhf-cover-ph.img-3 { background: linear-gradient(160deg, #0D1D31 0%, #33324f 100%); }
.jhf-cover-ph.img-4 { background: linear-gradient(135deg, #1a2d4a 0%, #0D1D31 100%); }
.jhf-cover-ph.img-5 { background: linear-gradient(120deg, #0D1D31 0%, #7a1140 130%); }
.jhf-cover-ph.img-6 { background: linear-gradient(150deg, #14243d 0%, #1a2d4a 100%); }
.jhf-cover-ph.img-7 { background: linear-gradient(135deg, #0D1D31 20%, #3a2b45 120%); }
.jhf-cover-ph.img-8 { background: linear-gradient(135deg, #1a2d4a 0%, #EC005F 180%); }
.jhf-cover-ph.img-9 { background: linear-gradient(160deg, #0D1D31 0%, #24344d 100%); } .jhf-article-avatar--placeholder {
display: grid;
place-items: center;
color: #fff;
font-family: var(--jhf-font-display);
font-weight: 800;
background: linear-gradient(135deg, var(--jhf-primary) 0%, var(--jhf-primary-soft) 100%);
} .jhf-cat-bar {
background: var(--jhf-surface);
border-bottom: 1px solid var(--jhf-border);
padding: var(--jhf-space-4) 0;
position: sticky;
top: 0;
z-index: 40;
}
.jhf-cat-bar__inner { display: flex; gap: var(--jhf-space-4); align-items: center; flex-wrap: wrap; }
.jhf-cat-pill {
padding: 7px 16px;
border-radius: var(--jhf-radius-full);
background: var(--jhf-surface-alt);
border: 1px solid transparent;
font-size: var(--jhf-text-sm);
font-weight: 600;
color: var(--jhf-primary);
transition: background .2s ease-out, color .2s ease-out, border-color .2s ease-out;
}
.jhf-cat-pill:hover { background: var(--jhf-border); }
.jhf-cat-pill.is-active { background: var(--jhf-primary); color: #fff; border-color: var(--jhf-primary); } .jhf-section-title-row {
display: flex;
justify-content: space-between;
align-items: flex-end;
gap: var(--jhf-space-4);
flex-wrap: wrap;
margin-bottom: var(--jhf-space-8);
}
.jhf-section-title-row h2 {
font-family: var(--jhf-font-display);
font-weight: 800;
font-size: clamp(1.75rem, 3.5vw, 2.5rem);
color: var(--jhf-primary);
margin: 0;
}
.jhf-section-meta { color: var(--jhf-text-muted); font-size: var(--jhf-text-sm); font-weight: 600; } .jhf-article-cat {
display: inline-block;
font-size: var(--jhf-text-xs);
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1.5px;
color: var(--jhf-secondary);
align-self: flex-start;
} .jhf-featured-article {
display: grid;
grid-template-columns: 1fr;
background: var(--jhf-surface);
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-xl);
overflow: hidden;
box-shadow: var(--jhf-shadow-md);
transition: transform .2s ease-out, box-shadow .2s ease-out, border-color .2s ease-out;
}
.jhf-featured-article:hover {
transform: translateY(-4px);
box-shadow: var(--jhf-shadow-lg);
border-color: transparent;
}
.jhf-featured-article__image {
position: relative;
min-height: 260px;
background-size: cover;
background-position: center;
}
.jhf-featured-pill {
position: absolute;
top: var(--jhf-space-4);
left: var(--jhf-space-4);
background: var(--jhf-secondary);
color: #fff;
padding: 6px 14px;
border-radius: var(--jhf-radius-full);
font-size: var(--jhf-text-xs);
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1.5px;
}
.jhf-featured-article__content {
display: flex;
flex-direction: column;
justify-content: center;
gap: var(--jhf-space-4);
padding: var(--jhf-space-12);
}
.jhf-featured-article__title {
font-family: var(--jhf-font-display);
font-weight: 800;
font-size: clamp(1.75rem, 3vw, 2.5rem);
line-height: 1.2;
color: var(--jhf-primary);
margin: 0;
}
.jhf-featured-article__excerpt { font-size: var(--jhf-text-base); line-height: 1.65; color: var(--jhf-text-muted); margin: 0; } .jhf-article-meta {
display: flex;
align-items: center;
gap: var(--jhf-space-4);
padding-top: var(--jhf-space-4);
margin-top: var(--jhf-space-2);
border-top: 1px solid var(--jhf-surface-alt);
}
.jhf-article-avatar {
width: 40px;
height: 40px;
border-radius: 50%;
overflow: hidden;
flex-shrink: 0;
font-size: 0.85rem;
background-size: cover;
background-position: center;
}
.jhf-article-meta__info { display: flex; flex-direction: column; gap: 2px; }
.jhf-article-author-name { font-weight: 700; font-size: var(--jhf-text-sm); color: var(--jhf-primary); }
.jhf-article-meta__dates { font-size: var(--jhf-text-xs); color: var(--jhf-text-muted); display: flex; gap: 8px; align-items: center; }
.jhf-article-meta__dates .jhf-dot { color: var(--jhf-border); } .jhf-articles-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: var(--jhf-space-6);
}
.jhf-article-card {
display: flex;
flex-direction: column;
background: var(--jhf-surface);
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-lg);
overflow: hidden;
transition: transform .2s ease-out, box-shadow .2s ease-out, border-color .2s ease-out;
}
.jhf-article-card:hover {
transform: translateY(-4px);
box-shadow: var(--jhf-shadow-md);
border-color: transparent;
}
.jhf-article-card__image {
width: 100%;
height: 200px;
background-size: cover;
background-position: center;
}
.jhf-article-card__content {
display: flex;
flex-direction: column;
gap: var(--jhf-space-4);
padding: var(--jhf-space-4) var(--jhf-space-8) var(--jhf-space-8);
flex: 1;
}
.jhf-article-card__title {
font-family: var(--jhf-font-display);
font-weight: 800;
font-size: 1.25rem;
line-height: 1.25;
color: var(--jhf-primary);
margin: 0;
}
.jhf-article-card__excerpt {
font-size: var(--jhf-text-sm);
line-height: 1.55;
color: var(--jhf-text-muted);
margin: 0;
display: -webkit-box;
-webkit-line-clamp: 3;
line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
}
.jhf-article-card__meta {
display: flex;
justify-content: space-between;
align-items: center;
gap: var(--jhf-space-2);
font-size: var(--jhf-text-xs);
color: var(--jhf-text-muted);
padding-top: var(--jhf-space-4);
margin-top: auto;
border-top: 1px solid var(--jhf-surface-alt);
}
.jhf-read-time { font-weight: 700; color: var(--jhf-primary); }
.jhf-blog-empty { text-align: center; color: var(--jhf-text-muted); padding: var(--jhf-space-16) 0; } .jhf-pagination {
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
gap: var(--jhf-space-2);
margin-top: var(--jhf-space-16);
}
.jhf-pagination .page-numbers {
min-width: 40px;
height: 40px;
padding: 0 var(--jhf-space-4);
border-radius: var(--jhf-radius-md);
border: 1px solid var(--jhf-border);
background: transparent;
color: var(--jhf-primary);
font-weight: 700;
font-size: var(--jhf-text-sm);
display: inline-flex;
align-items: center;
justify-content: center;
transition: border-color .2s ease-out, background .2s ease-out, color .2s ease-out;
}
.jhf-pagination a.page-numbers:hover { border-color: var(--jhf-primary); }
.jhf-pagination .page-numbers.current { background: var(--jhf-primary); color: #fff; border-color: var(--jhf-primary); }
.jhf-pagination .page-numbers.dots { border-color: transparent; } .jhf-newsletter-cta {
position: relative;
overflow: hidden;
background: var(--jhf-primary);
color: #fff;
border-radius: var(--jhf-radius-xl);
padding: var(--jhf-space-24) var(--jhf-space-12);
text-align: center;
}
.jhf-newsletter-cta::before {
content: '';
position: absolute;
inset: 0;
background:
radial-gradient(circle at 15% 30%, rgba(236, 0, 95, 0.2) 0%, transparent 50%),
radial-gradient(circle at 85% 70%, rgba(236, 0, 95, 0.1) 0%, transparent 50%);
}
.jhf-newsletter-cta__inner { position: relative; max-width: 580px; margin: 0 auto; }
.jhf-newsletter-cta .jhf-eyebrow { display: inline-block; margin-bottom: var(--jhf-space-4); }
.jhf-newsletter-cta__title {
font-family: var(--jhf-font-display);
font-weight: 800;
font-size: clamp(1.75rem, 3.5vw, 2.5rem);
color: #fff;
margin: 0 0 var(--jhf-space-4);
}
.jhf-newsletter-cta__text { color: rgba(255, 255, 255, 0.8); margin: 0 0 var(--jhf-space-8); }
.jhf-newsletter-notice {
max-width: 460px;
margin: 0 auto var(--jhf-space-6);
padding: var(--jhf-space-3) var(--jhf-space-4);
border-radius: var(--jhf-radius-md);
font-size: var(--jhf-text-sm);
font-weight: 600;
}
.jhf-newsletter-notice--ok { background: rgba(255, 255, 255, 0.12); color: #fff; }
.jhf-newsletter-notice--err { background: rgba(236, 0, 95, 0.2); color: #fff; }
.jhf-newsletter-form { display: flex; gap: var(--jhf-space-4); max-width: 460px; margin: 0 auto; }
.jhf-newsletter-input {
flex: 1;
padding: 14px 20px;
border-radius: var(--jhf-radius-full);
border: 2px solid rgba(255, 255, 255, 0.2);
background: rgba(255, 255, 255, 0.08);
color: #fff;
font-family: inherit;
font-size: var(--jhf-text-sm);
outline: none;
transition: border-color .2s ease-out, background .2s ease-out;
}
.jhf-newsletter-input::placeholder { color: rgba(255, 255, 255, 0.5); }
.jhf-newsletter-input:focus { border-color: var(--jhf-secondary); background: rgba(255, 255, 255, 0.12); } .jhf-reading-progress {
position: fixed;
top: 0;
left: 0;
width: 0;
height: 3px;
background: var(--jhf-secondary);
z-index: 1000;
transition: width .05s linear;
}
.jhf-container-narrow {
max-width: 720px;
margin: 0 auto;
padding: 0 var(--jhf-space-6);
}
.jhf-article-header { padding: var(--jhf-space-16) 0 var(--jhf-space-8); background: var(--jhf-surface); }
.jhf-article-breadcrumb {
display: inline-flex;
color: var(--jhf-text-muted);
font-size: var(--jhf-text-xs);
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1.5px;
margin-bottom: var(--jhf-space-8);
}
.jhf-article-breadcrumb a { transition: color .2s ease-out; }
.jhf-article-breadcrumb a:hover { color: var(--jhf-secondary); }
.jhf-article-cat-pill {
display: inline-block;
color: var(--jhf-secondary);
font-size: var(--jhf-text-xs);
font-weight: 700;
text-transform: uppercase;
letter-spacing: 2px;
margin-bottom: var(--jhf-space-4);
}
.jhf-article-title {
font-family: var(--jhf-font-display);
font-weight: 800;
font-size: clamp(2.25rem, 5.5vw, 3.75rem);
line-height: 1.1;
letter-spacing: -0.02em;
color: var(--jhf-primary);
margin: 0 0 var(--jhf-space-4);
}
.jhf-article-deck {
font-size: 1.3125rem;
color: var(--jhf-text-muted);
line-height: 1.5;
font-weight: 500;
margin: 0 0 var(--jhf-space-8);
}
.jhf-article-meta-row {
display: flex;
align-items: center;
gap: var(--jhf-space-4);
padding: var(--jhf-space-4) 0;
border-top: 1px solid var(--jhf-border);
border-bottom: 1px solid var(--jhf-border);
}
.jhf-article-author-block { display: flex; align-items: center; gap: var(--jhf-space-4); }
.jhf-article-author-avatar {
width: 48px;
height: 48px;
border-radius: 50%;
overflow: hidden;
flex-shrink: 0;
font-size: 1rem;
}
.jhf-article-author-info { display: flex; flex-direction: column; gap: 2px; }
.jhf-article-author-info .jhf-name { font-weight: 800; font-size: var(--jhf-text-sm); color: var(--jhf-primary); }
.jhf-article-author-info .jhf-role { font-size: var(--jhf-text-xs); color: var(--jhf-text-muted); text-transform: uppercase; letter-spacing: 1px; }
.jhf-article-dates {
margin-left: auto;
display: flex;
gap: var(--jhf-space-4);
font-size: var(--jhf-text-xs);
color: var(--jhf-text-muted);
font-weight: 600;
}
.jhf-article-share { display: flex; gap: var(--jhf-space-2); }
.jhf-share-btn {
width: 36px;
height: 36px;
border-radius: 50%;
background: var(--jhf-surface-alt);
color: var(--jhf-text-muted);
display: grid;
place-items: center;
transition: background .2s ease-out, color .2s ease-out, transform .2s ease-out;
}
.jhf-share-btn:hover { background: var(--jhf-secondary); color: #fff; transform: translateY(-2px); }
.jhf-share-btn .jhf-icon { width: 16px; height: 16px; }
.jhf-article-cover {
width: 100%;
aspect-ratio: 16 / 9;
background-size: cover;
background-position: center;
border-radius: var(--jhf-radius-xl);
margin: var(--jhf-space-4) 0 var(--jhf-space-24);
box-shadow: var(--jhf-shadow-md);
} .jhf-article-body {
--jhf-font-serif: 'Lora', Georgia, serif;
font-family: var(--jhf-font-serif);
font-size: 1.1875rem;
line-height: 1.75;
color: #2A3441;
max-width: 720px;
margin: 0 auto;
padding: 0 var(--jhf-space-6);
}
.jhf-article-body p { font-family: inherit; font-size: inherit; color: inherit; margin: 0 0 var(--jhf-space-6); }
.jhf-article-body > p:first-of-type::first-letter {
font-family: var(--jhf-font-display);
font-size: 72px;
font-weight: 700;
line-height: 0.9;
float: left;
margin: 6px 12px 0 0;
color: var(--jhf-secondary);
}
.jhf-article-body h2 {
font-family: var(--jhf-font-display);
font-weight: 800;
font-size: 2rem;
letter-spacing: -0.01em;
color: var(--jhf-primary);
margin: var(--jhf-space-16) 0 var(--jhf-space-6);
}
.jhf-article-body h3 {
font-family: var(--jhf-font-display);
font-weight: 800;
font-size: 1.5rem;
color: var(--jhf-primary);
margin: var(--jhf-space-8) 0 var(--jhf-space-4);
}
.jhf-article-body a {
color: var(--jhf-secondary);
text-decoration: underline;
text-decoration-thickness: 1.5px;
text-underline-offset: 3px;
font-weight: 600;
transition: color .2s ease-out;
}
.jhf-article-body a:hover { color: var(--jhf-secondary-soft); }
.jhf-article-body strong { color: var(--jhf-primary); font-weight: 700; }
.jhf-article-body em { font-style: italic; }
.jhf-article-body ul,
.jhf-article-body ol { margin: var(--jhf-space-6) 0; padding-left: var(--jhf-space-8); }
.jhf-article-body li { margin-bottom: var(--jhf-space-4); }
.jhf-article-body ul li::marker { color: var(--jhf-secondary); }
.jhf-article-body ol li::marker { color: var(--jhf-secondary); font-weight: 700; font-family: var(--jhf-font-display); }
.jhf-article-body img,
.jhf-article-body figure img { width: 100%; height: auto; border-radius: var(--jhf-radius-lg); }
.jhf-article-body figure { margin: var(--jhf-space-16) 0; }
.jhf-article-body figure figcaption,
.jhf-article-body .inline-image .caption {
font-family: var(--jhf-font-display);
font-size: var(--jhf-text-xs);
color: var(--jhf-text-muted);
text-align: center;
font-style: italic;
line-height: 1.5;
padding: var(--jhf-space-2) var(--jhf-space-4) 0;
} .jhf-article-body blockquote,
.jhf-article-body .pull-quote {
margin: var(--jhf-space-16) 0;
padding: var(--jhf-space-8);
border-left: 4px solid var(--jhf-secondary);
border-radius: 0 var(--jhf-radius-lg) var(--jhf-radius-lg) 0;
background: var(--jhf-surface-alt);
font-family: var(--jhf-font-display);
font-weight: 700;
font-size: 1.625rem;
line-height: 1.35;
letter-spacing: -0.01em;
color: var(--jhf-primary);
}
.jhf-article-body blockquote p { font-family: inherit; color: inherit; margin: 0; } .jhf-article-body .callout-box {
background: var(--jhf-primary);
color: #fff;
padding: var(--jhf-space-8);
border-radius: var(--jhf-radius-lg);
margin: var(--jhf-space-16) 0;
font-family: var(--jhf-font-display);
}
.jhf-article-body .callout-box .callout-label {
display: block;
font-size: var(--jhf-text-xs);
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1.5px;
color: var(--jhf-secondary);
margin-bottom: var(--jhf-space-4);
}
.jhf-article-body .callout-box h4 { color: #fff; font-size: 1.375rem; margin: 0 0 var(--jhf-space-4); }
.jhf-article-body .callout-box p { color: rgba(255, 255, 255, 0.85); font-family: var(--jhf-font-display); font-size: 1rem; margin: 0; }
.jhf-article-body .callout-box a { color: #fff; font-weight: 700; } .jhf-article-footer {
max-width: 720px;
margin: var(--jhf-space-24) auto 0;
padding: var(--jhf-space-16) var(--jhf-space-6) 0;
border-top: 1px solid var(--jhf-border);
}
.jhf-article-tags { display: flex; flex-wrap: wrap; gap: var(--jhf-space-2); }
.jhf-article-tag {
background: var(--jhf-surface-alt);
color: var(--jhf-primary);
font-size: var(--jhf-text-sm);
font-weight: 600;
padding: 7px 14px;
border-radius: var(--jhf-radius-full);
transition: background .2s ease-out, color .2s ease-out;
}
.jhf-article-tag:hover { background: var(--jhf-primary); color: #fff; } .jhf-author-card {
max-width: 720px;
margin: var(--jhf-space-24) auto;
padding: var(--jhf-space-12);
background: var(--jhf-surface-alt);
border-radius: var(--jhf-radius-xl);
display: grid;
grid-template-columns: 1fr;
gap: var(--jhf-space-8);
align-items: center;
text-align: center;
}
.jhf-author-card__avatar {
width: 100px;
height: 100px;
border-radius: 50%;
overflow: hidden;
font-size: 2rem;
margin: 0 auto;
}
.jhf-author-card .jhf-eyebrow { display: inline-block; margin-bottom: 6px; }
.jhf-author-card__name { font-family: var(--jhf-font-display); font-weight: 800; font-size: 1.5rem; color: var(--jhf-primary); margin: 0 0 6px; }
.jhf-author-card__role {
display: block;
font-size: var(--jhf-text-xs);
color: var(--jhf-secondary);
text-transform: uppercase;
letter-spacing: 1.5px;
font-weight: 700;
margin-bottom: var(--jhf-space-4);
}
.jhf-author-card__bio { font-size: var(--jhf-text-sm); line-height: 1.6; color: var(--jhf-text); margin: 0 0 var(--jhf-space-4); }
.jhf-author-card__link { color: var(--jhf-secondary); font-weight: 700; font-size: var(--jhf-text-xs); text-transform: uppercase; letter-spacing: 1.5px; } .jhf-related__grid {
display: grid;
grid-template-columns: 1fr;
gap: var(--jhf-space-6);
}
.jhf-related-card {
display: flex;
flex-direction: column;
background: var(--jhf-surface);
border: 1px solid var(--jhf-border);
border-radius: var(--jhf-radius-lg);
overflow: hidden;
transition: transform .2s ease-out, box-shadow .2s ease-out, border-color .2s ease-out;
}
.jhf-related-card:hover { transform: translateY(-4px); box-shadow: var(--jhf-shadow-md); border-color: transparent; }
.jhf-related-card__image { width: 100%; height: 180px; background-size: cover; background-position: center; }
.jhf-related-card__content { display: flex; flex-direction: column; gap: var(--jhf-space-4); padding: var(--jhf-space-6); flex: 1; }
.jhf-related-card__cat { font-size: var(--jhf-text-xs); color: var(--jhf-secondary); text-transform: uppercase; letter-spacing: 1.5px; font-weight: 700; }
.jhf-related-card__title { font-family: var(--jhf-font-display); font-weight: 800; font-size: 1.125rem; line-height: 1.3; color: var(--jhf-primary); margin: 0; }
.jhf-related-card__meta { margin-top: auto; padding-top: var(--jhf-space-4); border-top: 1px solid var(--jhf-surface-alt); font-size: var(--jhf-text-xs); color: var(--jhf-text-muted); } .jhf-read-cta { margin-top: 0; }
@media (min-width: 640px) {
.jhf-container-narrow { padding: 0 var(--jhf-space-6); }
}
@media (min-width: 768px) {
.jhf-author-card { grid-template-columns: auto 1fr; text-align: left; }
.jhf-author-card__avatar { margin: 0; }
}
@media (min-width: 960px) {
.jhf-featured-article { grid-template-columns: 1.2fr 1fr; }
.jhf-featured-article__image { min-height: 380px; }
.jhf-related__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
.jhf-article-body { font-size: 1.0625rem; }
.jhf-article-body > p:first-of-type::first-letter { font-size: 56px; }
.jhf-newsletter-form { flex-direction: column; }
.jhf-article-meta-row { flex-wrap: wrap; }
.jhf-article-dates, .jhf-article-share { margin-left: 0; }
} .jhf-page,
main.jhf-page { overflow-x: clip; }  .jhf-eyebrow { color: var(--jhf-secondary-dark, #C7004F); }
.jhf-eyebrow--on-dark { color: rgba(255, 255, 255, 0.9); }
.jhf-edition-status--upcoming { color: var(--jhf-secondary-dark, #C7004F); }
.jhf-edition-card__link { color: var(--jhf-secondary-dark, #C7004F); } .jhf-edition-status--featured { background: var(--jhf-secondary-dark, #C7004F); } .jhf-edition-card.is-past { opacity: 0.85; }  body.jhf-fixed-header .jhf-page-hero { padding-top: 200px; }
@media (max-width: 640px) {
body.jhf-fixed-header .jhf-page-hero { padding-top: 160px; }
} body.jhf-fixed-header .jhf-hero { padding-top: 200px; }
@media (max-width: 640px) {
body.jhf-fixed-header .jhf-hero { padding-top: 160px; }
} .jhf-legal__body { padding: var(--jhf-space-16) 0 var(--jhf-space-24); }
.jhf-legal-content {
max-width: 820px;
margin: 0 auto;
color: var(--jhf-text, #435469);
font-size: 1.0625rem;
line-height: 1.75;
}
.jhf-legal-content > h1:first-child { display: none; } .jhf-legal-content h2 {
font-family: var(--jhf-font-display);
color: var(--jhf-primary, #0D1D31);
font-weight: 800;
font-size: 1.5rem;
line-height: 1.25;
margin: 2.5rem 0 0.75rem;
}
.jhf-legal-content h3 {
font-family: var(--jhf-font-display);
color: var(--jhf-primary, #0D1D31);
font-weight: 700;
font-size: 1.2rem;
margin: 2rem 0 0.5rem;
}
.jhf-legal-content p { margin: 0 0 1.1rem; }
.jhf-legal-content ul,
.jhf-legal-content ol { margin: 0 0 1.1rem; padding-left: 1.4rem; }
.jhf-legal-content li { margin: 0 0 0.4rem; }
.jhf-legal-content a { color: var(--jhf-secondary, #EC005F); font-weight: 600; }
.jhf-legal-content a:hover { text-decoration: underline; }
.jhf-legal-content strong { color: var(--jhf-primary, #0D1D31); }   .jhf-storico__body { padding: var(--jhf-space-16) 0 var(--jhf-space-24); }
.jhf-storico-ed {
background: #fff;
border: 1px solid var(--jhf-border, #E5E7EB);
border-radius: var(--jhf-radius-lg, 16px);
box-shadow: var(--jhf-shadow-sm, 0 6px 24px rgba(13,29,49,0.06));
overflow: hidden;
margin: 0 0 var(--jhf-space-8, 2rem);
}
.jhf-storico-ed__head {
background: linear-gradient(90deg, var(--jhf-primary, #0D1D31), var(--jhf-primary-dark, #1a2d4a));
color: #fff;
padding: 1.25rem 1.75rem;
}
.jhf-storico-ed__title {
font-family: var(--jhf-font-display);
font-weight: 800;
font-size: 1.35rem;
line-height: 1.2;
margin: 0;
color: #fff;
}
.jhf-storico-ed__meta { margin: 0.35rem 0 0; font-size: 0.9rem; color: rgba(255,255,255,0.75); }
.jhf-storico-block { padding: 1.25rem 1.75rem; border-top: 1px solid var(--jhf-border, #E5E7EB); }
.jhf-storico-block:first-of-type { border-top: 0; }
.jhf-storico-block__title {
font-family: var(--jhf-font-display);
color: var(--jhf-primary, #0D1D31);
font-weight: 700;
font-size: 0.8rem;
text-transform: uppercase;
letter-spacing: 0.06em;
margin: 0 0 0.9rem;
display: flex;
align-items: center;
gap: 0.6rem;
}
.jhf-storico-count {
background: var(--jhf-secondary, #EC005F);
color: #fff;
border-radius: var(--jhf-radius-full, 999px);
padding: 0.1rem 0.6rem;
font-size: 0.75rem;
font-weight: 800;
letter-spacing: 0;
}
.jhf-storico-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.jhf-storico-chip {
background: var(--jhf-surface-alt, #F7F8FA);
border: 1px solid var(--jhf-border, #E5E7EB);
border-radius: var(--jhf-radius-full, 999px);
padding: 0.35rem 0.8rem;
font-size: 0.85rem;
color: var(--jhf-text, #435469);
}
.jhf-storico-chip--sp {
background: #fff0f6;
border-color: #ffc9df;
color: #a30046;
font-weight: 600;
}
.jhf-storico-patrocini {
padding: 1rem 1.75rem 1.35rem;
margin: 0;
font-size: 0.9rem;
color: var(--jhf-muted, #5B6572);
}
.jhf-storico-patrocini strong { color: var(--jhf-primary, #0D1D31); }
@media (max-width: 640px) {
.jhf-storico-ed__head,
.jhf-storico-block { padding-left: 1.15rem; padding-right: 1.15rem; }
.jhf-storico-patrocini { padding-left: 1.15rem; padding-right: 1.15rem; }
} .jhf-storico-wall {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
gap: 0.75rem;
}
.jhf-storico-logo {
margin: 0;
background: #fff;
border: 1px solid var(--jhf-border, #E5E7EB);
border-radius: var(--jhf-radius-md, 12px);
min-height: 92px;
display: flex;
align-items: center;
justify-content: center;
padding: 0.85rem 1rem;
transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.jhf-storico-logo:hover {
box-shadow: var(--jhf-shadow-sm, 0 6px 20px rgba(13,29,49,0.08));
border-color: #d3dae4;
transform: translateY(-2px);
}
.jhf-storico-logo img {
max-width: 100%;
max-height: 62px;
width: auto;
height: auto;
object-fit: contain;
display: block;
}
.jhf-storico-logo--sp {
background: #fff;
border-color: #ffd9e8;
}
.jhf-storico-logo--text {
font-family: var(--jhf-font-display);
font-weight: 700;
color: var(--jhf-primary, #0D1D31);
font-size: 0.95rem;
text-align: center;
}
.jhf-storico-logo--text figcaption { margin: 0; }
@media (max-width: 640px) {
.jhf-storico-wall { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 0.6rem; }
.jhf-storico-logo { min-height: 78px; padding: 0.6rem 0.7rem; }
.jhf-storico-logo img { max-height: 50px; }
}     .jhf-companies-archive-card__logo {
width: auto;
max-width: 180px;
height: 54px;
background: transparent !important;
background-color: transparent !important;
border: 0;
border-radius: 0;
display: flex;
align-items: center;
justify-content: flex-start;
flex-shrink: 0;
overflow: hidden;
}
.jhf-companies-archive-card__logo img {
width: auto;
height: auto;
max-width: 180px;
max-height: 54px;
object-fit: contain;
object-position: left center;
display: block;
}
.jhf-companies-archive-card__initials { text-align: left; } .jhf-adh { max-width: 880px; margin: 0 auto; padding: var(--jhf-space-12) var(--jhf-space-6) var(--jhf-space-16); font-family: var(--jhf-font-body); color: var(--jhf-text); }
.jhf-adh__header { margin-bottom: var(--jhf-space-8); }
.jhf-adh__title { font-family: var(--jhf-font-display); font-size: var(--jhf-text-3xl); font-weight: 900; line-height: 1.15; color: var(--jhf-text-strong); margin: 0 0 var(--jhf-space-3); }
.jhf-adh__lead { font-size: var(--jhf-text-lg); color: var(--jhf-text-strong); margin: 0 0 var(--jhf-space-2); }
.jhf-adh__patronage { font-size: var(--jhf-text-sm); color: var(--jhf-text-muted); margin: 0; }
.jhf-adh__intro { font-size: var(--jhf-text-base); margin: 0 0 var(--jhf-space-8); }
.jhf-adh__sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.jhf-adh__hp { position: absolute !important; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.jhf-adh__section { border: 1px solid var(--jhf-border); border-radius: var(--jhf-radius-lg); background: var(--jhf-surface); padding: var(--jhf-space-6); margin: 0 0 var(--jhf-space-6); box-shadow: var(--jhf-shadow-sm); min-width: 0; }
.jhf-adh__section > legend { display: flex; align-items: center; gap: var(--jhf-space-3); font-family: var(--jhf-font-display); font-size: var(--jhf-text-xl); font-weight: 800; color: var(--jhf-text-strong); padding: 0 var(--jhf-space-2); }
.jhf-adh__step { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: var(--jhf-radius-full); background: var(--jhf-primary); color: #fff; font-size: var(--jhf-text-sm); font-weight: 700; }
.jhf-adh__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--jhf-space-4) var(--jhf-space-6); }
.jhf-adh__full { grid-column: 1 / -1; }
.jhf-adh__field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.jhf-adh__field > label, .jhf-adh__radios-label { font-weight: 700; font-size: var(--jhf-text-sm); color: var(--jhf-text-strong); margin: 0; }
.jhf-adh__req { color: var(--jhf-secondary); margin-left: 2px; }
.jhf-adh__help, .jhf-adh__note { font-size: var(--jhf-text-sm); color: var(--jhf-text-muted); margin: 0; line-height: 1.5; }
.jhf-adh__note { margin-bottom: var(--jhf-space-4); }
.jhf-adh input[type="text"], .jhf-adh input[type="email"], .jhf-adh input[type="tel"], .jhf-adh input[type="url"], .jhf-adh input[type="number"], .jhf-adh select {
width: 100%; min-height: 48px; padding: 10px 14px; font: inherit; font-size: 16px; color: var(--jhf-text-strong);
background: var(--jhf-surface); border: 1px solid var(--jhf-text-muted); border-radius: var(--jhf-radius-sm); box-sizing: border-box;
}
.jhf-adh input[type="file"] { font: inherit; font-size: var(--jhf-text-sm); padding: var(--jhf-space-3); border: 1px dashed var(--jhf-text-muted); border-radius: var(--jhf-radius-sm); background: var(--jhf-surface-alt); }
.jhf-adh input:focus-visible, .jhf-adh select:focus-visible { outline: 3px solid var(--jhf-secondary); outline-offset: 1px; border-color: var(--jhf-primary); }
.jhf-adh .jhf-sector-select-wrap { display: flex; width: 100%; }
.jhf-adh .jhf-sector-select { max-width: none; width: 100%; appearance: none; padding-right: 40px; }
.jhf-adh .has-error input, .jhf-adh .has-error select, .jhf-adh input[aria-invalid="true"], .jhf-adh select[aria-invalid="true"] { border: 2px solid var(--jhf-error); }
.jhf-adh__error { color: var(--jhf-error); font-size: var(--jhf-text-sm); font-weight: 700; margin: 0; }
.jhf-adh__error::before { content: "\26A0\00A0"; }
.jhf-adh__summary { border: 2px solid var(--jhf-error); border-radius: var(--jhf-radius-md); background: #fef2f2; padding: var(--jhf-space-4) var(--jhf-space-6); margin: 0 0 var(--jhf-space-6); }
.jhf-adh__summary:focus { outline: 3px solid var(--jhf-secondary); outline-offset: 2px; }
.jhf-adh__summary h2 { font-size: var(--jhf-text-lg); color: #991b1b; margin: 0 0 var(--jhf-space-2); }
.jhf-adh__summary ul { margin: 0; padding-left: 1.2em; }
.jhf-adh__summary a { color: #991b1b; font-weight: 700; }
.jhf-adh__summary p { margin: var(--jhf-space-2) 0 0; font-size: var(--jhf-text-sm); }
.jhf-adh__profile { border: 1px dashed var(--jhf-border); border-radius: var(--jhf-radius-md); padding: var(--jhf-space-4); margin: 0 0 var(--jhf-space-4); min-width: 0; }
.jhf-adh__profile[hidden] { display: none; }
.jhf-adh__profile-title { font-weight: 800; color: var(--jhf-text-strong); padding: 0 var(--jhf-space-2); }
.jhf-adh__add[hidden] { display: none; }
.jhf-adh__check { display: grid; grid-template-columns: 24px 1fr; gap: 4px var(--jhf-space-3); align-items: start; margin: var(--jhf-space-4) 0 0; }
.jhf-adh__check input[type="checkbox"] { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--jhf-secondary); }
.jhf-adh__check label { font-size: var(--jhf-text-sm); line-height: 1.55; color: var(--jhf-text); }
.jhf-adh__check label a { color: var(--jhf-secondary-dark); font-weight: 700; }
.jhf-adh__check .jhf-adh__error { grid-column: 2; }
.jhf-adh__fee { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px var(--jhf-space-4); background: var(--jhf-surface-alt); border-radius: var(--jhf-radius-md); padding: var(--jhf-space-4); margin: 0 0 var(--jhf-space-4); }
.jhf-adh__fee-label { margin: 0; font-weight: 700; color: var(--jhf-text-strong); }
.jhf-adh__fee-amount { margin: 0; font-family: var(--jhf-font-display); font-size: var(--jhf-text-2xl); font-weight: 900; color: var(--jhf-text-strong); }
.jhf-adh__fee-note { margin: 0; flex-basis: 100%; font-size: var(--jhf-text-sm); color: var(--jhf-text-muted); }
.jhf-adh__radios { display: flex; flex-direction: column; gap: var(--jhf-space-3); margin: 0 0 var(--jhf-space-3); }
.jhf-adh__radio { display: grid; grid-template-columns: 24px 1fr; gap: var(--jhf-space-3); align-items: start; border: 1px solid var(--jhf-text-muted); border-radius: var(--jhf-radius-md); padding: var(--jhf-space-3) var(--jhf-space-4); }
.jhf-adh__radio:has(input:checked) { border: 2px solid var(--jhf-secondary); }
.jhf-adh__radio input { width: 20px; height: 20px; margin: 3px 0 0; accent-color: var(--jhf-secondary); }
.jhf-adh__radio label { color: var(--jhf-text-strong); }
.jhf-adh__radio-note { display: block; font-size: var(--jhf-text-sm); color: var(--jhf-text-muted); }
.jhf-adh__submit { display: flex; justify-content: flex-end; }
.jhf-adh__panel { border: 1px solid var(--jhf-border); border-radius: var(--jhf-radius-lg); background: var(--jhf-surface); padding: var(--jhf-space-8); box-shadow: var(--jhf-shadow-sm); }
.jhf-adh__panel--success { border-left: 4px solid var(--jhf-success); }
.jhf-adh__panel h2 { font-family: var(--jhf-font-display); font-size: var(--jhf-text-2xl); color: var(--jhf-text-strong); margin: 0 0 var(--jhf-space-4); }
.jhf-adh__panel a { color: var(--jhf-secondary-dark); font-weight: 700; }
.jhf-adh__pay-form { display: flex; flex-wrap: wrap; gap: var(--jhf-space-3); margin-top: var(--jhf-space-4); }
.jhf-adh__bank { display: grid; grid-template-columns: max-content 1fr; gap: var(--jhf-space-2) var(--jhf-space-6); margin: var(--jhf-space-4) 0; padding: var(--jhf-space-4); background: var(--jhf-surface-alt); border-radius: var(--jhf-radius-md); }
.jhf-adh__bank dt { color: var(--jhf-text-muted); }
.jhf-adh__bank dd { margin: 0; font-weight: 700; color: var(--jhf-text-strong); word-break: break-word; }
.jhf-adh__mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: 0.02em; }
@media (max-width: 640px) {
.jhf-adh { padding: var(--jhf-space-8) var(--jhf-space-4) var(--jhf-space-12); }
.jhf-adh__grid { grid-template-columns: 1fr; }
.jhf-adh__section { padding: var(--jhf-space-4); }
.jhf-adh__bank { grid-template-columns: 1fr; }
.jhf-adh__submit .jhf-button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
.jhf-adh .jhf-button { transition: none; }
.jhf-adh .jhf-button:hover { transform: none; }
} figure.jhf-about__image { margin: 0; background: var(--jhf-primary); }
.jhf-about__image .jhf-about__image-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.jhf-edition-feature {
grid-column: 1 / -1;
position: relative;
display: grid;
grid-template-columns: minmax(220px, 30%) 1fr auto;
align-items: stretch;
background:
radial-gradient(circle at 100% 0%, rgba(236, 0, 95, 0.28) 0%, transparent 45%),
linear-gradient(135deg, var(--jhf-primary) 0%, var(--jhf-primary-soft) 100%);
color: var(--jhf-text-on-dark);
border-radius: var(--jhf-radius-xl);
overflow: hidden;
box-shadow: var(--jhf-shadow-lg);
border-left: 6px solid var(--jhf-secondary);
transition: transform .25s ease-out, box-shadow .25s ease-out;
}
.jhf-edition-feature:hover { transform: translateY(-4px); box-shadow: var(--jhf-shadow-pink); }
.jhf-edition-feature__media { position: relative; min-height: 240px; }
.jhf-edition-feature__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.jhf-edition-feature__media::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(90deg, transparent 55%, rgba(13, 29, 49, 0.55) 100%);
pointer-events: none;
}
.jhf-edition-feature__media .jhf-edition-status {
position: absolute;
top: var(--jhf-space-4);
left: var(--jhf-space-4);
z-index: 1;
box-shadow: var(--jhf-shadow-pink);
}
.jhf-edition-feature__body {
padding: var(--jhf-space-8) var(--jhf-space-8) var(--jhf-space-8) var(--jhf-space-8);
display: flex;
flex-direction: column;
justify-content: center;
gap: var(--jhf-space-4);
min-width: 0;
}
.jhf-edition-feature__countdown {
margin: 0;
font-family: var(--jhf-font-display);
font-size: var(--jhf-text-sm);
font-weight: 800;
letter-spacing: var(--jhf-eyebrow-tracking);
text-transform: uppercase;
color: var(--jhf-secondary-soft);
}
.jhf-edition-feature__title {
margin: 0;
font-family: var(--jhf-font-display);
font-size: clamp(1.625rem, 2.6vw, 2.25rem);
font-weight: 900;
line-height: 1.1;
}
.jhf-edition-feature__title a { color: #fff; text-decoration: none; }
.jhf-edition-feature__title a:hover { text-decoration: underline; text-decoration-color: var(--jhf-secondary); text-underline-offset: 4px; }
.jhf-edition-feature__title a:focus-visible { outline: 2px solid var(--jhf-secondary-soft); outline-offset: 4px; border-radius: 4px; }
.jhf-edition-feature__meta {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-wrap: wrap;
gap: var(--jhf-space-2) var(--jhf-space-6);
font-size: var(--jhf-text-sm);
font-weight: 600;
}
.jhf-edition-feature__meta li { display: inline-flex; align-items: center; gap: var(--jhf-space-2); }
.jhf-edition-feature__meta .jhf-icon { color: var(--jhf-secondary-soft); }
.jhf-edition-feature__stats {
margin: 0;
display: flex;
flex-wrap: wrap;
gap: var(--jhf-space-8);
padding-top: var(--jhf-space-4);
border-top: 1px solid rgba(255, 255, 255, 0.14);
}
.jhf-edition-feature__stats div { display: flex; flex-direction: column-reverse; }
.jhf-edition-feature__stats dt { font-size: var(--jhf-text-xs); text-transform: uppercase; letter-spacing: 1px; color: rgba(255, 255, 255, 0.75); }
.jhf-edition-feature__stats dd { margin: 0; font-family: var(--jhf-font-display); font-size: var(--jhf-text-2xl); font-weight: 900; color: #fff; line-height: 1.1; }
.jhf-edition-feature__actions {
display: flex;
flex-direction: column;
justify-content: center;
gap: var(--jhf-space-3);
padding: var(--jhf-space-8) var(--jhf-space-8) var(--jhf-space-8) 0;
}
.jhf-edition-feature__actions .jhf-button { white-space: nowrap; box-sizing: border-box; max-width: 100%; }
@media (max-width: 1099px) {
.jhf-edition-feature { grid-template-columns: minmax(220px, 34%) 1fr; }
.jhf-edition-feature__actions {
grid-column: 2;
flex-direction: row;
flex-wrap: wrap;
padding: 0 var(--jhf-space-8) var(--jhf-space-8);
}
}
@media (max-width: 699px) {
.jhf-edition-feature { grid-template-columns: 1fr; border-left: 0; border-top: 6px solid var(--jhf-secondary); }
.jhf-edition-feature__media { min-height: 200px; }
.jhf-edition-feature__media::after { background: linear-gradient(180deg, transparent 50%, rgba(13, 29, 49, 0.55) 100%); }
.jhf-edition-feature__body { padding: var(--jhf-space-6); }
.jhf-edition-feature__actions { grid-column: 1; flex-direction: column; padding: 0 var(--jhf-space-6) var(--jhf-space-6); }
.jhf-edition-feature__actions .jhf-button { width: 100%; white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
.jhf-edition-feature, .jhf-edition-feature:hover { transition: none; transform: none; }
} .jhf-company-card__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--jhf-space-3); margin-top: auto; }
.jhf-company-card__book { box-sizing: border-box; }
.jhf-company-card .screen-reader-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; } .jhf-modal {
width: min(480px, calc(100vw - 32px));
max-width: none;
padding: 0;
border: 0;
border-radius: var(--jhf-radius-xl);
background: var(--jhf-surface);
color: var(--jhf-text);
box-shadow: var(--jhf-shadow-lg);
border-top: 6px solid var(--jhf-secondary);
font-family: var(--jhf-font-body);
}
.jhf-modal--danger { border-top-color: var(--jhf-error); }
.jhf-modal::backdrop { background: rgba(13, 29, 49, 0.62); backdrop-filter: blur(2px); }
.jhf-modal[open] { animation: jhf-modal-in .2s ease-out; }
@keyframes jhf-modal-in { from { opacity: 0; transform: translateY(12px) scale(.98); } to { opacity: 1; transform: none; } }
.jhf-modal__inner { padding: var(--jhf-space-8); margin: 0; }
.jhf-modal__title { margin: 0 0 var(--jhf-space-3); font-family: var(--jhf-font-display); font-size: var(--jhf-text-xl); font-weight: 900; line-height: 1.2; color: var(--jhf-text-strong); }
.jhf-modal__text { margin: 0 0 var(--jhf-space-6); font-size: var(--jhf-text-base); line-height: 1.55; }
.jhf-modal__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--jhf-space-3); }
.jhf-modal__actions .jhf-button { box-sizing: border-box; }
.jhf-modal--danger [data-jhf-ok] { background: var(--jhf-error); border-color: var(--jhf-error); color: #fff; }
.jhf-modal--danger [data-jhf-ok]:hover { filter: brightness(0.92); }
@media (max-width: 520px) {
.jhf-modal__inner { padding: var(--jhf-space-6); }
.jhf-modal__actions { flex-direction: column-reverse; }
.jhf-modal__actions .jhf-button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .jhf-modal[open] { animation: none; } }
.jhf-dashboard__cta { margin: var(--jhf-space-4) 0 0; } :root { --jhf-header-h: 117px; --jhf-header-air: 48px; }
@media (max-width: 900px) { :root { --jhf-header-h: 87px; --jhf-header-air: 32px; } } body.jhf-fixed-header > main.site-main:not(:has(.jhf-page-hero, .jhf-hero, .jhf-event-hero, .jhf-company-hero, .jhf-events-archive-hero, .jhf-companies-archive-hero, .jhf-auth-layout, .jhf-site-header)) {
padding-top: calc(var(--jhf-header-h) + var(--jhf-header-air));
} body.jhf-fixed-header .jhf-dashboard,
body.jhf-fixed-header .jhf-booking,
body.jhf-fixed-header .jhf-adh,
body.jhf-fixed-header .jhf-qr-scanner {
padding-top: calc(var(--jhf-header-h) + var(--jhf-header-air));
}
body.jhf-fixed-header > main.site-main .jhf-dashboard,
body.jhf-fixed-header > main.site-main .jhf-booking,
body.jhf-fixed-header > main.site-main .jhf-adh,
body.jhf-fixed-header > main.site-main .jhf-qr-scanner {
padding-top: 0;
} body.jhf-fixed-header .jhf-auth-layout > .jhf-auth-brand,
body.jhf-fixed-header .jhf-auth-layout > .jhf-auth-form-side {
padding-top: calc(var(--jhf-header-h) + 64px);
}
@media (max-width: 960px) {
body.jhf-fixed-header .jhf-auth-layout > .jhf-auth-brand {
padding-top: calc(var(--jhf-header-h) + 40px);
}
body.jhf-fixed-header .jhf-auth-layout > .jhf-auth-form-side {
padding-top: 40px; }
} body.jhf-fixed-header .jhf-company-hero { padding-top: calc(var(--jhf-header-h) + 64px); }
body.jhf-fixed-header .jhf-event-hero   { padding-top: calc(var(--jhf-header-h) + 48px); } @media (max-width: 960px) {
body.jhf-fixed-header .jhf-company-hero,
body.jhf-fixed-header .jhf-event-hero { padding-top: calc(var(--jhf-header-h) + 48px); }
}
@media (max-width: 640px) {
body.jhf-fixed-header .jhf-company-hero,
body.jhf-fixed-header .jhf-event-hero { padding-top: calc(var(--jhf-header-h) + 32px); }
} html:has(body.jhf-fixed-header) { scroll-padding-top: calc(var(--jhf-header-h) + 16px); } .jhf-portal-nav { display: flex; flex-wrap: wrap; gap: var(--jhf-space-2); margin-top: var(--jhf-space-4); }
.jhf-portal-nav__link { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 18px; border: 1px solid var(--jhf-border); border-radius: var(--jhf-radius-full); background: var(--jhf-surface); color: var(--jhf-text-strong); font-weight: 700; font-size: var(--jhf-text-sm); text-decoration: none; }
.jhf-portal-nav__link:hover { border-color: var(--jhf-primary); color: var(--jhf-primary); }
.jhf-portal-nav__link:focus-visible { outline: 3px solid var(--jhf-secondary); outline-offset: 2px; }
body.jhf-fixed-header .jhf-adh.jhf-adh--embedded,
.jhf-adh.jhf-adh--embedded { max-width: none; margin: var(--jhf-space-12) 0 0; padding: 0; }
.jhf-company-profile__header { margin-bottom: var(--jhf-space-6); }
.jhf-company-profile__title { font-family: var(--jhf-font-display); font-size: var(--jhf-text-2xl); font-weight: 800; color: var(--jhf-text-strong); margin: 0 0 var(--jhf-space-2); }
.jhf-company-profile__header a, .jhf-company-profile__private a { color: var(--jhf-secondary-dark); font-weight: 700; }
.jhf-company-profile .jhf-notice { margin: 0 0 var(--jhf-space-6); }
.jhf-company-profile__logo img { display: block; width: 96px; height: 96px; object-fit: contain; border: 1px solid var(--jhf-border); border-radius: var(--jhf-radius-md); background: #fff; padding: 6px; }
.jhf-company-profile__private h4 { font-family: var(--jhf-font-display); font-size: var(--jhf-text-lg); color: var(--jhf-text-strong); margin: 0 0 var(--jhf-space-2); }
.jhf-adh textarea {
width: 100%; min-height: 48px; padding: 10px 14px; font: inherit; font-size: 16px; line-height: 1.5; color: var(--jhf-text-strong);
background: var(--jhf-surface); border: 1px solid var(--jhf-text-muted); border-radius: var(--jhf-radius-sm); box-sizing: border-box; resize: vertical;
}
.jhf-adh textarea:focus-visible { outline: 3px solid var(--jhf-secondary); outline-offset: 1px; border-color: var(--jhf-primary); }
.jhf-adh .has-error textarea, .jhf-adh textarea[aria-invalid="true"] { border: 2px solid var(--jhf-error); }
.jhf-company-block__events { scroll-margin-top: calc(var(--jhf-header-h, 117px) + 16px); }
.jhf-company-profile { scroll-margin-top: calc(var(--jhf-header-h, 117px) + 16px); } body .jhf-fill {
box-sizing: border-box;
min-height: calc(100vh - var(--jhf-footer-h, 0px));
min-height: calc(100dvh - var(--jhf-footer-h, 0px));
} body.jhf-fixed-header > .jhf-shortcode:not(:has(.jhf-auth-layout)) {
padding-top: calc(var(--jhf-header-h) + var(--jhf-header-air));
}
body.jhf-fixed-header > .jhf-shortcode .jhf-auth-already-logged { margin-top: 0; }
.jhf-auth-already-logged p { margin: 0; }
.jhf-auth-already-logged a { margin-left: 4px; text-decoration: underline; text-underline-offset: 3px; } .jhf-button.jhf-button--ghost,
a.jhf-button.jhf-button--ghost,
button.jhf-button.jhf-button--ghost {
padding-left: 20px;
padding-right: 20px;
}
.jhf-button.jhf-button--ghost:hover:not([disabled]),
a.jhf-button.jhf-button--ghost:hover {
background-color: var(--jhf-surface-alt, #F7F8FA) !important;
box-shadow: none;
transform: none;
}
.jhf-company-card__footer .jhf-button--ghost { margin-left: -20px; }  body button.jhf-button { padding: 14px 28px; }
body button.jhf-button.jhf-button--block { padding: 16px 28px; }
body button.jhf-button.jhf-button--ghost,
body button.jhf-button.jhf-button--danger-ghost { padding: 12px 20px; } .jhf-map-consent {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: var(--jhf-space-3);
width: 100%;
height: 100%;
min-height: 280px;
padding: var(--jhf-space-6);
background: var(--jhf-surface-alt, #F7F8FA);
color: var(--jhf-text);
text-align: center;
font-size: var(--jhf-text-sm);
}
.jhf-map-consent p { margin: 0; max-width: 34ch; } .jhf-stat__pre {
align-self: flex-end;
margin: 0 6px 12px 0;
font-family: var(--jhf-font-display);
font-size: 1rem;
font-weight: 700;
line-height: 1;
color: inherit;
opacity: .85;
} .jhf-kit { margin: var(--jhf-space-12) 0 0; scroll-margin-top: calc(var(--jhf-header-h, 117px) + 16px); }
.jhf-kit__header { margin-bottom: var(--jhf-space-6); }
.jhf-kit__title { font-family: var(--jhf-font-display); font-size: var(--jhf-text-2xl); font-weight: 800; color: var(--jhf-text-strong); margin: 0 0 var(--jhf-space-2); }
.jhf-kit__intro { max-width: 68ch; margin: 0 0 var(--jhf-space-4); }
.jhf-kit .jhf-notice { margin: 0 0 var(--jhf-space-4); }
.jhf-kit__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--jhf-space-6); }
.jhf-kit__card { display: flex; flex-direction: column; border: 1px solid var(--jhf-border); border-radius: var(--jhf-radius-md); background: var(--jhf-surface); overflow: hidden; }
.jhf-kit__card--wide { grid-column: span 2; }
.jhf-kit__preview { display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; padding: var(--jhf-space-3); background: #F1F2F5; }
.jhf-kit__preview img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; box-shadow: 0 2px 8px rgba(13, 29, 49, .12); }
.jhf-kit__preview--checker { background-color: #fff; background-image: linear-gradient(45deg, #E6E8EC 25%, transparent 25%), linear-gradient(-45deg, #E6E8EC 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #E6E8EC 75%), linear-gradient(-45deg, transparent 75%, #E6E8EC 75%); background-size: 20px 20px; background-position: 0 0, 0 10px, 10px -10px, -10px 0; }
.jhf-kit__preview--checker img { box-shadow: none; }
.jhf-kit__body { display: flex; flex-direction: column; align-items: flex-start; gap: var(--jhf-space-2); padding: var(--jhf-space-4); }
.jhf-kit__name { display: block; font-family: var(--jhf-font-display); font-size: var(--jhf-text-lg); font-weight: 800; color: var(--jhf-text-strong); margin: 0; }
.jhf-kit__where { font-size: var(--jhf-text-sm); color: var(--jhf-text-muted); margin: 0 0 var(--jhf-space-2); }
.jhf-kit__frame { width: 100%; margin-top: var(--jhf-space-4); padding-top: var(--jhf-space-4); border-top: 1px solid var(--jhf-border); display: flex; flex-direction: column; align-items: flex-start; gap: var(--jhf-space-2); }
.jhf-kit__file { position: relative; cursor: pointer; }
.jhf-kit__file input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.jhf-kit__file:focus-within { outline: 3px solid var(--jhf-secondary); outline-offset: 2px; }
.jhf-kit__canvas { width: 100%; max-width: 320px; height: auto; border-radius: 50%; background: #F1F2F5; }
.jhf-kit__status { font-size: var(--jhf-text-sm); font-weight: 700; color: var(--jhf-success, #2E8B57); min-height: 1em; margin: 0; }
.jhf-kit__subtitle { font-family: var(--jhf-font-display); font-size: var(--jhf-text-xl); font-weight: 800; color: var(--jhf-text-strong); margin: var(--jhf-space-12) 0 var(--jhf-space-4); }
.jhf-kit__texts { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: var(--jhf-space-6); }
.jhf-kit__text { display: flex; flex-direction: column; align-items: flex-start; gap: var(--jhf-space-2); }
.jhf-kit__text textarea { width: 100%; padding: 10px 14px; font: inherit; font-size: 15px; line-height: 1.5; color: var(--jhf-text-strong); background: var(--jhf-surface); border: 1px solid var(--jhf-text-muted); border-radius: var(--jhf-radius-sm); box-sizing: border-box; resize: vertical; }
.jhf-kit__text textarea:focus-visible { outline: 3px solid var(--jhf-secondary); outline-offset: 1px; }
@media (max-width: 600px) {
.jhf-kit__card--wide { grid-column: auto; }
.jhf-kit__texts { grid-template-columns: 1fr; }
} .jhf-newsletter-form { flex-wrap: wrap; }
.jhf-newsletter-form .jhf-newsletter-consent {
flex: 1 1 100%;
display: flex;
align-items: flex-start;
gap: 10px;
margin: 4px 0 0;
text-align: left;
font-size: 13px;
line-height: 1.5;
color: rgba(255, 255, 255, 0.8);
cursor: pointer;
}
.jhf-newsletter-form .jhf-newsletter-consent input[type="checkbox"] {
flex: 0 0 auto;
width: 18px;
height: 18px;
margin: 1px 0 0;
accent-color: var(--jhf-secondary, #EC005F);
}
.jhf-newsletter-form .jhf-newsletter-consent a { color: #fff; text-decoration: underline; }