.app-shell,.screen,#jobs-app { min-height:100svh; }
#app-view.is-route-transitioning { pointer-events:none; will-change:opacity,transform; }
#app-view.is-route-leaving { opacity:0; transition:opacity 100ms ease-in; }
#app-view.is-route-entering { opacity:0; transform:translateY(8px); }
#app-view.is-route-entering.is-route-entering-active { opacity:1; transform:translateY(0); transition:opacity 220ms cubic-bezier(.22,.75,.28,1),transform 220ms cubic-bezier(.22,.75,.28,1); }
.screen { background:var(--surface); }
.screen-content { width:min(100%,680px); margin:0 auto; padding:32px 20px 40px; }
.home-content { --home-section-heading-offset:42px; --home-section-content-offset:24px; display:flex; flex:1 0 auto; flex-direction:column; justify-content:flex-end; padding-top:2px; padding-bottom:32px; }
/* The shared footer supplies the sole gap after the home screen. The fixed
   bottom nav must not add its screen safety padding before that footer. */
body.app-has-footer.app-has-bottom-nav .screen-content.home-content { padding-bottom:0; }
.home-screen { width:100%; }
.home-card { display:flex; min-height:calc(100svh - 56px); flex-direction:column; overflow:hidden; background:radial-gradient(circle at 85% 150px,rgba(249,115,22,.07),transparent 250px),radial-gradient(circle at 15% 330px,rgba(249,115,22,.035),transparent 240px),linear-gradient(180deg,#fffaf6 0,#fff9f5 420px,#fff 620px); }
.home-premium-hero { position:relative; isolation:isolate; height:235px; overflow:hidden; padding:30px 20px 4px; background:transparent; }
.home-premium-hero__copy { position:relative; z-index:3; width:100%; }
.home-premium-hero__copy h1 { display:flex; width:58%; flex-direction:column; gap:3px; margin:0; color:#202023; font-size:clamp(37px,10.5vw,45px); font-weight:700; letter-spacing:-1.1px; line-height:.94; text-align:left; }
.home-premium-hero__copy h1 span:last-child { color:#F97316; }
.hero-benefits { position:absolute; z-index:2; top:103px; left:0; width:58%; }
.hero-benefits__line { display:block; width:9px; height:9px; align-self:center; border-radius:50%; background:var(--vacancy-green); }
.hero-benefits__list { display:grid; gap:9px; }
.hero-benefits__list p { display:grid; grid-template-columns:9px minmax(0,1fr); align-items:center; column-gap:6px; margin:0; color:#424249; font-size:clamp(13px,3.35vw,14.5px); font-weight:500; line-height:1.15; }
.hero-benefits__list strong { color:#303035; font-weight:700; }
.home-premium-hero__visual { position:absolute; z-index:4; inset:0 0 0 auto; display:grid; width:42%; box-sizing:border-box; align-items:start; justify-items:end; padding:51px 20px 0 0; pointer-events:none; }
.home-hero-backdrop { position:absolute; z-index:1; bottom:0; left:50%; display:block; width:clamp(360px,105vw,410px); height:auto; max-width:none; transform:translateX(-50%); pointer-events:none; }
.home-premium-hero__mark { position:relative; z-index:1; display:block; width:112px; height:112px; max-width:100%; animation:home-brand-mark-float 3.8s ease-in-out infinite; }
.site-action-list { display:grid; gap:16px; }
.home-content .site-action-list { position:relative; z-index:1; width:100%; margin-top:0; }
.category-button.site-action-card { min-width:0; max-width:100%; min-height:82px; grid-template-columns:minmax(0,1fr) 20px; column-gap:14px; box-sizing:border-box; padding:0 16px 0 14px; border:1px solid rgba(255,255,255,.58); color:var(--text-primary); background:rgba(255,255,255,.76); box-shadow:0 3px 8px rgba(0,0,0,.05),0 10px 24px rgba(0,0,0,.08); text-align:left; -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); }
.site-action-card .category-button__main { display:grid; min-width:0; grid-column:1; grid-template-columns:44px minmax(0,1fr); align-items:center; column-gap:14px; }
a.site-action-card { text-decoration:none; }
.site-action-card .category-button__icon { display:grid; width:44px; height:44px; grid-column:1; place-items:center; border-radius:13px; }
.site-action-card .category-button__icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.7; }
.site-action-card .category-button__copy { width:100%; min-width:0; grid-column:2; gap:6px; justify-items:start; text-align:left; }
.site-action-card .category-button__text { color:var(--text-primary); font-family:var(--font-sans); font-size:var(--font-size-card-title); font-weight:var(--font-weight-semibold); line-height:var(--line-height-card-title); }
.site-action-card .category-button__subtitle { color:var(--text-secondary); font-family:var(--font-sans); font-size:var(--font-size-secondary); font-weight:var(--font-weight-regular); line-height:var(--line-height-secondary); }
.site-action-card--vacancies .category-button__icon { background:#43A047; box-shadow:0 4px 8px rgba(0,0,0,.06),0 6px 13px rgba(22,163,74,.20); }
.site-action-card--application .category-button__icon { background:#F97316; box-shadow:0 4px 8px rgba(0,0,0,.06),0 6px 13px rgba(249,115,22,.20); }
.site-action-card--vacancies .category-button__icon svg { color:#fff; opacity:1; filter:drop-shadow(0 1px 2px rgba(0,0,0,.12)); }
.site-action-card--application .category-button__icon svg { color:#fff; opacity:1; filter:drop-shadow(0 1px 2px rgba(0,0,0,.12)); }
.site-action-card__chevron { display:block; width:24px; height:24px; grid-column:2; justify-self:end; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2; pointer-events:none; }
.site-action-card--vacancies .site-action-card__chevron { color:#16A34A; filter:drop-shadow(0 0 3px rgba(22,163,74,.24)); }
.site-action-card--application .site-action-card__chevron { color:#F97316; filter:drop-shadow(0 0 3px rgba(249,115,22,.24)); }
.home-main-content { position:relative; z-index:0; box-sizing:border-box; width:calc(100% + 40px); margin:0 -20px; padding:0 20px; background:#fff; }
.home-main-content::before { position:absolute; z-index:-1; top:-72px; right:calc(50% - 50vw); left:calc(50% - 50vw); height:72px; content:""; pointer-events:none; background:linear-gradient(180deg,rgba(255,249,245,0),#fff); }
.home-main-content::after { position:absolute; z-index:-2; top:0; right:calc(50% - 50vw); bottom:0; left:calc(50% - 50vw); content:""; pointer-events:none; background:#fff; }
.home-getting-started { width:100%; margin-top:calc(var(--home-section-heading-offset) + 5px); }
.home-getting-started h2,.home-current-vacancies h2,.home-reviews h2 { margin:0 0 var(--home-section-content-offset); color:var(--text-primary); font-family:var(--font-sans); font-size:24px; font-weight:var(--font-weight-bold); letter-spacing:-.35px; line-height:1.2; text-align:center; }
.home-getting-started h2::after,.home-current-vacancies h2::after,.home-reviews h2::after { display:block; width:30px; height:3px; margin:8px auto 0; border-radius:999px; content:""; background:#F97316; }
.home-getting-started__steps { display:grid; gap:30px; }
.home-getting-started__step { position:relative; display:grid; grid-template-columns:44px minmax(0,1fr); align-items:start; column-gap:14px; }
.home-getting-started__step:not(:last-child)::after { position:absolute; z-index:0; top:44px; left:22px; width:2px; height:calc(100% - 14px); content:""; pointer-events:none; background:linear-gradient(180deg,rgba(249,115,22,.42),rgba(61,150,101,.32)); transform:translateX(-50%); }
.home-getting-started__step:nth-child(2)::after { background:linear-gradient(180deg,rgba(61,150,101,.32),rgba(86,133,166,.38)); }
.home-getting-started__icon { position:relative; z-index:1; display:grid; width:44px; height:44px; place-items:center; border-radius:13px; color:var(--orange); background:rgba(249,115,22,.15); }
.home-getting-started__icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; }
.home-getting-started__icon--support { color:#3d9665; background:rgba(61,150,101,.15); }
.home-getting-started__icon--travel { color:#5685a6; background:rgba(86,133,166,.15); }
.home-getting-started h3 { margin:1px 0 6px; color:var(--text-primary); font-family:var(--font-sans); font-size:var(--font-size-card-title); font-weight:var(--font-weight-semibold); letter-spacing:-.12px; line-height:var(--line-height-card-title); }
.home-getting-started p { margin:0; color:var(--text-secondary); font-family:var(--font-sans); font-size:var(--font-size-secondary); font-weight:var(--font-weight-regular); line-height:var(--line-height-secondary); }
.home-current-vacancies { box-sizing:border-box; width:calc(100% + 40px); margin:calc(var(--home-section-heading-offset) - 28px) -20px 0; padding:28px 20px 30px; }
.home-current-vacancies__empty { margin:0; color:var(--text-secondary); font-family:var(--font-sans); font-size:var(--font-size-secondary); line-height:var(--line-height-secondary); }
.home-current-vacancies__all-link { display:flex; width:max-content; min-height:44px; align-items:center; gap:5px; margin:10px 0 0 auto; padding:0; color:var(--orange); font-family:var(--font-sans); font-size:16px; font-weight:var(--font-weight-semibold); line-height:1.2; text-decoration:none; }
.home-current-vacancies__all-link:hover { color:var(--orange); text-decoration:none; }
.home-current-vacancies__all-link:visited,.home-current-vacancies__all-link:active,.home-current-vacancies__all-link:focus { text-decoration:none; }
.home-current-vacancies__all-link:focus-visible { outline:2px solid var(--orange); outline-offset:3px; border-radius:4px; }
.home-reviews { width:100%; margin-top:calc(var(--home-section-heading-offset) - 30px); }
.home-reviews__track { display:grid; align-items:start; grid-auto-columns:92%; grid-auto-flow:column; gap:14px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; }
.home-reviews__track::-webkit-scrollbar { display:none; }
.home-reviews__slide { min-width:0; margin:0; scroll-snap-align:start; scroll-snap-stop:always; }
.home-reviews__slide--screenshot { overflow:hidden; border:1px solid rgba(29,29,31,.09); border-radius:16px; background:#fff; box-shadow:0 4px 12px rgba(29,29,31,.05); }
.home-reviews__slide--screenshot img { display:block; width:100%; height:auto; }
.home-reviews__slide--cta { align-self:stretch; display:grid; min-height:180px; align-content:center; justify-items:center; gap:10px; box-sizing:border-box; padding:24px; border:1px solid rgba(29,29,31,.1); border-radius:16px; color:var(--text-primary); background:#fff; box-shadow:0 4px 12px rgba(29,29,31,.05); text-align:center; text-decoration:none; }
.home-reviews__slide--cta svg { width:30px; height:30px; color:var(--orange); }
.home-reviews__slide--cta strong { font-family:var(--font-sans); font-size:var(--font-size-card-title); font-weight:var(--font-weight-semibold); line-height:var(--line-height-card-title); }
.home-reviews__slide--cta span { color:var(--orange); font-family:var(--font-sans); font-size:var(--font-size-secondary); font-weight:var(--font-weight-semibold); line-height:var(--line-height-secondary); }
.home-reviews__slide--cta b { font-size:1.1em; font-weight:inherit; }
.home-reviews__slide--cta:focus-visible { outline:2px solid var(--orange); outline-offset:3px; }
.home-reviews__pagination { display:flex; justify-content:center; gap:7px; margin-top:14px; }
.home-reviews__dot { display:block; width:7px; height:7px; border-radius:50%; background:#d7d7da; }
.home-reviews__dot.is-active { background:#F97316; }
.home-final-application-cta { margin-top:var(--home-section-heading-offset); padding:22px 18px; border:1px solid rgba(249,115,22,.14); border-radius:20px; background:#fffaf6; text-align:center; }
.home-final-application-cta h2 { max-width:22ch; margin:0 auto; color:var(--text-primary); font-family:var(--font-sans); font-size:20px; font-weight:var(--font-weight-bold); letter-spacing:-.2px; line-height:1.2; }
.home-final-application-cta p { max-width:32ch; margin:10px auto 0; color:var(--text-secondary); font-family:var(--font-sans); font-size:15px; font-weight:var(--font-weight-regular); line-height:1.45; }
.home-final-application-cta__button { display:grid; width:min(100%,320px); place-items:center; margin:18px auto 0; text-decoration:none; }
.home-final-application-cta__button:focus-visible { outline:3px solid rgba(249,115,22,.55); outline-offset:3px; }
@keyframes home-brand-mark-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-6px); } }
@media (max-width:699px) { .home-card { overflow:visible; } .site-action-card.site-action-card--vacancies { box-shadow:0 3px 8px rgba(0,0,0,.05),0 10px 24px rgba(0,0,0,.08),0 12px 30px rgba(22,163,74,.17); } .site-action-card.site-action-card--application { box-shadow:0 3px 8px rgba(0,0,0,.05),0 10px 24px rgba(0,0,0,.08),0 12px 30px rgba(249,115,22,.17); } .home-card .home-getting-started__icon--search { box-shadow:0 4px 10px rgba(0,0,0,.06),0 10px 24px rgba(249,115,22,.16); } .home-card .home-getting-started__icon--support { box-shadow:0 4px 10px rgba(0,0,0,.06),0 10px 24px rgba(61,150,101,.16); } .home-card .home-getting-started__icon--travel { box-shadow:0 4px 10px rgba(0,0,0,.06),0 10px 24px rgba(86,133,166,.16); } .home-card .home-getting-started__icon--search svg { color:#F97316; } .home-card .home-getting-started__icon--support svg { color:#16A34A; } .home-card .home-getting-started__icon--travel svg { color:#229ED9; } }
@media (max-width:350px) { .home-premium-hero { height:255px; padding-right:16px; padding-left:16px; } .home-premium-hero__copy h1 { width:58%; font-size:37px; } .hero-benefits { top:102px; left:0; width:58%; } .hero-benefits__list { gap:8px; } .hero-benefits__list p { font-size:16px; } .home-premium-hero__visual { width:42%; padding-top:52px; padding-right:16px; } .home-premium-hero__mark { width:100px; height:100px; } }
@media (min-width:700px) { .home-reviews__track { grid-auto-columns:minmax(250px,38%); } .home-reviews__pagination { display:none; } .home-final-application-cta { max-width:440px; margin-right:auto; margin-left:auto; } }
@media (prefers-reduced-motion:reduce) { #app-view.is-route-transitioning,#app-view.is-route-leaving,#app-view.is-route-entering,#app-view.is-route-entering.is-route-entering-active { opacity:1; transform:none; transition:none; } .home-premium-hero__mark { animation:none; } }
.hero-benefits__list p{font-size:16px;font-weight:600;line-height:1.2}
.actions,.vacancy-list { display:grid; gap:12px; }
.actions { margin-top:32px; }
.home-content .actions { gap:19px; margin-top:29px; }
