:root{--ink:#153047;--teal:#007f82;--deep:#10263a;--mint:#d7ecea;--cream:#f7fbfb;--coral:#007f82;--white:#fff;--muted:#506a78;--line:#cbdcdf}
*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"DM Sans",sans-serif;background:#fff;line-height:1.65}h1,h2,h3{font-family:"Fraunces",serif;letter-spacing:-.035em;line-height:1.08}a{text-decoration:none}.container{max-width:1180px}.narrow{max-width:1080px!important}.topbar{background:var(--ink);color:#d9eee8;font-size:.78rem;padding:.55rem 0;letter-spacing:.02em}.topbar a{color:#fff;font-weight:700}.site-header{background:rgba(255,255,255,.96);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(23,57,52,.08);backdrop-filter:blur(12px)}.site-header .navbar{padding:1rem 0}.navbar-brand{display:flex;align-items:center;gap:.65rem;color:var(--ink)}.navbar-brand:hover{color:var(--ink)}.navbar-brand>span:last-child{display:flex;flex-direction:column;line-height:1}.navbar-brand strong{font:700 1.28rem "Fraunces",serif}.navbar-brand small{font-size:.55rem;letter-spacing:.28em;margin-top:.3rem;color:var(--teal)}.brand-mark{width:41px;height:41px;border-radius:13px;background:var(--teal);color:#fff;display:grid!important;place-items:center;transform:rotate(-5deg);box-shadow:0 6px 16px rgba(13,107,98,.18)}.brand-mark>span{font:400 1.9rem/1 "DM Sans";transform:rotate(5deg)}.nav-link{color:var(--ink)!important;font-weight:600;font-size:.92rem;padding:.7rem .8rem!important}.btn{border-radius:9px;font-weight:700;padding:.72rem 1.15rem;transition:.2s ease}.btn:hover{transform:translateY(-2px)}.btn-lg{padding:1rem 1.4rem;font-size:.95rem}.btn-brand{background:var(--coral);border:1px solid var(--coral);color:#fff;box-shadow:0 9px 22px rgba(242,123,102,.22)}.btn-brand:hover,.btn-brand:focus{background:#de6653;border-color:#de6653;color:#fff}.btn-outline-brand{border:1px solid var(--teal);color:var(--teal)}.btn-outline-brand:hover{background:var(--teal);color:#fff}.btn-white{background:#fff;color:var(--teal);border-color:#fff}.hero{background:var(--cream);padding:6.6rem 0 5.8rem;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;background:var(--mint);right:-210px;top:-250px;opacity:.58}.eyebrow{text-transform:uppercase;font-weight:700;letter-spacing:.14em;font-size:.74rem;color:var(--teal);display:flex;align-items:center;gap:.65rem;margin-bottom:1.25rem}.eyebrow span,.eyebrow i{width:23px;height:2px;background:var(--coral);display:inline-block}.eyebrow.light{color:#bfe2db}.hero h1,.inner-hero h1,.form-hero h1{font-size:clamp(3.2rem,6vw,5.7rem);margin:0 0 1.5rem;max-width:850px}.hero h1 em,.inner-hero h1 em{font-weight:600;color:var(--teal)}.hero-copy{font-size:1.16rem;color:var(--muted);max-width:650px;margin-bottom:2rem}.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap}.hero-actions .btn-light{background:#fff;color:var(--ink);border:1px solid #e4e5de}.trust-row{display:flex;margin-top:3.25rem;gap:0}.trust-row>div{display:flex;flex-direction:column;padding:0 2rem;border-left:1px solid #ccd8d2}.trust-row>div:first-child{padding-left:0;border:0}.trust-row strong{font:700 1.35rem "Fraunces",serif;color:var(--teal)}.trust-row span{font-size:.76rem;color:var(--muted)}.hero-visual{height:510px;position:relative;border-radius:50% 50% 45% 55%;background:linear-gradient(145deg,var(--teal),var(--deep));box-shadow:0 35px 80px rgba(9,75,70,.2)}.hero-visual:after{content:"";position:absolute;inset:55px;border:1px solid rgba(255,255,255,.17);border-radius:48%}.visual-orbit{position:absolute;border:1px dashed rgba(255,255,255,.25);border-radius:50%}.orbit-one{inset:105px 45px}.orbit-two{inset:50px 105px}.nurse-card,.shift-card{position:absolute;background:#fff;border-radius:14px;box-shadow:0 18px 45px rgba(12,46,42,.22);display:flex;align-items:center;z-index:2}.nurse-card{left:-45px;top:80px;padding:1rem;width:275px;gap:.8rem}.avatar{width:49px;height:49px;border-radius:50%;background:var(--mint);display:grid;place-items:center;font-weight:800;color:var(--teal)}.nurse-card div:nth-child(2),.shift-card div{display:flex;flex-direction:column}.nurse-card strong,.shift-card strong{font-size:.9rem}.nurse-card span,.shift-card span{font-size:.72rem;color:var(--muted)}.nurse-card i{margin-left:auto;width:25px;height:25px;background:#ddf2e4;color:#348452;border-radius:50%;font-style:normal;text-align:center}.shift-card{right:-35px;bottom:74px;padding:1.1rem;width:290px;gap:.9rem}.shift-card small{color:#3b8f6b;font-size:.57rem;letter-spacing:.13em;font-weight:800}.shift-icon{width:41px;height:41px;border-radius:10px;background:#fff0eb;color:var(--coral)!important;display:grid!important;place-items:center;font-size:1.2rem!important}.hero-cross{position:absolute;color:#fff;font-size:6rem;font-weight:200;opacity:.84;left:50%;top:48%;transform:translate(-50%,-50%)}.section-pad{padding:6.5rem 0}.section-heading{max-width:710px}.section-heading.text-center{margin:auto}.section-heading h2,.process-section h2,.center-cta h2{font-size:clamp(2.5rem,4.5vw,4rem);margin-bottom:1.1rem}.section-heading p{color:var(--muted);font-size:1.08rem}.journey-card{position:relative;height:100%;padding:3rem;border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:.25s;background:#fff}.journey-card:hover{transform:translateY(-6px);box-shadow:0 25px 55px rgba(16,70,63,.1)}.nurse-journey{background:#f4faf8}.client-journey{background:#fff8f5}.card-number{position:absolute;right:1.5rem;top:.2rem;font:700 6.5rem "Fraunces";color:rgba(13,107,98,.065)}.icon-chip{display:grid;width:50px;height:50px;border-radius:14px;background:var(--teal);color:#fff;place-items:center;font-size:1.4rem;margin-bottom:1.6rem}.client-journey .icon-chip{background:var(--coral)}.journey-card h3{font-size:2.2rem}.journey-card>p{color:var(--muted);max-width:500px}.tick-list{list-style:none;padding:0;margin:1.6rem 0 2rem}.tick-list li{margin:.65rem 0}.tick-list li:before{content:"✓";display:inline-grid;place-items:center;width:23px;height:23px;background:#ddefe9;color:var(--teal);border-radius:50%;margin-right:.65rem;font-size:.72rem;font-weight:800}.journey-card>a,.text-link{color:var(--teal);font-weight:800}.process-section{background:var(--ink);color:#fff;position:relative;overflow:hidden}.process-section:after{content:"+";position:absolute;right:-10px;top:-110px;font:300 27rem "DM Sans";color:rgba(255,255,255,.025)}.process-section p{color:#b9cdc8}.process-step{border-top:1px solid rgba(255,255,255,.2);padding-top:1.8rem}.process-step b{width:42px;height:42px;border-radius:50%;border:1px solid #7ca49c;display:grid;place-items:center;color:#bfe2db;margin-bottom:3rem}.process-step h3{font-size:1.55rem}.cta-strip{background:var(--coral);padding:3rem 0;color:#fff}.cta-strip>.container,.cta-strip>.container>div{display:flex;align-items:center;justify-content:space-between;gap:1.2rem}.cta-strip .icon-chip{background:#fff;color:var(--coral);margin:0}.cta-strip h2{font-size:2rem;margin:0}.cta-strip p{margin:0;opacity:.9}.inner-hero,.form-hero{padding:5.7rem 0;background:var(--teal);color:#fff;position:relative;overflow:hidden}.inner-hero:after,.form-hero:after{content:"+";position:absolute;right:5%;top:-105px;color:rgba(255,255,255,.05);font-size:28rem;line-height:1}.client-inner,.client-form-hero{background:var(--ink)}.inner-hero h1{font-size:clamp(3rem,5vw,5rem);max-width:900px}.inner-hero h1 em{color:#bfe2db}.inner-hero p,.form-hero p{font-size:1.15rem;color:#d1e6e1;max-width:710px;margin:0 0 2rem}.benefit-grid article{height:100%;border:1px solid var(--line);border-radius:18px;padding:2rem}.benefit-grid article>span,.service-grid>div>span{width:45px;height:45px;border-radius:12px;background:var(--mint);color:var(--teal);display:grid;place-items:center;font-weight:800;margin-bottom:1.4rem}.benefit-grid h3,.service-grid h3{font-size:1.45rem}.benefit-grid p,.service-grid p{color:var(--muted);margin:0}.soft-section{background:var(--cream)}.requirement-list{list-style:none;margin:0;padding:0}.requirement-list li{display:flex;gap:1.5rem;border-bottom:1px solid #d7ddd7;padding:1.4rem 0}.requirement-list b{color:var(--coral);font-size:.78rem;letter-spacing:.1em}.requirement-list span{display:flex;flex-direction:column;color:var(--muted)}.requirement-list strong{color:var(--ink);font-size:1.05rem}.center-cta{text-align:center;padding:5.8rem 0}.center-cta p{color:var(--muted);font-size:1.08rem}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.service-grid>div{background:var(--cream);padding:1.7rem;border-radius:16px}.form-hero{padding:4.5rem 0 8rem}.form-hero h1{font-size:clamp(2.8rem,5vw,4.5rem);max-width:800px}.back-link{display:inline-block;color:#d1e6e1;margin-bottom:2.5rem;font-weight:600}.form-section{background:#f3f7f6;padding:0 0 6rem}.form-shell{background:#fff;border-radius:20px;padding:clamp(1.5rem,5vw,4rem);max-width:900px;margin:-4rem auto 0;position:relative;box-shadow:0 20px 60px rgba(18,61,55,.1)}.form-shell h2{font-size:2rem;margin-bottom:1.8rem}.form-divider{border-top:1px solid var(--line);padding-top:2.5rem;margin-top:3rem}.form-field label{display:block;font-weight:700;font-size:.87rem;margin-bottom:.45rem}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #cad8d4;border-radius:9px;padding:.82rem .9rem;background:#fff;color:var(--ink);outline:0}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(13,107,98,.1)}.form-field>span,.check-field>span{display:block;color:#b73f31;font-size:.78rem;margin-top:.3rem}.check-field{display:grid;grid-template-columns:20px 1fr;gap:.6rem;align-items:start}.check-field input{width:18px;height:18px;margin-top:.25rem;accent-color:var(--teal)}.check-field>span{grid-column:2}.submit-btn{margin-top:2.5rem}.validation-summary{color:#b73f31;margin-bottom:1rem}.success-page{background:var(--cream);min-height:70vh;padding:6rem 1rem;display:grid;place-items:center}.success-card{background:#fff;border-radius:22px;box-shadow:0 20px 60px rgba(18,61,55,.1);max-width:680px;padding:4rem;text-align:center}.success-card>span{display:grid;width:75px;height:75px;border-radius:50%;background:var(--mint);color:var(--teal);place-items:center;font-size:2rem;margin:0 auto 1.5rem}.success-card h1{font-size:3rem}.success-card p{color:var(--muted)}.site-footer{background:#102f2b;color:#adc4bf;padding:5rem 0 1.5rem}.site-footer .footer-brand{color:#fff;margin-bottom:1.2rem}.site-footer p{max-width:440px}.site-footer h2{font:700 .75rem "DM Sans";letter-spacing:.13em;text-transform:uppercase;color:#fff;margin-bottom:1.3rem}.site-footer a,.site-footer span{display:block;color:#adc4bf;margin:.45rem 0;font-size:.88rem}.site-footer a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:3.5rem;padding-top:1.5rem;display:flex;justify-content:space-between}.footer-bottom a,.footer-bottom span{font-size:.78rem}
@media(max-width:991px){.site-header .navbar-collapse{padding:1rem 0}.site-header .btn{width:100%;margin:.25rem 0}.hero{padding:4rem 0}.hero-visual{height:430px;max-width:480px;margin:1rem auto 0}.inner-hero,.form-hero{padding:4.2rem 0}.journey-card{padding:2.3rem}.cta-strip>.container{align-items:flex-start;flex-direction:column}.cta-strip>.container>div{align-items:flex-start}.topbar span{display:none}}
@media(max-width:575px){.hero h1{font-size:3rem}.hero-actions .btn{width:100%}.trust-row{justify-content:space-between}.trust-row>div{padding:0 .65rem}.trust-row span{font-size:.65rem}.hero-visual{height:365px}.nurse-card{left:-3px;top:52px;width:245px}.shift-card{right:-3px;bottom:45px;width:255px}.section-pad{padding:4.5rem 0}.section-heading h2,.process-section h2,.center-cta h2{font-size:2.55rem}.service-grid{grid-template-columns:1fr}.form-shell{padding:1.5rem;border-radius:15px}.success-card{padding:2rem}.footer-bottom{flex-direction:column}.topbar{font-size:.72rem}.topbar .container{justify-content:center!important}.cta-strip>.container>div{flex-direction:column}}
.privacy-copy{max-width:780px}.privacy-copy h2{font-size:1.75rem;margin:2.4rem 0 .7rem}.privacy-copy h2:first-child{margin-top:0}.privacy-copy p{color:var(--muted)}.privacy-copy a{color:var(--teal);font-weight:700}

/* Distinctive home experience */
.motion-hero{position:relative;background:#f4efe3;min-height:780px;padding:5.5rem 0 0;overflow:hidden}.hero-index{position:absolute;left:1.6rem;top:6rem;writing-mode:vertical-rl;font-size:.65rem;letter-spacing:.16em;color:#788883}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;min-height:610px}.hero-message{position:relative;z-index:3;padding:2rem 0 7rem}.hero-message h1{font-size:clamp(4.3rem,7.5vw,7.8rem);line-height:.88;letter-spacing:-.06em;margin:0 0 2rem;max-width:860px}.hero-message h1 em{color:var(--coral);font-weight:600}.hero-message>p{font-size:1.15rem;max-width:585px;color:#536863;border-left:1px solid var(--teal);padding-left:1.3rem;margin-bottom:2.2rem}.text-cta{display:inline-flex;align-items:center;gap:1rem;padding:.75rem .2rem;color:var(--ink);font-weight:800;border-bottom:1px solid var(--ink)}.text-cta i{font-style:normal;font-size:1.35rem}.motion-art{align-self:end;height:660px;position:relative;z-index:2}.motion-art:before{content:"";position:absolute;width:540px;height:540px;border-radius:48% 52% 50% 45%;background:#0c5b54;left:50%;top:48%;transform:translate(-50%,-50%) rotate(-6deg)}.motion-art img{position:absolute;width:min(620px,120%);height:690px;object-fit:contain;object-position:bottom center;left:50%;bottom:-8px;transform:translateX(-50%);filter:drop-shadow(0 28px 25px rgba(14,44,40,.16))}.art-label{position:absolute;z-index:3;background:#fff;border:1px solid #d9e3df;box-shadow:7px 7px 0 var(--ink);padding:.75rem 1rem;display:flex;flex-direction:column;line-height:1.2}.art-label b{font-size:.63rem;letter-spacing:.16em;color:var(--coral)}.art-label span{font-size:.77rem;font-weight:700}.art-label-one{top:17%;right:-2%;transform:rotate(3deg)}.art-label-two{left:-7%;bottom:20%;transform:rotate(-3deg)}.art-stamp{position:absolute;right:-7%;bottom:5%;z-index:4;width:92px;height:92px;border-radius:50%;background:var(--coral);color:#fff;display:grid;place-items:center;text-align:center;font:700 .66rem/1.25 "DM Sans";letter-spacing:.13em;transform:rotate(9deg)}.shift-ribbon{position:absolute;bottom:0;left:-2%;width:104%;background:#c9f35a;color:var(--ink);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:.85rem 0;transform:rotate(-1deg);z-index:5;overflow:hidden;white-space:nowrap}.shift-ribbon>div{display:flex;gap:1.7rem;align-items:center;width:max-content;font-weight:800;letter-spacing:.1em;font-size:.74rem;animation:ribbonMove 24s linear infinite}.shift-ribbon i{color:var(--coral);font-style:normal}@keyframes ribbonMove{to{transform:translateX(-35%)}}
.manifesto-section{background:#fff;padding:8rem 0}.manifesto-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:800;color:var(--coral);margin-bottom:2rem}.manifesto-copy{font:600 clamp(2.8rem,5.4vw,5.3rem)/1.02 "Fraunces",serif;max-width:1100px;letter-spacing:-.045em}.manifesto-copy em{color:var(--teal);font-weight:600}.manifesto-foot{margin-top:2.5rem;display:flex;justify-content:flex-end;align-items:center;gap:1rem;font-weight:800}.scribble{font-size:3rem;color:var(--coral);transform:rotate(-14deg)}
.two-worlds{display:grid;grid-template-columns:1fr 1fr}.world-panel{min-height:620px;padding:3.2rem clamp(2rem,5vw,5rem);display:flex;flex-direction:column;color:#fff;position:relative;overflow:hidden;transition:flex .4s ease,filter .25s ease}.world-client{background:#0d5d56}.world-nurse{background:#f27862}.world-panel:before{content:"";position:absolute;width:380px;height:380px;border:1px solid rgba(255,255,255,.17);border-radius:50%;right:-150px;top:110px;transition:.5s}.world-panel:hover:before{transform:scale(1.2)}.world-number{position:absolute;right:2rem;top:1rem;font:600 7rem "Fraunces";color:rgba(255,255,255,.08)}.world-label{font-size:.68rem;letter-spacing:.15em;font-weight:800;text-transform:uppercase}.world-panel>div{margin:auto 0}.world-panel h2{font-size:clamp(2.8rem,4.5vw,4.9rem);margin-bottom:1.5rem;position:relative}.world-panel h2 em{font-weight:600;color:#c9f35a}.world-nurse h2 em{color:#173934}.world-panel p{max-width:520px;color:rgba(255,255,255,.78)}.world-arrow{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.35);padding-top:1rem;font-weight:700}.world-arrow i{font-size:1.5rem;font-style:normal}.world-panel:hover{filter:saturate(1.12)}
.shift-desk{background:#f4efe3;padding:8rem 0}.desk-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:3.5rem}.desk-heading h2{font-size:clamp(3rem,5.2vw,5rem);margin:0}.desk-heading>p{max-width:460px;color:var(--muted);font-size:1.05rem}.desk-shell{border:2px solid var(--ink);background:#fff;box-shadow:13px 13px 0 var(--ink)}.desk-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:2px solid var(--ink)}.desk-tabs button{border:0;background:#fff;text-align:left;padding:1.4rem 2rem;font:600 1.8rem "Fraunces",serif;color:#83908d;transition:.2s}.desk-tabs button+button{border-left:2px solid var(--ink)}.desk-tabs button span{display:block;font:800 .61rem "DM Sans";letter-spacing:.15em;margin-bottom:.25rem}.desk-tabs button.active{background:var(--ink);color:#fff}.desk-tabs button.active span{color:#c9f35a}.desk-panel{padding:2.4rem}.desk-panel form{display:grid;grid-template-columns:1.35fr 1.2fr .7fr auto;gap:1rem;align-items:end}.desk-question label{display:block;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem}.desk-question select,.desk-question>input{width:100%;height:53px;border:1px solid #aebdb8;border-radius:0;background:#fff;padding:0 .8rem;color:var(--ink);font-weight:600}.desk-count>div{height:53px;border:1px solid #aebdb8;display:grid;grid-template-columns:40px 1fr 40px}.desk-count button{border:0;background:#ecf3f0;color:var(--ink);font-size:1.3rem}.desk-count input{min-width:0;border:0;text-align:center;font-weight:800;-moz-appearance:textfield}.desk-count input::-webkit-inner-spin-button{appearance:none}.desk-submit{height:53px;border:0;background:var(--coral);color:#fff;padding:0 1.4rem;font-weight:800;white-space:nowrap}.desk-submit i{font-style:normal;margin-left:1rem}.desk-result{margin-top:0;max-height:0;overflow:hidden;opacity:0;background:#dff1eb;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;transition:.4s ease;padding:0 1.4rem}.desk-result.visible{margin-top:1.5rem;max-height:180px;opacity:1;padding:1.2rem 1.4rem}.result-tick{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--teal);color:#fff}.desk-result div{display:flex;flex-direction:column}.desk-result small{font-size:.57rem;letter-spacing:.13em;font-weight:800;color:var(--teal)}.desk-result strong{font-size:1.05rem}.desk-result p{margin:0;color:var(--muted);font-size:.82rem}.desk-result a{color:var(--ink);font-weight:800;border-bottom:1px solid var(--ink)}
.match-section{background:var(--ink);color:#fff;min-height:760px;padding:8rem 0;overflow:hidden}.match-section>.container{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:5rem}.match-intro h2{font-size:clamp(3.2rem,5.3vw,5.4rem)}.match-intro p{color:#a9c1bb;max-width:450px}.match-orbit{height:550px;position:relative;border:1px dashed rgba(201,243,90,.35);border-radius:50%;max-width:650px}.match-orbit:before{content:"";position:absolute;inset:16%;border:1px solid rgba(255,255,255,.14);border-radius:50%}.orbit-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:210px;height:210px;background:#c9f35a;color:var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:2}.orbit-core span,.orbit-core small{font-size:.6rem;letter-spacing:.15em;font-weight:800}.orbit-core strong{font:600 2.1rem "Fraunces"}.factor{position:absolute;background:#fff;color:var(--ink);padding:.8rem 1rem;min-width:160px;border-left:4px solid var(--coral);display:flex;gap:.7rem;align-items:center;box-shadow:7px 7px 0 rgba(242,120,98,.35)}.factor b{color:var(--coral);font-size:.68rem}.factor span{font-weight:800;font-size:.82rem}.factor-one{left:-3%;top:19%}.factor-two{right:-4%;top:23%}.factor-three{left:0;bottom:17%}.factor-four{right:-2%;bottom:13%}
.proof-strip{background:#c9f35a;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}.proof-strip>.container{display:grid;grid-template-columns:repeat(4,1fr)}.proof-strip>div>div{padding:2rem;border-left:1px solid rgba(23,57,52,.35);display:flex;flex-direction:column}.proof-strip>div>div:last-child{border-right:1px solid rgba(23,57,52,.35)}.proof-strip strong{font:700 2.1rem "Fraunces"}.proof-strip span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.final-invite{background:#f27862;color:#fff;padding:5rem 0}.final-invite>.container{display:grid;grid-template-columns:auto 1fr 1fr;align-items:center;gap:2rem}.invite-mark{font-size:7rem;font-weight:200;line-height:.7}.final-invite small{font-size:.6rem;letter-spacing:.17em;font-weight:800}.final-invite h2{font-size:clamp(2.8rem,4.5vw,4.5rem);margin:0}.invite-actions{display:flex;flex-direction:column}.invite-actions a{display:flex;justify-content:space-between;color:#fff;border-bottom:1px solid rgba(255,255,255,.5);padding:1rem .2rem;font-weight:800}.invite-actions i{font-style:normal}
@media(max-width:1100px){.hero-grid{grid-template-columns:1fr 1fr}.motion-art{height:570px}.motion-art img{height:600px}.motion-art:before{width:440px;height:440px}.hero-message h1{font-size:5.2rem}.desk-panel form{grid-template-columns:1fr 1fr}.desk-submit{width:100%}.match-section>.container{grid-template-columns:1fr}.match-orbit{width:100%;margin:auto}}
@media(max-width:767px){.motion-hero{padding-top:3rem}.hero-grid{grid-template-columns:1fr}.hero-message{padding-bottom:2rem}.hero-message h1{font-size:4rem}.motion-art{height:520px}.motion-art img{height:550px}.motion-art:before{width:390px;height:390px}.art-label-one{right:1%}.art-label-two{left:1%}.art-stamp{right:2%}.shift-ribbon{position:relative}.manifesto-section,.shift-desk,.match-section{padding:5rem 0}.two-worlds{grid-template-columns:1fr}.world-panel{min-height:520px}.desk-heading{display:block}.desk-heading>p{margin-top:1.5rem}.desk-tabs button{padding:1rem;font-size:1.35rem}.desk-panel{padding:1.25rem}.desk-panel form{grid-template-columns:1fr}.desk-result{grid-template-columns:auto 1fr}.desk-result a{grid-column:2}.match-orbit{height:430px}.orbit-core{width:150px;height:150px}.factor{min-width:130px;padding:.65rem}.factor-one{left:-1%}.factor-two{right:-1%}.factor-three{left:-1%}.factor-four{right:-1%}.proof-strip>.container{grid-template-columns:1fr 1fr}.proof-strip>div>div{border-bottom:1px solid rgba(23,57,52,.35)}.final-invite>.container{grid-template-columns:auto 1fr}.invite-actions{grid-column:1/-1}.hero-index{display:none}}
@media(max-width:470px){.motion-art{height:460px}.motion-art img{height:490px}.motion-art:before{width:320px;height:320px}.art-label{padding:.55rem}.art-label-two{bottom:12%}.hero-message h1{font-size:3.25rem}.manifesto-copy{font-size:2.5rem}.world-panel{padding:2rem 1.4rem}.match-orbit{height:390px}.factor{min-width:110px}.factor span{font-size:.7rem}.orbit-core{width:130px;height:130px}.orbit-core strong{font-size:1.6rem}.proof-strip strong{font-size:1.6rem}.proof-strip>div>div{padding:1.3rem .7rem}.final-invite>.container{grid-template-columns:1fr}.invite-mark{display:none}}
@media(prefers-reduced-motion:reduce){.shift-ribbon>div{animation:none}.world-panel,.world-panel:before{transition:none}}
.growth-roadmap{background:#eef6f3}.growth-roadmap .section-heading{margin-bottom:3rem}.roadmap-track{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--ink)}.roadmap-stage{position:relative;padding:2.5rem 2rem 2rem 0}.roadmap-stage:not(:last-child){border-right:1px solid #bdcfca;margin-right:2rem}.roadmap-stage:before{content:"";position:absolute;width:15px;height:15px;border:3px solid #eef6f3;border-radius:50%;background:#9aaba6;top:-8px;left:0;box-shadow:0 0 0 1px var(--ink)}.roadmap-stage.active:before{background:var(--coral)}.roadmap-stage b{font-size:.65rem;letter-spacing:.15em;color:var(--coral)}.roadmap-stage h3{font-size:1.65rem;margin:.8rem 0}.roadmap-stage p{color:var(--muted);margin:0}@media(max-width:767px){.roadmap-track{grid-template-columns:1fr;border-top:0;border-left:2px solid var(--ink);margin-left:.5rem}.roadmap-stage{padding:0 0 2.5rem 2rem}.roadmap-stage:not(:last-child){border-right:0;margin-right:0}.roadmap-stage:before{top:.25rem;left:-8px}}

/* Secure rota and compliance portals */
.portal-auth{min-height:75vh;background:#eef4f1;padding:5rem 1rem;display:grid;place-items:center}.auth-card{width:min(510px,100%);background:#fff;border:1px solid var(--line);box-shadow:12px 12px 0 var(--ink);padding:3rem}.auth-card-wide{width:min(790px,100%)}.auth-card h1{font-size:3.3rem}.auth-card>p{color:var(--muted)}.auth-card .form-field{margin-bottom:1rem}.auth-foot{text-align:center;margin-top:1.5rem;color:var(--muted)}.auth-foot a{color:var(--teal);font-weight:800}.account-choice{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0}.account-choice input{position:absolute;opacity:0}.account-choice span{display:flex;flex-direction:column;border:2px solid var(--line);padding:1rem;cursor:pointer;color:var(--muted)}.account-choice b{color:var(--ink)}.account-choice input:checked+span{border-color:var(--teal);background:#e8f5f0}.client-register .nurse-only{display:none}.portal-head{background:var(--teal);color:#fff;padding:4.5rem 0}.portal-head.admin-head{background:var(--ink)}.portal-head>.container{display:flex;align-items:end;justify-content:space-between;gap:2rem}.portal-head h1{font-size:clamp(3rem,5vw,5rem);margin:0}.portal-head p{color:#c8dfda;margin:1rem 0 0}.portal-status{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);padding:1rem 1.2rem;display:flex;align-items:center;gap:.8rem;min-width:220px}.portal-status>span{width:12px;height:12px;border-radius:50%;background:#f2c66d}.portal-status.approved>span{background:#c9f35a}.portal-status div{display:flex;flex-direction:column}.portal-status small{font-size:.58rem;letter-spacing:.13em}.portal-body{background:#f3f7f5;padding:4rem 0 7rem;min-height:60vh}.portal-alert{padding:1rem 1.3rem;margin-bottom:1.5rem;border-left:5px solid}.portal-alert.success{background:#dff2e7;border-color:#3d8a5d}.portal-alert.error{background:#fae4df;border-color:#c95441}.portal-section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:1.5rem}.portal-section-title small{font-weight:800;letter-spacing:.14em;color:var(--teal)}.portal-section-title h2{font-size:2.3rem;margin:.2rem 0 0}.portal-section-title>span{color:var(--muted);font-size:.85rem}.compliance-glance,.rota-section,.available-section,.ops-section{background:#fff;border:1px solid var(--line);padding:2rem;margin-bottom:2rem}.compliance-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.compliance-cards article{border-top:5px solid;padding:1.1rem;background:#f7faf8;display:flex;flex-direction:column}.compliance-cards article.ok{border-color:#4c9b6b}.compliance-cards article.warning{border-color:#e6a644}.compliance-cards article.urgent,.compliance-cards article.missing{border-color:#d35c4a}.compliance-cards small{font-size:.6rem;letter-spacing:.1em;font-weight:800}.compliance-cards strong{font-size:1rem;margin:.35rem 0}.compliance-cards span,.compliance-note{font-size:.75rem;color:var(--muted)}.compliance-note{margin:.9rem 0 0}.portal-empty{border:1px dashed #b9c9c4;padding:2rem;display:flex;flex-direction:column;text-align:center;color:var(--muted)}.portal-empty b{color:var(--ink)}.shift-list{border-top:1px solid var(--line)}.shift-row{display:grid;grid-template-columns:72px 1fr auto;gap:1.2rem;align-items:center;padding:1.3rem 0;border-bottom:1px solid var(--line)}.shift-date{background:var(--ink);color:#fff;display:flex;flex-direction:column;align-items:center;padding:.5rem}.shift-date b{font:700 1.5rem "Fraunces"}.shift-date span{font-size:.6rem;text-transform:uppercase}.shift-main small{color:var(--teal);font-weight:800}.shift-main h3{font:700 1.2rem "DM Sans";margin:.2rem 0}.shift-main span{color:var(--muted);font-size:.85rem}.shift-state{display:flex;flex-direction:column;align-items:end;gap:.45rem}.shift-state>a{font-size:.75rem;color:var(--teal);font-weight:800}.booked-pill,.pending-pill,.status-pill{display:inline-block;border-radius:30px;padding:.3rem .65rem;font-size:.65rem;font-weight:800}.booked-pill,.status-pill.open{background:#dff2e7;color:#307048}.pending-pill,.status-pill.pending{background:#fff0d7;color:#8b6019}.available-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.available-grid article{border:1px solid var(--line);padding:1.4rem}.availability-top{display:flex;justify-content:space-between;margin-bottom:1.5rem}.availability-top span{font-size:.6rem;letter-spacing:.14em;color:#3d8a5d;font-weight:900}.availability-top b{color:var(--coral)}.available-grid>article>small{color:var(--muted)}.available-grid h3{font:700 1.5rem "DM Sans"}.available-grid p{color:var(--muted)}.request-shift-summary{background:#edf5f2;border-left:5px solid var(--teal);padding:1rem;display:flex;flex-direction:column;margin-bottom:2rem}.request-shift-summary small{font-weight:800;color:var(--teal);letter-spacing:.12em}.request-shift-summary span{color:var(--muted)}.ops-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}.ops-stats a{background:#fff;border:1px solid var(--line);padding:1.5rem;color:var(--ink);display:flex;flex-direction:column}.ops-stats small{font-size:.6rem;letter-spacing:.14em;font-weight:800;color:var(--teal)}.ops-stats strong{font:700 3rem "Fraunces"}.ops-stats span{color:var(--muted);font-size:.8rem}.request-list article{display:grid;grid-template-columns:1fr 340px;gap:2rem;padding:1.5rem 0;border-top:1px solid var(--line)}.request-type{font-size:.65rem;font-weight:900;color:var(--coral);letter-spacing:.1em}.request-list h3{font:700 1.3rem "DM Sans";margin:.35rem 0}.request-list p,.request-list small{color:var(--muted)}.request-list blockquote{margin:.8rem 0;padding-left:1rem;border-left:3px solid var(--mint)}.request-list form textarea{width:100%;border:1px solid var(--line);padding:.6rem}.request-list form>div{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.ops-table-wrap,.compliance-table-wrap{overflow-x:auto}.ops-table{width:100%;border-collapse:collapse;min-width:760px}.ops-table th{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:left;padding:.8rem;border-bottom:2px solid var(--ink)}.ops-table td{padding:1rem .8rem;border-bottom:1px solid var(--line);font-size:.85rem}.ops-table td small{display:block;color:var(--muted)}.ops-table td a{color:var(--teal);font-weight:800}.status-pill.filled{background:#dce9f7;color:#365f8f}.status-pill.cancelled,.status-pill.lapsed,.status-pill.suspended{background:#fae4df;color:#a23f31}.warning-legend{display:flex;gap:.5rem}.warning-legend span,.date-alert{padding:.3rem .55rem;font-size:.7rem;font-weight:800;background:#e7eeeb}.warning-legend .urgent,.date-alert.urgent,.date-alert.expired{background:#f8d8d1;color:#9c382a}.warning-legend .warning,.date-alert.warning{background:#ffe9c4;color:#8a5a0a}.warning-legend .watch,.date-alert.watch{background:#fff6c7;color:#74600b}.date-alert.ok{background:#dff2e7;color:#307048}.date-alert.missing{background:#ecefee;color:#68736f}
@media(max-width:900px){.compliance-cards{grid-template-columns:1fr 1fr}.available-grid{grid-template-columns:1fr 1fr}.request-list article{grid-template-columns:1fr}.ops-stats{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.auth-card{padding:1.5rem}.account-choice{grid-template-columns:1fr}.portal-head>.container{align-items:start;flex-direction:column}.portal-status{width:100%}.portal-section-title{align-items:start;flex-direction:column}.compliance-cards,.available-grid,.ops-stats{grid-template-columns:1fr}.compliance-glance,.rota-section,.available-section,.ops-section{padding:1.2rem}.shift-row{grid-template-columns:55px 1fr}.shift-state{grid-column:2;align-items:start}.warning-legend{flex-wrap:wrap}}
.pay-net { display:flex; justify-content:space-between; align-items:center; padding:1.25rem 1.5rem; border-radius:1rem; background:#102f35; color:white; font-size:1.1rem; }
.pay-net strong { font-size:1.65rem; }
.payslip { max-width:900px; margin-inline:auto; }
.payslip h2 { font-size:1.2rem; margin:1rem 0; }

/* Graceford Healthcare brand */
.navbar-brand small { letter-spacing:.22em; }
.brand-logo { width:48px; height:48px; object-fit:contain; filter:drop-shadow(0 5px 10px rgba(13,107,98,.14)); }
.footer-brand .brand-logo { width:58px; height:58px; }
.site-footer .footer-tagline { font:600 1.05rem "Inter",sans-serif; color:#d6e3df; margin-top:1rem; }

/* Calm professional visual system */
body,
body *,
body *::before,
body *::after {
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif !important;
}

body { color:var(--ink); background:#fbfcfb; line-height:1.7; }
h1,h2,h3 { letter-spacing:-.025em; line-height:1.12; }
.site-header { border-bottom-color:#dfe6e3; box-shadow:0 4px 18px rgba(36,54,59,.04); }
.topbar,.process-section,.match-section { background:#243b40; }
.motion-hero,.shift-desk,.soft-section,.success-page { background:#f5f4ef; }
.motion-art::before { background:#315e5b; }
.hero-message h1 { font-size:clamp(3.4rem,6vw,6.25rem); line-height:.98; letter-spacing:-.045em; }
.manifesto-copy { font-size:clamp(2.35rem,4.5vw,4.4rem); line-height:1.08; letter-spacing:-.035em; }
.world-panel h2 { font-size:clamp(2.45rem,4vw,4.15rem); line-height:1.08; }
.desk-heading h2,.match-intro h2 { font-size:clamp(2.7rem,4.7vw,4.5rem); }
.world-client { background:#315e5b; }
.world-nurse { background:#796761; }
.world-panel h2 em,.world-nurse h2 em { color:#eef4f2; }
.world-panel:hover { filter:brightness(1.035); }
.shift-ribbon { background:#d7e3df; border-color:#40565b; }
.shift-ribbon i,.manifesto-kicker,.scribble { color:#8f5e53; }
.art-stamp,.desk-submit,.btn-brand { background:#9b6558; border-color:#9b6558; }
.btn-brand:hover,.btn-brand:focus,.desk-submit:hover,.desk-submit:focus { background:#835247; border-color:#835247; }
.orbit-core { background:#d7e3df; }
.desk-tabs button.active span { color:#d7e3df; }
.match-orbit { border-color:rgba(215,227,223,.42); }
.cta-strip { background:#7b625c; }
.proof-strip { background:#eef2f0; }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus,
.desk-question select:focus,.desk-question>input:focus {
  border-color:#356d68;
  box-shadow:0 0 0 3px rgba(53,109,104,.16);
}
.btn,.desk-submit,.desk-tabs button { transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease; }
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* Clear registration feedback */
.validation-summary:not(.validation-summary-valid) {
  background:#fff1ee;
  border-left:4px solid #9b3f32;
  padding:1rem 1.1rem;
  color:#7f2f24;
}
.validation-summary ul { margin:0; padding-left:1.2rem; }
.field-validation-error {
  display:block;
  color:#9b3f32;
  font-size:.8rem;
  font-weight:600;
  margin-top:.35rem;
}
.form-hint {
  display:block;
  color:var(--muted);
  font-size:.76rem;
  line-height:1.4;
  margin-top:.4rem;
}
.input-validation-error {
  border-color:#a94739 !important;
  background:#fffafa !important;
}
.account-choice + .field-validation-error { margin-top:-.75rem; margin-bottom:1rem; }

/* Keep every page anchored to the mobile viewport */
html,body { width:100%; max-width:100%; overflow-x:hidden; }
@supports (overflow:clip) {
  html,body { overflow-x:clip; }
}
main,header,footer,section { max-width:100%; }
img,svg,video { max-width:100%; }
input,select,textarea,button { min-width:0; max-width:100%; }

@media (max-width:767px) {
  .motion-hero { padding-top:2.5rem; }
  .hero-message h1 { font-size:clamp(2.75rem,13vw,4rem); overflow-wrap:anywhere; }
  .hero-message>p { font-size:1rem; }
  .motion-art { width:100%; max-width:100%; height:470px; overflow:hidden; }
  .motion-art::before { width:min(390px,88vw); height:min(390px,88vw); }
  .motion-art img { left:0; width:100%; height:500px; transform:none; object-fit:contain; }
  .art-label-one { right:.75rem; }
  .art-label-two { left:.75rem; }
  .art-stamp { right:.75rem; width:76px; height:76px; }
  .shift-ribbon { left:0; width:100%; transform:none; }
  .manifesto-section { padding-inline:0; }
  .manifesto-copy { font-size:clamp(2rem,10vw,2.9rem); overflow-wrap:anywhere; }
  .world-panel { min-height:460px; }
  .desk-shell { width:100%; box-shadow:6px 6px 0 var(--ink); }
  .desk-tabs { grid-template-columns:1fr; }
  .desk-tabs button+button { border-left:0; border-top:1px solid var(--ink); }
  .desk-panel form,.desk-result { min-width:0; }
  .desk-result.visible { max-height:280px; }
  .match-section>.container { min-width:0; gap:2.5rem; }
  .match-orbit { width:100%; max-width:100%; }
  .factor { min-width:0; max-width:42%; }
  .factor-one,.factor-three { left:0; }
  .factor-two,.factor-four { right:0; }
  .proof-strip>.container,.final-invite>.container { width:100%; }
  .footer-bottom { gap:.4rem; }
}

@media (max-width:470px) {
  .motion-art { height:410px; }
  .motion-art img { height:440px; }
  .motion-art::before { width:82vw; height:82vw; }
  .art-label { max-width:44%; box-shadow:4px 4px 0 var(--ink); }
  .world-panel h2 { font-size:2.3rem; }
  .match-orbit { height:360px; }
  .factor { padding:.5rem; }
  .factor span { overflow-wrap:anywhere; }
}

/* Role-specific portal access and dashboards */
.portal-choice-page .auth-card { max-width:960px; }
.portal-login-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin:2rem 0; }
.portal-login-option { position:relative; display:flex; flex-direction:column; min-height:330px; padding:2rem; border:1px solid var(--line); background:#fff; color:var(--ink); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.portal-login-option:hover,.portal-login-option:focus-visible { color:var(--ink); transform:translateY(-3px); border-color:var(--teal); box-shadow:0 18px 40px rgba(36,54,59,.1); }
.portal-login-option.client-option { background:#f6f4f1; }
.portal-option-icon { display:grid; place-items:center; width:48px; height:48px; margin-bottom:2rem; border-radius:50%; background:var(--teal); color:#fff; font-weight:700; }
.client-option .portal-option-icon { background:#796761; }
.portal-login-option small { color:var(--teal); font-size:.68rem; font-weight:700; letter-spacing:.12em; }
.portal-login-option h2 { margin:.6rem 0 1rem; font-size:2rem; }
.portal-login-option p { color:var(--muted); }
.portal-login-option strong { display:flex; justify-content:space-between; margin-top:auto; padding-top:1rem; border-top:1px solid var(--line); }
.portal-choice-foot { display:flex; justify-content:space-between; gap:1rem; color:var(--muted); font-size:.86rem; }
.portal-choice-foot a,.portal-back-link { color:var(--teal); font-weight:700; }
.portal-back-link { display:inline-block; margin-bottom:2rem; }
.client-role-login .auth-card { border-top:5px solid #796761; }
.nurse-role-login .auth-card { border-top:5px solid var(--teal); }
.client-portal-head { background:#3f5559; }
.client-portal-stats>div { background:#fff; border:1px solid var(--line); padding:1.5rem; color:var(--ink); display:flex; flex-direction:column; }
.client-portal-stats small { color:var(--teal); font-size:.62rem; font-weight:700; letter-spacing:.12em; }
.client-portal-stats strong { font-size:2.4rem; }
.client-portal-stats span { color:var(--muted); font-size:.8rem; }
.client-request-list { display:grid; gap:1rem; }
.client-request-list article { padding:1.5rem; border:1px solid var(--line); background:#fff; }
.request-status-line { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.4rem; }
.request-status-line small { color:var(--muted); }
.request-card-grid { display:grid; grid-template-columns:1.1fr 1.4fr .8fr; gap:1.5rem; }
.request-card-grid>div { display:flex; flex-direction:column; min-width:0; }
.request-card-grid small { color:var(--teal); font-size:.6rem; font-weight:700; letter-spacing:.1em; }
.request-card-grid strong { margin:.25rem 0; overflow-wrap:anywhere; }
.request-card-grid span,.request-notes { color:var(--muted); font-size:.85rem; }
.request-notes { margin:1.2rem 0 0; padding:1rem; background:#f3f6f5; }
.request-card-action { display:flex; justify-content:flex-end; margin-top:1rem; }
.history-list article { background:#f8f9f8; }
.portal-request-history { display:grid; gap:1rem; }
.portal-request-history article { border:1px solid var(--line); padding:1.25rem; }
.portal-request-history article>div { display:flex; justify-content:space-between; gap:1rem; align-items:center; }
.portal-request-history small,.portal-request-history p { color:var(--muted); }
.portal-request-history h3 { margin:.8rem 0 .4rem; font-size:1.05rem; }
.portal-request-history blockquote { margin:.8rem 0 0; padding:.8rem 1rem; border-left:3px solid var(--teal); background:#f3f6f5; color:var(--muted); }

@media (max-width:767px) {
  .portal-login-grid,.request-card-grid { grid-template-columns:1fr; }
  .portal-login-option { min-height:280px; padding:1.5rem; }
  .portal-choice-foot,.request-status-line,.portal-request-history article>div { align-items:flex-start; flex-direction:column; }
  .client-portal-head>.container { align-items:flex-start; }
  .client-portal-head .btn { width:100%; }
}

/* Clinical Coastal colour direction */
body { background:#f7fbfb; color:#153047; }

.topbar {
  background:#d7ecea;
  color:#153047;
  border-bottom:1px solid rgba(21,48,71,.1);
}
.topbar a { color:#153047; }

.site-header {
  background:#153047;
  border-bottom:3px solid #007f82;
  box-shadow:0 9px 28px rgba(10,31,47,.18);
  backdrop-filter:none;
}
.site-header .navbar-brand,
.site-header .navbar-brand:hover,
.site-header .navbar-brand:focus { color:#fff; }
.navbar-brand>span:last-child { align-items:center; }
.navbar-brand strong { display:block; line-height:1; }
.navbar-brand small {
  display:block;
  width:100%;
  padding-left:.16em;
  text-align:center;
  letter-spacing:.16em;
}
.site-header .navbar-brand small { color:#91d4d2; }
.site-header .brand-logo {
  width:50px;
  height:50px;
  padding:4px;
  background:#fff;
  border-radius:50%;
  filter:none;
}
.site-header .nav-link { color:#f3f8f9 !important; }
.site-header .nav-link:hover,
.site-header .nav-link:focus { color:#91d4d2 !important; }
.site-header .btn-outline-brand {
  border-color:#91d4d2;
  color:#fff;
}
.site-header .btn-outline-brand:hover,
.site-header .btn-outline-brand:focus {
  background:#d7ecea;
  border-color:#d7ecea;
  color:#153047;
}
.site-header .navbar-toggler { border-color:rgba(255,255,255,.55); }
.site-header .navbar-toggler-icon { filter:brightness(0) invert(1); }

.btn-brand,.desk-submit,.art-stamp {
  background:#007f82;
  border-color:#007f82;
  color:#fff;
  box-shadow:0 9px 22px rgba(0,127,130,.2);
}
.btn-brand:hover,.btn-brand:focus,.desk-submit:hover,.desk-submit:focus {
  background:#006b6e;
  border-color:#006b6e;
  color:#fff;
}
.btn-outline-brand { border-color:#007f82; color:#007f82; }
.btn-outline-brand:hover,.btn-outline-brand:focus { background:#007f82; color:#fff; }

.motion-hero,.shift-desk,.soft-section,.success-page { background:#f7fbfb; }
.motion-art::before { background:#d7ecea; }
.motion-art img { filter:drop-shadow(0 28px 25px rgba(21,48,71,.14)); }
.hero-message h1 em,.manifesto-copy em { color:#007f82; }
.hero-message>p { color:#506a78; border-left-color:#007f82; }
.text-cta { color:#153047; border-bottom-color:#153047; }
.shift-ribbon { background:#d7ecea; border-color:#153047; }
.shift-ribbon i,.manifesto-kicker,.scribble { color:#007f82; }
.art-label { border-color:#cbdcdf; box-shadow:7px 7px 0 #153047; }
.art-label b { color:#007f82; }
.manifesto-section { background:#fff; }

.world-client { background:#153047; }
.world-nurse { background:#007f82; }
.world-panel h2 em,.world-nurse h2 em { color:#d7ecea; }
.world-panel:hover { filter:brightness(1.06); }

.desk-shell { border-color:#153047; box-shadow:13px 13px 0 #153047; }
.desk-tabs { border-bottom-color:#153047; }
.desk-tabs button+button { border-left-color:#153047; }
.desk-tabs button.active { background:#153047; }
.desk-tabs button.active span { color:#91d4d2; }
.desk-count button,.desk-result { background:#edf6f6; }
.result-tick { background:#007f82; }

.process-section,.match-section { background:#153047; }
.orbit-core { background:#d7ecea; color:#153047; }
.match-orbit { border-color:rgba(145,212,210,.48); }
.factor { border-left-color:#007f82; box-shadow:7px 7px 0 rgba(0,127,130,.35); }
.factor b { color:#007f82; }
.proof-strip { background:#d7ecea; border-color:#153047; }
.final-invite,.cta-strip { background:#007f82; }

.inner-hero,.form-hero,.portal-head { background:#007f82; }
.client-inner,.client-form-hero,.portal-head.admin-head,.client-portal-head { background:#153047; }
.inner-hero p,.form-hero p,.portal-head p { color:#dceff0; }
.inner-hero h1 em { color:#d7ecea; }
.back-link { color:#e7f5f5; }

.form-section,.portal-auth,.portal-body { background:#edf6f6; }
.form-shell,.auth-card,.success-card {
  border:1px solid #cbdcdf;
  border-radius:18px;
  box-shadow:0 20px 55px rgba(21,48,71,.12);
}
.auth-card { border-top:5px solid #007f82; }
.client-role-login .auth-card { border-top-color:#153047; }
.form-field input,.form-field select,.form-field textarea {
  border-color:#b9ced2;
  border-radius:8px;
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus,
.desk-question select:focus,.desk-question>input:focus {
  border-color:#007f82;
  box-shadow:0 0 0 3px rgba(0,127,130,.15);
}
.account-choice input:checked+span { border-color:#007f82; background:#edf7f7; }
.portal-login-option.client-option { background:#edf6f6; }
.client-option .portal-option-icon { background:#153047; }
.portal-login-option:hover,.portal-login-option:focus-visible { border-color:#007f82; box-shadow:0 18px 40px rgba(21,48,71,.1); }

.portal-body .compliance-glance,
.portal-body .rota-section,
.portal-body .available-section,
.portal-body .ops-section,
.client-request-list article,
.client-portal-stats>div {
  border-color:#cbdcdf;
  box-shadow:0 8px 24px rgba(21,48,71,.045);
}
.shift-date { background:#153047; }
.request-shift-summary { background:#e3f2f1; border-left-color:#007f82; }

.site-footer { background:#10263a; color:#bdd0d7; }
.site-footer a,.site-footer span { color:#bdd0d7; }
.site-footer .footer-tagline { color:#d7ecea; }
.site-footer .footer-brand {
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:.75rem;
  width:auto;
  margin:0 0 1.2rem;
}
.site-footer .footer-brand > span {
  display:flex;
  flex-direction:column;
  align-items:center;
  margin:0;
}
.site-footer .footer-brand strong,
.site-footer .footer-brand small {
  margin:0;
}
.site-footer .footer-brand small {
  width:100%;
  padding-left:.22em;
  text-align:center;
}
.site-footer .brand-logo {
  padding:4px;
  background:#fff;
  border-radius:50%;
  filter:none;
}

.identity-pin-card {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  margin-bottom:2rem;
  padding:1.35rem 1.5rem;
  background:#153047;
  color:#fff;
  border-left:6px solid #45b7b4;
  box-shadow:0 10px 28px rgba(21,48,71,.12);
}
.identity-pin-card>div { display:flex; flex-direction:column; flex:0 0 auto; }
.identity-pin-card small { color:#91d4d2; font-size:.65rem; font-weight:700; letter-spacing:.13em; }
.identity-pin-card strong { font-size:2rem; letter-spacing:.2em; line-height:1.2; }
.identity-pin-card p { max-width:610px; margin:0; color:#dce7eb; font-size:.85rem; }
.pin-entry-label { display:block; margin:.9rem 0 .35rem; color:#506a78; font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.pin-entry {
  width:100%;
  margin-bottom:.65rem;
  padding:.72rem .8rem;
  border:1px solid #b9ced2;
  border-radius:7px;
  color:#153047;
  background:#fff;
  letter-spacing:.18em;
}
.pin-entry:focus { outline:0; border-color:#007f82; box-shadow:0 0 0 3px rgba(0,127,130,.15); }
.pin-confirm-field { padding:1rem; background:#edf6f6; border-left:4px solid #007f82; }
.direct-publish-note { display:flex; flex-direction:column; gap:.2rem; margin-bottom:1.5rem; padding:1rem 1.2rem; background:#e3f2f1; border-left:4px solid #007f82; }
.direct-publish-note span,.contract-guidance { color:#506a78; }
.portal-toolbar { display:flex; justify-content:flex-end; margin-bottom:1rem; }
.compact-label { display:block; width:100%; color:#506a78; font-size:.72rem; font-weight:700; }
.client-org-list form>input[type="number"] { width:130px; min-height:40px; padding:.5rem .65rem; border:1px solid #b9ced2; }
.client-org-list form>div { display:flex; gap:.5rem; flex-wrap:wrap; }
.contract-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr); gap:1.5rem; align-items:start; }
.contract-template-editor { width:100%; min-height:640px; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.86rem; line-height:1.55; }
.contract-guidance { margin-top:0; padding:1rem; background:#edf6f6; border-left:4px solid #007f82; }
.generated-contract { max-width:850px; margin:0 auto; padding:3rem; white-space:pre-wrap; overflow-wrap:anywhere; border:1px solid #cbdcdf; background:#fff; color:#153047; font:400 .95rem/1.7 "Inter",sans-serif; box-shadow:0 12px 35px rgba(21,48,71,.08); }

@media (max-width:991px) {
  .site-header .navbar-collapse {
    margin-top:1rem;
    padding:1rem;
    background:#10263a;
    border-top:1px solid rgba(255,255,255,.12);
  }
}

@media (max-width:767px) {
  .desk-shell { box-shadow:6px 6px 0 #153047; }
  .desk-tabs button+button { border-left:0; border-top-color:#153047; }
  .identity-pin-card { align-items:flex-start; flex-direction:column; gap:.75rem; }
  .contract-grid { grid-template-columns:1fr; }
  .generated-contract { padding:1.25rem; }
}

@media print {
  .topbar,.site-header,.site-footer,.portal-head,.no-print,.contract-grid,.generated-contract-section>.portal-section-title { display:none !important; }
  .portal-body,.generated-contract-section { padding:0; margin:0; border:0; box-shadow:none; background:#fff; }
  .generated-contract { max-width:none; padding:0; border:0; box-shadow:none; }
}

/* Paper-light portal workflows */
.client-only { display:none; }
.client-register .client-only { display:block; }
.portal-head-actions { display:flex; gap:.75rem; flex-wrap:wrap; }
.portal-head .btn-outline-light { color:#fff; border-color:rgba(255,255,255,.65); }
.portal-head .btn-outline-light:hover { background:#fff; color:#153047; }
.form-field input,.form-field select { min-height:48px; font-size:1rem; }
.form-field textarea { min-height:110px; font-size:1rem; }
.form-field label { font-size:.92rem; }
.form-hint { display:block; margin-top:.4rem; color:#506a78; }
.completion-ring { width:126px; height:126px; border:8px solid rgba(255,255,255,.2); border-top-color:#d7ecea; border-radius:50%; display:grid; place-content:center; text-align:center; flex:0 0 auto; }
.completion-ring strong { font-size:1.7rem; line-height:1; }
.completion-ring span { font-size:.72rem; color:#dceff0; }
.identity-pin-card .status-text { letter-spacing:0; font-size:1.55rem; }
.onboarding-section { scroll-margin-top:100px; }
.onboarding-add { margin-top:1rem; padding:1.2rem; border:1px dashed #9fb9bd; background:#f7fbfb; }
.onboarding-add summary { cursor:pointer; font-weight:800; color:#007f82; }
.onboarding-add form { margin-top:1.2rem; }
.employment-list,.document-grid,.notification-list,.timesheet-list,.client-timesheets,.document-review-list { display:grid; gap:1rem; }
.employment-list article,.document-grid article,.notification-list article,.timesheet-list article,.client-timesheets article,.document-review-list article { display:flex; justify-content:space-between; align-items:flex-start; gap:1.5rem; padding:1.25rem; border:1px solid #cbdcdf; background:#fff; }
.employment-list h3,.document-grid h3,.notification-list h2,.timesheet-list h2,.client-timesheets h3,.document-review-list h3 { margin:.25rem 0; font:700 1.05rem "Inter",sans-serif; }
.employment-list p,.document-grid p,.notification-list p,.timesheet-list p,.client-timesheets p,.document-review-list p { margin:.25rem 0; color:#506a78; }
.document-grid small,.document-review-list small { display:block; margin-top:.6rem; color:#007f82; font-weight:800; }
.document-grid a,.document-review-list a { color:#007f82; font-weight:800; white-space:nowrap; }
.review-note,.timesheet-note { padding:.7rem; background:#edf6f6; }
.onboarding-submit { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:2rem; background:#153047; color:#fff; }
.onboarding-submit h2 { margin:.2rem 0; }
.onboarding-submit p { margin:0; color:#dceff0; }
.onboarding-submit small { color:#91d4d2; font-weight:800; letter-spacing:.14em; }
.timesheet-state { display:flex; flex-direction:column; align-items:flex-end; gap:.5rem; min-width:130px; }
.client-timesheets article,.document-review-list article { align-items:stretch; }
.client-timesheets article>div,.document-review-list article>div { flex:1; min-width:0; }
.client-timesheets form,.document-review-list form { width:min(360px,100%); display:flex; flex-direction:column; gap:.7rem; }
.client-timesheets input,.document-review-list input,.review-action input { width:100%; min-height:44px; padding:.65rem .75rem; border:1px solid #b9ced2; }
.client-timesheets form>div,.document-review-list form>div { display:flex; justify-content:flex-end; gap:.5rem; flex-wrap:wrap; }
.notification-list article.unread { border-left:5px solid #007f82; background:#f7fbfb; }
.notification-list article.read { opacity:.78; }
.review-facts { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.review-facts>div { display:flex; flex-direction:column; padding:1rem; background:#f3f7f6; }
.review-facts>.wide { grid-column:1/-1; }
.review-facts small { color:#007f82; font-size:.65rem; font-weight:800; letter-spacing:.1em; }
.review-facts span,.review-facts p { color:#506a78; margin:.25rem 0; }
.review-action { display:grid; grid-template-columns:1fr auto auto; gap:.7rem; margin-top:1rem; }
.ops-stats>div { background:#fff; border:1px solid #cbdcdf; padding:1.5rem; color:#153047; display:flex; flex-direction:column; }
.ops-stats .metric-word { font:700 1.15rem "Inter",sans-serif; margin:.7rem 0; }
.declaration-check { padding:1rem; background:#edf6f6; border-left:4px solid #007f82; }
.portal-quick-actions { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-bottom:2rem; }
.portal-quick-actions a { display:flex; flex-direction:column; min-width:0; padding:1.25rem; border:1px solid #cbdcdf; background:#fff; color:#153047; box-shadow:0 8px 24px rgba(21,48,71,.045); }
.portal-quick-actions a:hover,.portal-quick-actions a:focus { border-color:#007f82; transform:translateY(-2px); }
.portal-quick-actions small { color:#007f82; font-size:.62rem; font-weight:800; letter-spacing:.12em; }
.portal-quick-actions strong { margin:.35rem 0; font-size:1.05rem; }
.portal-quick-actions span { color:#506a78; font-size:.82rem; }
.client-org-list { display:grid; gap:1rem; }
.client-org-list article { display:flex; justify-content:space-between; gap:1.5rem; padding:1.4rem; border:1px solid #cbdcdf; }
.client-org-list h2 { margin:.6rem 0 .3rem; font-size:1.45rem; }
.client-org-list p,.client-org-list small { color:#506a78; }
.client-org-list article>div:last-child,.client-org-list form { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.portal-body .ops-stats { grid-template-columns:repeat(4,1fr); }
.portal-alert.booking-lock { display:flex; align-items:center; gap:.8rem; flex-wrap:wrap; background:#fff7e8; border-color:#d79a36; color:#153047; }
.portal-alert.booking-lock>span { flex:1 1 420px; color:#506a78; }
.portal-alert.booking-lock>.btn { margin-left:auto; }
.service-jump { position:sticky; top:0; z-index:10; display:flex; gap:.5rem; margin:-1rem 0 2rem; padding:.75rem; overflow-x:auto; background:rgba(255,255,255,.96); border:1px solid #cbdcdf; box-shadow:0 8px 24px rgba(21,48,71,.08); }
.service-jump a { flex:0 0 auto; padding:.55rem .8rem; border-radius:20px; color:#153047; font-size:.78rem; font-weight:700; }
.service-jump a:hover,.service-jump a:focus { background:#d7ecea; color:#153047; }
.service-two-column { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; align-items:start; }
.service-two-column>.ops-section { min-width:0; }
.compact-records { display:grid; gap:.75rem; }
.compact-records article { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:1rem; border:1px solid #cbdcdf; background:#f8fbfb; }
.compact-records article>div { display:flex; flex-direction:column; min-width:0; }
.compact-records b,.compact-records span,.compact-records small { overflow-wrap:anywhere; }
.compact-records span,.compact-records small { color:#506a78; font-size:.82rem; }
.compact-records a { flex:0 0 auto; }
.inline-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; align-items:end; }
.inline-form-grid .wide { grid-column:1/-1; }
.inline-form-grid>.btn { justify-self:start; }
.preference-checks { display:grid; gap:.7rem; }
.preference-checks label { display:flex; align-items:center; gap:.65rem; padding:.7rem .8rem; background:#f3f7f6; cursor:pointer; }
.preference-checks input { width:1.1rem; height:1.1rem; }
.case-list { display:grid; gap:1rem; }
.case-list article { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,380px); gap:1.5rem; padding:1.5rem; border:1px solid #cbdcdf; }
.case-list h2 { margin:.5rem 0; font-size:1.25rem; }
.case-list p,.case-list small { color:#506a78; }
.case-list blockquote { padding:1rem; background:#edf6f6; border-left:4px solid #007f82; }
.case-list form textarea { width:100%; padding:.75rem; border:1px solid #b9ced2; }
.case-list form>div { display:flex; justify-content:flex-end; gap:.5rem; margin-top:.5rem; }
.authorised-contact-review { display:grid; gap:.5rem; margin-top:1rem; }
.authorised-contact-review form { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:.5rem; align-items:center; padding:.7rem; background:#edf6f6; }
.authorised-contact-review span { display:flex; flex-direction:column; min-width:0; }
.client-record-links,.client-admin-links { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; }
.client-admin-layout { grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr); }
.client-account-actions { display:grid; gap:1.5rem; align-content:start; }
.client-account-actions form { margin:0; }
.client-admin-links { align-items:flex-start; flex-direction:column; }
.reset-link-panel { padding:1rem; background:#edf6f6; border-left:4px solid #007f82; }
.reset-link-panel label { display:block; margin-bottom:.5rem; font-weight:800; color:#153047; }
.reset-link-panel textarea { width:100%; padding:.7rem; border:1px solid #b9ced2; background:#fff; overflow-wrap:anywhere; }
.reset-link-panel small { display:block; margin-top:.65rem; color:#506a78; }
.table-actions { display:flex; align-items:flex-start; flex-direction:column; gap:.45rem; min-width:125px; }

@media (max-width:767px) {
  .portal-head-actions,.portal-head-actions .btn { width:100%; }
  .completion-ring { width:105px; height:105px; }
  .employment-list article,.document-grid article,.notification-list article,.timesheet-list article,.client-timesheets article,.document-review-list article,.onboarding-submit { flex-direction:column; }
  .timesheet-state { align-items:flex-start; width:100%; }
  .review-facts { grid-template-columns:1fr; }
  .review-facts>.wide { grid-column:auto; }
  .review-action { grid-template-columns:1fr; }
  .client-timesheets form,.document-review-list form { width:100%; }
  .onboarding-submit .btn { width:100%; }
  .portal-quick-actions { grid-template-columns:1fr; }
  .service-two-column,.inline-form-grid,.case-list article { grid-template-columns:1fr; }
  .inline-form-grid .wide { grid-column:auto; }
  .service-jump { margin-top:-2rem; }
  .compact-records article { flex-direction:column; }
  .case-list form>div { justify-content:flex-start; flex-wrap:wrap; }
  .authorised-contact-review form { grid-template-columns:1fr 1fr; }
  .authorised-contact-review span { grid-column:1/-1; }
  .client-org-list article { flex-direction:column; }
  .portal-body .ops-stats { grid-template-columns:1fr; }
  .portal-alert.booking-lock { align-items:flex-start; flex-direction:column; }
  .portal-alert.booking-lock>span { flex-basis:auto; }
  .portal-alert.booking-lock>.btn { width:100%; margin-left:0; }
}
