/* Canonical Altheray public shell. Shared by all public routes. */
:root{
  --public-navy:#020716;
  --public-navy-deep:#01040e;
  --public-ink:#0b1729;
  --public-line:rgba(169,201,255,.18);
  --public-line-strong:rgba(169,201,255,.31);
  --public-muted:#91a5bf;
  --public-text:#d6e1ef;
  --public-white:#f7f9fc;
  --public-blue:#86aeea;
}
*{box-sizing:border-box}[hidden]{display:none!important}
.public-header{position:fixed;top:14px;left:0;right:0;height:64px;z-index:90;pointer-events:none;background:transparent;border:0}
.public-header>.public-shell,.public-header>.nav-shell{pointer-events:auto;width:min(1400px,calc(100% - 32px));height:64px;margin:0 auto;padding:0 19px;display:flex;align-items:center;border:1px solid rgba(169,201,255,.22);border-radius:15px;background:linear-gradient(135deg,rgba(12,31,61,.72),rgba(4,13,32,.58));backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 15px 45px rgba(0,0,0,.23),0 0 0 1px rgba(4,15,38,.35)}
.public-header+main{padding-top:92px}
body[data-page="home"] .public-header+main{padding-top:0}
.public-brand{display:flex;align-items:center;flex:0 0 auto;text-decoration:none}
.public-brand img{display:block;width:145px;height:auto}
.public-menu-button{display:none;margin-left:auto;width:42px;height:42px;border:0;background:transparent;color:#fff;align-items:center;justify-content:center;flex-direction:column;gap:7px;cursor:pointer}
.public-menu-button span{display:block;width:21px;height:1px;background:currentColor;transition:transform .18s ease,opacity .18s ease}
.public-menu-button[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.public-menu-button[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.public-nav{margin-left:auto;display:flex;align-items:center;gap:clamp(14px,1.55vw,25px)}
.public-nav>a,.public-nav>.nav-contact,.public-nav>.nav-rfq,.public-nav-capabilities>summary{position:relative;color:#c6d4e5;text-decoration:none;font-family:var(--altheray-font-sans,inherit);font-size:var(--altheray-type-nav-size,11.5px);font-weight:var(--altheray-type-nav-weight,500);line-height:1;letter-spacing:var(--altheray-type-nav-tracking,0);transition:color .18s ease,background .18s ease,border-color .18s ease;white-space:nowrap}
.public-nav>a:not(.public-nav-rfq):not(.public-nav-portal)::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--public-blue);transition:right .2s ease}
.public-nav>a:not(.public-nav-rfq):not(.public-nav-portal):hover::after,.public-nav>a[aria-current="page"]::after{right:0}
.public-nav>.nav-contact{border:0;background:transparent;padding:0;cursor:pointer}
.public-nav>a:hover,.public-nav>a:focus-visible,.public-nav>a[aria-current="page"],.public-nav>.nav-contact:hover,.public-nav>.nav-contact:focus-visible,.public-nav>.nav-rfq:hover,.public-nav>.nav-rfq:focus-visible,.public-nav-capabilities>summary:hover,.public-nav-capabilities>summary:focus-visible,.public-nav-capabilities[open]>summary{color:#fff}
.public-nav-rfq,.public-nav>.nav-rfq{min-height:40px;padding:0 15px!important;border:1px solid rgba(169,201,255,.27)!important;border-radius:8px;background:linear-gradient(135deg,rgba(105,153,229,.18),rgba(255,255,255,.035));display:inline-flex;align-items:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.public-nav-rfq:hover,.public-nav>.nav-rfq:hover{border-color:rgba(169,201,255,.5)!important;background:linear-gradient(135deg,rgba(113,166,249,.28),rgba(255,255,255,.06))}
.public-nav-portal,.public-nav>.nav-portal{display:inline-flex!important;align-items:center;justify-content:center;gap:7px;width:32px;height:38px;border-left:1px solid rgba(255,255,255,.12);padding-left:14px!important;margin-left:-5px;color:#aabbd0!important}
.public-nav-portal svg,.public-nav>.nav-portal svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.public-nav-portal span,.public-nav>.nav-portal .nav-portal-label{display:none}

/* Capability taxonomy is a navigation index, not a SaaS mega-menu. */
.public-nav-capabilities{position:relative;margin:0;padding:0}
.public-nav-capabilities>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:7px;min-height:38px}
.public-nav-capabilities>summary::-webkit-details-marker{display:none}
.public-nav-capabilities>summary::after{content:"";width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-1px) rotate(45deg);transition:transform .16s ease}
.public-nav-capabilities[open]>summary::after{transform:translateY(2px) rotate(225deg)}
.public-capabilities-menu{position:absolute;top:calc(100% + 13px);left:50%;width:294px;padding:7px;transform:translateX(-50%);background:rgba(4,13,32,.97);border:1px solid rgba(169,201,255,.19);border-radius:10px;box-shadow:0 22px 58px rgba(0,0,0,.38);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.public-capabilities-menu a{display:block;padding:12px 12px 11px;color:#c6d4e5;text-decoration:none;font-family:var(--altheray-font-sans,inherit);font-size:12px;font-weight:var(--altheray-type-nav-weight,500);line-height:1.35;border-radius:6px}
.public-capabilities-menu a+a{border-top:1px solid rgba(169,201,255,.09);border-top-left-radius:0;border-top-right-radius:0}
.public-capabilities-menu a:hover,.public-capabilities-menu a:focus-visible,.public-capabilities-menu a[aria-current="page"]{background:rgba(134,174,234,.07);color:#fff}

.language-switcher{position:relative;flex:0 0 auto}
.language-button{height:38px;padding:0 7px;border:0;background:transparent;color:#d1dbe8;display:flex;align-items:center;gap:7px;font-family:var(--altheray-font-sans,inherit);font-size:10px;font-weight:500;letter-spacing:.04em;cursor:pointer;border-radius:7px}
.language-button:hover,.language-button:focus-visible,.language-button[aria-expanded="true"]{background:rgba(255,255,255,.055);color:#fff}
.language-button:focus-visible{outline:1px solid rgba(169,201,255,.34);outline-offset:2px}
.language-button svg{width:8px;flex:0 0 auto}
.language-menu{display:none;position:absolute;right:0;top:calc(100% + 14px);width:176px;padding:7px;background:rgba(5,18,42,.96);border:1px solid rgba(169,201,255,.18);border-radius:11px;box-shadow:0 24px 65px rgba(0,0,0,.45);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);z-index:110}
.language-menu.is-open{display:grid}
.language-menu button{border:0;background:transparent;color:#aebed1;text-align:left;padding:10px 11px;border-radius:7px;font:inherit;font-size:11px;cursor:pointer;display:flex;align-items:center;gap:10px}
.language-menu button:hover,.language-menu button:focus-visible,.language-menu button.is-active{color:#fff;background:rgba(134,174,234,.09)}
.language-menu button:focus-visible{outline:1px solid rgba(169,201,255,.24)}
.language-button:not(:has(.language-mark))::before,.language-menu button:not(:has(.language-mark))::before{content:"";width:18px;height:12px;flex:0 0 18px;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.17);background:#15346b}
.language-menu button[data-lang="en"]:not(:has(.language-mark))::before,html[lang^="en"] .language-button:not(:has(.language-mark))::before{background:linear-gradient(27deg,transparent 42%,#fff 42% 48%,#c8102e 48% 52%,#fff 52% 58%,transparent 58%),linear-gradient(-27deg,transparent 42%,#fff 42% 48%,#c8102e 48% 52%,#fff 52% 58%,transparent 58%),linear-gradient(90deg,transparent 38%,#fff 38% 62%,transparent 62%),linear-gradient(0deg,transparent 30%,#fff 30% 70%,transparent 70%),linear-gradient(90deg,transparent 45%,#c8102e 45% 55%,transparent 55%),linear-gradient(0deg,transparent 41%,#c8102e 41% 59%,transparent 59%),#15346b}
.language-menu button[data-lang="it"]:not(:has(.language-mark))::before,html[lang^="it"] .language-button:not(:has(.language-mark))::before{background:linear-gradient(90deg,#008c45 0 33.33%,#fff 33.33% 66.66%,#cd212a 66.66%)}
.language-menu button[data-lang="es"]:not(:has(.language-mark))::before,html[lang^="es"] .language-button:not(:has(.language-mark))::before{background:linear-gradient(#aa151b 0 25%,#f1bf00 25% 75%,#aa151b 75%)}
.language-menu button[data-lang="fr"]:not(:has(.language-mark))::before,html[lang^="fr"] .language-button:not(:has(.language-mark))::before{background:linear-gradient(90deg,#0055a4 0 33.33%,#fff 33.33% 66.66%,#ef4135 66.66%)}

.public-footer{padding:0;background:var(--public-navy-deep);color:#71849d;border-top:1px solid rgba(169,201,255,.1)}
.public-footer .public-shell{width:min(1420px,calc(100% - clamp(40px,8vw,128px)));height:auto;margin:0 auto;padding:0;display:flex;align-items:center}
.public-footer-main{min-height:94px;justify-content:space-between;gap:28px}
.public-footer-logo{width:124px;height:auto;opacity:.94}
.public-footer-links{display:flex;align-items:center;gap:23px;flex-wrap:wrap}
.public-footer a,.public-footer button{color:#c6d3e2;text-decoration:none;font-family:var(--altheray-font-sans,inherit);font-size:10px;font-weight:500;letter-spacing:0}
.public-footer button{border:0;background:transparent;padding:0;cursor:pointer}
.public-footer a:hover,.public-footer a:focus-visible,.public-footer button:hover,.public-footer button:focus-visible{color:#fff}
.public-footer-bottom{min-height:56px;border-top:1px solid rgba(169,201,255,.08);justify-content:space-between;gap:20px;font-family:var(--altheray-font-sans,inherit);font-size:10px}
.public-footer-bottom>div{display:flex;gap:20px;align-items:center}.public-footer-context{color:#7d91aa}.public-footer .cookie-settings{color:#c6d3e2}

html[dir="rtl"] .public-nav{margin-left:0;margin-right:auto}.language-menu{inset-inline-end:0;right:auto}
html[dir="rtl"] .public-capabilities-menu{left:auto;right:50%;transform:translateX(50%);text-align:right}

@media(max-width:1100px) and (min-width:901px){.public-nav{gap:13px}.public-nav>a,.public-nav>.nav-contact,.public-nav>.nav-rfq,.public-nav-capabilities>summary{font-size:10.5px}.public-brand img{width:132px}.public-nav-portal{display:none!important}}
@media(max-width:900px){
  .public-header{top:10px;height:58px}
  .public-header>.public-shell,.public-header>.nav-shell{position:relative;isolation:isolate;width:calc(100% - 20px);height:58px;padding:0 15px;border-radius:13px;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
  .public-header>.public-shell::before,.public-header>.nav-shell::before{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;background:linear-gradient(135deg,rgba(12,31,61,.78),rgba(4,13,32,.66));backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%);pointer-events:none}
  .public-brand,.public-menu-button{position:relative;z-index:2}
  .public-header+main{padding-top:78px}
  body[data-page="home"] .public-header+main{padding-top:0}
  .public-brand img{width:124px}.public-menu-button{display:flex}
  .public-nav{display:none;position:fixed;z-index:110;top:78px;left:10px;right:10px;width:auto!important;max-width:none!important;margin:0;padding:12px 15px calc(22px + env(safe-area-inset-bottom));background:rgba(4,13,32,.94);border:1px solid rgba(169,201,255,.18);border-radius:13px;align-items:stretch;gap:0;box-shadow:0 24px 60px rgba(0,0,0,.42);max-height:calc(100dvh - 92px);overflow:auto;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
  .public-nav.is-open{display:grid}.public-nav>a,.public-nav>.nav-contact,.public-nav>.nav-rfq,.public-nav-capabilities>summary{min-height:51px;padding:0 4px!important;border:0!important;border-bottom:1px solid rgba(169,201,255,.08)!important;border-radius:0!important;text-align:left;font-size:12px;background:transparent;display:flex;align-items:center}
  .public-nav>a::after{display:none}.public-nav-rfq{color:#fff!important}.public-nav-portal,.public-nav>.nav-portal{width:auto!important;height:51px!important;justify-content:flex-start!important;border-left:0!important;padding-left:4px!important;margin-left:0!important}.public-nav-portal span,.public-nav>.nav-portal .nav-portal-label{display:inline}
  .public-nav-capabilities{width:100%}.public-nav-capabilities>summary{justify-content:space-between}.public-capabilities-menu{position:static;width:100%;transform:none!important;padding:3px 0 8px 12px;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.public-capabilities-menu a{padding:11px 8px;font-size:11.5px;color:#aebed1}.public-capabilities-menu a+a{border-top:1px solid rgba(169,201,255,.06)}
  html[dir="rtl"] .public-nav-capabilities>summary{text-align:right}html[dir="rtl"] .public-capabilities-menu{padding-left:0;padding-right:12px;text-align:right}
  .language-switcher{margin-top:7px}.language-button{padding:11px 4px;height:auto}.language-menu{position:static;margin-top:3px;width:100%;box-shadow:none;background:rgba(134,174,234,.04)}
  .public-footer .public-shell{width:calc(100% - 36px)}.public-footer-main,.public-footer-bottom{height:auto;min-height:0;padding-top:24px;padding-bottom:24px;align-items:flex-start;flex-direction:column}.public-footer-links{gap:16px 22px}.public-footer-bottom{padding-top:18px;padding-bottom:calc(22px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){.public-nav>a,.public-menu-button span,.public-nav-capabilities>summary::after{transition:none}}
