:root{
  --navy:#0d1b2a;
  --navy-soft:#17344f;
  --orange:#ff7a00;
  --orange-dark:#e56400;
  --orange-soft:#fff4e8;
  --paper:#f5f7fa;
  --paper-warm:#fffaf5;
  --text:#172033;
  --muted:#667085;
  --line:#e8ebf0;
  --shadow:0 18px 48px rgba(13,27,42,.10);
  --shadow-soft:0 10px 28px rgba(13,27,42,.07);
  --radius:18px;
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--text);
  background:#fff;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

a{text-decoration:none;color:inherit}

/* HEADER */
.site-header{
  min-height:82px;
  padding:10px 4vw;
  display:grid;
  grid-template-columns:280px 1fr auto;
  align-items:center;
  gap:24px;
  border-bottom:1px solid rgba(13,27,42,.08);
  position:sticky;
  top:0;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
  z-index:20;
  box-shadow:0 4px 18px rgba(13,27,42,.04);
}

.brand img{
  width:250px;
  display:block;
}

.main-nav{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:28px;
  font-weight:700;
}

.main-nav a{
  position:relative;
  padding:11px 2px;
  transition:color .18s ease;
}

.main-nav a:after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:5px;
  height:3px;
  border-radius:999px;
  background:var(--orange);
  transition:right .18s ease;
}

.main-nav a:hover{
  color:var(--orange-dark);
}

.main-nav a:hover:after{
  right:0;
}

.header-phone{
  font-weight:800;
  color:var(--navy);
  white-space:nowrap;
}

.header-phone:hover{
  color:var(--orange-dark);
}

.menu-toggle{
  display:none;
  background:none;
  border:0;
  padding:8px;
}

.menu-toggle span{
  display:block;
  width:28px;
  height:3px;
  background:var(--orange);
  margin:5px;
  border-radius:999px;
}

/* HOME HERO */
.hero{
  min-height:650px;
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 15%,rgba(255,122,0,.07),transparent 23%),
    #fff;
}

.hero-copy{
  padding:78px 5vw 82px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  z-index:2;
}

.eyebrow{
  margin:0 0 16px;
  text-transform:uppercase;
  color:var(--orange-dark);
  font-weight:900;
  font-size:13px;
  letter-spacing:.13em;
}

.hero h1,
.page-hero h1{
  font-size:clamp(48px,5vw,78px);
  line-height:1.01;
  letter-spacing:-.035em;
  margin:0;
  color:var(--navy);
  max-width:760px;
}

.hero h1 span,
.page-hero h1 span{
  color:var(--orange-dark);
}

.lead{
  margin:24px 0 0;
  font-size:20px;
  line-height:1.65;
  max-width:650px;
  color:#475467;
}

.lead strong{
  color:var(--orange-dark);
}

.actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:30px;
}

.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 28px;
  border-radius:10px;
  border:2px solid var(--navy);
  font-weight:900;
  text-transform:uppercase;
  font-size:13px;
  letter-spacing:.045em;
  transition:
    transform .15s ease,
    box-shadow .15s ease,
    background .15s ease,
    border-color .15s ease;
}

.button:hover{
  transform:translateY(-2px);
}

.primary{
  background:var(--orange);
  border-color:var(--orange);
  color:#fff;
  box-shadow:0 10px 24px rgba(229,100,0,.18);
}

.primary:hover{
  background:var(--orange-dark);
  border-color:var(--orange-dark);
  box-shadow:0 14px 30px rgba(229,100,0,.25);
}

.secondary{
  background:#fff;
  color:var(--navy);
}

.secondary:hover{
  background:var(--navy);
  color:#fff;
}

.phone-block{
  display:grid;
  gap:3px;
  margin-top:30px;
  padding-left:16px;
  border-left:4px solid var(--orange);
}

.phone-block span{
  color:var(--muted);
  font-size:14px;
  font-weight:700;
}

.phone-block a{
  width:max-content;
  font-size:26px;
  line-height:1.2;
  color:var(--navy);
  font-weight:900;
}

.phone-block a:hover{
  color:var(--orange-dark);
}

.phone-block small{
  color:#98a2b3;
}

/* HERO VISUAL */
.hero-visual{
  position:relative;
  background:
    radial-gradient(circle at 72% 26%,rgba(255,122,0,.18),transparent 25%),
    radial-gradient(circle at 25% 76%,rgba(13,27,42,.08),transparent 30%),
    linear-gradient(135deg,#f7f9fc,#fff4e8);
  display:grid;
  place-items:center;
  padding:52px 44px;
}

.hero-visual:before{
  content:"";
  position:absolute;
  width:440px;
  height:440px;
  border-radius:50%;
  border:1px solid rgba(255,122,0,.16);
}

.hero-visual:after{
  content:"";
  position:absolute;
  width:320px;
  height:320px;
  border-radius:50%;
  border:1px solid rgba(13,27,42,.09);
}

.industry-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  width:min(710px,100%);
}

.industry-grid article{
  min-height:145px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(13,27,42,.06);
  border-radius:20px;
  padding:24px 18px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:10px;
  font-size:38px;
  box-shadow:var(--shadow-soft);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.industry-grid article:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow);
  border-color:rgba(255,122,0,.22);
}

.industry-grid b{
  color:var(--navy);
  font-size:14px;
  letter-spacing:.01em;
}

/* PROMISE STRIP */
.promise{
  position:relative;
  text-align:center;
  padding:34px 8vw;
  font-size:22px;
  line-height:1.55;
  color:var(--navy);
  background:var(--paper-warm);
  border-top:1px solid #f4e8dc;
  border-bottom:1px solid #f4e8dc;
}

.promise strong{
  color:var(--orange-dark);
}

/* BENEFITS */
.benefits{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  padding:58px 6vw 88px;
  background:#fff;
}

.benefits article{
  position:relative;
  padding:30px;
  border:1px solid var(--line);
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#fbfcfd);
  box-shadow:0 6px 18px rgba(13,27,42,.035);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.benefits article:before{
  content:"";
  position:absolute;
  top:-1px;
  left:28px;
  width:54px;
  height:4px;
  border-radius:999px;
  background:var(--orange);
}

.benefits article:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-soft);
  border-color:#ffd9b5;
}

.benefits h2{
  margin:5px 0 10px;
  color:var(--navy);
  font-size:22px;
}

.benefits p{
  margin:0;
  color:var(--muted);
  line-height:1.65;
}

/* OTHER PUBLIC PAGES */
.page-hero{
  padding:100px 6vw;
  min-height:55vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    radial-gradient(circle at 85% 20%,rgba(255,122,0,.12),transparent 25%),
    linear-gradient(135deg,#fff,#fff5ea);
}

/* FOOTER */
.atlas-band,.choice-grid,.content-section,.steps-section,.story-section{padding:72px 6vw}
.atlas-band{display:grid;grid-template-columns:1fr 1fr;gap:48px;background:var(--navy);color:#fff}
.atlas-band h2,.choice-grid h2,.content-section h2,.steps-section h2{font-size:clamp(30px,4vw,48px);line-height:1.1;margin:0 0 18px;color:inherit}
.atlas-band p{color:#d5deE8;font-size:18px}.mini-steps{display:grid;gap:12px}.mini-steps article{display:flex;align-items:center;gap:16px;padding:16px;background:#ffffff0d;border:1px solid #ffffff1c;border-radius:14px}.mini-steps b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--orange)}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;background:var(--paper)}.choice-grid>article,.path-grid article,.journey-cards article{padding:30px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.choice-icon,.path-grid article>span{font-size:36px}.text-link{color:var(--orange-dark);font-weight:900}
.split-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:52px;align-items:center}.atlas-card{padding:32px;border-radius:22px;background:var(--navy);color:#fff;box-shadow:var(--shadow)}.atlas-card>span{color:#ff9a3d;font-weight:900;letter-spacing:.08em}.atlas-card h2{font-size:28px}.atlas-card li{margin:12px 0;color:#d9e3ed}
.content-section>h2,.steps-section>h2{color:var(--navy)}.section-lead{max-width:760px;color:var(--muted);font-size:18px}.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}.path-grid h3,.journey-cards h3,.layer-stack h3{color:var(--navy);font-size:21px;margin:12px 0 8px}.path-grid p,.journey-cards p,.layer-stack p{color:var(--muted)}
.steps-section{background:var(--paper-warm);text-align:center}.journey-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:30px 0}.journey-cards b{color:var(--orange-dark);font-size:24px}.layer-stack{display:grid;gap:0;margin-top:32px;max-width:900px}.layer-stack article{padding:26px 30px;border:1px solid var(--line);border-left:7px solid var(--orange);background:#fff}.layer-stack article+article{margin-top:12px;margin-left:5%}.layer-stack article+article+article{margin-left:10%;background:var(--navy);color:#fff}.layer-stack article+article+article h3,.layer-stack article+article+article p{color:#fff}.layer-stack b{color:var(--orange-dark);font-size:12px;letter-spacing:.1em}
.story-quote{font-size:clamp(25px,3vw,38px);line-height:1.3;color:var(--navy);font-weight:800;border-left:6px solid var(--orange);padding:20px 0 20px 28px}.story-section{max-width:1050px;margin:auto;font-size:20px;line-height:1.75}.value-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:36px 0}.value-row article{display:grid;gap:6px;padding:22px;border-radius:15px;background:var(--paper)}.value-row b{color:var(--orange-dark)}
.social-links{display:flex;align-items:center;gap:10px}.social-links a{width:42px;height:42px;display:grid;place-items:center;border:1px solid #ffffff3d;border-radius:50%;font-weight:900}.social-links a:hover{background:var(--orange);color:#fff}
.site-footer{
  background:
    linear-gradient(135deg,#0d1b2a,#132c43);
  color:#fff;
  padding:54px 5vw 26px;
  display:grid;
  grid-template-columns:280px 1fr 230px;
  gap:40px;
  border-top:5px solid var(--orange);
}

.footer-brand img{
  width:210px;
  display:block;
}

.footer-brand p{
  color:#cbd5e1;
  line-height:1.65;
}

.footer-columns{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}

.footer-columns div,
.footer-contact{
  display:grid;
  align-content:start;
  gap:9px;
}

.site-footer h3{
  margin:0 0 5px;
  color:#ff9a3d;
  font-size:12px;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.site-footer a{
  color:#e8eef5;
}

.site-footer a:hover{
  color:#ff9a3d;
}

.footer-bottom{
  grid-column:1/-1;
  border-top:1px solid rgba(255,255,255,.15);
  padding-top:18px;
  color:#aeb9c7;
  font-size:14px;
}

/* MOBILE CALL BUTTON */
.floating-call{
  position:fixed;
  right:18px;
  bottom:18px;
  width:58px;
  height:58px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--orange),var(--orange-dark));
  color:#fff;
  font-size:24px;
  box-shadow:0 14px 30px rgba(229,100,0,.35);
  z-index:30;
  transition:transform .15s ease;
}

.floating-call:hover{
  transform:translateY(-3px) scale(1.03);
}

/* TABLET */
@media(max-width:900px){
  .site-header{
    grid-template-columns:1fr auto;
    min-height:74px;
  }

  .header-phone{display:none}
  .menu-toggle{display:block}

  .main-nav{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:#fff;
    padding:22px 5vw 26px;
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
    box-shadow:0 20px 30px rgba(13,27,42,.10);
  }

  .main-nav.open{display:flex}

  .main-nav a{
    width:100%;
    padding:10px 0;
  }

  .hero{
    grid-template-columns:1fr;
    min-height:auto;
  }

  .hero-copy{
    padding:60px 6vw 54px;
  }

  .hero-visual{
    min-height:480px;
  }

  .site-footer{
    grid-template-columns:1fr 1fr;
  }

  .footer-columns{
    grid-column:1/-1;
  }
  .split-hero,.atlas-band{grid-template-columns:1fr}.path-grid{grid-template-columns:repeat(2,1fr)}.journey-cards{grid-template-columns:repeat(2,1fr)}
}

/* PHONE */
@media(max-width:650px){
  .site-header{padding:9px 18px}
  .brand img{width:188px}
  .hero-copy{padding:44px 22px 46px}
  .eyebrow{font-size:11px;margin-bottom:13px}
  .hero h1{font-size:clamp(43px,13vw,58px)}
  .lead{font-size:18px;line-height:1.55;margin-top:20px}
  .actions{flex-direction:column;margin-top:25px}
  .button{width:100%}
  .phone-block{margin-top:26px}
  .phone-block a{font-size:24px}
  .hero-visual{min-height:auto;padding:40px 20px 46px}
  .hero-visual:before{width:300px;height:300px}
  .hero-visual:after{width:220px;height:220px}
  .industry-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .industry-grid article{min-height:116px;padding:18px 10px;border-radius:16px;font-size:31px}
  .industry-grid b{font-size:13px}
  .promise{padding:28px 22px;font-size:19px}
  .benefits{grid-template-columns:1fr;padding:36px 22px 68px}
  .benefits article{padding:26px}
  .site-footer{grid-template-columns:1fr;padding:44px 24px 26px}
  .footer-columns{grid-template-columns:1fr 1fr;grid-column:auto}
  .footer-bottom{grid-column:auto}
  .atlas-band,.choice-grid,.content-section,.steps-section,.story-section{padding:50px 22px}.choice-grid,.path-grid,.journey-cards,.value-row{grid-template-columns:1fr}.split-hero{padding-top:58px}.layer-stack article+article,.layer-stack article+article+article{margin-left:0}.story-section{font-size:18px}
}

@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important}
}

/* Perfect Staff — Language Menu Polish */
.language-switcher{
  position:relative;
  display:flex;
  align-items:center;
}

.language-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:0 14px;
  border:1px solid rgba(13,27,42,.12);
  border-radius:10px;
  background:#fff;
  color:#0d1b2a;
  font:inherit;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(13,27,42,.05);
}

.language-button:hover,
.language-button[aria-expanded="true"]{
  transform:translateY(-1px);
  border-color:#ff7a00;
  color:#e56400;
  box-shadow:0 10px 24px rgba(13,27,42,.09);
}

.language-menu{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  min-width:220px;
  padding:8px;
  background:#fff;
  border:1px solid rgba(13,27,42,.09);
  border-radius:14px;
  box-shadow:0 18px 44px rgba(13,27,42,.16);
  z-index:60;
}

.language-menu[hidden]{display:none}

.language-menu a{
  display:block;
  padding:11px 12px;
  border-radius:9px;
  color:#172033;
  font-weight:700;
  line-height:1.25;
}

.language-menu a:hover{
  background:#fff4e8;
  color:#e56400;
  transform:translateX(2px);
}

@media(max-width:900px){
  .language-switcher{margin-left:auto}
  .language-menu{right:0;min-width:210px}
}

@media(max-width:650px){
  .language-switcher{width:100%;margin:8px 0 0}
  .language-button{
    width:100%;
    justify-content:flex-start;
    min-height:46px;
    padding:0 14px;
    border-radius:10px;
    background:#fffaf5;
  }
  .language-menu{
    position:static;
    width:100%;
    margin-top:8px;
    box-shadow:0 10px 26px rgba(13,27,42,.10);
  }
  .language-menu a{font-size:16px;padding:12px 14px}
}

/* Perfect Staff — Candidate Welcome V1 */
.candidate-welcome{
  min-height:calc(100vh - 80px);
  padding:26px 16px 70px;
  background:
    radial-gradient(circle at 95% 3%,rgba(255,122,0,.10),transparent 26%),
    linear-gradient(180deg,#fff,#f7f9fc);
}

.candidate-shell{
  width:min(760px,100%);
  margin:0 auto;
}

.candidate-topline{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin-bottom:18px;
}

.candidate-kicker{
  color:#667085;
  font-size:13px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.candidate-language{
  color:#e56400;
  font-weight:800;
  font-size:14px;
}

.journey-trail{
  background:#0d1b2a;
  color:#fff;
  padding:18px;
  border-radius:16px;
  box-shadow:0 14px 32px rgba(13,27,42,.13);
}

.journey-copy{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:baseline;
  margin-bottom:14px;
}

.journey-copy strong{color:#ff9a3d;font-size:17px}
.journey-copy span{color:#cbd5e1;font-size:13px}

.journey-line{
  position:relative;
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin:0 8px;
}

.journey-line:before{
  content:"";
  position:absolute;
  left:8px;
  right:8px;
  height:3px;
  background:#ffffff24;
  border-radius:999px;
}

.journey-dot{
  position:relative;
  z-index:2;
  width:15px;
  height:15px;
  border-radius:50%;
  background:#53687a;
  border:3px solid #0d1b2a;
  box-shadow:0 0 0 2px #53687a;
}

.journey-dot.complete{
  display:grid;
  place-items:center;
  background:#ff7a00;
  color:#fff;
  font-size:9px;
  font-weight:900;
  box-shadow:0 0 0 2px #ff7a00;
}

.journey-dot.current{
  background:#ff7a00;
  color:transparent;
  box-shadow:0 0 0 2px #ff7a00,0 0 0 7px rgba(255,122,0,.18);
}

.journey-dot.active{
  background:#ff7a00;
  box-shadow:0 0 0 2px #ff7a00,0 0 0 6px rgba(255,122,0,.13);
}

.journey-labels{
  display:flex;
  justify-content:space-between;
  gap:4px;
  margin-top:10px;
  color:#9fb0bf;
  font-size:10px;
  font-weight:800;
}

.candidate-intro{padding:34px 4px 20px}

.hello-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:#fff4e8;
  font-size:29px;
  margin-bottom:18px;
}

.candidate-eyebrow{
  margin:0 0 8px;
  color:#e56400;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:12px;
  font-weight:900;
}

.candidate-intro h1{
  margin:0;
  color:#0d1b2a;
  font-size:clamp(38px,10vw,58px);
  line-height:1.03;
  letter-spacing:-.035em;
}

.candidate-lead{
  margin:18px 0 0;
  color:#566273;
  font-size:18px;
  line-height:1.6;
}

.candidate-reassurance{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin-top:22px;
  padding:15px;
  background:#edf8f1;
  border:1px solid #d5edde;
  border-radius:13px;
}

.candidate-reassurance>span{
  width:28px;
  height:28px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#dff3e7;
  color:#167244;
  font-weight:900;
}

.candidate-reassurance p{margin:2px 0 0;color:#42604e;line-height:1.5}
.candidate-reassurance strong{color:#176b39}
.work-choice{margin-top:12px}
.candidate-question{margin:0;color:#0d1b2a;font-size:25px;font-weight:900;line-height:1.2}
.candidate-question-help{margin:8px 0 18px;color:#667085}
.work-grid{display:grid;gap:12px}

.work-card{
  position:relative;
  display:grid;
  grid-template-columns:48px 1fr 28px;
  align-items:center;
  gap:12px;
  min-height:76px;
  padding:13px 15px;
  background:#fff;
  border:1px solid #e4e9ef;
  border-radius:15px;
  box-shadow:0 8px 22px rgba(13,27,42,.045);
}

.work-card:hover,
.work-card:focus-visible{
  transform:translateY(-2px);
  border-color:#ffc88f;
  box-shadow:0 12px 28px rgba(13,27,42,.09);
  outline:none;
}

.work-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  background:#fff7ef;
  border-radius:13px;
  font-size:25px;
}

.work-card strong{color:#0d1b2a;font-size:17px}
.work-arrow{color:#ff7a00;font-size:22px;font-weight:900}
.not-sure-note{margin:15px 2px 0;color:#667085;font-size:14px;line-height:1.5}

.candidate-help{
  margin-top:28px;
  padding:18px;
  background:#fff;
  border:1px solid #e8ebf0;
  border-radius:16px;
  box-shadow:0 8px 22px rgba(13,27,42,.04);
}

.candidate-help>div{display:flex;gap:13px;align-items:flex-start}

.help-icon{
  width:42px;
  height:42px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#fff4e8;
  font-size:22px;
}

.candidate-help strong{color:#0d1b2a;font-size:18px}
.candidate-help p{margin:4px 0 0;color:#667085;line-height:1.5}
.help-link{display:inline-block;margin:13px 0 0 55px;color:#e56400;font-weight:900}
.candidate-privacy-note{margin:20px 8px 0;color:#8a94a3;text-align:center;font-size:12px;line-height:1.5}

@media(min-width:680px){
  .candidate-welcome{padding-top:44px}
  .candidate-shell{
    background:#fff;
    border:1px solid #edf0f3;
    border-radius:24px;
    padding:28px 34px 36px;
    box-shadow:0 20px 56px rgba(13,27,42,.08);
  }
  .work-grid{grid-template-columns:1fr 1fr}
  .work-card:last-child{grid-column:1/-1}
}

@media(prefers-reduced-motion:reduce){
  .work-card{transition:none}
}

/* Perfect Staff — Candidate Journey Page 2 */
.candidate-intro-compact{padding-bottom:14px}
.transport-grid{display:grid;gap:12px}

.transport-card{
  display:grid;
  grid-template-columns:50px 1fr 28px;
  align-items:center;
  gap:12px;
  min-height:84px;
  padding:14px 15px;
  background:#fff;
  border:1px solid #e4e9ef;
  border-radius:15px;
  box-shadow:0 8px 22px rgba(13,27,42,.045);
}

.transport-card:hover,
.transport-card:focus-visible,
.transport-card.selected{
  transform:translateY(-2px);
  border-color:#ffc88f;
  box-shadow:0 12px 28px rgba(13,27,42,.09);
  outline:none;
}

.transport-card.selected{background:#fff9f3}

.transport-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:#fff4e8;
  font-size:27px;
}

.transport-card strong{display:block;color:#0d1b2a;font-size:17px}
.transport-card small{display:block;margin-top:3px;color:#667085;line-height:1.35}
.candidate-branch-note{margin-top:22px}
.road-choice-panel{margin-top:24px;padding-top:24px;border-top:1px solid #e8ebf0}
.road-heading h2{margin:0;color:#0d1b2a;font-size:28px;line-height:1.15}
.road-heading>p:last-child{margin:8px 0 18px;color:#667085}
.road-role-grid{display:grid;gap:11px}

.road-role-card{
  position:relative;
  display:grid;
  grid-template-columns:46px 1fr 28px;
  align-items:center;
  gap:12px;
  min-height:76px;
  padding:13px 14px;
  background:#fff;
  border:1px solid #e4e9ef;
  border-radius:14px;
  box-shadow:0 6px 18px rgba(13,27,42,.035);
  cursor:pointer;
}

.road-role-card:hover{transform:translateY(-1px);border-color:#ffc88f}
.road-role-card.selected{background:#fff7ef;border-color:#ffad5c;box-shadow:0 10px 24px rgba(229,100,0,.09)}
.road-role-card input{position:absolute;opacity:0;pointer-events:none}

.road-role-icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#f6f8fa;
  font-size:24px;
}

.road-role-card.selected .road-role-icon{background:#ffe7cf}
.road-role-copy strong{display:block;color:#0d1b2a;font-size:16px}
.road-role-copy small{display:block;margin-top:3px;color:#667085;line-height:1.35}

.road-role-tick{
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#eef1f4;
  color:transparent;
  font-weight:900;
}

.road-role-card.selected .road-role-tick{background:#ff7a00;color:#fff}
.road-form-note{margin:14px 2px 0;color:#667085;font-size:13px}

.candidate-continue{
  width:100%;
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:18px;
  border:0;
  border-radius:11px;
  background:#ff7a00;
  color:#fff;
  font:inherit;
  font-weight:900;
  letter-spacing:.025em;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(229,100,0,.20);
}

.candidate-continue:hover,
.candidate-continue:focus-visible{
  transform:translateY(-2px);
  background:#e56400;
  box-shadow:0 15px 34px rgba(229,100,0,.27);
  outline:none;
}

.candidate-celebrate{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin-bottom:20px;
  padding:16px;
  border:1px solid #d5edde;
  border-radius:14px;
  background:#edf8f1;
}

.candidate-celebrate>span{font-size:24px}
.candidate-celebrate strong{color:#176b39;font-size:18px}
.candidate-celebrate p{margin:4px 0 0;color:#42604e;line-height:1.45}

.candidate-next-preview{
  display:grid;
  gap:3px;
  margin-top:16px;
  padding:16px;
  border-radius:14px;
  background:#0d1b2a;
  color:#fff;
}

.candidate-next-preview>span{color:#ff9a3d;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}
.candidate-next-preview strong{color:#fff;font-size:18px}
.candidate-next-preview small{color:#cbd5e1;line-height:1.4}
.candidate-back-link{display:inline-block;margin-top:22px;color:#667085;font-weight:800;font-size:14px}
.candidate-back-link:hover{color:#e56400}

@media(min-width:680px){
  .transport-grid{grid-template-columns:1fr 1fr}
  .road-role-grid{grid-template-columns:1fr 1fr}
}

@media(prefers-reduced-motion:reduce){
  .transport-card,.road-role-card,.candidate-continue{transition:none}
}

/* Project Atlas — shared journey NEXT UP component */
.journey-next{
  position:relative;
  display:grid;
  gap:3px;
  margin-top:16px;
  padding:16px 48px 16px 16px;
  border-radius:14px;
  background:#0d1b2a;
  color:#fff;
  text-decoration:none;
  box-shadow:0 10px 24px rgba(13,27,42,.10);
}

.journey-next-label{color:#ff9a3d;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}
.journey-next-title{color:#fff;font-size:18px;line-height:1.3}
.journey-next-text{color:#cbd5e1;line-height:1.4}

.journey-next-arrow{
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  color:#ff9a3d;
  font-size:24px;
}

a.journey-next:hover,
a.journey-next:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(13,27,42,.16);
  outline:none;
}

/* Perfect Staff — Candidate Journey Page 5 */
.candidate-celebrate-spaced{margin-top:24px}
.candidate-name-form{display:grid}
.candidate-field-label{margin:0 0 8px 2px;color:#0d1b2a;font-size:15px;font-weight:900}

.candidate-text-input{
  width:100%;
  min-height:58px;
  padding:0 16px;
  border:1px solid #d9e0e7;
  border-radius:13px;
  background:#fff;
  color:#172033;
  font:inherit;
  font-size:18px;
  outline:none;
  box-shadow:0 6px 18px rgba(13,27,42,.035);
}

.candidate-text-input::placeholder{color:#98a2b3}
.candidate-text-input:focus{border-color:#ff9a3d;box-shadow:0 0 0 4px rgba(255,122,0,.10)}

/* Perfect Staff — Candidate Journey Page 6 */
.candidate-postcode-input{text-transform:uppercase;letter-spacing:.04em;font-weight:800}

/* Perfect Staff — Candidate Journey Pages 7 & 8 */
.candidate-field-stack{display:grid;gap:18px}
.candidate-contact-reassurance{margin-top:18px}
.candidate-profile-intro{padding-bottom:18px}
.candidate-profile-grid{display:grid;gap:12px;margin-top:6px}

.candidate-profile-card{
  display:grid;
  grid-template-columns:50px 1fr;
  align-items:center;
  gap:13px;
  min-height:88px;
  padding:15px;
  background:#fff;
  border:1px solid #e4e9ef;
  border-radius:15px;
  box-shadow:0 8px 22px rgba(13,27,42,.045);
}

.candidate-profile-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:#fff4e8;
  font-size:25px;
}

.candidate-profile-card small{display:block;margin-bottom:4px;color:#e56400;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.candidate-profile-card strong{display:block;color:#0d1b2a;font-size:16px;line-height:1.45}
.candidate-profile-muted{color:#667085;font-weight:700}

.candidate-profile-message{
  margin-top:18px;
  padding:18px;
  border:1px solid #d5edde;
  border-radius:14px;
  background:#edf8f1;
}

.candidate-profile-message strong{color:#176b39;font-size:18px}
.candidate-profile-message p{margin:5px 0 0;color:#42604e;line-height:1.5}

@media(min-width:680px){
  .candidate-profile-grid{
    grid-template-columns:1fr 1fr;
  }
}

/* Perfect Staff — Candidate Journey Pages 9 & 10 + completion */
.atlas-single-grid{display:grid;gap:11px}

.atlas-single-card{
  position:relative;
  display:grid;
  grid-template-columns:46px 1fr 28px;
  align-items:center;
  gap:12px;
  min-height:78px;
  padding:13px 14px;
  background:#fff;
  border:1px solid #e4e9ef;
  border-radius:14px;
  box-shadow:0 6px 18px rgba(13,27,42,.035);
  cursor:pointer;
}

.atlas-single-card:hover{transform:translateY(-1px);border-color:#ffc88f}
.atlas-single-card.selected{background:#fff7ef;border-color:#ffad5c;box-shadow:0 10px 24px rgba(229,100,0,.09)}
.atlas-single-card input{position:absolute;opacity:0;pointer-events:none}
.atlas-single-card.selected .road-role-icon{background:#ffe7cf}
.atlas-single-card.selected .road-role-tick{background:#ff7a00;color:#fff}

.atlas-notice-detail{
  display:none;
  margin-top:16px;
  padding:17px;
  border:1px solid #ffd6ad;
  border-radius:14px;
  background:#fffaf5;
}

.atlas-notice-detail.show{display:block}
.atlas-notice-detail small{display:block;margin-top:8px;color:#667085}

.atlas-finish{
  position:relative;
  overflow:hidden;
  margin-top:24px;
  padding:42px 24px 30px;
  border-radius:24px;
  background:radial-gradient(circle at 50% 0%,rgba(255,154,61,.24),transparent 34%),linear-gradient(145deg,#0d1b2a,#17344f);
  color:#fff;
  text-align:center;
  box-shadow:0 24px 58px rgba(13,27,42,.22);
}

.atlas-finish-glow{
  position:absolute;
  width:260px;
  height:260px;
  left:50%;
  top:-170px;
  transform:translateX(-50%);
  border-radius:50%;
  background:rgba(255,122,0,.28);
  filter:blur(10px);
  pointer-events:none;
}

.atlas-finish-mark{
  position:relative;
  width:86px;
  height:86px;
  display:grid;
  place-items:center;
  margin:0 auto 22px;
  border-radius:50%;
  background:linear-gradient(135deg,#ff9a3d,#ff7a00);
  border:7px solid rgba(255,255,255,.12);
  color:#fff;
  font-size:39px;
  font-weight:900;
  box-shadow:0 0 0 10px rgba(255,122,0,.10),0 16px 34px rgba(0,0,0,.20);
}

.atlas-finish-kicker{margin:0 0 9px;color:#ffad5c;font-size:12px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.atlas-finish h1{position:relative;margin:0;color:#fff;font-size:clamp(40px,10vw,62px);line-height:1.02;letter-spacing:-.04em}
.atlas-finish-lead{max-width:590px;margin:18px auto 0;color:#dbe5ee;font-size:18px;line-height:1.6}

.atlas-finish-thanks{
  max-width:590px;
  margin:24px auto 0;
  padding:18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:rgba(255,255,255,.06);
}

.atlas-finish-thanks strong{color:#fff;font-size:19px}
.atlas-finish-thanks p{margin:6px 0 0;color:#cbd5e1;line-height:1.5}
.atlas-finish-summary{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:22px}
.atlas-finish-summary span{padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.10);color:#edf3f8;font-size:13px;font-weight:800}
.atlas-finish-promise{margin:25px 0 0;color:#ffb36b;font-size:20px;font-weight:900}
.atlas-finish-note{display:block;max-width:500px;margin:13px auto 0;color:#9fb0bf;line-height:1.45}

@media(min-width:680px){
  .atlas-single-grid{grid-template-columns:1fr 1fr}
  .atlas-finish{padding:52px 38px 36px}
}

/* Perfect Staff — Candidate Portal V1 */
.atlas-portal{
  min-height:calc(100vh - 80px);
  padding:34px 16px 110px;
  background:radial-gradient(circle at 92% 2%,rgba(255,122,0,.10),transparent 25%),linear-gradient(180deg,#f8fafc,#f3f6f9);
}

.atlas-portal-shell{width:min(1180px,100%);margin:0 auto}

.atlas-portal-header{
  display:flex;
  justify-content:space-between;
  gap:28px;
  align-items:flex-end;
  margin-bottom:24px;
}

.atlas-portal-kicker{margin:0 0 6px;color:#e56400;font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.atlas-portal-header h1,.atlas-page-heading h1{margin:0;color:#0d1b2a;font-size:clamp(34px,5vw,54px);line-height:1.04;letter-spacing:-.035em}
.atlas-portal-header>div>p:last-child,.atlas-page-heading>p:last-child{margin:10px 0 0;color:#667085;font-size:17px}
.atlas-portal-help{flex:0 0 auto;padding:12px 15px;border:1px solid #e4e9ef;border-radius:12px;background:#fff;color:#667085;font-size:14px;box-shadow:0 7px 20px rgba(13,27,42,.04)}
.atlas-portal-help strong{color:#e56400}

.atlas-welcome-card{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin-bottom:18px;
  padding:18px 20px;
  border:1px solid #ffd5ac;
  border-radius:16px;
  background:linear-gradient(135deg,#fff9f3,#fff);
  box-shadow:0 10px 26px rgba(13,27,42,.05);
}

.atlas-welcome-spark{font-size:27px}
.atlas-welcome-card strong{color:#0d1b2a;font-size:19px}
.atlas-welcome-card p{margin:4px 0 0;color:#667085}
.atlas-portal-message{margin:0 0 18px}

.atlas-portal-nav{
  position:sticky;
  top:92px;
  z-index:12;
  display:flex;
  gap:7px;
  margin-bottom:24px;
  padding:7px;
  border:1px solid #e8ebf0;
  border-radius:15px;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(10px);
  box-shadow:0 10px 28px rgba(13,27,42,.07);
}

.atlas-portal-nav a{
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  flex:1;
  padding:0 14px;
  border-radius:10px;
  color:#667085;
  font-weight:900;
}

.atlas-portal-nav a:hover{color:#e56400;background:#fff7ef}
.atlas-portal-nav a.active{background:#0d1b2a;color:#fff}

.atlas-availability-hero{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:28px;
  padding:28px;
  border-radius:22px;
  border:1px solid transparent;
  box-shadow:0 18px 44px rgba(13,27,42,.10);
  overflow:hidden;
}

.atlas-availability-hero.is-on{
  background:radial-gradient(circle at 88% 50%,rgba(255,154,61,.24),transparent 27%),linear-gradient(135deg,#0d1b2a,#17344f);
  border-color:rgba(255,122,0,.18);
  color:#fff;
}

.atlas-availability-hero.is-off{
  background:linear-gradient(135deg,#eef2f6,#fff);
  border-color:#e1e6eb;
  color:#172033;
}

.atlas-status-label{margin:0 0 5px;color:#ff9a3d;font-size:11px;font-weight:900;letter-spacing:.12em}
.atlas-availability-hero.is-off .atlas-status-label{color:#667085}
.atlas-availability-hero h2{margin:0;color:inherit;font-size:clamp(27px,4vw,39px);line-height:1.05}
.atlas-availability-copy>p:last-child{max-width:650px;margin:10px 0 0;color:#cbd5e1;line-height:1.55}
.atlas-availability-hero.is-off .atlas-availability-copy>p:last-child{color:#667085}

.atlas-power-toggle{
  min-width:155px;
  display:grid;
  justify-items:center;
  gap:9px;
  padding:12px 14px;
  border:0;
  border-radius:16px;
  background:transparent;
  color:inherit;
  cursor:pointer;
}

.atlas-toggle-track{
  width:112px;
  height:52px;
  position:relative;
  display:block;
  border-radius:999px;
}

.atlas-power-toggle.on .atlas-toggle-track{background:#ff7a00;box-shadow:0 0 0 5px rgba(255,122,0,.15),0 0 28px rgba(255,122,0,.50)}
.atlas-power-toggle.off .atlas-toggle-track{background:#b7c0ca;box-shadow:inset 0 2px 5px rgba(13,27,42,.14)}

.atlas-toggle-knob{
  position:absolute;
  top:6px;
  width:40px;
  height:40px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 5px 12px rgba(13,27,42,.24);
}

.atlas-power-toggle.on .atlas-toggle-knob{left:66px}
.atlas-power-toggle.off .atlas-toggle-knob{left:6px}
.atlas-power-toggle strong{font-size:13px;letter-spacing:.13em}

.atlas-home-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}

.atlas-home-card{
  min-height:238px;
  display:flex;
  flex-direction:column;
  padding:22px;
  border:1px solid #e4e9ef;
  border-radius:18px;
  background:#fff;
  box-shadow:0 9px 26px rgba(13,27,42,.05);
}

.atlas-card-heading{display:flex;align-items:center;gap:13px}
.atlas-card-icon{width:48px;height:48px;display:grid;place-items:center;flex:0 0 auto;border-radius:14px;background:#fff4e8;font-size:25px}
.atlas-card-heading small{display:block;color:#e56400;font-size:10px;font-weight:900;letter-spacing:.10em}
.atlas-card-heading h2{margin:2px 0 0;color:#0d1b2a;font-size:21px}
.atlas-home-card>p,.atlas-empty-state p{color:#667085;line-height:1.55}
.atlas-empty-state{margin-top:19px}
.atlas-empty-state strong{color:#0d1b2a;font-size:17px}
.atlas-empty-state p{margin:5px 0 0}
.atlas-card-link{margin-top:auto;padding-top:18px;color:#e56400;font-weight:900}

.atlas-profile-meter{height:9px;overflow:hidden;margin:22px 0 6px;border-radius:999px;background:#edf0f3}
.atlas-profile-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff7a00,#ff9a3d)}

.atlas-knows{
  margin-top:18px;
  padding:24px;
  border:1px solid #e4e9ef;
  border-radius:18px;
  background:#fff;
  box-shadow:0 9px 26px rgba(13,27,42,.05);
}

.atlas-section-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-end}
.atlas-section-heading h2{margin:0;color:#0d1b2a;font-size:26px}
.atlas-section-heading a{color:#e56400;font-weight:900}
.atlas-chip-cloud{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.atlas-chip-cloud span{padding:10px 13px;border:1px solid #e4e9ef;border-radius:999px;background:#f9fafb;color:#344054;font-size:14px;font-weight:800}

.atlas-suggestion{
  display:grid;
  grid-template-columns:50px 1fr auto;
  align-items:center;
  gap:15px;
  margin-top:18px;
  padding:20px;
  border-radius:18px;
  background:#0d1b2a;
  color:#fff;
  box-shadow:0 14px 34px rgba(13,27,42,.15);
}

.atlas-suggestion-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:rgba(255,122,0,.13);font-size:25px}
.atlas-suggestion small{color:#ff9a3d;font-weight:900;letter-spacing:.09em}
.atlas-suggestion strong{display:block;margin-top:2px;font-size:19px}
.atlas-suggestion p{margin:4px 0 0;color:#cbd5e1}
.atlas-suggestion a{min-height:46px;display:flex;align-items:center;padding:0 16px;border-radius:10px;background:#ff7a00;color:#fff;font-weight:900}

.atlas-page-heading{margin:4px 0 24px}

.atlas-calendar-form{
  padding:22px;
  border:1px solid #e4e9ef;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 32px rgba(13,27,42,.06);
}

.atlas-calendar-legend{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:18px;color:#667085;font-size:13px;font-weight:800}
.atlas-calendar-legend span{display:flex;align-items:center;gap:7px}
.atlas-calendar-legend i{width:13px;height:13px;display:inline-block;border-radius:50%;background:#dce2e8}
.atlas-calendar-legend i.available{background:#ff7a00}
.atlas-calendar-legend i.future-request{background:#0d1b2a}

.atlas-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:9px}

.atlas-day{
  position:relative;
  min-height:112px;
  display:grid;
  justify-items:center;
  align-content:center;
  gap:1px;
  padding:10px 6px;
  border:1px solid #e4e9ef;
  border-radius:14px;
  background:#f9fafb;
  cursor:pointer;
  user-select:none;
}

.atlas-day input{position:absolute;opacity:0;pointer-events:none}
.atlas-day small{color:#667085;font-weight:800;text-transform:uppercase}
.atlas-day strong{color:#0d1b2a;font-size:26px;line-height:1.05}
.atlas-day>span{color:#98a2b3;font-size:12px}
.atlas-day b{margin-top:6px;color:#98a2b3;font-size:10px}
.atlas-day.available{border-color:#ffad5c;background:#fff4e8;box-shadow:0 8px 18px rgba(229,100,0,.08)}
.atlas-day.available small,.atlas-day.available strong,.atlas-day.available b{color:#e56400}
.atlas-save-calendar{max-width:520px;margin-left:auto;margin-right:auto}

.atlas-calendar-future{
  margin-top:18px;
  padding:18px;
  border:1px solid #d8e1ea;
  border-radius:16px;
  background:#edf3f8;
}

.atlas-calendar-future strong{color:#0d1b2a;font-size:18px}
.atlas-calendar-future p{margin:5px 0 0;color:#53687a}

.atlas-workflow-preview{display:flex;align-items:center;gap:7px;overflow-x:auto;padding:18px;border:1px solid #e4e9ef;border-radius:18px;background:#fff}
.atlas-workflow-step{min-width:120px;display:grid;justify-items:center;text-align:center;gap:3px}
.atlas-workflow-step>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#edf0f3;color:#667085;font-weight:900}
.atlas-workflow-step.active>span{background:#ff7a00;color:#fff}
.atlas-workflow-step strong{color:#0d1b2a;font-size:13px}
.atlas-workflow-step small{color:#98a2b3;font-size:11px}
.atlas-workflow-line{min-width:28px;height:3px;border-radius:999px;background:#e4e9ef}

.atlas-large-empty{
  display:grid;
  justify-items:center;
  text-align:center;
  margin-top:18px;
  padding:42px 24px;
  border:1px dashed #d7dde4;
  border-radius:20px;
  background:#fff;
}

.atlas-large-empty>span{width:64px;height:64px;display:grid;place-items:center;border-radius:18px;background:#fff4e8;font-size:31px}
.atlas-large-empty h2{margin:16px 0 0;color:#0d1b2a}
.atlas-large-empty p{max-width:680px;margin:8px 0 0;color:#667085;line-height:1.55}

.atlas-pay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.atlas-pay-grid article{padding:20px;border:1px solid #e4e9ef;border-radius:17px;background:#fff;box-shadow:0 8px 22px rgba(13,27,42,.045)}
.atlas-pay-grid article>span{font-size:26px}
.atlas-pay-grid small{display:block;margin-top:12px;color:#e56400;font-size:10px;font-weight:900;letter-spacing:.09em}
.atlas-pay-grid strong{display:block;margin-top:4px;color:#0d1b2a;font-size:30px}
.atlas-pay-grid p{margin:5px 0 0;color:#667085}

.atlas-document-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.atlas-document-card{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;padding:15px;border:1px solid #e4e9ef;border-radius:15px;background:#fff}
.atlas-doc-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#fff4e8;font-size:22px}
.atlas-document-card strong{display:block;color:#0d1b2a}
.atlas-document-card small{display:block;margin-top:3px}
.atlas-status-declared{color:#e56400;font-weight:800}
.atlas-status-empty{color:#98a2b3}
.atlas-verified-badge{padding:6px 9px;border-radius:999px;background:#f1f3f5;color:#667085;font-size:10px;font-weight:900;white-space:nowrap}

.atlas-profile-sections{display:grid;gap:12px}
.atlas-profile-sections>article{padding:18px;border:1px solid #e4e9ef;border-radius:16px;background:#fff}
.atlas-profile-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.atlas-profile-section-head>div{display:flex;align-items:center;gap:9px}
.atlas-profile-section-head strong{color:#0d1b2a;font-size:17px}
.atlas-profile-section-head a{color:#e56400;font-weight:900;white-space:nowrap}
.atlas-profile-sections article>p{margin:10px 0 0;color:#53687a;line-height:1.55}
.atlas-profile-sections article>small{display:block;margin-top:7px;color:#98a2b3}

.atlas-mobile-nav{display:none}

@media(max-width:820px){
  .atlas-portal{padding:24px 14px 96px}
  .atlas-portal-header{display:block}
  .atlas-portal-help{display:inline-block;margin-top:14px}
  .atlas-portal-nav{display:none}
  .atlas-availability-hero{grid-template-columns:1fr;text-align:center}
  .atlas-power-toggle{margin:auto}
  .atlas-home-grid,.atlas-pay-grid,.atlas-document-grid{grid-template-columns:1fr}
  .atlas-home-card{min-height:215px}
  .atlas-suggestion{grid-template-columns:46px 1fr}
  .atlas-suggestion a{grid-column:1/-1;justify-content:center}
  .atlas-calendar-grid{grid-template-columns:repeat(4,1fr)}
  .atlas-day{min-height:104px}
  .atlas-mobile-nav{
    position:fixed;
    left:10px;
    right:10px;
    bottom:10px;
    z-index:50;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:4px;
    padding:7px;
    border:1px solid rgba(13,27,42,.10);
    border-radius:17px;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(14px);
    box-shadow:0 15px 40px rgba(13,27,42,.18);
  }
  .atlas-mobile-nav a{min-width:0;min-height:54px;display:grid;place-items:center;align-content:center;gap:1px;border-radius:11px;color:#667085}
  .atlas-mobile-nav a.active{background:#0d1b2a;color:#fff}
  .atlas-mobile-nav span{font-size:19px;line-height:1}
  .atlas-mobile-nav small{font-size:9px;font-weight:900}
}

@media(max-width:520px){
  .atlas-calendar-form{padding:14px}
  .atlas-calendar-grid{grid-template-columns:repeat(3,1fr);gap:7px}
  .atlas-day{min-height:98px;border-radius:12px}
  .atlas-day strong{font-size:23px}
  .atlas-section-heading{display:block}
  .atlas-section-heading a{display:inline-block;margin-top:8px}
  .atlas-document-card{grid-template-columns:42px 1fr}
  .atlas-verified-badge{grid-column:2;justify-self:start}
}

/* Perfect Staff — Portal V1.1 journey CTA consistency */
a.candidate-continue.atlas-journey-link{text-decoration:none}

.atlas-final-portal-link{
  max-width:470px;
  margin-left:auto;
  margin-right:auto;
}

/* Perfect Staff — Atlas Availability Live V1 */
.atlas-next-days{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0 6px}

.atlas-next-days>span{
  width:52px;
  min-height:64px;
  display:grid;
  justify-items:center;
  align-content:center;
  padding:6px;
  border:1px solid #ffd5ac;
  border-radius:12px;
  background:#fff7ef;
}

.atlas-next-days small{color:#e56400;font-size:9px;font-weight:900;text-transform:uppercase}
.atlas-next-days strong{color:#0d1b2a;font-size:20px;line-height:1.05}
.atlas-next-days b{color:#667085;font-size:9px;font-weight:800}

.atlas-calendar-status{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:18px;
  margin-bottom:16px;
  padding:18px 20px;
  border-radius:17px;
  border:1px solid;
}

.atlas-calendar-status.is-live{border-color:#ffd2a5;background:linear-gradient(135deg,#fff7ef,#fff)}
.atlas-calendar-status.is-paused{border-color:#e0e5ea;background:#f4f6f8}
.atlas-calendar-status small{color:#e56400;font-size:10px;font-weight:900;letter-spacing:.10em}
.atlas-calendar-status.is-paused small{color:#667085}
.atlas-calendar-status strong{display:block;margin-top:2px;color:#0d1b2a;font-size:19px}
.atlas-calendar-status p{margin:5px 0 0;color:#667085}

.atlas-calendar-status a{
  min-height:44px;
  display:flex;
  align-items:center;
  padding:0 14px;
  border-radius:10px;
  background:#0d1b2a;
  color:#fff;
  font-weight:900;
  white-space:nowrap;
}

.atlas-calendar-toolbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}

.atlas-calendar-toolbar small{display:block;color:#e56400;font-size:10px;font-weight:900;letter-spacing:.10em}
.atlas-calendar-toolbar strong{display:block;margin-top:2px;color:#0d1b2a;font-size:18px}
.atlas-calendar-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}

.atlas-calendar-actions button{
  min-height:38px;
  padding:0 11px;
  border:1px solid #e4e9ef;
  border-radius:9px;
  background:#fff;
  color:#53687a;
  font:inherit;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}

.atlas-calendar-actions button:hover,
.atlas-calendar-actions button:focus-visible{
  border-color:#ffad5c;
  background:#fff7ef;
  color:#e56400;
  outline:none;
}

.atlas-calendar-selection-summary{
  display:flex;
  align-items:baseline;
  gap:7px;
  margin:0 0 15px;
  padding:11px 13px;
  border-radius:11px;
  background:#f6f8fa;
  color:#667085;
}

.atlas-calendar-selection-summary strong{color:#e56400;font-size:20px}

.atlas-calendar-save-note{
  display:flex;
  align-items:flex-start;
  gap:10px;
  max-width:680px;
  margin:18px auto 0;
  padding:13px 14px;
  border-radius:12px;
  background:#edf8f1;
  color:#42604e;
}

.atlas-calendar-save-note>span{
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  background:#dff3e7;
  color:#176b39;
  font-weight:900;
}

.atlas-calendar-save-note p{margin:1px 0 0;line-height:1.45}
.atlas-calendar-save-note strong{color:#176b39}

@media(max-width:720px){
  .atlas-calendar-status{grid-template-columns:1fr}
  .atlas-calendar-status a{justify-content:center}
  .atlas-calendar-toolbar{display:block}
  .atlas-calendar-actions{justify-content:flex-start;margin-top:11px}
  .atlas-calendar-actions button{flex:1 1 calc(50% - 7px)}
}
/* =========================================================
   Perfect Staff / Project Atlas — SQL Calendar V1
   Append to the BOTTOM of the current working site.css
   ========================================================= */

.atlas-database-note{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin:0 0 18px;
  padding:15px;
  border:1px solid #ffe0bd;
  border-radius:14px;
  background:#fff8ef;
}

.atlas-database-note>span{
  font-size:23px;
}

.atlas-database-note strong{
  color:#0d1b2a;
}

.atlas-database-note p{
  margin:4px 0 0;
  color:#667085;
}

.atlas-calendar-monthbar{
  display:grid;
  grid-template-columns:48px 1fr 48px;
  align-items:center;
  gap:12px;
  margin-bottom:16px;
  padding:15px;
  border-radius:17px;
  background:#0d1b2a;
  color:#fff;
  box-shadow:0 12px 30px rgba(13,27,42,.13);
}

.atlas-calendar-monthbar>a,
.atlas-calendar-monthbar>.disabled{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:12px;
  font-size:24px;
  font-weight:900;
}

.atlas-calendar-monthbar>a{
  background:rgba(255,255,255,.10);
  color:#ff9a3d;
}

.atlas-calendar-monthbar>a:hover,
.atlas-calendar-monthbar>a:focus-visible{
  background:#ff7a00;
  color:#fff;
  outline:none;
}

.atlas-calendar-monthbar>.disabled{
  color:#66798b;
}

.atlas-calendar-monthbar>div{
  text-align:center;
}

.atlas-calendar-monthbar small{
  display:block;
  color:#ff9a3d;
  font-size:10px;
  font-weight:900;
  letter-spacing:.10em;
}

.atlas-calendar-monthbar strong{
  display:block;
  margin-top:2px;
  font-size:22px;
}

.atlas-calendar-weekdays{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:8px;
  margin:4px 0 8px;
}

.atlas-calendar-weekdays span{
  text-align:center;
  color:#98a2b3;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}

.atlas-month-grid{
  grid-template-columns:repeat(7,1fr);
}

.atlas-month-grid .atlas-day{
  min-height:102px;
}

.atlas-day-empty{
  visibility:hidden;
  pointer-events:none;
}

.atlas-day.today{
  box-shadow:
    0 0 0 2px #0d1b2a,
    0 8px 18px rgba(13,27,42,.08);
}

.atlas-day.today small{
  color:#0d1b2a;
}

.atlas-day.past{
  cursor:default;
  opacity:.43;
  background:#f1f3f5;
}

.atlas-day.past:hover{
  transform:none;
  border-color:#e4e9ef;
}

.atlas-calendar-toolbar{
  margin-bottom:12px;
}

.atlas-next-days{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin:20px 0 6px;
}

.atlas-next-days>span{
  width:52px;
  min-height:64px;
  display:grid;
  justify-items:center;
  align-content:center;
  padding:6px;
  border:1px solid #ffd5ac;
  border-radius:12px;
  background:#fff7ef;
}

.atlas-next-days small{
  color:#e56400;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
}

.atlas-next-days strong{
  color:#0d1b2a;
  font-size:20px;
  line-height:1.05;
}

.atlas-next-days b{
  color:#667085;
  font-size:9px;
  font-weight:800;
}

@media(max-width:720px){
  .atlas-calendar-monthbar{
    grid-template-columns:44px 1fr 44px;
    padding:12px;
  }

  .atlas-calendar-monthbar>a,
  .atlas-calendar-monthbar>.disabled{
    width:42px;
    height:42px;
  }

  .atlas-calendar-weekdays{
    gap:5px;
  }

  .atlas-month-grid{
    grid-template-columns:repeat(7,1fr);
    gap:5px;
  }

  .atlas-month-grid .atlas-day{
    min-height:82px;
    padding:7px 3px;
    border-radius:10px;
  }

  .atlas-month-grid .atlas-day strong{
    font-size:20px;
  }

  .atlas-month-grid .atlas-day small{
    font-size:8px;
  }

  .atlas-month-grid .atlas-day b{
    font-size:8px;
    line-height:1.05;
    text-align:center;
  }
}

@media(max-width:460px){
  .atlas-calendar-form{
    padding:12px;
  }

  .atlas-calendar-weekdays span{
    font-size:8px;
  }

  .atlas-month-grid .atlas-day{
    min-height:74px;
  }

  .atlas-month-grid .atlas-day strong{
    font-size:18px;
  }

  .atlas-month-grid .atlas-day b{
    display:none;
  }
}
