/* Recruitment content and an embedded, accessible contact form. */
.source-message{font-size:16px;line-height:2.2;max-width:100%}.source-message p+p{margin-top:26px}
.support-row{grid-template-columns:46px 1fr}.support-comparison{overflow-x:auto;margin-top:38px;border:1px solid #d9e6e8;border-radius:8px}.support-comparison table{width:100%;min-width:1050px;border-collapse:collapse;font-size:13px;text-align:center}.support-comparison caption{text-align:left;font-weight:700;padding:17px 20px;background:#edf5f6}.support-comparison th,.support-comparison td{padding:16px 12px;border:1px solid #d9e6e8;vertical-align:middle}.support-comparison thead th{background:#edf5f6;width:135px}.support-comparison th:first-child{width:190px;text-align:left}.support-comparison tbody th{background:#f6f9f9}.comparison-note{font-size:12px;margin-top:12px;color:#59696d}.recruit-lead{margin-bottom:28px}.job-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.hospital-list{align-items:stretch}.hospital-card{display:flex;flex-direction:column;min-width:0}.hospital-card h3{min-height:3.5em;line-height:1.6;overflow-wrap:anywhere}.recruit-grant{margin:22px 0;padding:18px 0;border-top:1px solid #dce6e8;border-bottom:1px solid #dce6e8}.recruit-grant>span{font-size:13px}.recruit-grant p{color:#293253;font-size:22px;line-height:1.2}.recruit-grant strong{font-family:Arial,sans-serif;font-size:66px;font-weight:500;letter-spacing:-.05em;margin-right:5px}.support-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px}.support-tags span{font-size:11px;background:#edf5f6;padding:4px 8px;border-radius:4px}.job-list-title{font-weight:700;font-size:13px}.recruit-job-list{padding:0;margin:10px 0 20px;list-style:none}.recruit-job-list a:not(.button){display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #e4e9ea;font-size:13px}.recruit-job-list a:not(.button):hover,.recruit-home:hover{color:#447d87;text-decoration:underline}.recruit-home{font-size:12px;margin-top:auto;margin-bottom:18px}.hospital-card .button{font-size:12px;gap:10px;padding:12px;min-height:50px}
.recruit-form-wrap{margin-top:34px}.form-steps{list-style:none;display:flex;gap:8px;margin:0 0 34px;padding:0}.form-steps li{flex:1;text-align:center;padding:12px 6px;border-bottom:2px solid #dce5e7;color:#66797c;font-size:13px}.form-steps .is-current{border-color:#293253;color:#293253;font-weight:700}.form-guide{font-size:13px;margin-bottom:12px}.required-label,.optional-label{display:inline-block;border-radius:3px;font-size:10px;font-weight:500;line-height:1.5;padding:3px 7px;margin-left:8px;vertical-align:middle;white-space:nowrap}.required-label{background:#293253;color:white}.optional-label{background:#eef2f3;color:#5c6b6f}.form-guide .required-label{margin:0 7px 0 0}.form-row{border:0;border-top:1px solid #e0e8ea;margin:0;padding:25px 0;min-width:0}.form-row>label,.form-row legend{display:block;font-size:14px;font-weight:700;margin-bottom:12px}.form-row legend{float:left;width:100%;padding:0}.form-row legend+.form-choices{clear:both}.form-choices{display:flex;flex-wrap:wrap;gap:16px 28px}.form-choices label{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.form-row input:not([type=radio]),.form-row select,.form-row textarea{display:block;width:100%;max-width:100%;font:inherit;font-size:16px;line-height:1.6;color:#293253;background:#f8fafb;border:1px solid #cbdade;border-radius:5px;padding:13px 15px}.form-row textarea{resize:vertical;min-height:170px}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:2px solid #6a9eaa;outline-offset:2px}.field-note{font-size:12px;margin-top:8px;color:#637276}.form-policy{background:#f1f6f7;padding:25px;border-radius:8px;margin-top:12px}.form-policy h3{font-size:17px;margin-bottom:12px}.form-policy p{font-size:12px;line-height:2}.form-policy a{text-decoration:underline}.form-consent{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:22px;font-size:13px;cursor:pointer}.form-choices input,.form-consent input{width:18px;height:18px;accent-color:#293253;flex-shrink:0}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-actions{display:flex;justify-content:center;margin-top:35px}.form-actions button{padding:18px 35px;min-width:260px;font-size:14px;cursor:pointer}#form-message{padding:15px;background:#fff2ec;color:#873c26;margin-top:20px;font-size:13px}.thanks-main{max-width:860px;padding-top:80px;padding-bottom:100px}.thanks-main h1{font-size:clamp(23px,4vw,35px);line-height:1.8;margin-bottom:28px}.thanks-main p{margin-bottom:24px}.thanks-main .button{margin-top:20px;max-width:340px}.thanks-main .form-steps{margin-top:30px}
@media(max-width:700px){.source-message{font-size:14px}.support-row{grid-template-columns:30px 1fr}.support-comparison{margin-right:-12px}.hospital-card h3{min-height:0}.form-policy{padding:20px 16px}.form-row{padding:22px 0}.form-choices{gap:18px}.form-steps{gap:4px}.form-steps li{font-size:11px}.form-actions button{min-width:0;width:100%;padding:16px 18px}.form-consent{justify-content:flex-start;font-size:12px}.recruit-grant strong{font-size:58px}.thanks-main{padding-top:50px;padding-bottom:60px}}

/* Header and footer brand image. */
.contact-line{display:flex;align-items:center;gap:16px;width:100%;max-width:460px;margin:24px auto 0;padding:18px 22px;border:1px solid #06a64f;border-radius:10px;background:#fff;color:#244737;text-decoration:none;transition:background .2s}
.contact-line:hover{background:#effbf4}
.contact-line:focus-visible{outline:2px solid #06a64f;outline-offset:4px}
.contact-line-icon{width:44px;height:44px;flex-shrink:0}
.contact-line>span:not(.sr-only){font-size:15px;font-weight:700;line-height:1.7}
.contact-line small{display:block;margin-top:3px;color:#07833e;font-size:12px;font-weight:500}
.contact-line .contact-line-arrow{margin-left:auto;color:#07833e;font-size:22px}
@media(max-width:400px){.contact-line{padding:16px 12px;gap:10px}.contact-line>span:not(.sr-only){font-size:13px}.contact-line-icon{width:38px;height:38px}}
.brand-logo{display:block;width:176px;height:auto}
@media(max-width:700px){.header .header-cta{display:none}.header .menu-toggle{margin-left:auto}}
@media(max-width:700px){
  body.menu-open{overflow:hidden}
  .menu-open .header{position:fixed;inset:0 0 auto;height:77px}
  .menu-open .mobile-nav{inset:77px 0 0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:calc(90px + env(safe-area-inset-bottom));background:#fff}
}
@media(max-width:700px){.brand-logo{width:126px}.footer-main .brand-logo{width:116px}}
@media(max-width:360px){.header .brand-logo{width:112px}}


/* Individual facility photographs. */
.hero.hero-fullscreen .hero-image picture{display:block;width:100%}
/* Introduce the first-view artwork gently on page load. */
@media(prefers-reduced-motion:no-preference){
  .hero.hero-fullscreen .hero-image{animation:hero-soft-reveal 1.4s cubic-bezier(.2,.65,.3,1) both}
}
@keyframes hero-soft-reveal{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}
/* Subtle section colors share the same gradient angle and lightness. */
/* Center the label and arrow as a group on action buttons. */
.header-cta,.button,.hospital-card .button,.mobile-cta>a{justify-content:center;text-align:center}
.header-cta,.button-dark{box-shadow:0 3px 12px #83b5c329}
.header-cta:hover,.button-dark:hover{background:linear-gradient(#f1f8fa,#f1f8fa) padding-box,var(--button-border-gradient) border-box}
.form-actions{justify-content:center}
.thanks-main .button{margin-inline:auto}
.header-cta,.mobile-cta>a[href="#contact"]{position:relative;justify-content:center;text-align:center;padding-inline:30px}
.header-cta>span[aria-hidden="true"],.mobile-cta>a[href="#contact"]>span[aria-hidden="true"]{position:absolute;right:12px;top:50%;transform:translateY(-50%);margin:0}
.reference-section{--section-gradient-start:#acd0d6;--section-gradient-end:#d4e3e7}
.reference-section::before{background:linear-gradient(128deg,var(--section-gradient-start) 0%,var(--section-gradient-end) 100%)}
.reference-section.message{--section-gradient-start:#acd0d6;--section-gradient-end:#d4e3e7}
.reference-section.support{--section-gradient-start:#b2d2cb;--section-gradient-end:#dce9e3}
.reference-section.hospitals{--section-gradient-start:#b3cad9;--section-gradient-end:#dce6ed}
.reference-section.flow{--section-gradient-start:#c1c7db;--section-gradient-end:#e3e5ef}
.reference-section.faq{--section-gradient-start:#cbd0c5;--section-gradient-end:#e8e9e2}
.reference-section.contact{--section-gradient-start:#accdd3;--section-gradient-end:#dce9e9}
.facility-photo{margin:0 0 20px;overflow:hidden;border-radius:5px;background:#edf2f3;aspect-ratio:3/2}
.facility-photo img{display:block;width:100%;height:100%;object-fit:cover}
.hospital-card[data-hospital="letsnurse"] .facility-photo img,.hospital-card[data-hospital="letsreha"] .facility-photo img{object-fit:contain}

/* Message copy and its accompanying photograph. */
.our-message-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,56px)}
.our-message-layout .source-message{min-width:0}
.our-message-photo{margin:0;overflow:hidden;border-radius:8px}
.our-message-photo img{display:block;width:100%;height:auto}
.hospital-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.job-details{border-bottom:1px solid #dce6e8;min-width:0}
.job-details summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;padding:16px 12px;cursor:pointer;font-size:14px;font-weight:700;border-radius:5px;line-height:1.7}
.job-details summary::-webkit-details-marker{display:none}
.job-details summary:hover{background:#edf5f6}
.job-details summary:focus-visible{outline:2px solid #447d87;outline-offset:2px}
.job-details-action{display:flex;align-items:center;gap:8px;flex-shrink:0;font-size:11px;font-weight:500;color:#44717d}
.job-details-action b{display:inline-block;width:9px;height:9px;margin:0 3px 5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;font-size:0;font-weight:400;transform:rotate(45deg);transition:transform .2s}
.job-details[open]>summary{background:#edf5f6;color:#293253}
.job-details[open] .job-details-action b{transform:translateY(4px) rotate(225deg)}
.job-details-body{padding:20px 12px 24px;overflow-wrap:anywhere}
.job-details-body h4{font-size:16px;margin:0 0 18px}
.job-spec{margin:0;font-size:13px;line-height:1.9}
.job-spec>div{border-top:1px solid #e0e8ea;padding:14px 0}
.job-spec dt{font-weight:700;color:#44717d;margin-bottom:6px}
.job-spec dd{margin:0}
.job-source-note{font-size:11px;line-height:1.8;color:#637276;margin:12px 0 20px}
.job-details-body .button{width:100%}
@media(max-width:800px){.hospital-list{grid-template-columns:minmax(0,1fr)}}
@media(max-width:400px){.job-details summary{padding-inline:6px;gap:8px}.job-details-action{font-size:10px;gap:4px}.job-details-body{padding-inline:6px}}
@media(max-width:700px){
  .our-message-layout{grid-template-columns:minmax(0,1fr);gap:28px}
}

/* Support and first-step accordions, facility cards and combined search. */
.support-row.content-accordion{display:block;padding:0}
.content-accordion>summary{display:flex;align-items:center;gap:18px;list-style:none;cursor:pointer;padding:25px 0}
.content-accordion>summary::-webkit-details-marker{display:none}
.content-accordion>summary h3{flex:1;font-size:21px;line-height:1.7;margin:0;min-height:0}
.content-accordion>summary:hover{color:#447d87}
.accordion-icon{flex-shrink:0;font-size:24px;transition:transform .2s}
.content-accordion[open]>summary .accordion-icon{transform:rotate(45deg)}
.accordion-body{padding:0 0 25px 64px;font-size:14px;line-height:2}
.support-by-facility{margin-top:38px}.support-by-facility>h3{font-size:21px;margin-bottom:20px}
.support-facility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.support-facility-card{min-width:0;padding:23px;border:1px solid #d9e6e8;border-radius:10px;background:#f6f9f9}
.support-facility-card h4{font-size:16px;line-height:1.7;margin:0 0 16px}
.support-facility-grant{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}
.support-facility-grant strong{font-size:26px;color:#293253}
.support-facility-card ul{padding-left:1.3em;margin:16px 0 0;font-size:13px;line-height:2}
.flow-list{grid-template-columns:1fr;gap:12px}.flow-list li{padding:0 22px}.flow-list li:not(:last-child)::after{display:none}
.flow-list .step-label{display:block;margin:0;white-space:nowrap;font-size:13px}
.flow-list .content-accordion>summary h3{font-size:18px}.flow-list .accordion-body{padding-left:0}
.recruit-search{padding:26px;background:#edf5f8;border:2px solid #86aab9;border-radius:12px;margin-bottom:18px}
.search-field{border:0;margin:0;padding:0;min-width:0}.search-field legend{padding:0;font-weight:700;font-size:20px;margin-bottom:12px}
.search-help{font-size:13px;margin:0 0 14px}.job-filters{margin:0}.area-field{border-top:1px solid #c3d6df;margin-top:22px;padding-top:20px}.area-field legend{float:left;width:100%;font-size:16px}.area-filters{display:flex;flex-wrap:wrap;gap:10px;clear:both}
.recruit-search>.search-help{margin:18px 0 0}.recruit-search .filter,.area-filter{border:1px solid #a2bdc9;border-radius:24px;background:#fff;padding:10px 16px;font-size:13px;min-height:44px}
.recruit-search .is-active{background:#293253;color:#fff;border-color:#293253}.filter-empty{padding:24px;background:#f6f9f9;border-radius:8px;margin-bottom:20px}
.mobile-cta>a .cta-copy{font:inherit;display:block}.cta-copy small{display:block;font-size:9px;font-weight:500;line-height:1.5}
@media(max-width:700px){.support-facility-grid{grid-template-columns:1fr}.support-facility-card{padding:20px}.content-accordion>summary{gap:10px;padding:22px 0}.content-accordion>summary h3{font-size:17px}.accordion-body{padding-left:40px;font-size:13px}.flow-list li{padding:0 16px}.flow-list .content-accordion>summary{flex-wrap:wrap;gap:5px 10px}.flow-list .step-label{width:100%;font-size:12px}.flow-list .content-accordion>summary h3{font-size:17px}.recruit-search{padding:18px 14px}.recruit-search .filter,.area-filter{font-size:12px;padding:9px 12px}.search-field legend{font-size:18px}.mobile-cta>a[href="#contact"]{padding-inline:12px 24px}.mobile-cta{grid-template-columns:1fr 1.3fr}}

/* Fixed LINE consultation shortcut and three mobile actions. */
.line-follow{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:26;display:flex;flex-direction:column;align-items:center;gap:16px;padding:22px 13px 18px;border:1px solid #ccebd8;border-right:0;border-radius:20px 0 0 20px;background:linear-gradient(160deg,#fff 0%,#eefaf2 100%);color:#17643c;box-shadow:-4px 6px 24px #183e2920;font:700 14px/1.5 var(--rounded);transition:padding .2s,box-shadow .2s,background .2s}
.line-follow .contact-line-icon{width:36px;height:36px}
.line-follow-label{writing-mode:vertical-rl;letter-spacing:.12em}
.line-follow-arrow{font-size:20px;line-height:1}
.line-follow:hover{padding-right:20px;background:#e7f8ee;box-shadow:-6px 8px 28px #183e2930}
.line-follow:focus-visible{outline:3px solid #07833e;outline-offset:3px}
@media(max-width:700px){
  .line-follow{display:none}
  .mobile-cta{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:9px 10px calc(9px + env(safe-area-inset-bottom))}
  .mobile-cta>a,.mobile-cta>a[href="#contact"]{position:static;min-width:0;min-height:48px;padding:10px 4px;gap:4px;border-radius:12px;font-size:11px;white-space:nowrap}
  .mobile-cta>a[href="#contact"]{background:var(--ink);color:#fff}
  .mobile-cta>a[href="#contact"]>span[aria-hidden="true"]{position:static;transform:none}
  .mobile-cta>a>span[aria-hidden="true"]{font-size:13px}
  .mobile-cta>a.mobile-cta-line{background:#06a94d;border-color:#06a94d;color:#fff;box-shadow:0 3px 10px #068b3820}
  .mobile-cta-line .contact-line-icon{width:23px;height:23px}
  .mobile-cta>a.mobile-cta-line>span:not(.sr-only){font:inherit}
  .mobile-cta-line:hover{background:#07833e;border-color:#07833e}
}
@media(prefers-reduced-motion:reduce){.line-follow{transition:none}}
/* Swipeable filter rows on small screens. */
.filter-scroll-hint{display:none}
@media(max-width:700px){
  .filter-scroll-hint{display:flex;align-items:center;justify-content:flex-end;gap:6px;clear:both;margin:0 0 8px;color:#44717d;font-size:11px;line-height:1.6}
  .filter-scroll-hint>span{font-size:18px;line-height:1}
  .recruit-search .job-filters,.recruit-search .area-filters{display:flex;flex-wrap:nowrap;gap:8px;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding:4px 4px 12px;margin:0;scroll-padding-inline:4px;scrollbar-width:thin;scrollbar-color:#86aab9 #dce8ed}
  .recruit-search .job-filters>button,.recruit-search .area-filters>button{flex:0 0 auto;white-space:nowrap}
  .recruit-search .job-filters::-webkit-scrollbar,.recruit-search .area-filters::-webkit-scrollbar{height:4px}
  .recruit-search .job-filters::-webkit-scrollbar-thumb,.recruit-search .area-filters::-webkit-scrollbar-thumb{background:#86aab9;border-radius:4px}
  .recruit-search .job-filters::-webkit-scrollbar-track,.recruit-search .area-filters::-webkit-scrollbar-track{background:#dce8ed;border-radius:4px}
  .recruit-search .job-filters>button:focus-visible,.recruit-search .area-filters>button:focus-visible{outline-offset:1px}
}
/* A soft entrance when the desktop LINE shortcut becomes visible. */
@media(min-width:701px) and (prefers-reduced-motion:no-preference){
  .line-follow:not([hidden]){animation:line-follow-appear .85s cubic-bezier(.22,.61,.36,1) both}
}
@keyframes line-follow-appear{
  from{opacity:0;transform:translate(12px,calc(-50% + 20px))}
  to{opacity:1;transform:translate(0,-50%)}
}
.form-support-conditions{margin-bottom:16px;font-size:13px;line-height:2}.form-support-conditions ul{padding-left:1.5em;margin:12px 0}
