/* Approved SWISO Platform Hub master design. Operational portals do not inherit this file. */
body.swiso-hub-page{
  --hub-navy:#062f54;
  --hub-deep:#032949;
  --hub-blue:#08719a;
  --hub-cyan:#18bce1;
  --hub-teal:#18c7ca;
  --hub-ink:#072f58;
  --hub-muted:#456983;
  --hub-line:#d7e5ed;
  min-height:100vh;
  overflow-x:hidden;
  color:var(--hub-ink);
  background:#f7fbfd;
}
.hub-skip-link{position:fixed;left:16px;top:-60px;z-index:100;padding:10px 14px;border-radius:8px;background:#fff;color:var(--hub-ink);font-weight:800;box-shadow:0 8px 24px #001a2f33}.hub-skip-link:focus{top:10px}
.gateway-nav{position:absolute;z-index:20;top:4px;left:6.15%;right:6.15%;height:51px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:0 25px 0 20px;border:1px solid #ffffffcc;border-radius:18px;background:linear-gradient(180deg,#fff 0%,#f4f9fc 100%);box-shadow:0 10px 26px #001f3d29;color:var(--hub-ink)}
.gateway-brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;white-space:nowrap}.gateway-brand img{width:25px;height:25px;object-fit:contain}.gateway-brand strong{font-size:1rem;letter-spacing:-.015em}.gateway-links{align-self:stretch;display:flex;margin-left:32px}.gateway-links a{position:relative;display:flex;align-items:center;gap:9px;padding:0 20px;color:#153f68;text-decoration:none;font-size:.82rem;font-weight:650}.gateway-links a.active:after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;border-radius:2px;background:#1baeda}.gateway-links svg{width:19px;height:19px;fill:#136099}.gateway-account{justify-self:end}.microsoft-button{display:flex;align-items:center;gap:12px;min-height:38px;padding:0 17px;border-radius:14px;background:linear-gradient(135deg,#0855be,#0876dc);color:#fff;text-decoration:none;font-size:.79rem;font-weight:700;box-shadow:0 6px 16px #075bb83d}.microsoft-button b{font-size:1.4rem;font-weight:400;line-height:1}.microsoft-mark{display:grid;grid-template-columns:repeat(2,7px);gap:2px}.microsoft-mark i{width:7px;height:7px;background:#f35325}.microsoft-mark i:nth-child(2){background:#81bc06}.microsoft-mark i:nth-child(3){background:#05a6f0}.microsoft-mark i:nth-child(4){background:#ffba08}
body.swiso-hub-page>.gateway-main{position:relative;width:100%;max-width:none;margin:0;padding:0;flex:1;background:radial-gradient(ellipse at 54% 33%,#fff 0,#f3fbff 45%,#e8f6fb 100%)}
.gateway-main:before,.gateway-main:after{content:"";position:absolute;z-index:0;width:640px;height:640px;border:1px solid #d0e7f2;border-radius:50%;pointer-events:none}.gateway-main:before{left:-380px;top:195px;box-shadow:0 0 0 62px #fff8,0 0 0 122px #ddf1f977}.gateway-main:after{right:-420px;top:276px;box-shadow:0 0 0 72px #fff8,0 0 0 146px #e3f3f977}
.gateway-hero{position:relative;z-index:1;height:270px;overflow:hidden;padding-top:55px;border-radius:0 0 34px 0;background:linear-gradient(108deg,#062e55 0%,#06436b 49%,#087f98 100%);color:#fff;box-shadow:0 8px 24px #062f5424}
.gateway-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 54% 44%,transparent 0 120px,#06345c1a 121px 122px,transparent 123px),linear-gradient(128deg,transparent 38%,#0d719328 38.1%,transparent 66%);pointer-events:none}.hero-content{position:relative;z-index:4;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(400px,1fr);align-items:center;width:min(1080px,calc(100% - 140px));height:calc(100% - 55px);margin:0 auto}.hero-copy{padding-right:34px}.hero-kicker{margin:0 0 19px;color:#b9d8e9;font-size:.61rem;font-weight:750;letter-spacing:.38em;text-transform:uppercase}.hero-kicker span{padding:0 7px;color:#6bb5d0}.hero-copy h1{margin:0 0 8px;font-size:2.15rem;line-height:1.08;letter-spacing:-.035em}.hero-copy h1 em{color:#55e6e1;font-style:normal}.hero-copy>p:last-child{margin:0;color:#e5f2f7;font-size:1.18rem;line-height:1.35}.hero-security{display:grid;grid-template-columns:76px 1fr;gap:20px;align-items:center;min-height:104px;padding-left:34px;border-left:1px solid #a9d2e3aa}.security-shield{display:block;width:68px}.security-shield svg{width:100%;overflow:visible}.security-shield svg>path:first-child{fill:#55d8c1;stroke:#8ff3df;stroke-width:4}.security-shield rect{fill:#ecfff9}.security-shield .shield-key{fill:none;stroke:#117b77;stroke-width:3;stroke-linecap:round}.hero-security h2{margin:0 0 5px;color:#fff;font-size:1rem;line-height:1.25}.hero-security p{max-width:30ch;margin:0;color:#d4eaf2;font-size:.79rem;line-height:1.55}.hero-signin{display:none}.hero-signout button{margin-top:10px;padding:7px 13px;border:1px solid #ffffff75;border-radius:8px;background:#ffffff18;color:#fff;font-weight:750;cursor:pointer}.hero-motto{position:absolute;z-index:4;right:6.8%;top:86px;margin:0;color:#a8d1e2;font-size:.58rem;line-height:2.05;letter-spacing:.46em;text-transform:uppercase}.hero-motto i,.side-motto i{display:inline-block;width:15px;height:1px;background:currentColor}.hero-motto small{font-size:.5rem;line-height:1.9;letter-spacing:.36em}.hero-rings{position:absolute;z-index:2;pointer-events:none}.hero-rings i{position:absolute;display:block;border-radius:50%;transform:rotate(-18deg)}.hero-rings-left{left:-222px;top:-225px;width:650px;height:650px}.hero-rings-left i:nth-child(1){inset:0;border:1px solid #83dcfb;box-shadow:0 0 0 24px #42bde022}.hero-rings-left i:nth-child(2){inset:54px;border:35px solid #19bad88f;box-shadow:0 0 24px #74dfff}.hero-rings-left i:nth-child(3){inset:137px;border:1px solid #126699}.hero-rings-right{right:-228px;top:-342px;width:720px;height:720px}.hero-rings-right i:nth-child(1){inset:0;border:1px solid #60dcf9}.hero-rings-right i:nth-child(2){inset:58px;border:29px solid #1dc5d07a;box-shadow:0 0 20px #28d8ef}.hero-rings-right i:nth-child(3){inset:129px;border:1px solid #13a4c5}
.application-catalogue{position:relative;z-index:3;width:min(1080px,calc(100% - 140px));margin:0 auto;padding:12px 0 9px}.catalogue-heading{margin-bottom:10px}.catalogue-heading h2{margin:0;color:var(--hub-ink);font-size:1.55rem;line-height:1.05;letter-spacing:-.035em}.catalogue-heading p{margin:4px 0 0;color:#3c6585;font-size:.72rem}.swiso-hub-page #productShowcase{display:grid;grid-template-columns:1fr;gap:10px;margin:0}.gateway-group h3{display:flex;align-items:center;gap:12px;margin:0 0 7px;color:#2b6287;font-size:.61rem;font-weight:850;letter-spacing:.17em;text-transform:uppercase}.gateway-group h3:after{content:"";height:1px;flex:1;background:#cedfe8}.gateway-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.gateway-card{position:relative;display:grid;grid-template-columns:80px minmax(0,1fr) 70px;align-items:center;min-height:86px;overflow:hidden;border:1px solid #dce9ef;border-radius:14px;background:#fff;box-shadow:0 7px 18px #123d5b12;transition:transform .16s ease,box-shadow .16s ease}.gateway-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--accent)}.gateway-card:after{content:"";position:absolute;right:36px;top:-64px;width:132px;height:132px;border:18px solid color-mix(in srgb,var(--accent) 10%,transparent);border-radius:50%;pointer-events:none}.gateway-card.is-link{cursor:pointer}.gateway-card.is-link:hover{transform:translateY(-2px);box-shadow:0 13px 26px #123d5b21}.gateway-card>a{position:absolute;z-index:5;inset:0;border-radius:14px}.gateway-icon{position:relative;z-index:2;width:68px;height:68px;margin-left:10px;border-radius:50%;object-fit:contain;background:#fff}.gateway-card-copy{position:relative;z-index:2;align-self:center;min-width:0}.gateway-card h4{margin:0 0 3px;color:#082f5a;font-size:.86rem;line-height:1.15}.gateway-card p{margin:0;color:#315e80;font-size:.69rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gateway-status{display:inline-flex;margin-top:8px;padding:3px 12px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,#fff);color:color-mix(in srgb,var(--accent) 82%,#06355b);font-size:.51rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.gateway-access{position:relative;z-index:2;align-self:stretch;display:grid;place-content:center;text-align:center;color:#164b74;font-size:.58rem;font-weight:800;line-height:1.2}.gateway-access svg{display:block;width:19px;height:22px;margin:0 auto 4px;fill:#417293}.gateway-access b{display:block;font-size:.92rem;font-weight:600}.gateway-card.locked{filter:saturate(.82)}.gateway-card.locked .gateway-status{background:#edf2f5;color:#627788}.gateway-card.coming-soon .gateway-status{background:#edf3f8;color:#345b7b}.gateway-card.coming-soon .gateway-access{color:#647b8d}.gateway-card>a:focus-visible,.gateway-nav a:focus-visible,.hero-signin:focus-visible,.hero-signout button:focus-visible,.hub-skip-link:focus-visible{outline:3px solid #f5c842;outline-offset:3px}.catalogue-notice{display:flex;align-items:center;justify-content:center;gap:8px;margin:8px 0 0;color:#234f70;font-size:.61rem}.catalogue-notice span{display:grid;width:15px;height:15px;place-content:center;border-radius:50%;background:#25688d;color:#fff;font-size:.58rem;font-weight:900}.side-motto{position:absolute;z-index:2;margin:0;padding-left:16px;border-left:1px solid #7daec7;color:#5c8cac;font-size:.58rem;font-weight:650;line-height:2.1;letter-spacing:.42em;text-transform:uppercase}.side-motto-left{left:4.6%;top:625px}.side-motto-right{right:4.6%;top:705px}.gateway-footer{position:relative;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:39px;padding:8px 2.7%;background:linear-gradient(90deg,#052f54,#075b78);color:#deedf5;font-size:.56rem}.gateway-footer>span,.gateway-footer nav{display:flex;align-items:center;gap:0;flex-wrap:wrap}.gateway-footer i{font-style:normal}.gateway-footer i:before,.gateway-footer nav a+a:before{content:"";display:inline-block;width:1px;height:11px;margin:0 11px;background:#8cb1c5;vertical-align:middle}.gateway-footer a{color:#eff8fb;text-decoration:none}.gateway-footer a:hover{text-decoration:underline}
@media(min-width:1500px) and (min-height:1000px){.gateway-hero{height:300px}.application-catalogue{padding-top:20px}.swiso-hub-page #productShowcase{gap:15px}.gateway-card{min-height:96px}.gateway-grid{gap:17px}.gateway-icon{width:74px;height:74px}.side-motto-left{top:675px}.side-motto-right{top:770px}}
@media(max-width:1399px){.hero-motto,.side-motto{display:none}.hero-content,.application-catalogue{width:min(1080px,calc(100% - 64px))}}
@media(max-width:980px){.gateway-nav{left:20px;right:20px;padding-inline:14px}.gateway-brand strong{font-size:.9rem}.gateway-links{margin-left:12px}.gateway-links a{padding-inline:11px}.hero-content{grid-template-columns:1fr 360px}.hero-copy h1{font-size:1.78rem}.hero-copy>p:last-child{font-size:1rem}.gateway-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gateway-hero{height:290px}.application-catalogue{padding-top:18px}}
@media(max-width:720px){.gateway-nav{position:relative;top:auto;left:auto;right:auto;height:auto;min-height:62px;margin:0;border-radius:0;grid-template-columns:1fr auto;padding:8px 14px}.gateway-brand img{width:30px;height:30px}.gateway-links{grid-column:1/-1;grid-row:2;justify-content:center;order:3;margin:4px -14px -8px;border-top:1px solid #dbe7ed}.gateway-links a{min-height:40px}.microsoft-button{padding:0 12px}.microsoft-button>span:nth-child(2){display:none}.gateway-hero{height:auto;min-height:330px;padding:24px 0;border-radius:0 0 24px 0}.hero-content{grid-template-columns:1fr;gap:24px;width:calc(100% - 40px);height:auto}.hero-copy{padding:0;text-align:center}.hero-kicker{margin-bottom:13px;letter-spacing:.2em}.hero-copy h1{font-size:1.75rem}.hero-copy>p:last-child{font-size:.96rem}.hero-security{grid-template-columns:56px 1fr;min-height:0;padding:17px 0 0;border-left:0;border-top:1px solid #a9d2e377}.security-shield{width:50px}.hero-security p{max-width:none}.application-catalogue{width:calc(100% - 32px);padding-top:20px}.catalogue-heading h2{font-size:1.35rem}.gateway-grid{grid-template-columns:1fr}.gateway-card{min-height:91px}.gateway-footer{align-items:flex-start;flex-direction:column;padding:13px 18px;font-size:.62rem}.gateway-footer nav{gap:9px 14px}.gateway-footer nav a+a:before{display:none}}
@media(max-width:420px){.gateway-brand strong{font-size:.83rem}.gateway-links a{font-size:.72rem}.gateway-links svg{width:16px}.gateway-card{grid-template-columns:72px minmax(0,1fr) 57px}.gateway-icon{width:60px;height:60px;margin-left:9px}.gateway-card p{font-size:.64rem}.gateway-access{font-size:.53rem}}
.header-signout{margin:0}.header-signout button{min-height:36px;padding:0 15px;border:1px solid #ccdde7;border-radius:10px;background:#fff;color:#123f63;font-weight:750;cursor:pointer}.hub-unavailable{margin:28px 0;padding:18px;border:1px solid #d4e3eb;border-radius:12px;background:#fff;color:#45677c;text-align:center}
@media(prefers-reduced-motion:reduce){.gateway-card{transition:none}.gateway-card.is-link:hover{transform:none}}

/* Revision 4 palette correction: blue/cyan leads; green remains status-only. */
body.swiso-hub-page{
  --hub-blue:#086ca3;
  --hub-cyan:#24b9ec;
  --hub-teal:#159fc4;
}
body.swiso-hub-page>.gateway-main{background:radial-gradient(ellipse at 54% 33%,#fff 0,#f3faff 45%,#e8f4fb 100%)}
.gateway-hero{background:linear-gradient(108deg,#062e55 0%,#064570 52%,#046da0 100%)}
.hero-copy h1 em{color:#4ad9ef}
.hero-rings-right i:nth-child(2){border-color:#19afe07a;box-shadow:0 0 20px #31c8f0}
.hero-rings-right i:nth-child(3){border-color:#188fca}
.gateway-footer{background:linear-gradient(90deg,#052f54,#075784)}
.security-shield img{display:block;width:65px;height:85px;object-fit:contain}

/* Revision 5: wider premium composition and readable supporting/legal text. */
.hero-content,.application-catalogue{width:min(1320px,calc(100% - 160px))}
.security-shield{width:72px;filter:drop-shadow(0 8px 12px #001d3d40)}
.security-shield img{display:block;width:100%;height:auto;object-fit:contain}
.hero-kicker{font-size:.68rem}
.hero-security p{font-size:.82rem}
.hero-motto{font-size:.65rem;line-height:1.95}
.hero-motto small{font-size:.57rem}
.catalogue-heading p{font-size:.78rem}
.gateway-group h3{font-size:.68rem}
.gateway-card p{font-size:.72rem}
.gateway-status{font-size:.62rem}
.gateway-access{font-size:.68rem}
.catalogue-notice{font-size:.72rem}
.side-motto{font-size:.68rem}
.gateway-footer{min-height:46px;font-size:.75rem;line-height:1.5}
.gateway-footer a{padding:4px 0;text-underline-offset:3px}
@media(max-width:1399px){.hero-content,.application-catalogue{width:min(1180px,calc(100% - 64px))}}
@media(max-width:720px){.hero-content,.application-catalogue{width:calc(100% - 28px)}.gateway-footer{font-size:.8rem;align-items:flex-start;flex-direction:column;padding-block:12px}}

/* Revision 6: mobile viewport containment. Desktop composition is unchanged. */
@media(max-width:720px){
  html,body.swiso-hub-page{width:100%;max-width:100%;overflow-x:hidden}
  body.swiso-hub-page{min-width:0}
  body.swiso-hub-page :is(.gateway-nav,.gateway-main,.gateway-hero,.hero-content,.application-catalogue,.gateway-footer,#productShowcase,.gateway-group,.gateway-grid,.gateway-card){min-width:0;max-width:100%}
  body.swiso-hub-page>.gateway-main{overflow:hidden}
  .gateway-main::before,.gateway-main::after,.hero-rings{display:none}
  .gateway-nav{width:100%;max-width:100%;overflow:hidden}
  .gateway-links{width:calc(100% + 28px);max-width:calc(100% + 28px);overflow-x:auto;overscroll-behavior-inline:contain}
  .gateway-links a{flex:0 1 auto;min-width:0;padding-inline:10px}
  .hero-content,.application-catalogue{width:calc(100% - 28px)!important}
  .gateway-card{width:100%}
  .gateway-card-copy{overflow:hidden}
  .gateway-footer{width:100%;overflow-wrap:anywhere}
}

/* 0.20.232: continuous navy-blue-teal Hub blend (superseded by 0.20.233). */
.gateway-nav{
  border-color:rgba(255,255,255,.24);
  background:linear-gradient(100deg,#052f54 0%,#06486c 28%,#076d83 57%,#088e91 78%,#0aa896 100%);
  color:#f4fbfd;
  box-shadow:0 10px 28px rgba(0,31,61,.28);
}
.gateway-nav:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.04),transparent 32%,rgba(91,224,214,.10) 72%,rgba(115,235,215,.16));mix-blend-mode:screen}
.gateway-nav>*{position:relative;z-index:1}
.gateway-footer{background:linear-gradient(100deg,#052f54 0%,#06486c 28%,#076d83 57%,#088e91 78%,#0aa896 100%)}
.gateway-brand,.gateway-links a,.gateway-links .hub-security-help{color:#f4fbfd!important}
.gateway-links svg,.gateway-links .hub-security-help svg{fill:#8de3e5!important}
.gateway-links a:hover,.gateway-links .hub-security-help:hover{color:#fff;background:rgba(255,255,255,.09)}
.gateway-links a.active:after{background:#72e1d0}
.gateway-links .hub-auth-help{border-color:rgba(255,255,255,.28)!important;background:rgba(255,255,255,.12)!important;color:#fff!important;box-shadow:none!important}
.gateway-links .hub-auth-help:after{background:#f3d889;color:#523b00}
.microsoft-button{background:linear-gradient(135deg,#087aa1,#08a588);box-shadow:0 6px 16px rgba(0,35,56,.34)}

/* Correct the narrow-screen grid rather than concealing a wide desktop child. */
@media(max-width:720px){
  .gateway-nav{grid-template-columns:minmax(0,1fr) auto;overflow:visible}
  .gateway-brand{min-width:0}.gateway-brand strong{overflow:hidden;text-overflow:ellipsis}
  .gateway-account{min-width:0}
  .gateway-links{box-sizing:border-box;width:100%;max-width:100%;margin:4px 0 -8px;padding:0;justify-content:flex-start;overflow-x:auto;border-top-color:rgba(255,255,255,.2);scrollbar-width:thin}
  .gateway-links :is(a,button){flex:0 0 auto;min-width:max-content;color:#f4fbfd}
  .gateway-main,.gateway-hero,.hero-content,.application-catalogue,#productShowcase,.gateway-group,.gateway-grid,.gateway-card,.gateway-footer{inline-size:auto;max-inline-size:100%;min-inline-size:0}
  .hero-content,.application-catalogue{inline-size:calc(100% - 28px)!important}
  .gateway-footer>span,.gateway-footer nav{max-width:100%}
}

/* 0.20.233: restore the protected light/glass Hub navigation and restrained blue footer. */
.gateway-nav{
  border-color:#ffffffcc;
  background:linear-gradient(180deg,#fff 0%,#f4f9fc 100%);
  color:var(--hub-ink);
  box-shadow:0 10px 26px #001f3d29;
}
.gateway-nav:before{content:none}
.gateway-brand,.gateway-links a,.gateway-links .hub-security-help{color:#153f68!important}
.gateway-brand{color:inherit!important}
.gateway-links svg,.gateway-links .hub-security-help svg{fill:#136099!important}
.gateway-links a:hover,.gateway-links .hub-security-help:hover{color:#072f58;background:#eaf5fa}
.gateway-links a.active:after{background:#1baeda}
.gateway-links .hub-auth-help{border-color:#c5e3df!important;background:linear-gradient(135deg,#eefbfc,#fff8df)!important;color:#0b607b!important;box-shadow:none!important}
.microsoft-button{background:linear-gradient(135deg,#0855be,#0876dc);box-shadow:0 6px 16px #075bb83d}
.gateway-footer{background:linear-gradient(90deg,#052f54,#075784)}
@media(max-width:720px){
  .gateway-links{border-top-color:#dbe7ed}
  .gateway-links :is(a,button){color:#153f68}
}
