/* Portal site-wide navigation — mega menu + mobile drawer (Zentar Group) */
.portal-body{
  --fd:'Montserrat',sans-serif;
  --fb:'Source Sans 3',system-ui,sans-serif;
  --green:#3F8F72;
  --green-dark:#2E6B56;
  --green-soft:rgba(63,143,114,.16);
  --blue:#2FA3D4;
  --bg:#f1f5f9;--surf:#fff;
  --bg-rgb:241,245,249;
  --bord:rgba(15,23,42,.09);
  --text:#0f172a;--muted:#475569;
  /* Primary actions / emphasis — brand green, not purple */
  --accent:#3d7a68;
  --accent-rgb:61,122,104;
  margin:0;min-height:100vh;display:flex;flex-direction:column;
  background:var(--bg);color:var(--text);
  font-family:var(--fb);font-size:18px;line-height:1.68;
  -webkit-font-smoothing:antialiased;
}
.portal-body .bg-image-wrap{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background:url('assets/ambient-light.png') center/cover no-repeat;
}

.portal-topnav{
  position:fixed;top:0;left:0;right:0;z-index:12000;
  display:flex;flex-direction:column;
  background:rgba(248,250,252,.94);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(15,23,42,.08);
  font-family:var(--fd, 'Montserrat', sans-serif);
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset;
}
/* Bar aligned to logo palette: green #3F8F72 · slate #6E737B · cyan #2FA3D4 */
.portal-topnav--bar{
  --logo-green:#3F8F72;
  --logo-slate:#6E737B;
  --logo-blue:#2FA3D4;
  position:relative;
  background:#fff;
  border-bottom:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:0 2px 16px rgba(15,23,42,.06);
}
/* Single-tier bar only: brand gradient line */
.portal-topnav--bar:not(.portal-topnav--two-tier)::after{
  content:"";
  position:absolute;left:0;right:0;bottom:0;height:3px;
  background:linear-gradient(90deg,var(--logo-green) 0%,var(--logo-slate) 50%,var(--logo-blue) 100%);
  pointer-events:none;
}
.portal-topnav--bar .portal-logo .portal-logo-img{height:52px;width:auto;max-width:min(260px,48vw);}
.portal-topnav--health-sector .portal-logo-img{
  height:54px;
  width:auto;
  max-width:min(300px,52vw)!important;
  object-fit:contain;
  object-position:left center;
}
.portal-topnav--edu-sector .portal-logo-img{
  height:54px;
  width:auto;
  max-width:min(320px,58vw)!important;
  object-fit:contain;
  object-position:left center;
}
.portal-topnav--minimal-health .portal-logo-img{
  height:44px;
  max-width:min(260px,58vw);
}

/* ─── Two-tier: same visual language as the old single bar, split across two rows ─── */
.portal-topnav--two-tier{box-shadow:0 2px 16px rgba(15,23,42,.06);}
.portal-topnav-tier--upper{
  background:#fff;
  border-bottom:1px solid rgba(15,23,42,.08);
}
.portal-topnav-inner--upper{
  max-width:none;margin:0;width:100%;
  display:flex;align-items:center;justify-content:flex-start;
  gap:12px;padding:8px clamp(10px,2vw,24px) 10px;
  min-height:72px;
  box-sizing:border-box;
}
.portal-topnav--health-sector .portal-topnav-inner--upper{
  gap:10px;
  flex-wrap:nowrap;
}
.portal-topnav-upper-fill{flex:1;min-width:0;}
.portal-top-actions{
  display:flex;align-items:center;gap:10px;flex-shrink:0;
  padding-left:12px;margin-left:4px;
  border-left:1px solid rgba(110,115,123,.22);
}
@media(max-width:480px){
  .portal-topnav--sector .portal-sector-back{padding:8px 9px;font-size:10.5px;}
  .portal-topnav--sector .portal-logo-img{max-width:min(130px,34vw)!important;}
  .portal-topnav--sector .portal-top-actions{gap:4px;padding-left:4px;margin-left:0;}
  .portal-topnav--sector .portal-topnav-inner--upper{gap:4px;padding-left:8px;padding-right:8px;}
  .portal-topnav--sector .portal-top-actions .portal-cta-register{display:none;}
}
.portal-call{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:50%;
  color:var(--logo-blue);
  background:rgba(47,163,212,.12);
  transition:background .2s,color .2s,transform .15s;
}
.portal-call:hover{background:rgba(63,143,114,.18);color:var(--green-dark);}
.portal-call:focus-visible{outline:2px solid var(--logo-blue);outline-offset:2px;}
@media(max-width:1099px){
  .portal-call,.portal-cta-register,.portal-sector-back,.portal-page-back,.portal-health-brand-link{
    touch-action:manipulation;
    -webkit-tap-highlight-color:rgba(47,163,212,.12);
  }
}
.portal-cta-register{
  display:inline-flex;align-items:center;justify-content:center;
  padding:11px 18px;border-radius:999px;
  font-family:var(--fd);font-size:12px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;text-decoration:none;white-space:nowrap;
  color:#fff!important;
  background:var(--logo-green);
  border:2px solid #3d7a68;
  box-shadow:4px 4px 0 var(--logo-blue);
  transition:background .2s,color .2s,transform .12s,box-shadow .2s;
}
.portal-cta-register:hover{
  background:#3d7a68;
  box-shadow:2px 2px 0 var(--logo-blue);
  transform:translate(2px,2px);
}
.portal-cta-register:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--logo-blue);}
@media(max-width:1200px){
  .portal-cta-register{padding:9px 14px;font-size:11px;letter-spacing:.06em;}
}
@media(max-width:1140px){
  .portal-top-actions .portal-call{width:36px;height:36px;}
}
@media(max-width:1099px){
  .portal-top-actions{
    border-left:none;
    padding-left:0;
    margin-left:0;
  }
}

.portal-topnav-tier--lower{
  position:relative;
  background:#fafbfc;
  border-top:1px solid rgba(15,23,42,.06);
}
.portal-topnav-tier--lower::after{
  content:"";
  position:absolute;left:0;right:0;bottom:0;height:3px;
  background:linear-gradient(90deg,var(--logo-green) 0%,var(--logo-slate) 50%,var(--logo-blue) 100%);
  pointer-events:none;
}
.portal-topnav-inner--lower{
  max-width:none;margin:0;width:100%;
  padding:0 clamp(8px,1.5vw,20px);
  box-sizing:border-box;
  min-height:0;
  display:flex;align-items:stretch;
}
@media(max-width:1099px){
  .portal-topnav-tier--lower{display:none;}
}

.portal-topnav-inner{
  max-width:none;margin:0;width:100%;
  box-sizing:border-box;
}
.portal-sector-back{
  flex-shrink:0;
  font-family:var(--fd);font-size:13px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;
  color:#334155;background:linear-gradient(180deg,#fff 0%,#f1f5f9 100%);
  border:1px solid rgba(15,23,42,.12);
  border-radius:999px;padding:12px 16px;cursor:pointer;
  box-shadow:0 1px 2px rgba(15,23,42,.06);
  transition:background .2s,color .2s,border-color .2s,box-shadow .2s,transform .15s;
}
.portal-sector-back:hover{
  color:var(--text);
  background:rgba(47,163,212,.12);
  border-color:rgba(47,163,212,.35);
  box-shadow:0 4px 14px rgba(47,163,212,.15);
}
.portal-sector-back:active{transform:scale(.98);}
.portal-page-back{
  flex-shrink:0;
  font-family:var(--fd);font-size:13px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;
  color:#334155;background:linear-gradient(180deg,#fff 0%,#f1f5f9 100%);
  border:1px solid rgba(15,23,42,.12);
  border-radius:12px;padding:12px 16px;cursor:pointer;
  box-shadow:0 1px 2px rgba(15,23,42,.06);
  transition:background .2s,color .2s,border-color .2s,box-shadow .2s,transform .15s;
}
.portal-page-back:hover{
  color:var(--text);
  background:rgba(47,163,212,.12);
  border-color:rgba(47,163,212,.35);
  box-shadow:0 4px 14px rgba(47,163,212,.15);
}
.portal-page-back:active{transform:scale(.98);}
/* Healthcare sector — left brand lockup (ZENTAR black · Health and Social care blue, plain white ground) */
.portal-health-brand{
  display:flex;
  align-items:center;
  flex:0 1 auto;
  min-width:0;
  max-width:min(100%,520px);
  padding:4px 0;
}
.portal-health-brand-link{
  display:inline-flex;
  flex-wrap:wrap;
  align-items:baseline;
  column-gap:8px;
  row-gap:2px;
  min-width:0;
  padding:7px 14px 7px 14px;
  border-radius:0;
  border:none;
  background:#fff;
  text-decoration:none;
  transition:opacity .2s;
}
.portal-health-brand-link:hover{
  background:#fff;
}
.portal-health-brand-link:focus-visible{
  outline:2px solid var(--logo-blue);
  outline-offset:2px;
}
.portal-health-brand-z{
  font-family:var(--fd);
  font-size:clamp(12px,.58vw + 10px,16px);
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#0f172a;
  line-height:1.15;
}
.portal-health-brand-hsc{
  font-family:var(--fd);
  font-size:clamp(12px,.58vw + 10px,16px);
  font-weight:800;
  letter-spacing:.02em;
  color:#0e7490;
  background:linear-gradient(90deg, var(--logo-blue) 0%, #1d9ad4 55%, #0e7490 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  line-height:1.15;
}
@supports not (background-clip:text){
  .portal-health-brand-hsc{color:var(--logo-blue);}
}
.portal-health-brand-link--minimal{
  max-width:min(100%,440px);
  flex-shrink:1;
}
.portal-health-brand-link--minimal .portal-logo-img{
  height:42px;
  width:auto;
  max-width:min(200px,52vw);
  object-fit:contain;
  display:block;
}
@media(max-width:900px){
  .portal-health-brand{
    max-width:min(100%,380px);
  }
  .portal-health-brand-z,
  .portal-health-brand-hsc{
    font-size:clamp(11px,2.6vw,14px);
  }
}
@media(max-width:520px){
  .portal-health-brand-link{
    padding:6px 10px 6px 10px;
    column-gap:6px;
  }
  .portal-health-brand-z,
  .portal-health-brand-hsc{
    display:inline;
    font-size:clamp(10px,3.2vw,13px);
  }
}

/* Health sector layout only — tab chrome lives in shared --sector block */

/* Standalone pages: slim bar — text lockup + shortcuts */
.portal-topnav--minimal-health .portal-topnav-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  width:100%;
  padding:10px clamp(12px,3vw,24px);
  min-height:64px;
  box-sizing:border-box;
}
.portal-topnav--minimal-health .portal-minimal-health-actions{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end;
}
.portal-min-health-primary{
  font-family:var(--fd);font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  color:var(--green-dark);text-decoration:none;padding:12px 18px;border-radius:999px;
  background:var(--green-soft);border:1px solid rgba(63,143,114,.35);
  transition:background .2s,box-shadow .2s;
}
.portal-min-health-primary:hover{background:rgba(63,143,114,.22);box-shadow:0 2px 8px rgba(15,23,42,.06);}
.portal-min-health-secondary{
  font-family:var(--fd);font-size:13px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;
  color:#64748b;text-decoration:none;padding:10px 12px;border-radius:10px;
}
.portal-min-health-secondary:hover{color:var(--text);background:rgba(15,23,42,.06);}
@media(max-width:640px){
  .portal-topnav--minimal-health .portal-topnav-inner{flex-wrap:wrap;justify-content:center;}
  .portal-topnav--minimal-health .portal-minimal-health-actions{width:100%;justify-content:center;}
}

/* Gateway home: second row — compact pill shortcuts inside the header */
.portal-quick{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;
  padding:10px 24px 14px;
  border-top:1px solid rgba(15,23,42,.06);
  background:linear-gradient(180deg,rgba(255,255,255,.35) 0%,rgba(241,245,249,.5) 100%);
}
@media(max-width:1099px){
  .portal-quick{
    justify-content:flex-start;
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    gap:10px;
    padding-left:max(16px,env(safe-area-inset-left));
    padding-right:max(16px,env(safe-area-inset-right));
    mask-image:linear-gradient(90deg,transparent 0,#000 12px,#000 calc(100% - 12px),transparent 100%);
  }
}
.portal-quick-link{
  flex:0 0 auto;
  display:inline-flex;align-items:center;
  padding:8px 14px;border-radius:999px;
  font-family:var(--fd);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  text-decoration:none;color:#334155;
  background:rgba(255,255,255,.85);
  border:1px solid rgba(15,23,42,.1);
  box-shadow:0 1px 2px rgba(15,23,42,.04);
  transition:background .2s,border-color .2s,color .2s,box-shadow .2s,transform .15s;
}
.portal-quick-link:hover{
  color:var(--green-dark);
  border-color:rgba(63,143,114,.45);
  background:var(--green-soft);
  box-shadow:0 2px 8px rgba(15,23,42,.06);
}
.portal-quick-link:focus-visible{
  outline:2px solid rgba(63,143,114,.55);
  outline-offset:2px;
}

.portal-logo{
  display:flex;align-items:center;text-decoration:none;flex-shrink:0;
  line-height:0;
}
.portal-logo-img{
  height:46px;width:auto;max-width:min(200px,42vw);
  object-fit:contain;display:block;
  filter:drop-shadow(0 1px 1px rgba(15,23,42,.07));
}
.portal-logo--footer .portal-logo-img{height:44px;max-width:min(140px,34vw);filter:none;object-fit:contain;}
.portal-logo--footer.portal-logo--health-sector .portal-logo-img,
.portal-logo--footer.portal-logo--edu-sector .portal-logo-img{
  height:48px;
  max-width:min(130px,32vw);
}
.portal-logo-text{display:none;}
.portal-desktop{display:none;}
/* Hub pages (health, vacancies, etc.) inherit legacy `nav { position:fixed }` rules — keep portal menu in the header */
nav.portal-desktop{
  position:static!important;
  inset:auto!important;
  top:auto!important;left:auto!important;right:auto!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  border:none!important;
  border-bottom:none!important;
  z-index:auto!important;
}
@media(min-width:1100px){
  .portal-desktop{
    display:flex;flex:1;min-width:0;
    align-items:stretch;
  }
  nav.portal-desktop{display:flex!important;}
}
.portal-tier1{
  list-style:none;margin:0;padding:0;
  display:flex;flex-wrap:nowrap;align-items:stretch;
  justify-content:stretch;
  gap:0;width:100%;
  flex:1;
}
.portal-tier1 > li{
  position:relative;
  flex:1 1 0;
  min-width:0;
  display:flex;
  align-items:stretch;
  justify-content:center;
}
@media(min-width:1100px){
  .portal-tier1 > li + li{
    box-shadow:-1px 0 0 rgba(110,115,123,.18);
  }
}
.portal-t1-btn,.portal-t1-link{
  display:inline-flex;align-items:center;justify-content:center;gap:4px;
  width:100%;
  min-height:48px;
  padding:10px 6px;border-radius:999px;border:none;background:transparent;
  font-family:inherit;font-size:clamp(11px,.72vw + 8px,14px);font-weight:600;letter-spacing:.01em;text-transform:none;
  color:#334155;cursor:pointer;text-decoration:none;
  transition:background .2s,color .2s,box-shadow .2s,border-color .2s;
  border:1px solid transparent;
  text-align:center;line-height:1.2;
  white-space:normal;
  box-sizing:border-box;
}
/* Pill nav (same for single-tier bar and two-tier lower row) */
.portal-topnav--bar .portal-t1-btn:hover,
.portal-topnav--bar .portal-t1-link:hover{
  background:rgba(15,23,42,.06);
  box-shadow:none;
}
.portal-topnav--bar .portal-t1-li--active .portal-t1-link,
.portal-topnav--bar .portal-t1-li--active .portal-t1-btn,
.portal-topnav--bar .portal-t1-link--active,
.portal-topnav--bar .portal-t1-btn--active{
  background:#e8e8ea;
  color:#1a1a1a!important;
  border-color:transparent;
  box-shadow:none;
}
.portal-topnav--bar .portal-t1-li .portal-t1-btn[aria-expanded="true"]{
  background:rgba(47,163,212,.12);
  color:#0369a1!important;
  box-shadow:none;
}
.portal-chev{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid currentColor;opacity:.5;}
/* Dropdowns — compact list, light shadow (avoid bulky “card”) */
.portal-mega,.portal-flyout{
  position:absolute;left:50%;right:auto;top:100%;margin-top:4px;
  min-width:min(100%,216px);max-width:min(340px,92vw);
  padding:6px 0;border-radius:10px;
  background:#fff;border:1px solid rgba(15,23,42,.07);
  box-shadow:0 8px 24px rgba(15,23,42,.08);
  opacity:0;visibility:hidden;transform:translate(-50%,-4px);transition:opacity .18s ease,transform .18s ease,visibility .18s;
  z-index:12010;
  overflow:hidden;
}
.portal-mega.portal-mega--wide{
  min-width:min(400px,92vw);
  max-width:min(480px,94vw);
}
/* Recruitment: keep labels on one line */
.portal-mega.portal-mega--recruit{
  width:max-content;
  min-width:max-content;
  max-width:min(420px,94vw);
}
.portal-mega--recruit .portal-mega-grid{
  grid-template-columns:1fr;
}
.portal-mega--recruit .portal-mega-h,
.portal-mega--recruit a{
  white-space:nowrap;
}
/* Community: hug content width (no empty right column) */
.portal-mega.portal-mega--community{
  width:max-content;
  min-width:max-content;
  max-width:min(280px,94vw);
}
.portal-mega--community .portal-mega-grid{
  grid-template-columns:1fr;
  width:max-content;
}
.portal-mega--community .portal-mega-col{
  width:max-content;
  max-width:100%;
}
.portal-mega--community a{
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  line-height:1.3;
  width:max-content;
  max-width:100%;
  box-sizing:border-box;
}
.portal-mega .portal-mega-grid{padding:4px 8px 6px;}
.portal-flyout{padding-bottom:6px;}
.portal-flyout > a{padding-left:10px;padding-right:10px;}
.portal-tier1 > li:hover .portal-mega,
.portal-tier1 > li:hover .portal-flyout,
.portal-tier1 > li:focus-within .portal-mega,
.portal-tier1 > li:focus-within .portal-flyout,
.portal-tier1 > li.is-open .portal-mega,
.portal-tier1 > li.is-open .portal-flyout{
  opacity:1;visibility:visible;transform:translate(-50%,0);
}
.portal-mega-col{margin-bottom:8px;}
.portal-mega-col:last-child{margin-bottom:0;}
.portal-mega-h{
  font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;margin:6px 12px 4px;
  font-family:var(--fd);
}
.portal-mega-h:first-child{margin-top:2px;}
.portal-mega a,.portal-flyout a{
  display:block;padding:7px 12px;border-radius:6px;font-size:14px;font-weight:500;color:#334155;text-decoration:none;font-family:var(--fb, 'Source Sans 3', sans-serif);
  line-height:1.35;
  transition:background .12s,color .12s;
}
.portal-mega a:hover,.portal-flyout a:hover{
  background:rgba(47,163,212,.09);
  color:#0f172a;
}
.portal-mega a:focus-visible,.portal-flyout a:focus-visible{
  outline:2px solid rgba(47,163,212,.45);
  outline-offset:0;
}
.portal-mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;}
@media(max-width:1200px){
  .portal-mega-grid{grid-template-columns:1fr;}
}

/* Fixed “back to top” — positioned above WhatsApp via whatsapp-fab.js */
.portal-back-top{
  position:fixed;
  right:max(16px,env(safe-area-inset-right));
  bottom:calc(max(20px,env(safe-area-inset-bottom)) + 68px);
  z-index:12040;
  width:48px;height:48px;min-width:48px;min-height:48px;padding:0;
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(47,163,212,.2);
  border-radius:999px;
  border:1.5px solid rgba(63,143,114,.35);
  background:rgba(255,255,255,.96);
  color:#1a4d3c;
  box-shadow:0 6px 20px rgba(15,23,42,.12);
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;pointer-events:none;
  transform:translateY(6px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s,background .2s,border-color .2s,color .2s;
}
.portal-back-top.is-visible{
  opacity:1;visibility:visible;pointer-events:auto;
  transform:translateY(0);
}
.portal-back-top:hover{
  background:#fff;
  border-color:rgba(47,163,212,.45);
  color:#0369a1;
}
.portal-back-top:focus-visible{
  outline:2px solid var(--logo-blue);
  outline-offset:2px;
}
.portal-back-top-icon{display:block;width:20px;height:20px;}
.portal-burger{
  display:inline-flex;align-items:center;justify-content:center;
  width:48px;height:48px;border-radius:12px;border:1px solid rgba(15,23,42,.1);
  background:rgba(255,255,255,.9);cursor:pointer;
  transition:background .2s,border-color .2s;
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(47,163,212,.15);
}
.portal-burger:hover{background:#fff;border-color:rgba(63,143,114,.35);}
.portal-topnav--bar .portal-burger:hover{border-color:rgba(47,163,212,.45);}
@media(min-width:1100px){
  .portal-burger{display:none;}
}
.portal-burger-lines{width:22px;height:14px;position:relative;}
.portal-burger-lines::before,.portal-burger-lines::after,.portal-burger-lines span{
  content:"";position:absolute;left:0;right:0;height:2px;background:#334155;border-radius:1px;
}
.portal-burger-lines::before{top:0;}
.portal-burger-lines span{top:6px;display:block;}
.portal-burger-lines::after{bottom:0;}
.portal-drawer{
  position:fixed;inset:0;z-index:13000;
  visibility:hidden;transition:visibility .28s;
  min-height:100vh;
  min-height:100dvh;
  touch-action:none;
}
.portal-drawer::before{
  content:"";position:absolute;inset:0;background:rgba(15,23,42,.4);
  opacity:0;transition:opacity .25s;
}
.portal-drawer.is-open{visibility:visible;}
.portal-drawer.is-open::before{opacity:1;}
.portal-drawer-panel{
  position:absolute;top:0;right:0;width:min(400px,100%);
  height:100%;
  max-height:100vh;
  max-height:100dvh;
  background:#f8fafc;box-shadow:-12px 0 40px rgba(15,23,42,.12);
  transform:translateX(100%);transition:transform .28s ease;
  overflow:auto;overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  padding-top:max(16px,env(safe-area-inset-top));
  padding-right:max(16px,env(safe-area-inset-right));
  padding-bottom:max(28px,env(safe-area-inset-bottom));
  padding-left:max(16px,env(safe-area-inset-left));
  touch-action:pan-y;
  isolation:isolate;
  will-change:transform;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.portal-drawer.is-open .portal-drawer-panel{transform:translateX(0);}
.portal-drawer-h{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid rgba(15,23,42,.1);
}
.portal-drawer-h span{
  font-family:var(--fd);font-weight:800;font-size:16px;letter-spacing:.04em;text-transform:uppercase;color:#0f172a;
  text-align:center;
  flex:1;
}
.portal-drawer-close{
  width:46px;height:46px;min-width:46px;min-height:46px;border:none;border-radius:12px;background:rgba(15,23,42,.06);cursor:pointer;font-size:24px;line-height:1;color:#475569;
  transition:background .2s,color .2s;
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(47,163,212,.15);
}
.portal-drawer-close:hover{background:rgba(15,23,42,.1);color:var(--text);}
.portal-acc{border-bottom:1px solid rgba(15,23,42,.08);}
.portal-acc-btn{
  width:100%;text-align:left;padding:16px 8px;min-height:48px;border:none;background:transparent;
  font-family:var(--fd);font-size:15px;font-weight:700;letter-spacing:.02em;text-transform:none;color:#1e293b;
  display:flex;justify-content:space-between;align-items:center;cursor:pointer;
  border-radius:12px;
  transition:background .2s;
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(47,163,212,.12);
}
.portal-acc-btn:hover{background:rgba(15,23,42,.04);}
.portal-acc-panel{padding:4px 6px 16px 8px;display:none;}
.portal-acc.is-open .portal-acc-panel{display:block;}
.portal-acc-panel a{
  display:flex;align-items:center;padding:14px 12px;min-height:48px;border-radius:10px;color:#0f172a;text-decoration:none;font-size:16px;font-weight:600;
  line-height:1.3;
  transition:background .15s;
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(47,163,212,.12);
}
.portal-acc-panel a:hover{background:var(--green-soft);}
.portal-drawer-flat a{
  display:flex;align-items:center;min-height:48px;padding:12px 10px;border-radius:12px;color:#0f172a;text-decoration:none;font-weight:700;font-size:16px;
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(47,163,212,.12);
}
.portal-drawer-flat a:hover{background:var(--green-soft);}
.portal-drawer-actions{
  display:flex;flex-direction:column;gap:12px;
  margin-top:20px;padding-top:18px;
  border-top:1px solid rgba(15,23,42,.1);
}
.portal-drawer-call{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:48px;padding:14px 16px;border-radius:14px;
  text-decoration:none;font-weight:700;font-size:15px;color:#0f766e;
  background:rgba(47,163,212,.12);
  transition:background .2s;
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(47,163,212,.12);
}
.portal-drawer-call .portal-call-icon{width:20px;height:20px;}
.portal-drawer-call:hover{background:rgba(63,143,114,.16);}
.portal-drawer-cta{
  display:flex;align-items:center;justify-content:center;text-align:center;
  min-height:48px;padding:14px 20px;border-radius:6px;
  font-family:var(--fd);font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase;
  color:#fff!important;text-decoration:none;
  background:var(--green);
  border:2px solid #3d7a68;
  box-shadow:4px 4px 0 #2FA3D4;
  transition:background .2s,transform .12s,box-shadow .2s;
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(47,163,212,.15);
}
.portal-drawer-cta:hover{
  background:#3d7a68;
  box-shadow:2px 2px 0 #2FA3D4;
  transform:translate(2px,2px);
}

/* Page shell — full viewport width with side padding (match sector nav) */
.portal-page-main{
  position:relative;z-index:10;flex:1;
  max-width:none;margin:0 auto;
  padding:16px clamp(20px,4vw,56px) 64px;width:100%;
  box-sizing:border-box;
}
/*
 * Sector headers use .portal-topnav--bar { position:relative }, so they sit in
 * document flow. Keep only a small content gap (not a fixed-header offset).
 */
.portal-body:has(.portal-topnav--two-tier) .portal-page-main,
.portal-body:has(.portal-topnav--bar) .portal-page-main{
  padding-top:16px;
}
@media(max-width:1099px){
  .portal-body:has(.portal-topnav--two-tier) .portal-page-main,
  .portal-body:has(.portal-topnav--bar) .portal-page-main{
    padding-top:max(12px, env(safe-area-inset-top, 0px));
    padding-left:max(18px, env(safe-area-inset-left));
    padding-right:max(18px, env(safe-area-inset-right));
  }
}
.portal-body:has(.portal-topnav--minimal-health) .portal-page-main{
  padding-top:16px;
}
.portal-hero{
  margin-bottom:32px;padding:28px 24px;border-radius:16px;border:1px solid rgba(15,23,42,.09);
  background:rgba(255,255,255,.78);backdrop-filter:blur(12px);
}
.portal-hero h1{font-family:var(--fd);font-size:clamp(28px,3.6vw,42px);font-weight:800;letter-spacing:-.5px;color:#0f172a;margin:0 0 16px;}
.portal-hero-figure{
  margin:0 0 20px;border-radius:14px;overflow:hidden;
  border:1px solid rgba(15,23,42,.08);
  background:rgba(15,23,42,.04);
  box-shadow:0 14px 36px rgba(15,23,42,.1);
}
.portal-hero-figure img{
  width:100%;height:auto;max-height:min(52vh,440px);min-height:200px;
  object-fit:cover;display:block;
}
.portal-hero-figure figcaption{
  padding:10px 14px 12px;font-size:13px;color:#64748b;background:rgba(255,255,255,.9);
}
.portal-hero-lead{font-size:18px;line-height:1.7;color:#475569;margin:0;}
.portal-lead{
  color:#475569;font-size:18px;line-height:1.7;margin:0 0 24px;
}
.portal-inline-figure{
  margin:24px 0;border-radius:14px;overflow:hidden;
  border:1px solid rgba(15,23,42,.09);
  background:#fff;
  box-shadow:0 10px 28px rgba(15,23,42,.06);
}
.portal-inline-figure img{width:100%;height:auto;max-height:380px;object-fit:cover;display:block;}
.portal-inline-figure figcaption{
  padding:12px 16px;font-size:14px;color:#64748b;line-height:1.5;border-top:1px solid rgba(15,23,42,.06);
}
.portal-section{margin-bottom:28px;}
.portal-section h2{
  font-family:var(--fd);font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--green-dark);margin:0 0 12px;
}
.portal-section p,.portal-section li{color:#475569;line-height:1.7;font-size:18px;}
.portal-section ul{margin:0;padding-left:1.2em;}
.portal-card-grid{display:grid;gap:12px;grid-template-columns:1fr;}
@media(min-width:640px){
  .portal-card-grid{grid-template-columns:repeat(2,1fr);}
}
.portal-card{
  display:block;padding:18px 18px;border-radius:14px;border:1px solid rgba(15,23,42,.1);
  background:#fff;text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s;
}
.portal-card:hover{
  border-color:rgba(63,143,114,.4);
  box-shadow:0 12px 28px rgba(15,23,42,.07);
}
.portal-card strong{display:block;font-family:var(--fd);font-size:15px;font-weight:800;color:#0f172a;margin-bottom:6px;}
.portal-card span{font-size:14px;color:#64748b;}
.portal-footer{
  position:relative;z-index:10;border-top:1px solid rgba(15,23,42,.09);padding:24px;margin-top:auto;
  background:rgba(241,245,249,.6);
}
.portal-footer .fi{max-width:none;margin:0 auto;padding:0 clamp(4px,1vw,8px);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;}
.portal-footer .flinks{display:flex;flex-wrap:wrap;gap:16px;list-style:none;margin:0;padding:0;}
.portal-footer .flinks a{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#64748b;text-decoration:none;}
.portal-footer .flinks a:hover{color:#334155;}
.flegal{
  margin:12px 0 0;font-size:12px;line-height:1.5;color:#64748b;max-width:52rem;
}
.portal-footer .flegal{padding:0 clamp(4px,1vw,8px);}
.breadcrumb.portal-bc{margin-bottom:20px;}
.bc-link-a{color:var(--green-dark);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(63,143,114,.35);}
.bc-link-a:hover{color:var(--text);border-bottom-color:transparent;}
.portal-bc .bc-sep{color:#94a3b8;}
.portal-body .skip-link:focus,
.portal-body .skip-link:focus-visible{left:16px;top:16px;outline:2px solid rgba(63,143,114,.45);}
.portal-body .btn{
  display:inline-flex;align-items:center;gap:8px;font-family:var(--fd);font-size:12px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;padding:14px 24px;border-radius:10px;text-decoration:none;border:none;cursor:pointer;
  transition:filter .2s,transform .15s;
}
.portal-body .btn-accent{background:linear-gradient(180deg,#3F8F72 0%,var(--green-dark) 100%);color:#fff;box-shadow:0 2px 8px rgba(61,122,104,.25);}
.portal-body .btn-accent:hover{filter:brightness(1.05);}
.portal-body .btn-accent--blue{background:#2FA3D4;box-shadow:0 2px 8px rgba(47,163,212,.2);}
.portal-body .btn-accent--blue:hover{filter:brightness(1.06);}

/* Contact page: hero graphic → form */
.portal-page-contact .portal-page-main{max-width:none;}
.portal-contact-split{
  display:grid;gap:28px;align-items:start;
  margin-bottom:40px;
}
@media(min-width:880px){
  .portal-contact-split{grid-template-columns:1fr 1fr;gap:36px;align-items:stretch;}
}
.portal-contact-visual{
  position:relative;display:block;text-decoration:none;color:inherit;
  border-radius:20px;overflow:hidden;
  background:linear-gradient(145deg,rgba(63,143,114,.14) 0%,rgba(110,115,123,.1) 45%,rgba(47,163,212,.12) 100%);
  border:1px solid rgba(63,143,114,.35);
  box-shadow:0 20px 50px rgba(47,163,212,.12),0 0 0 1px rgba(255,255,255,.6) inset;
  transition:transform .2s,box-shadow .2s;
}
.portal-contact-visual:hover,.portal-contact-visual:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 28px 60px rgba(47,163,212,.18);
}
.portal-contact-visual:focus-visible{outline:3px solid rgba(47,163,212,.45);outline-offset:3px;}
.portal-contact-visual-img{
  margin:0;position:relative;
  aspect-ratio:16/10;
  max-height:min(52vh,420px);
}
.portal-contact-visual-img img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.portal-contact-visual-cap{
  position:absolute;left:0;right:0;bottom:0;
  padding:20px 22px 22px;
  background:linear-gradient(180deg,transparent 0%,rgba(15,23,42,.75) 100%);
  color:#fff;
}
.portal-contact-visual-cap strong{
  display:block;font-family:var(--fd);font-size:clamp(18px,2.2vw,22px);font-weight:800;margin-bottom:6px;
}
.portal-contact-visual-cap span{font-size:14px;opacity:.95;}
.portal-contact-visual-cta{
  display:inline-flex;margin-top:12px;padding:10px 16px;border-radius:6px;
  font-family:var(--fd);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  background:var(--green);
  border:2px solid #3d7a68;
  color:#fff!important;
  box-shadow:3px 3px 0 #2FA3D4;
}
#contact-form.portal-contact-form-wrap{
  scroll-margin-top:140px;
  padding:28px 26px 32px;border-radius:18px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(63,143,114,.25);
  box-shadow:0 16px 40px rgba(15,23,42,.08);
}
.portal-contact-form-wrap h2{
  font-family:var(--fd);font-size:22px;font-weight:800;margin:0 0 8px;color:#0f172a;
}
.portal-contact-form-wrap > p{margin:0 0 22px;color:#64748b;font-size:15px;line-height:1.55;}
.portal-contact-form label{
  display:block;font-size:13px;font-weight:700;color:#334155;margin-bottom:6px;
}
.portal-contact-form input,.portal-contact-form select,.portal-contact-form textarea{
  width:100%;box-sizing:border-box;margin-bottom:16px;
  padding:12px 14px;border-radius:12px;border:1px solid rgba(15,23,42,.12);
  font-family:var(--fb);font-size:16px;background:#fff;
  transition:border-color .2s,box-shadow .2s;
}
.portal-contact-form input:focus,.portal-contact-form select:focus,.portal-contact-form textarea:focus{
  outline:none;border-color:#2FA3D4;
  box-shadow:0 0 0 3px rgba(47,163,212,.22);
}
.portal-contact-form textarea{min-height:120px;resize:vertical;}
.portal-contact-form .portal-form-actions{margin-top:8px;}
.portal-contact-form .btn-submit{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 26px;border:2px solid #3d7a68;border-radius:6px;cursor:pointer;
  font-family:var(--fd);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:#fff;
  background:var(--green);
  box-shadow:4px 4px 0 #2FA3D4;
  transition:background .2s,transform .12s,box-shadow .2s;
}
.portal-contact-form .btn-submit:hover{background:#3d7a68;box-shadow:2px 2px 0 #2FA3D4;transform:translate(2px,2px);}
.portal-contact-form .btn-submit:active{transform:translate(3px,3px);box-shadow:0 0 0 #2FA3D4;}

/* ─── Education sector nav ─────────────────────────────────────────────── */
.portal-topnav--edu-sector .portal-health-brand-link--edu-sector{
  flex-direction:column;
  align-items:flex-start;
  row-gap:2px;
  max-width:min(100%,580px);
}
.portal-topnav--edu-sector .portal-health-brand-hsc--edu{
  display:block;
  width:100%;
  font-size:clamp(10px,.42vw + 9px,14px);
  font-weight:800;
  letter-spacing:.01em;
  line-height:1.25;
  color:#3d4e78!important;
  background:none!important;
  -webkit-background-clip:border-box!important;
  background-clip:border-box!important;
}
@media(max-width:520px){
  .portal-topnav--edu-sector .portal-health-brand-hsc--edu{
    font-size:clamp(9px,2.8vw,12px);
  }
}
.portal-topnav--edu-sector .portal-topnav-inner--upper{gap:10px;flex-wrap:nowrap;}
@media(max-width:420px){
  .portal-topnav--edu-sector .portal-sector-back{padding:8px 9px;font-size:10.5px;}
  .portal-topnav--edu-sector .portal-logo-img{max-width:min(130px,36vw)!important;}
  .portal-topnav--edu-sector .portal-top-actions{gap:4px;padding-left:4px;margin-left:0;}
  .portal-topnav--edu-sector .portal-topnav-inner--upper{gap:4px;padding-left:8px;padding-right:8px;}
}
.portal-mega--narrow .portal-mega-grid{max-width:min(100%,360px);}
/* Education: For schools mega — partnership row + two columns */
.portal-mega.portal-mega--edu-schools{
  min-width:min(520px,92vw);
  max-width:min(680px,94vw);
}
.portal-mega--edu-schools .portal-mega-col--span{
  grid-column:1 / -1;
  margin-bottom:4px;
  padding-bottom:6px;
  border-bottom:1px solid rgba(15,23,42,.06);
}
.portal-acc-panel .portal-acc-section{
  font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:#64748b;margin:12px 8px 6px;padding:0;line-height:1.35;
}
.portal-acc-panel .portal-acc-section:first-of-type{margin-top:6px;}

/* Health & Social Care — accreditations strip above footer */
.health-accred-footer{
  width:100%;
  max-width:min(1240px,100%);
  margin:28px auto 8px;
  padding:28px clamp(18px,4vw,40px) 8px;
  text-align:left;
  border-top:1px solid rgba(15,23,42,.09);
  box-sizing:border-box;
}
.health-accred-footer .accred-ey{
  font-family:var(--fd,'Montserrat',sans-serif);
  font-size:10px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--blue,#2FA3D4);margin:0 0 8px;
}
.health-accred-footer .accred-sub{
  font-size:18px;color:#475569;line-height:1.7;margin:0 0 22px;
}
.health-accred-footer .accred-marquee{
  overflow:hidden;width:100%;margin:0;
  -webkit-mask-image:linear-gradient(90deg,transparent,black 6%,black 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,black 6%,black 94%,transparent);
}
.health-accred-footer .accred-marquee-track{display:flex;width:max-content;animation:portal-accred-marquee 68s linear infinite;}
.health-accred-footer .accred-marquee:hover .accred-marquee-track{animation-play-state:paused;}
.health-accred-footer .accred-marquee-segment{display:flex;flex-direction:row;align-items:flex-end;flex:0 0 auto;gap:16px 52px;}
.health-accred-footer .accred-row{display:flex;flex-wrap:nowrap;align-items:flex-end;gap:30px 56px;list-style:none;padding:0 56px 0 0;margin:0;}
.health-accred-footer .accred-marquee-cqc{flex:0 0 auto;display:flex;align-items:flex-end;padding:0 56px 8px 20px;border-left:1px solid rgba(15,23,42,.09);}
.health-accred-footer .accred-marquee-cqc-inner{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:min(480px,88vw);}
.health-accred-footer .accred-marquee-cqc-label{font-family:var(--fd,'Montserrat',sans-serif);font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#2FA3D4;text-align:center;}
.health-accred-footer .accred-marquee-cqc-img{display:block;width:auto;max-width:min(440px,72vw);height:auto;max-height:140px;object-fit:contain;box-shadow:0 3px 14px rgba(15,23,42,.1);border-radius:6px;}
.health-accred-footer .accred-item{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto;min-width:138px;max-width:240px;text-align:center;}
.health-accred-footer .accred-logo-wrap{height:102px;display:flex;align-items:center;justify-content:center;width:100%;}
.health-accred-footer .accred-logo{max-width:100%;max-height:92px;object-fit:contain;opacity:.92;}
.health-accred-footer .accred-item:has(.accred-logo[src*="iso-9001"]) .accred-logo-wrap{width:86px;height:102px;margin-inline:auto;overflow:hidden;}
.health-accred-footer .accred-item:has(.accred-logo[src*="iso-9001"]) .accred-logo{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;}
.health-accred-footer .accred-name{color:#64748b;font-family:var(--fd,'Montserrat',sans-serif);font-size:11px;font-weight:600;line-height:1.25;max-width:190px;}
.health-accred-footer .cqc-card{margin:20px auto 0;padding:18px 0 0;max-width:940px;border-top:1px solid rgba(15,23,42,.09);}
.health-accred-footer .cqc-body h4{font-family:var(--fd,'Montserrat',sans-serif);font-size:15px;color:#0f172a;margin:0 0 4px;}
.health-accred-footer .cqc-body p{font-size:13px;line-height:1.56;color:#475569;margin:0 0 6px;max-width:68ch;}
.health-accred-footer .cqc-actions{display:flex;flex-wrap:wrap;gap:14px 20px;}
.health-accred-footer .accred-link{font-family:var(--fd,'Montserrat',sans-serif);font-size:11px;font-weight:600;color:#2FA3D4;text-decoration:none;border-bottom:1px solid transparent;}
.health-accred-footer .accred-link:hover{border-bottom-color:#2FA3D4;}
@keyframes portal-accred-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
html.reduce-motion .health-accred-footer .accred-marquee{-webkit-mask-image:none;mask-image:none;}
html.reduce-motion .health-accred-footer .accred-marquee-track{animation:none!important;width:100%;flex-wrap:wrap;justify-content:center;}
html.reduce-motion .health-accred-footer .accred-marquee-track .accred-marquee-segment[aria-hidden="true"]{display:none;}
@media(max-width:640px){
  .health-accred-footer{padding:22px 16px 4px;margin-bottom:4px;}
  .health-accred-footer .accred-sub{font-size:14px;}
  .health-accred-footer .accred-marquee-cqc-img{max-height:112px;}
}

/* Homecare sector — shared two-tier chrome (burgundy + antique gold) */
.portal-topnav--homecare-sector .portal-logo--homecare-sector{
  display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:#161018;
}
.portal-homecare-brand-label{
  font-family:var(--fd,'Montserrat',sans-serif);font-size:11px;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;color:#6B2340;white-space:nowrap;
}
.portal-topnav--homecare-sector .portal-logo-img{
  height:54px;width:auto;max-width:min(320px,58vw)!important;object-fit:contain;
}
.portal-topnav--homecare-sector .portal-topnav-inner--upper{gap:10px;}
.portal-topnav--homecare-sector .portal-topnav-inner--lower{
  justify-content:center;
}
.portal-topnav--homecare-sector .portal-topnav-tier--lower::after{
  background:linear-gradient(90deg,#6B2340 0%,#C4A574 50%,#6B2340 100%);
}
.portal-topnav--homecare-sector .portal-cta-register{
  background:linear-gradient(180deg,#7a2c4a 0%,#4A152C 100%);
  box-shadow:4px 4px 0 rgba(196,165,116,.55)!important;
}
.portal-topnav--homecare-sector .portal-cta-register:hover{filter:brightness(1.06);}
.portal-topnav--homecare-sector .portal-t1-li--active .portal-t1-link,
.portal-topnav--homecare-sector .portal-t1-li--active .portal-t1-btn,
.portal-topnav--homecare-sector .portal-t1-link--active,
.portal-topnav--homecare-sector .portal-t1-btn--active{
  background:rgba(107,35,64,.10)!important;
  color:#4A152C!important;
  border-color:rgba(196,165,116,.55)!important;
  box-shadow:0 2px 8px rgba(107,35,64,.10);
}
.portal-topnav--homecare-sector .portal-t1-li .portal-t1-btn[aria-expanded="true"]{
  background:rgba(107,35,64,.12)!important;
  color:#4A152C!important;
  border-color:rgba(196,165,116,.62)!important;
}
@media(max-width:960px){
  .portal-homecare-brand-label{font-size:10px;}
  .portal-topnav--homecare-sector .portal-logo-img{height:42px;max-width:min(240px,62vw)!important;}
}
@media(max-width:420px){
  .portal-topnav--homecare-sector .portal-sector-back{padding:8px 9px;font-size:10.5px;}
  .portal-topnav--homecare-sector .portal-logo-img{max-width:min(130px,36vw)!important;}
  .portal-topnav--homecare-sector .portal-top-actions{gap:4px;padding-left:4px;margin-left:0;}
  .portal-topnav--homecare-sector .portal-topnav-inner--upper{gap:4px;padding-left:8px;padding-right:8px;}
}

/* ─── Shared sector chrome (Health / Education / Homecare) ───────────────
   Canonical pill UI — matches Health & Social Care reference nav. */
.portal-topnav--sector .portal-logo-img{
  height:56px;
  max-width:min(150px,38vw);
  object-fit:contain;
  object-position:left center;
}
.portal-topnav--sector .portal-topnav-inner--upper{
  gap:10px;
  flex-wrap:nowrap;
}
.portal-topnav--sector .portal-topnav-inner--lower{
  padding:0 clamp(6px,1.2vw,16px);
  justify-content:center;
}
.portal-topnav--sector .portal-topnav-tier--lower{
  background:#fafbfc;
}
.portal-topnav--sector .portal-topnav-tier--lower::after{
  background:linear-gradient(90deg,#3F8F72 0%,#5B72A8 50%,#2FA3D4 100%);
}
.portal-topnav--sector .portal-tier1{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:10px;
  padding:10px 0 12px;
  list-style:none;
  margin:0;
  width:100%;
}
.portal-topnav--sector .portal-tier1 > li{
  position:relative;
  flex:0 0 auto!important;
  flex-shrink:0!important;
  min-width:max-content!important;
  width:auto!important;
  display:flex;
  align-items:center;
  justify-content:center;
}
.portal-topnav--sector .portal-tier1 > li + li{
  box-shadow:none;
}
.portal-topnav--sector .portal-t1-btn,
.portal-topnav--sector .portal-t1-link{
  width:auto!important;
  max-width:none!important;
  min-width:max-content!important;
  min-height:0!important;
  flex:0 0 auto;
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(15,23,42,.1)!important;
  border-radius:999px!important;
  box-shadow:0 1px 2px rgba(15,23,42,.05);
  font-family:var(--fd,'Montserrat',sans-serif);
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#334155!important;
  padding:10px 16px!important;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  line-height:1.2;
  white-space:nowrap;
  box-sizing:border-box;
}
.portal-topnav--sector .portal-t1-li--active .portal-t1-link,
.portal-topnav--sector .portal-t1-li--active .portal-t1-btn,
.portal-topnav--sector .portal-t1-link--active,
.portal-topnav--sector .portal-t1-btn--active{
  background:rgba(47,163,212,.14)!important;
  color:#0c4a6e!important;
  border-color:rgba(47,163,212,.35)!important;
  box-shadow:0 2px 8px rgba(47,163,212,.12);
}
.portal-topnav--sector .portal-t1-li .portal-t1-btn[aria-expanded="true"]{
  background:rgba(47,163,212,.16)!important;
  color:#075985!important;
  border-color:rgba(47,163,212,.4)!important;
}
.portal-topnav--sector .portal-t1-btn:hover,
.portal-topnav--sector .portal-t1-link:hover{
  background:rgba(241,245,249,.98)!important;
  border-color:rgba(15,23,42,.14)!important;
  color:#0f172a!important;
}
/* Private Homecare — premium champagne treatment */
.portal-topnav--sector .portal-t1-link--private-homecare{
  background:linear-gradient(180deg,#f7f1e6 0%,#efe4d2 100%)!important;
  border-color:rgba(184,149,90,.55)!important;
  color:#5c4520!important;
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 2px 8px rgba(140,110,60,.12)!important;
}
.portal-topnav--sector .portal-t1-link--private-homecare:hover{
  background:linear-gradient(180deg,#faf6ee 0%,#f3e8d6 100%)!important;
  border-color:rgba(168,132,72,.7)!important;
  color:#3f2f14!important;
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 4px 12px rgba(140,110,60,.18)!important;
}
.portal-drawer-private-homecare{
  color:#5c4520!important;
  font-weight:700!important;
  background:linear-gradient(180deg,#f7f1e6 0%,#efe4d2 100%);
  border:1px solid rgba(184,149,90,.45);
  border-radius:10px;
  margin:4px 0;
}
.portal-topnav--sector .portal-cta-register{
  border-radius:999px!important;
  box-shadow:4px 4px 0 var(--logo-blue)!important;
}
.portal-topnav--sector .portal-sector-back{
  border-radius:999px!important;
  background:linear-gradient(180deg,#fff 0%,#f1f5f9 100%)!important;
  border:1px solid rgba(15,23,42,.12)!important;
  box-shadow:0 1px 2px rgba(15,23,42,.06);
}
.portal-topnav--homecare-sector .portal-logo--homecare-sector{
  display:inline-flex;
  align-items:center;
}
