/* Takumi / light, focus and navigation. Shared only by the public website. */
.public-site{--public-nav-offset:120px}
.public-site .skip-link{z-index:100}
.public-site .public-header{position:sticky;top:12px;z-index:40;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;width:min(1220px,calc(100% - 48px));max-width:1220px;min-height:82px;margin:18px auto 16px;padding:12px 20px;border:1px solid #dbe6f3;border-radius:22px;background:linear-gradient(125deg,#fffffff0,#f5f9fff0);box-shadow:0 1px 0 #fff inset,0 8px 30px #143c7010,0 1px 3px #143c7008;backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%)}
.public-site .public-header .brand{display:flex;align-items:center;padding:0;margin:0;min-width:0;flex-shrink:0}
.public-site .public-header .brand img.pn-reference-logo{width:148px;height:55px;object-fit:contain}
.public-site .public-header nav{display:flex;align-items:center;justify-content:center;gap:5px;width:auto;margin:0;padding:4px;background:#eaf1fb80;border:1px solid #e0eaf680;border-radius:14px;justify-self:center}
.public-site .public-header nav a{position:relative;isolation:isolate;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;min-height:43px;padding:9px 17px;border:1px solid transparent;border-radius:10px;background:transparent;color:#526982;font-size:13px;font-weight:500;line-height:1.5;white-space:nowrap;transition:color .2s,background .2s,box-shadow .2s,border-color .2s}
.public-site .public-header nav a:hover{color:#174d9d;background:#ffffffa6}
.public-site .public-header nav a.active{color:#174d9d;background:#fff;border-color:#dce8f7;box-shadow:0 2px 7px #153b7010;font-weight:650}
.public-site .public-header nav a.active:after{content:'';position:absolute;left:25%;right:25%;bottom:-5px;width:auto;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,#3c92f5,transparent);box-shadow:0 2px 7px #4ca4ff70}
.public-site .public-header .client-link{color:#526982}
.public-site .public-header .client-link>span{font-size:16px;color:#6984a5;font-weight:400}
.public-site .public-header .header-contact{min-height:46px;border-radius:12px;padding:11px 17px;font-size:12px;white-space:nowrap;gap:16px}
.public-site .public-header .header-contact[aria-current=page]{outline:2px solid #a9cef9;outline-offset:3px}
.public-site :is(.sv-button,.button.primary,.button.secondary){position:relative;isolation:isolate;overflow:hidden;transition:transform .22s,box-shadow .22s,background .22s,border-color .22s;transform:translateY(0);-webkit-tap-highlight-color:transparent}
.public-site :is(.sv-button.primary,.button.primary){background:linear-gradient(115deg,#134cb4 0%,#246add 58%,#1658bd 100%);color:#fff;border:1px solid #1f62c9;box-shadow:0 1px 0 #ffffff45 inset,0 -1px 0 #103e9225 inset,0 5px 14px #195fc326}
.public-site :is(.sv-button.light,.sv-button.outline,.button.secondary){background:linear-gradient(135deg,#fff 25%,#f0f6ff);border-color:#d1dff1;box-shadow:0 1px 0 white inset,0 3px 10px #274b7810}
.public-site :is(.sv-button,.button.primary,.button.secondary):before{content:'';position:absolute;inset-block:-45%;left:-75%;width:42%;z-index:1;pointer-events:none;background:linear-gradient(90deg,transparent,#ffffff2e 30%,#ffffff70 52%,transparent);transform:translateX(0) skewX(-22deg);opacity:0}
.public-site :is(.sv-button,.button.primary,.button.secondary):not(:disabled):not([aria-disabled=true]):is(:hover,:focus-visible){transform:translateY(-2px);box-shadow:0 1px 0 #ffffff55 inset,0 9px 22px #2a76d333,0 0 0 3px #569ffb12}
.public-site :is(.sv-button,.button.primary,.button.secondary):not(:disabled):not([aria-disabled=true]):is(:hover,:focus-visible):before{animation:pn-button-light .75s cubic-bezier(.2,.6,.3,1) both}
.public-site :is(.sv-button,.button.primary,.button.secondary):not(:disabled):not([aria-disabled=true]):active{transform:translateY(0);box-shadow:0 2px 6px #1a559c20}
.public-site :is(.sv-button,.button.primary,.button.secondary)>span{transition:transform .22s;display:inline-block}
.public-site :is(.sv-button,.button.primary,.button.secondary):is(:hover,:focus-visible)>span{transform:translate(2px,-2px)}
.public-site :is(a,button,summary):focus-visible{outline:3px solid #74a9f5;outline-offset:4px}
.public-site .public-header nav a:focus-visible{outline-offset:2px}
.public-site :is(button:disabled,[aria-disabled=true]){box-shadow:none;transform:none}
.public-site :is(button:disabled,[aria-disabled=true]):before{display:none}
.public-site main[id],.public-site main [id],.public-site .sv [id]{scroll-margin-top:var(--public-nav-offset)}
@keyframes pn-button-light{0%{left:-75%;opacity:0}15%{opacity:.8}100%{left:140%;opacity:0}}
@media(max-width:1000px){.public-site .public-header{width:calc(100% - 32px);gap:14px;padding:10px 14px}.public-site .public-header .brand img.pn-reference-logo{width:125px;height:47px}.public-site .public-header nav a{padding:9px 12px;font-size:12px}.public-site .public-header .header-contact{padding:10px 13px;font-size:11px;gap:10px}}
@media(max-width:720px){.public-site{--public-nav-offset:165px}.public-site .public-header{top:8px;width:calc(100% - 24px);grid-template-columns:1fr auto;gap:9px 14px;margin:12px auto 8px;padding:12px 13px;border-radius:19px;min-height:0}.public-site .public-header .brand{grid-area:1/1}.public-site .public-header .brand img.pn-reference-logo{width:122px;height:45px}.public-site .public-header .header-contact{grid-area:1/2;min-height:42px;font-size:11px;padding:10px 12px}.public-site .public-header nav{grid-area:2/1/3/3;justify-self:stretch;width:100%;justify-content:space-between;gap:2px;padding:3px;border-radius:11px}.public-site .public-header nav a{flex:1;padding:9px 6px;min-height:40px;font-size:11px;gap:4px;border-radius:8px}.public-site .public-header nav a.active:after{bottom:-4px}.public-site .public-header .client-link>span{font-size:13px}}
@media(prefers-reduced-motion:reduce){.public-site :is(.sv-button,.button.primary,.button.secondary),.public-site :is(.sv-button,.button.primary,.button.secondary)>span,.public-site .public-header nav a{transition:none!important}.public-site :is(.sv-button,.button.primary,.button.secondary):before{animation:none!important;display:none}.public-site :is(.sv-button,.button.primary,.button.secondary):is(:hover,:focus-visible),.public-site :is(.sv-button,.button.primary,.button.secondary):is(:hover,:focus-visible)>span{transform:none}}
