/* Homepage rules stay scoped to the new ACF sections. */
@font-face {
    font-family: Baloo;
    src: url('../fonts/homepage-baloo/Baloo-Regular.ttf') format('truetype');
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}
.hp-section {
    --hp-ink: #282530;
    --hp-muted: #777;
    --hp-orange: #ff4b2b;
    --hp-purple: #604b82;
    --hp-grey: #f5f5f5;
    --hp-pink: #ffeeea;
    box-sizing: border-box;
    padding: 80px 0;
    color: var(--hp-ink);
    background: #fff;
    font-family: Roboto, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
}
.hp-section *, .hp-section *::before, .hp-section *::after { box-sizing: border-box; }
.hp-section--grey { background: var(--hp-grey); }
.hp-container { width: calc(100% - 96px); max-width: 1280px; margin: 0 auto; }
.hp-section h1, .hp-section h2, .hp-section h3, .hp-section p, .hp-section figure, .hp-section blockquote { margin: 0; }
.hp-section h1, .hp-section h2, .hp-section h3 { color: inherit; }
.hp-section a { color: inherit; text-decoration: none; }
.hp-section button { font: inherit; cursor: pointer; }
.hp-section [hidden] { display: none !important; }
.hp-section :is(a, button, summary):focus-visible { outline: 3px solid var(--hp-orange); outline-offset: 4px; }
.hp-title { font-family: 'Baloo 2', sans-serif; font-size: 40px; font-weight: 600; line-height: 1.35; }
.hp-copy { color: var(--hp-muted); font-size: 15px; line-height: 1.5; }
.hp-copy p + p { margin-top: 12px; }
.hp-copy strong { color: var(--hp-ink); font-weight: 700; }
.hp-copy a { color: var(--hp-orange); text-decoration: underline; }
.hp-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6%; }
.hp-button { display: inline-flex; align-items: center; justify-content: center; width: 420px; max-width: 100%; min-height: 48px; padding: 12px 25px; border: 0; border-radius: 50px; color: #fff !important; background: var(--hp-orange); text-align: center; font-size: 16px; font-weight: 500; line-height: 1.4; transition: background .15s; }
.hp-button:hover { background: #e53e20; }
.hp-button-row { margin-top: 24px; text-align: center; }
.hp-text-link { color: var(--hp-orange) !important; font-size: 14px; }
.hp-text-link:hover { text-decoration: underline; }
.hp-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.hp-stars { color: var(--hp-orange); letter-spacing: -.7px; white-space: nowrap; }

.hp-section.hp-hero { padding: 48px 0 40px; }
/* Legacy header only; the shared header reserves toolbar space at the document root. */
html:not(.robin-site-chrome) .admin-bar .hp-section.hp-hero { padding-top: 80px; }
.hp-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 8%; }
.hp-hero__content { max-width: 480px; }
.hp-hero__title { font-family: 'Baloo 2', sans-serif; font-size: 44px; font-weight: 700; line-height: 1.08; }
.hp-hero__mobile-title { display: none; }
.hp-hero__description { max-width: 450px; margin-top: 22px; font-size: 16px; }
.hp-hero__button { margin-top: 24px; }
.hp-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 35px; max-width: 420px; margin-top: 26px; }
.hp-stat > strong { display: block; font-family: 'Baloo 2', sans-serif; font-size: 26px; font-weight: 600; line-height: 1.2; }
.hp-stat > span { display: block; margin-top: 2px; color: var(--hp-muted); font-size: 12px; line-height: 1.5; }
.hp-hero__media { position: relative; overflow: hidden; aspect-ratio: 1.075; border-radius: 18px; background: #e2e2e2; }
.hp-hero__poster, .hp-hero__poster > img { display: block; width: 100%; height: 100%; }
.hp-hero__poster > img { object-fit: cover; }
.hp-hero__video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; opacity: 0; }
.hp-hero__video.is-playing { opacity: 1; }
.hp-preview-toggle { position: absolute; left: 24px; bottom: 24px; display: grid; place-items: center; width: 36px; height: 36px; padding: 9px; border: 0; border-radius: 50%; color: var(--hp-orange); background: #fff; }
.hp-preview-toggle svg { width: 100%; height: 100%; }
.hp-preview-toggle.is-paused [data-hp-pause-icon], .hp-preview-toggle:not(.is-paused) [data-hp-resume-icon] { display: none; }
.hp-play { position: absolute; right: 24px; bottom: 24px; display: grid; place-items: center; width: 50px; height: 50px; padding: 14px; border: 0; border-radius: 50%; color: var(--hp-orange); background: #fff; }
.hp-play svg { width: 100%; height: 100%; }
.hp-video-dialog { width: min(960px, calc(100vw - 40px)); max-height: calc(100vh - 40px); padding: 45px 16px 16px; border: 0; border-radius: 14px; color: var(--hp-ink); background: #fff; }
.hp-video-dialog::backdrop { background: rgb(0 0 0 / 75%); }
.hp-video-dialog video { display: block; width: 100%; max-height: calc(100vh - 140px); }
.hp-video-dialog > a { display: inline-block; margin-top: 10px; font-size: 14px; color: var(--hp-orange); }
.hp-video-dialog__close { position: absolute; top: 4px; right: 8px; width: 38px; height: 38px; border: 0; border-radius: 50%; font-size: 30px !important; color: var(--hp-ink); background: #f5f5f5; }

.hp-benefits { padding: 40px 0 0; }
.hp-benefit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.hp-benefit { display: flex; align-items: center; gap: 18px; padding: 25px; border-radius: 13px; background: var(--hp-grey); }
.hp-benefit p { color: var(--hp-muted); font-size: 15px; line-height: 1.4; }
.hp-benefit__icon { flex: 0 0 25px; color: var(--hp-orange); }
.hp-benefit__icon svg { display: block; width: 25px; height: 27px; }
.hp-carousel-dots { display: none; }

.hp-vacancies__title { margin-bottom: 28px !important; font-size: 40px; line-height: 1.2; }
.hp-filters { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.hp-filters a { display: inline-flex; align-items: center; min-height: 30px; padding: 4px 15px; border: 1px solid #e1e1e1; border-radius: 30px; color: var(--hp-muted); font-size: 14px; line-height: 1.3; }
.hp-filters a[aria-current="true"] { border-color: var(--hp-ink); color: #fff; background: var(--hp-ink); }
.hp-filters a:hover { border-color: var(--hp-ink); }
.hp-job-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; transition: opacity .15s; }
.hp-job-grid[aria-busy="true"] { opacity: .55; }
.hp-job { display: grid; grid-template-columns: minmax(0, 1fr) 157px; gap: 12px; min-height: 173px; padding: 7px; border: 1px solid #e1e1e1; border-radius: 15px; background: #fff; transition: border-color .15s, box-shadow .15s; }
.hp-job:hover { border-color: var(--hp-orange); box-shadow: 0 3px 12px rgb(0 0 0 / 5%); }
.hp-job__body { display: flex; flex-direction: column; min-width: 0; padding: 8px; }
.hp-job__tags { display: flex; flex-wrap: wrap; gap: 5px; align-items: flex-start; margin-bottom: 8px; }
.hp-tag { display: inline-block; max-width: 100%; padding: 3px 9px; border-radius: 8px; background: var(--hp-grey); color: #666; font-size: 12px; font-weight: 500; line-height: 1.4; }
.hp-tag--salary { color: #604b82; background: #f0edf5; }
.hp-tag--accommodation { color: var(--hp-orange); background: #fff0e9; font-weight: 400; white-space: nowrap; }
.hp-job__title { margin-bottom: 8px !important; font-family: Roboto, Arial, sans-serif; font-size: 16px; font-weight: 500; line-height: 1.35; overflow-wrap: anywhere; }
.hp-section .hp-job__title { color: var(--hp-ink); }
.hp-job__location { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; color: var(--hp-muted); font-size: 14px; line-height: 1.4; }
.hp-job__link { margin-top: auto; padding-top: 8px; color: var(--hp-orange); font-size: 14px; line-height: 1.3; }
.hp-job__image { display: block; align-self: center; width: 157px; height: 157px; border-radius: 13px; object-fit: cover; }
.hp-job__image--empty { display: grid; place-items: center; color: #ccc; background: var(--hp-grey); }
.hp-job__image--empty svg { width: 50px; height: 50px; }
.hp-empty { grid-column: 1 / -1; padding: 24px; border-radius: 13px; color: var(--hp-muted); background: var(--hp-grey); }
.hp-job-status.is-error { position: static; width: auto; height: auto; margin-top: 14px; overflow: visible; clip: auto; white-space: normal; color: #a82b15; }

.hp-process { padding-top: 0; padding-bottom: 48px; }
.hp-purple-panel { padding: 64px; border-radius: 23px; color: #fff; background: var(--hp-purple); }
.hp-purple-panel .hp-title { max-width: 555px; color: #fff; }
.hp-purple-panel .hp-copy { color: #ded5ea; }
.hp-process__grid { gap: 8%; }
.hp-process__intro { display: flex; flex-direction: column; justify-content: space-between; gap: 60px; }
.hp-process__stat { padding-left: 26px; border-left: 2px solid rgb(255 255 255 / 15%); }
.hp-process__stat > strong { display: block; font-family: Baloo, 'Baloo 2', sans-serif; font-size: 72px; font-weight: 400; line-height: .9; }
.hp-process__stat .hp-copy { margin-top: 18px; font-size: 18px; line-height: 1.4; color: #fff; }
.hp-step-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.hp-step { padding: 24px; border-radius: 14px; background: rgb(255 255 255 / 8%); }
.hp-step__number { display: block; margin-bottom: 6px; font-family: Roboto, Arial, sans-serif; font-size: 12px; font-weight: 500; color: #ded5ea; }
.hp-step h3 { margin-bottom: 10px; font-family: 'Baloo 2', sans-serif; font-size: 24px; font-weight: 600; line-height: 1.2; color: #fff; }
.hp-step p { color: #ded5ea; font-family: Roboto, Arial, sans-serif; font-size: 16px; font-weight: 400; line-height: 1.4; }

.hp-accordion-section > div:first-child .hp-title { margin-bottom: 16px; }
.hp-accordion-section > div:first-child .hp-copy { max-width: 555px; }
.hp-details { border: 1px solid #e1e1e1; border-radius: 13px; background: #fff; }
.hp-details + .hp-details, .hp-accordion__extra { margin-top: 7px; }
.hp-details summary { display: flex; align-items: center; gap: 10px; padding: 15px; cursor: pointer; list-style: none; font-size: 14px; font-weight: 500; line-height: 1.35; }
.hp-details summary::-webkit-details-marker { display: none; }
.hp-details summary > span:not(.hp-details__chevron) { min-width: 0; }
.hp-details__chevron { flex: 0 0 0; width: 0; height: 0; margin-left: auto; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 6px solid #777; transition: transform 280ms ease; }
.hp-details[open] .hp-details__chevron { transform: rotate(180deg); }
.hp-details__answer { padding: 3px 15px 15px; }
.hp-details.is-animating { overflow: hidden; transition: height 320ms cubic-bezier(.22, 1, .36, 1); }
.hp-industries .hp-copy { font-size: 16px; font-weight: 400; }
.hp-industries .hp-details summary { font-family: 'Baloo 2', sans-serif; font-size: 18px; font-weight: 600; }
.hp-details__number { flex: 0 0 auto; color: var(--hp-orange); font-size: 12px; }
.hp-tips .hp-details { border-color: transparent; background: var(--hp-grey); }
.hp-show-more { margin-top: 15px; padding: 0; border: 0; background: transparent; text-align: left; }
.hp-show-more span { font-size: 10px; }
.hp-accordion__button { width: 100%; margin-top: 24px; }

.hp-review-grid { gap: 8%; align-items: start; }
.hp-reviews__short { max-width: 555px; }
.hp-ratings { display: grid; grid-template-columns: 1fr 1fr; padding: 12px 15px; border: 1px solid #e1e1e1; border-radius: 13px; }
.hp-rating { display: flex; align-items: center; gap: 10px; padding: 4px 0; }
.hp-rating + .hp-rating { padding-left: 20px; border-left: 1px solid #e1e1e1; }
.hp-rating > div { flex: 1; min-width: 0; }
.hp-rating__icon { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%; color: #fff; background: var(--hp-orange); font-weight: 700; }
.hp-rating__icon--facebook { background: #1877f2; font-size: 22px; }
.hp-rating__value { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 5px; padding-right: 15px; }
.hp-rating__value > strong { font-family: 'Baloo 2', sans-serif; font-size: 32px; font-weight: 600; line-height: 1.2; }
.hp-rating__value > .hp-stars { font-size: 14px; }
.hp-rating__label { color: var(--hp-muted); font-family: Roboto, Arial, sans-serif; font-size: 12px; font-weight: 400; }
.hp-short-review { margin: 8px 0 !important; padding: 24px; border-radius: 13px; background: var(--hp-grey); }
.hp-short-review blockquote { color: var(--hp-muted); font-size: 18px; line-height: 1.5; }
.hp-short-review figcaption { margin-top: 8px; font-size: 14px; font-weight: 500; }
.hp-featured-review { padding: 38px; border: 1px solid var(--hp-orange); border-radius: 15px; background: var(--hp-pink); box-shadow: 10px 10px 0 var(--hp-orange); }
.hp-featured-review blockquote { margin-bottom: 54px; font-family: 'Baloo 2', sans-serif; font-size: 32px; font-weight: 600; line-height: 1.35; color: var(--hp-orange); }
.hp-featured-review p { color: var(--hp-muted); font-size: 18px; }
.hp-featured-review figcaption { margin-top: 12px; font-family: Roboto, Arial, sans-serif; font-size: 14px; font-weight: 500; }
.hp-reviews__link--mobile { display: none; }
.hp-logos { padding: 0 0 80px; }
.hp-section .hp-logos__title { margin: 0 0 34px; font-family: Roboto, Arial, sans-serif; font-size: 18px; font-weight: 500; line-height: 1.4; }
.hp-logo-track { display: flex; align-items: center; justify-content: space-between; gap: 45px; overflow-x: auto; padding: 0 15px 10px; scrollbar-width: thin; }
.hp-logo-track img { flex: 0 0 160px; width: 160px; height: 50px; object-fit: contain; filter: grayscale(1); opacity: .55; }

.hp-contact { padding-top: 24px; }
.hp-contact__grid { align-items: center; }
.hp-contact__grid .hp-title { max-width: 480px; }
.hp-contact__grid .hp-copy { margin-top: 15px; font-size: 16px; font-weight: 400; }
.hp-contact-card { display: flex; align-items: center; gap: 24px; padding: 38px; border-radius: 22px; background: rgb(255 255 255 / 10%); }
.hp-contact-card img { flex: 0 0 150px; width: 150px; height: 150px; border-radius: 50%; object-fit: cover; }
.hp-contact-card > div { min-width: 0; }
.hp-contact-card h3 { margin-bottom: 10px; font-family: Roboto, Arial, sans-serif; font-size: 24px; font-weight: 500; color: #fff; }
.hp-contact-card a { display: block; font-family: Roboto, Arial, sans-serif; font-size: 16px; font-weight: 500; overflow-wrap: anywhere; }
.hp-contact-card a:hover { text-decoration: underline; }

.hp-content-grid { align-items: center; }
.hp-content-grid__copy .hp-title { margin-bottom: 16px; }
.hp-content-grid__image { display: block; width: 100%; height: auto; aspect-ratio: 1.11; border-radius: 15px; object-fit: cover; }
picture.hp-content-grid__image { position: relative; overflow: hidden; }
picture.hp-content-grid__image > img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
.hp-about .hp-content-grid__image { max-width: 634px; aspect-ratio: 634 / 572; justify-self: end; }
.hp-about .hp-copy { font-size: 16px; line-height:150%;font-weight: 400; }
.hp-about .hp-copy p { font-size: 16px; line-height:150%;font-weight: 400; }
.hp-media-placeholder { background: #e9e9e9; }
.hp-content-grid--image-first .hp-content-grid__image { grid-column: 1; grid-row: 1; }
.hp-content-grid--image-first .hp-content-grid__copy { grid-column: 2; grid-row: 1; }
.hp-alerts { padding: 48px 0; }
.hp-alert-panel { gap: 5%; padding: 16px; border-radius: 24px; background: var(--hp-pink); }
.hp-alert-panel .hp-content-grid__image { aspect-ratio: 1.8; }
.hp-alert-panel .hp-content-grid__copy { padding: 30px 40px 30px 0; }
.hp-alert-panel .hp-title { font-size: 36px; }
.hp-alert-panel .hp-button { width: 320px; min-height: 48px; margin-top: 24px; }
.hp-articles { padding: 48px 0; }
.hp-articles__heading { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.hp-articles__heading .hp-title { font-size: 30px; line-height: 1.3; }
.hp-articles__heading .hp-text-link { flex: 0 0 auto; }
.hp-article-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.hp-article { display: block; padding: 24px; border-radius: 14px; background: var(--hp-grey); }
.hp-article:hover { background: #eee; }
.hp-article__time { color: var(--hp-muted); font-size: 14px; }
.hp-article__time > span { color: var(--hp-orange); }
.hp-article h3 { margin-top: 3px; font-family: Roboto, Arial, sans-serif; font-size: 16px; font-weight: 500; line-height: 1.4; }

/* Desktop refinements leave the existing mobile layouts in place. */
@media (min-width: 900px) {
    .hp-hero__media { width: 100%; max-width: 640px; aspect-ratio: 640 / 595; justify-self: end; }
    .hp-featured-review { box-shadow: 8px 8px 0 var(--hp-orange); }
    .hp-faq .hp-details summary,
    .hp-tips .hp-details summary,
    .hp-preparation .hp-details summary { font-family: Roboto, Arial, sans-serif; font-size: 16px; font-weight: 500; }
    .hp-section .hp-show-more { font-family: Roboto, Arial, sans-serif; font-size: 14px; font-weight: 500; }
    .hp-accommodation .hp-content-grid__image { max-width: 674px; aspect-ratio: 674 / 532; }
    .hp-alert-panel .hp-title { font-family: 'Baloo 2', sans-serif; font-size: 40px; font-weight: 600; }
    .hp-alert-panel .hp-copy { font-family: Roboto, Arial, sans-serif; font-size: 15px; font-weight: 400; }
    .hp-articles__heading .hp-title { font-family: 'Baloo 2', sans-serif; font-size: 32px; font-weight: 600; }
    .hp-article__time { color: var(--hp-muted); font-size: 14px; }
    .hp-article h3 { font-family: Roboto, Arial, sans-serif; font-size: 18px; font-weight: 500; }
    .hp-section .hp-logos__title { font-size: 18px; }
}
@media (min-width: 1200px) {
    .hp-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 640px); }
    .hp-accommodation .hp-content-grid { grid-template-columns: minmax(0, 674px) minmax(0, 1fr); }
}

@media (max-width: 1199px) {
    .hp-container { width: calc(100% - 64px); }
    .hp-title { font-size: 32px; }
    .hp-hero__title { font-size: 40px; }
    .hp-purple-panel { padding: 48px; }
    .hp-job-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hp-job { min-height: 175px; }
    .hp-benefit { gap: 14px; padding: 20px; }
    .hp-contact-card { gap: 20px; padding: 26px; }
    .hp-contact-card img { flex-basis: 110px; width: 110px; height: 110px; }
    .hp-featured-review blockquote { font-size: 27px; }
    .hp-ratings { padding: 10px; }
    .hp-rating + .hp-rating { padding-left: 10px; }
    .hp-rating__value { padding-right: 5px; }
    .hp-rating__value > strong { font-size: 23px; }
}
@media (max-width: 899px) {
    .hp-section { padding: 56px 0; }
    .hp-container { width: calc(100% - 40px); }
    .hp-split { gap: 30px; }
    .hp-section.hp-hero { padding-top: 40px; }
    html:not(.robin-site-chrome) .admin-bar .hp-section.hp-hero { padding-top: 72px; }
    .hp-hero__video, .hp-play, .hp-preview-toggle, .hp-video-dialog { display: none; }
    .hp-hero__title { font-size: 34px; }
    .hp-title { font-size: 29px; line-height: 1.35; }
    .hp-benefits { padding-top: 30px; padding-bottom: 0; }
    .hp-benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hp-purple-panel { padding: 35px; }
    .hp-process__grid, .hp-contact__grid, .hp-review-grid { grid-template-columns: 1fr; }
    .hp-process__intro { gap: 26px; }
    .hp-process__stat > strong { font-size: 50px; }
    .hp-process__stat .hp-copy br { display: none; }
    .hp-process__stat .hp-copy { font-size: 16px; }
    .hp-contact__grid .hp-title { max-width: none; }
    .hp-reviews__short { max-width: none; }
    .hp-ratings { padding: 14px 20px; }
    .hp-rating + .hp-rating { padding-left: 20px; }
    .hp-featured-review { margin-right: 10px !important; }
    .hp-contact-card { padding: 25px; }
    .hp-contact-card img { flex-basis: 120px; width: 120px; height: 120px; }
    .hp-alert-panel .hp-content-grid__copy { padding: 15px 15px 15px 0; }
    .hp-alert-panel .hp-title { font-size: 30px; }
    .hp-alert-panel .hp-copy br { display: none; }
    .hp-articles__heading .hp-title { font-size: 26px; }
    .hp-article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
    .hp-section { padding: 40px 0; }
    .hp-container { width: calc(100% - 32px); }
    .hp-split { grid-template-columns: 1fr; gap: 28px; }
    .hp-section.hp-hero { padding-top: 32px; }
    html:not(.robin-site-chrome) .admin-bar .hp-section.hp-hero { padding-top: 64px; }
    .hp-hero__content { max-width: none; }
    .hp-hero__title { font-size: 36px; }
    .hp-hero__description { margin-top: 18px; }
    .hp-hero__button, .hp-button { width: 100%; }
    .hp-stats { margin-top: 25px; max-width: none; }
    .hp-hero__media { aspect-ratio: 1.2; }
    .hp-play { right: 18px; bottom: 18px; }
    .hp-title { font-size: 29px; }
    .hp-benefits { padding-top: 24px; padding-bottom: 0; }
    .hp-benefit-grid { grid-template-columns: 1fr; }
    .hp-benefit { min-height: 80px; }
    .hp-vacancies__title { font-size: 31px; margin-bottom: 22px !important; }
    .hp-filters { flex-wrap: nowrap; overflow-x: auto; padding: 4px 4px 8px; margin-left: -4px; scrollbar-width: thin; }
    .hp-filters a { flex-shrink: 0; padding: 5px 13px; }
    .hp-job-grid { grid-template-columns: 1fr; }
    .hp-job { min-height: 173px; grid-template-columns: minmax(0, 1fr) 157px; }
    .hp-job__body { padding: 6px; }
    .hp-job__title { font-size: 15px; }
    .hp-tag { font-size: 11px; padding: 3px 7px; }
    .hp-job__location { font-size: 13px; }
    .hp-purple-panel { padding: 26px 22px; border-radius: 20px; }
    .hp-process { padding-top: 0; }
    .hp-step-grid { gap: 8px; }
    .hp-step { padding: 16px; }
    .hp-step-grid { grid-template-columns: 1fr; }
    .hp-accordion-section > div:first-child .hp-copy { max-width: none; }
    .hp-details summary { min-height: 48px; }
    .hp-details__answer { font-size: 14px; }
    .hp-ratings { padding: 10px; }
    .hp-rating { gap: 7px; }
    .hp-rating + .hp-rating { padding-left: 10px; }
    .hp-rating__icon { flex-basis: 27px; width: 27px; height: 27px; }
    .hp-rating__value { display: block; }
    .hp-rating__value > strong { display: block; font-size: 24px; }
    .hp-rating__value > .hp-stars { font-size: 12px; }
    .hp-rating__label { font-size: 10px; }
    .hp-short-review { padding: 20px; }
    .hp-featured-review { padding: 26px; }
    .hp-featured-review blockquote { margin-bottom: 30px; font-size: 27px; }
    .hp-logo-track { gap: 35px; }
    .hp-logo-track img { flex-basis: 125px; width: 125px; height: 40px; }
    .hp-contact-card { gap: 16px; padding: 22px; }
    .hp-contact-card img { flex-basis: 80px; width: 80px; height: 80px; }
    .hp-content-grid--image-first .hp-content-grid__copy, .hp-content-grid--image-first .hp-content-grid__image { grid-column: auto; grid-row: auto; }
    .hp-content-grid--image-first .hp-content-grid__image { order: -1; }
    .hp-content-grid__image { aspect-ratio: 1.2; }
    .hp-alert-panel { padding: 12px; gap: 10px; }
    .hp-alert-panel .hp-content-grid__copy { padding: 20px 12px 24px; }
    .hp-alert-panel .hp-title { font-size: 30px; }
    .hp-alert-panel .hp-button { width: 100%; }
    .hp-articles__heading { display: block; }
    .hp-articles__heading .hp-title { font-size: 27px; }
    .hp-articles__heading .hp-text-link { display: inline-block; margin-top: 10px; }
    .hp-article { padding: 18px; }
    .hp-article h3 { font-size: 14px; }
}
@media (max-width: 359px) {
    .hp-hero__title { font-size: 32px; }
    .hp-step-grid, .hp-article-grid { grid-template-columns: 1fr; }
    .hp-job { grid-template-columns: 1fr; }
    .hp-job__image { grid-row: 1; justify-self: center; }
    .hp-contact-card { padding: 16px; }
}

/* The mobile homepage follows the dedicated Figma composition. */
@media (max-width: 899px) {
    .hp-hero__grid { display: flex; flex-direction: column; gap: 0; }
    .hp-hero__media { order: 1; width: 100%; aspect-ratio: 4 / 3; }
    .hp-hero__media::after { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgb(0 0 0 / 5%) 30%, rgb(0 0 0 / 66%) 100%); pointer-events: none; }
    .hp-hero__content { order: 2; width: 100%; max-width: none; }
    .hp-hero__title { display: none; }
    .hp-hero__mobile-title { position: absolute; right: 26px; bottom: 24px; left: 26px; z-index: 2; display: block; color: #fff !important; font-family: 'Baloo 2', sans-serif; font-size: 32px; font-weight: 700; line-height: 1.18; }
    .hp-hero__description { max-width: none; margin-top: 40px; font-family: Roboto, Arial, sans-serif; font-size: 16px; font-weight: 400; }
    .hp-hero__button { margin-top: 16px; font-family: Roboto, Arial, sans-serif; font-size: 16px; font-weight: 500; }
    .hp-stat > strong { font-size: 24px; font-weight: 600; }

    .hp-benefit-carousel { overflow: hidden; }
    .hp-benefit-grid { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 4px; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }
    .hp-benefit-grid::-webkit-scrollbar { display: none; }
    .hp-benefit { flex: 0 0 270px; width: 270px; min-height: 72px; height: 72px; padding: 6px 18px; scroll-snap-align: start; }
    .hp-benefit p { font-size: 14px; line-height: 1.25; }
    .hp-carousel-dots { display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 18px; }
    .hp-carousel-dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: #dedede; }
    .hp-carousel-dot[aria-current="true"] { background: var(--hp-orange); }

    .hp-vacancies__title { width: 270px; max-width: 100%; margin-bottom: 20px !important; font-family: 'Baloo 2', sans-serif; font-size: 24px; font-weight: 600; line-height: 23px; }
    .hp-filters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px 5px; overflow: visible; margin: 0 0 16px; padding: 0; }
    .hp-filters a { justify-content: center; width: 100%; min-width: 0; min-height: 29px; padding: 4px clamp(2px, 1.4vw, 9px); font-size: clamp(10px, 3vw, 13px); white-space: nowrap; }
    .hp-filters a:first-child { grid-column: 1 / -1; justify-self: start; width: auto; padding-right: 14px; padding-left: 14px; font-size: 13px; }
    .hp-job__title { font-family: Roboto, Arial, sans-serif; font-size: 16px; font-weight: 500; }
    .hp-job__location, .hp-job__location > span:first-child { font-family: Roboto, Arial, sans-serif; font-size: 14px; font-weight: 500; }
    .hp-tag--accommodation { font-family: Roboto, Arial, sans-serif; font-size: 12px; font-weight: 500; }

    .hp-process__grid { display: flex; flex-direction: column; gap: 0; }
    .hp-process__intro { display: contents; }
    .hp-process .hp-purple-panel { padding-top: 40px; }
    .hp-process__intro > .hp-title { order: 1; margin-bottom: 0; font-family: 'Baloo 2', sans-serif; font-size: 24px; font-weight: 600; line-height: 23px; }
    .hp-step-grid { order: 2; grid-template-columns: 1fr; margin-top: 12px; }
    .hp-process__stat { order: 3; display: grid; grid-template-columns: max-content minmax(0, 1fr); align-items: start; gap: 24px; margin-top: 20px; padding: 26px 0 0; border-top: 2px solid rgb(255 255 255 / 15%); border-left: 0; }
    .hp-process__stat .hp-copy { margin-top: 0; font-family: Roboto, Arial, sans-serif; font-weight: 400; }
    .hp-step__number { font-family: Roboto, Arial, sans-serif; font-size: 12px; font-weight: 500; }
    .hp-step h3 { font-family: 'Baloo 2', sans-serif; font-size: 18px; font-weight: 600; }
    .hp-step p { font-family: Roboto, Arial, sans-serif; font-size: 14px; font-weight: 400; }

    .hp-industries .hp-title { font-family: 'Baloo 2', sans-serif; font-size: 24px; font-weight: 600; line-height: 23px; }
    .hp-industries .hp-copy { font-family: Roboto, Arial, sans-serif; font-size: 16px; font-weight: 400; }

    .hp-ratings { grid-template-columns: 1fr; }
    .hp-rating + .hp-rating { margin-top: 14px; padding-top: 18px; padding-left: 0; border-top: 1px solid #e1e1e1; border-left: 0; }
    .hp-rating__value { display: flex; }
    .hp-rating__value > strong { display: block; font-size: 32px; }
    .hp-rating__label { font-size: 12px; }
    .hp-short-review blockquote { font-family: Roboto, Arial, sans-serif; font-size: 16px; font-weight: 400; }
    .hp-short-review figcaption { font-family: Roboto, Arial, sans-serif; font-size: 14px; }
    .hp-featured-review blockquote { font-family: 'Baloo 2', sans-serif; font-size: 24px; font-weight: 600; }
    .hp-featured-review p { font-family: Roboto, Arial, sans-serif; font-size: 16px; font-weight: 400; }
    .hp-featured-review figcaption { font-family: Roboto, Arial, sans-serif; font-size: 14px; font-weight: 500; }
    .hp-reviews__link--desktop { display: none; }
    .hp-reviews__link--mobile { display: inline-block; justify-self: start; margin-top: -4px; font-family: Roboto, Arial, sans-serif; font-size: 14px; font-weight: 500; }

    .hp-section .hp-logos__title { margin-bottom: 40px; font-family: Roboto, Arial, sans-serif; font-size: 16px; font-weight: 500; text-align: center; }

    .hp-about .hp-content-grid,
    .hp-accommodation .hp-content-grid { display: flex; flex-direction: column; gap: 24px; }
    .hp-about .hp-content-grid__copy,
    .hp-accommodation .hp-content-grid__copy { display: contents; }
    .hp-about .hp-content-grid__copy .hp-title,
    .hp-accommodation .hp-content-grid__copy .hp-title { order: 1; margin-bottom: 0; font-family: 'Baloo 2', sans-serif; font-size: 24px; font-weight: 600; line-height: 23px; }
    .hp-about .hp-content-grid__image,
    .hp-accommodation .hp-content-grid__image { order: 2; width: 100%; max-width: none; aspect-ratio: 335 / 160; }
    .hp-about .hp-content-grid__copy .hp-copy,
    .hp-accommodation .hp-content-grid__copy .hp-copy { order: 3; font-family: Roboto, Arial, sans-serif; font-size: 16px; font-weight: 400; }
    .hp-about .hp-content-grid__copy .hp-button,
    .hp-accommodation .hp-content-grid__copy .hp-button { order: 4; }

    .hp-faq .hp-title,
    .hp-tips .hp-title,
    .hp-preparation .hp-title,
    .hp-articles__heading .hp-title { font-family: 'Baloo 2', sans-serif; font-size: 24px; font-weight: 600; line-height: 23px; }
    .hp-faq .hp-accordion-section > div:first-child .hp-copy,
    .hp-tips .hp-accordion-section > div:first-child .hp-copy,
    .hp-preparation .hp-accordion-section > div:first-child .hp-copy { font-family: Roboto, Arial, sans-serif; font-size: 16px; font-weight: 400; }
    .hp-faq .hp-details summary,
    .hp-tips .hp-details summary,
    .hp-preparation .hp-details summary { font-family: Roboto, Arial, sans-serif; font-size: 16px; font-weight: 500; }
    .hp-faq .hp-details__answer,
    .hp-tips .hp-details__answer,
    .hp-preparation .hp-details__answer { font-family: Roboto, Arial, sans-serif; font-size: 14px; font-weight: 500; }
    .hp-faq .hp-details__chevron,
    .hp-tips .hp-details__chevron,
    .hp-preparation .hp-details__chevron { border-right-width: 4.5px; border-left-width: 4.5px; border-top-width: 6.6px; }
    .hp-tips .hp-details__number { font-size: 16px; font-weight: 500; }
    .hp-tips .hp-accordion__button { font-family: Roboto, Arial, sans-serif; font-size: 16px; font-weight: 500; }
    .hp-preparation .hp-show-more { font-family: Roboto, Arial, sans-serif; font-size: 16px; font-weight: 500; }

    .hp-articles .hp-container { display: flex; flex-direction: column; }
    .hp-articles__heading { display: contents; }
    .hp-articles__heading .hp-title { order: 1; }
    .hp-article-grid { order: 2; grid-template-columns: 1fr; margin-top: 24px; }
    .hp-articles__heading .hp-text-link { order: 3; align-self: flex-start; margin-top: 22px; }
    .hp-article { padding: 22px; }
    .hp-article h3 { font-family: Roboto, Arial, sans-serif; font-size: 16px; font-weight: 500; }
    .hp-article__time { font-family: Roboto, Arial, sans-serif; font-size: 12px; }

    /* Legacy registration only; the shared header/footer component owns its form styles. */
    .hp-articles + .cta-section:not(.robin-profile-section) { --hp-ink: #282530; --hp-muted: #777; padding: 40px 0 48px; background: #f5f5f5; font-family: Roboto, Arial, sans-serif; }
    .hp-articles + .cta-section:not(.robin-profile-section) > .site-block { width: calc(100% - 32px); max-width: 1280px; padding-right: 0; padding-left: 0; }
    .hp-articles + .cta-section:not(.robin-profile-section) .section-title { margin: 0 0 28px; padding: 0; color: #ff4a2d; font-family: 'Baloo 2', sans-serif; font-size: 24px; font-weight: 600; line-height: 23px; }
    .hp-articles + .cta-section:not(.robin-profile-section) .cta-form { display: flex; flex-direction: column; padding-right: 0; }
    .hp-articles + .cta-section:not(.robin-profile-section) .cta-form > .h-row { order: 1; margin: 0; }
    .hp-articles + .cta-section:not(.robin-profile-section) .cta-form > .h-form-controls { position: static; order: 2; width: 100%; padding-top: 0; }
    .hp-articles + .cta-section:not(.robin-profile-section) .cta-form > .h-form-options { order: 3; margin-top: 28px; margin-bottom: 0; color: var(--hp-ink); font-size: 16px; line-height: 1.45; }
    .hp-articles + .cta-section:not(.robin-profile-section) .cta-form .h-col-1-of-3 { float: none; width: 100%; margin-bottom: 16px; padding: 0; }
    .hp-articles + .cta-section:not(.robin-profile-section) .h-form-default input[type='text'],
    .hp-articles + .cta-section:not(.robin-profile-section) .h-form-default input[type='email'] { min-height: 64px; padding: 18px 20px; border: 1px solid #dedede; border-radius: 10px; color: var(--hp-ink); background: #fff; font-family: Roboto, Arial, sans-serif; font-size: 16px; }
    .hp-articles + .cta-section:not(.robin-profile-section) .floating-label.placeholder-shown { top: 50%; left: 20px; color: var(--hp-muted); font-family: Roboto, Arial, sans-serif; font-size: 16px; transform: translateY(-50%); }
    .hp-articles + .cta-section:not(.robin-profile-section) .cta-form .btn--primary { width: 100%; min-height: 48px; padding: 12px 24px; border: 0; border-radius: 50px; font-family: Roboto, Arial, sans-serif; font-size: 16px; font-weight: 500; }
    .hp-articles + .cta-section:not(.robin-profile-section) .custom-checkbox { margin-left: 30px; color: var(--hp-ink); }
    .hp-articles + .cta-section:not(.robin-profile-section) .custom-checkbox a { color: var(--hp-ink); }
    .hp-articles + .cta-section:not(.robin-profile-section) .custom-checkbox::before,
    .hp-articles + .cta-section:not(.robin-profile-section) .custom-checkbox::after { left: -30px; width: 20px; height: 20px; border-radius: 4px; }
}
@media (prefers-reduced-motion: reduce) {
    .hp-section *, .hp-section *::before, .hp-section *::after { transition: none !important; scroll-behavior: auto !important; }
}
