/* One responsive landscape, outside the page scroller. No parallax, scroll
   listener, backdrop blur, animated canvas, or second sepia image. */
body.diagnosis-first { position:relative; isolation:isolate; background:#183c35; }
.world-backdrop { position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; contain:layout paint; background:#263d34; }
.world-backdrop picture { display:block; width:100%; height:100%; }
.world-backdrop img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 50%; filter:sepia(.92) saturate(.36) brightness(.79); }
.world-backdrop::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,#152d2524,transparent 35%,#122c2a38); }
html[data-world-state="color"] .world-backdrop img { filter:none; transition:filter 1.8s ease-out; }
.diagnosis-first .page-scroll { position:relative; z-index:1; background:transparent; }
.diagnosis-first .diagnosis-scene { background:transparent; }
.diagnosis-scene::before { display:none; }
.diagnosis-header { background:linear-gradient(#f4eddfed,#f4eddfc9 62%,#f4eddf00); }
.diagnosis-start { background:#fff9e9ef; border:1px solid #d9c5a2; box-shadow:0 18px 65px #102d324d,0 0 0 5px #f8edd025; }
.intro-message { max-width:650px; margin-inline:auto; padding:22px 18px; background:#faf3e4e8; border:1px solid #e9d9b3; border-radius:6px; box-shadow:0 10px 35px #102d3230; }
.intro-skip { background:#fcf5e8ed; color:#29483f; border:1px solid #d0c6a7; border-radius:3px; }
.scene-footer { color:#fff1d3; text-shadow:0 1px 3px #112820; }
.question-lead { width:max-content; max-width:100%; margin:0 auto 12px; padding:7px 15px; background:#fbf5e7ee; border:1px solid #e0d4b5; border-radius:3px; }
.question-kicker { color:#655035; }
.complete-b .diagnosis-scene .quiz { background:#fffbf0f5; border-color:#c6b894; box-shadow:0 15px 45px #102d3238; }
.diagnosis-scene .diagnosis-disclaimer { width:fit-content; max-width:100%; margin:12px auto; padding:7px 12px; background:#fff8e9f2; color:#42574b; border-radius:3px; }
.diagnosis-scene .gallery-link { padding:6px 12px; background:#fff8e9f2; color:#365342; border-color:#d5c5a5; border-radius:3px; }
/* Each LP chapter is a place in the same world. A bounded sticky picture
   avoids stretching one bitmap across a long phone chapter. Text remains on
   paper; only section scenery is deferred until that chapter is near view. */
#recruitment.character-lp { background:#899b85; padding-bottom:35px; }
#recruitment > :is(.lp-section,.lp-hero,.lp-provider-area) { position:relative; isolation:isolate; background:transparent; overflow:visible; border:0; padding-block:190px 100px; }
#recruitment .lp-environment { position:absolute; inset:0; z-index:-2; overflow:clip; pointer-events:none; background:#899b85; }
#recruitment .lp-environment picture { display:block; position:sticky; top:0; width:100%; height:100svh; }
#recruitment .lp-environment img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
#recruitment .lp-environment::before { content:""; position:absolute; inset:0 0 auto; z-index:1; height:200px; background-image:var(--scene-image,none); background-size:cover; background-position:center 62%; mask-image:linear-gradient(#000 75%,transparent); }
#recruitment .lp-environment::after { content:""; position:absolute; inset:0; z-index:2; background:linear-gradient(#899b85,transparent 65px,transparent calc(100% - 65px),#899b85); }
#recruitment > :is(.lp-section,.lp-hero,.lp-provider-area) > .lp-shell { position:relative; isolation:isolate; width:min(1060px,calc(100% - 136px)); }
#recruitment > :is(.lp-section,.lp-hero,.lp-provider-area) > .lp-shell::before { content:""; position:absolute; inset:-38px -28px; z-index:-1; background:#f5eddbef; border:1px solid #d8c8a7; border-radius:3px; box-shadow:0 16px 45px #0d282d50; pointer-events:none; }
#recruitment :is(.lp-support,.lp-flow) > .lp-shell::before { background:#e7e8d7ef; }
#recruitment :is(.lp-hero,.lp-jobs,.lp-contact) > .lp-shell::before { background:#102f32ed; border-color:#a9946699; }
#recruitment .lp-flow::before,#recruitment .lp-contact::before,#recruitment .lp-hero::before { display:none; }
#recruitment .lp-hero { padding-top:190px; }
#recruitment .lp-bridge { background:linear-gradient(#153a3540,#183b35f5); border:0; padding-block:60px 95px; }
#recruitment .lp-bridge :is(h2,p) { color:#fff3d5; text-shadow:0 2px 5px #102d32; }
#recruitment .lp-bridge > a { background:#e6c78b; color:#153b38; border-color:#d7bb80; }
.complete-b .character-lp-end { background:#eee2c8f2; }
.complete-b .fixed-cta.lp-dock { position:relative; z-index:2; }
@media(max-width:640px) {
 .world-backdrop img { object-position:50% 50%; }
 html[data-world-state="color"] .world-backdrop img { transition-duration:1.2s; }
 .diagnosis-header { background:linear-gradient(#f4eddfef,#f4eddfcc 65%,#f4eddf00); }
 .diagnosis-start { background:#fff9e9f2; }
 .intro-message { padding:17px 12px; margin-inline:5px; }
 .intro-message h1 { font-size:25px; }
 .question-lead { padding:6px 12px; margin-bottom:10px; }
 .diagnosis-scene .diagnosis-disclaimer { padding-inline:8px; }
 #recruitment > :is(.lp-section,.lp-hero,.lp-provider-area) { padding-block:190px 80px; }
 #recruitment > :is(.lp-section,.lp-hero,.lp-provider-area) > .lp-shell { width:calc(100% - 48px); }
 #recruitment > :is(.lp-section,.lp-hero,.lp-provider-area) > .lp-shell::before { inset:-28px -12px; }
 #recruitment .lp-environment::before { height:200px; }
 #recruitment .lp-environment::after { background:linear-gradient(#899b85,transparent 50px,transparent calc(100% - 50px),#899b85); }
 #recruitment .lp-bridge { padding-block:55px 75px; }
 #recruitment .lp-provider-grid { padding-block:15px; }
 #recruitment .lp-support-card { padding-inline:17px; }
 #recruitment .lp-ledger { padding-inline:16px; }
 #recruitment .lp-form-wrap { padding-inline:17px; }
}
@media(prefers-reduced-motion:reduce) {
 html[data-world-state="color"] .world-backdrop img { transition:none; }
}
@media(forced-colors:active) { .world-backdrop,#recruitment .lp-environment { display:none; } }

/* Bridge only: retain the mountain journey, with a controlled reading surface.
   Explicit paragraph selectors override the older small, low-contrast rules. */
#recruitment .lp-bridge { isolation:isolate; background:#1b352f; padding:72px 24px 76px; }
#recruitment .lp-bridge::before,#recruitment .lp-bridge::after { display:none; }
#recruitment .lp-bridge > .lp-environment { position:absolute; inset:0; z-index:-1; background:#1b352f; }
#recruitment .lp-bridge .lp-environment .scene-base { position:absolute; inset:0; height:100%; }
#recruitment .lp-bridge .lp-environment img { object-position:center 54%; }
#recruitment .lp-bridge .lp-environment::before { display:none; }
#recruitment .lp-bridge .lp-environment::after { background:linear-gradient(90deg,#142e26b8,#142e26d6 27%,#142e26d6 73%,#142e26b8); }
#recruitment .lp-bridge > p:first-of-type,#recruitment .lp-bridge .lp-bridge-note { color:#f2ead8; font-size:16px; font-weight:500; line-height:1.85; opacity:1; text-shadow:none; text-wrap:balance; }
#recruitment .lp-bridge > p:first-of-type { margin:0 auto 18px; max-width:640px; }
#recruitment .lp-bridge h2 { color:#fff4de; max-width:680px; margin:0 auto 22px; font-size:clamp(30px,3.6vw,46px); line-height:1.55; text-shadow:none; }
#recruitment .lp-bridge .lp-bridge-note { max-width:640px; margin:0 auto 28px; }
#recruitment .lp-bridge > a { width:48px; height:48px; color:#19382f; background:#ccb785; border:1px solid #e1d2ac; box-shadow:none; }
#recruitment .lp-bridge > a:hover { background:#e1d2ac; }
#recruitment .lp-bridge > a:focus-visible { outline:3px solid #fff4de; outline-offset:5px; }
@media(max-width:640px) {
 #recruitment .lp-bridge { padding:52px 20px 56px; }
 #recruitment .lp-bridge .lp-environment::after { background:#142e26d6; }
 #recruitment .lp-bridge > p:first-of-type,#recruitment .lp-bridge .lp-bridge-note { font-size:16px; }
 #recruitment .lp-bridge h2 { font-size:30px; line-height:1.55; margin-bottom:22px; }
}
@media(forced-colors:active) {
 #recruitment .lp-bridge { background:Canvas; }
 #recruitment .lp-bridge > p:first-of-type,#recruitment .lp-bridge .lp-bridge-note,#recruitment .lp-bridge h2 { color:CanvasText; }
 #recruitment .lp-bridge > a { background:ButtonFace; color:ButtonText; border-color:ButtonText; }
}

/* Requested chapters only: extend the existing translucent paper/ink surface
   across the complete scenery, without dimming foreground content. */
#recruitment > :is(.lp-hero,.lp-support,.lp-jobs,.lp-faq) > .lp-shell::before { display:none; }
#recruitment > :is(.lp-hero,.lp-jobs) > .lp-environment::after { background:#102f32ed; }
#recruitment > .lp-support > .lp-environment::after { background:#e7e8d7ef; }
#recruitment > .lp-faq > .lp-environment::after { background:#f5eddbef; }

/* Distinct, subdued channel colors; labels, icons and targets stay unchanged. */
.complete-b .fixed-cta.lp-dock a.cta-form { background:#875043; border-color:#875043; color:#fff9e9; }
.complete-b .fixed-cta.lp-dock a.cta-line { background:#266449; border-color:#266449; color:#fff9e9; }
.complete-b .fixed-cta.lp-dock a.cta-phone { background:#315d79; border-color:#315d79; color:#fff9e9; }
.complete-b .fixed-cta.lp-dock a.cta-form:hover { background:#6f4036; border-color:#6f4036; }
.complete-b .fixed-cta.lp-dock a.cta-line:hover { background:#1d513a; border-color:#1d513a; }
.complete-b .fixed-cta.lp-dock a.cta-phone:hover { background:#274b63; border-color:#274b63; }
.complete-b .fixed-cta.lp-dock a:focus-visible { outline:3px solid #102f32; outline-offset:3px; box-shadow:0 0 0 2px #fff9e9; }
@media(forced-colors:active) {
 #recruitment > :is(.lp-hero,.lp-support,.lp-jobs,.lp-faq) { background:Canvas; color:CanvasText; }
 .complete-b .fixed-cta.lp-dock :is(a.cta-form,a.cta-line,a.cta-phone) { background:ButtonFace; color:ButtonText; border-color:ButtonText; }
 .complete-b .fixed-cta.lp-dock a:focus-visible { outline-color:Highlight; box-shadow:none; }
}

/* Only the six reported chapters: keep the single responsive scene and remove
   the duplicate, differently cropped 200px scenery strip. */
#recruitment > :is(.lp-provider-area,.lp-service,.lp-terms,.lp-flow,.lp-job-examples,.lp-contact) > .lp-environment::before { content:none; display:none; background-image:none; }

/* Provider + waiting-dorm block: shorten the actual chapter and scenery,
   not a transform. Keep the legal scroll region and full-size text intact. */
#recruitment > .lp-provider-area { padding-block:56px 40px; }
#recruitment > .lp-provider-area > .lp-provider-grid { padding-block:8px; gap:30px; align-items:start; }
#recruitment > .lp-provider-area > .lp-shell::before { inset:-16px -22px; }
#recruitment .lp-provider-area .lp-dorm-note { padding:18px 22px; }
#recruitment .lp-provider-area .lp-note-tab { padding-bottom:6px; margin-bottom:10px; }
#recruitment .lp-provider-area #dorm-provider-note-title { margin-bottom:8px; }
#recruitment .lp-provider-area .dorm-scroll p { margin-bottom:9px; }
#recruitment .lp-provider-area .lp-text-link { min-height:44px; margin-top:0; padding-block:8px; }
@media(max-width:640px) {
 #recruitment > .lp-provider-area { padding-block:40px 36px; }
 #recruitment > .lp-provider-area > .lp-provider-grid { padding-block:4px; }
 #recruitment > .lp-provider-area > .lp-shell::before { inset:-14px -12px; }
 #recruitment .lp-provider-area .lp-dorm-note { margin-top:18px; padding:17px 18px; }
}

/* The provider disclosure and chapter 01 share one continuous forest and paper.
   Preserve the v16 compact disclosure layout; no repeated scene or inner seam. */
#recruitment > .lp-service-journey { padding-block:56px 64px; }
#recruitment .lp-service-journey .lp-provider-grid { padding-block:8px; gap:30px; align-items:start; }
#recruitment .lp-service-journey > .lp-journey-paper::before { inset:-16px -22px -28px; }
#recruitment .lp-service-journey .lp-service { margin:0; padding:44px 0 0; background:transparent; border:0; }
#recruitment .lp-service-journey .lp-service::before,
#recruitment .lp-service-journey .lp-service::after { display:none; }
#recruitment .lp-service-journey .lp-service-grid { width:100%; margin:0; }
#recruitment .lp-service-journey .lp-service-grid::before { display:none; }
@media(max-width:640px) {
 #recruitment > .lp-service-journey { padding-block:40px 48px; }
 #recruitment .lp-service-journey .lp-provider-grid { padding-block:4px; }
 #recruitment .lp-service-journey > .lp-journey-paper::before { inset:-14px -12px -24px; }
 #recruitment .lp-service-journey .lp-service { padding-top:38px; }
}

/* Keep the unified forest/paper, with the requested quiet chapter divider. */
#recruitment .lp-service-journey .lp-service { position:relative; }
#recruitment .lp-service-journey .lp-service::before { content:""; display:block; position:absolute; top:22px; inset-inline:0; height:1px; background:linear-gradient(90deg,#aa8d5355,#aa8d53 22%,#aa8d53 78%,#aa8d5355); pointer-events:none; }
@media(max-width:640px) {
 #recruitment .lp-service-journey .lp-service::before { top:18px; }
}
@media(forced-colors:active) {
 #recruitment .lp-service-journey .lp-service::before { background:CanvasText; }
}

/* Desktop depth layers keep near foliage/stone near native pixel density.
   One bounded scene, not repeated strips or a bitmap stretched down the page. */
.scene-plane { position:relative; width:100%; height:100%; }
.world-backdrop .scene-plane { position:absolute; inset:0; }
.world-backdrop .scene-base,#recruitment .lp-environment .scene-plane > .scene-base { position:absolute; inset:0; width:100%; height:100%; }
#recruitment .lp-environment .scene-plane { position:sticky; top:0; width:100%; height:100svh; }
#recruitment .lp-bridge .lp-environment .scene-plane { position:absolute; inset:0; height:100%; }
.world-backdrop .scene-foreground,#recruitment .lp-environment .scene-foreground { display:block; position:absolute; top:0; bottom:0; width:auto; height:100%; aspect-ratio:941 / 1672; }
.world-backdrop .scene-foreground-left,#recruitment .lp-environment .scene-foreground-left { left:0; right:auto; }
.world-backdrop .scene-foreground-right,#recruitment .lp-environment .scene-foreground-right { right:0; left:auto; }
.world-backdrop .scene-foreground img,#recruitment .lp-environment .scene-foreground img { width:100%; height:100%; object-fit:contain; object-position:center; }
#recruitment .lp-environment[data-environment="jobmon-world"]::before,
#recruitment .lp-environment[data-environment="forest"]::before { content:none; display:none; }
@media(max-width:640px) {
 .world-backdrop .scene-foreground,#recruitment .lp-environment .scene-foreground { display:none; }
}

/* Compact the LP's oversized whitespace without shrinking text, artwork,
   touch targets, diagnosis panels, or the six aligned job-card interiors.
   Solid reading chapters need less runway; scenic chapters retain a band
   above their paper. The already compact forest/provider chapter is intact. */
#recruitment > :is(.lp-hero,.lp-support,.lp-jobs,.lp-faq) { padding-block:68px 64px; }
#recruitment > :is(.lp-terms,.lp-flow,.lp-job-examples,.lp-contact) { padding-block:120px 72px; }
#recruitment .lp-hero-grid { padding-block:44px 36px; }
#recruitment .lp-section-heading { margin-bottom:28px; }
#recruitment .lp-job-examples .lp-section-heading { margin-bottom:26px; }
#recruitment > .lp-section .lp-eyebrow { margin-bottom:18px; }
#recruitment > .lp-section .lp-section-intro > h2 { margin-bottom:18px; }
#recruitment .lp-contact-secondary { margin-top:30px; padding-top:28px; }
#recruitment .lp-example-footer { margin-top:26px; padding-top:24px; }

/* Keep every operator, address, privacy and navigation line. Compact only
   the spacing around them, preserving all existing link hit areas. */
.complete-b .character-lp-end .lp-operator { padding-block:30px 24px; gap:32px; }
.complete-b .character-lp-end .lp-operator h2 { margin-block:8px 10px; }
.complete-b .character-lp-end .lp-operator dl > div { padding-block:8px; }
.complete-b .character-lp-end .lp-operator dl > div:first-child { padding-top:0; }
.complete-b .character-lp-end .lp-operator dl > div:last-child { padding-bottom:0; }
.complete-b .character-lp-end .lp-footer { padding-block:22px 20px; gap:16px; }
.complete-b .character-lp-end .lp-footer > div > p { margin-top:8px; }
.complete-b .character-lp-end .lp-footer .lp-preview-note { padding-top:12px; }

/* Respect the existing grid-reserved CTA row when the LP is open. The old
   explicit 100dvh scroller height could hide the last footer line under it. */
html.recruitment-open .diagnosis-first .page-scroll { height:auto; max-height:none; }

@media(max-width:640px) {
 #recruitment > :is(.lp-hero,.lp-support,.lp-jobs,.lp-faq) { padding-block:48px 44px; }
 #recruitment > :is(.lp-terms,.lp-flow,.lp-job-examples,.lp-contact) { padding-block:100px 56px; }
 #recruitment .lp-hero-grid { padding-block:24px 20px; }
 #recruitment .lp-section-heading,
 #recruitment .lp-job-examples .lp-section-heading { margin-bottom:24px; }
 #recruitment > .lp-section .lp-eyebrow { margin-bottom:16px; }
 #recruitment .lp-heading-note { margin-top:16px; }
 #recruitment .lp-contact-secondary { margin-top:24px; padding-top:22px; }
 #recruitment .lp-example-footer { margin-top:24px; padding-top:20px; }
 .complete-b .character-lp-end .lp-operator { padding-block:24px 20px; }
 .complete-b .character-lp-end .lp-operator dl { margin-top:16px; }
 .complete-b .character-lp-end .lp-footer { padding-block:20px 18px; }
 .complete-b .character-lp-end .lp-footer nav { margin-top:10px; }
 .complete-b .character-lp-end .lp-footer .lp-preview-note { margin-top:12px; padding-top:12px; }
}
