/**
 * Platinum Surface 2.9.1 — Public Site Foundation
 * Reusable public-site shell primitives for Platinum properties.
 *
 * This layer is intentionally namespaced. During migration it can coexist
 * with a legacy public stylesheet; consumers may remove the legacy fallback
 * one slice at a time without changing the shell contract.
 */
:root{
  --ps-public-container:1240px;
  --ps-public-header-height:82px;
  --ps-public-header-z:1000;
  --ps-public-radius-lg:18px;
  --ps-public-radius-control:14px;
  --ps-public-bg:var(--vipn-bg,var(--ps-bg,#07121f));
  --ps-public-surface:var(--vipn-surface,var(--ps-surface,#101a2b));
  --ps-public-surface-2:var(--vipn-surface-2,var(--ps-surface-2,#13213a));
  --ps-public-border:var(--vipn-border,var(--ps-border,#263a58));
  --ps-public-border-strong:var(--vipn-border-strong,var(--ps-border-strong,#31517d));
  --ps-public-text:var(--vipn-text,var(--ps-text,#e8eff9));
  --ps-public-text-soft:var(--vipn-text-soft,var(--ps-text-soft,#bfd0e7));
  --ps-public-muted:var(--vipn-muted,var(--ps-text-muted,#8fa5c5));
  --ps-public-accent:var(--vipn-accent,var(--ps-primary,#336699));
  --ps-public-header-bg:var(--vipn-topbar-bg,rgba(8,24,41,.92));
  --ps-public-footer-bg:var(--vipn-footer-bg,#071421);
  --ps-public-shadow-soft:var(--vipn-shadow-soft,0 14px 32px rgba(0,0,0,.22));
}
.ps-public-shell{min-height:100vh;overflow-x:hidden}
.ps-public-container{width:min(var(--ps-public-container),calc(100% - 42px));margin-inline:auto}
.ps-public-header{position:sticky;top:0;z-index:var(--ps-public-header-z);border-bottom:1px solid var(--ps-public-border);background:var(--ps-public-header-bg);backdrop-filter:blur(18px)}
.ps-public-nav{min-height:var(--ps-public-header-height);display:grid;grid-template-columns:minmax(210px,auto) auto minmax(360px,1fr);align-items:center;gap:clamp(12px,1.6vw,24px)}
.ps-public-brand{display:inline-flex;align-items:center;gap:12px;min-width:max-content;color:var(--ps-public-text);text-decoration:none}
.ps-public-brand__logo{width:42px;height:42px;border-radius:12px;object-fit:cover}
.ps-public-brand__name{font-size:1.05rem;font-weight:800;letter-spacing:-.03em;white-space:nowrap}
.ps-public-menu{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;padding:0;list-style:none;white-space:nowrap}
.ps-public-menu a{display:inline-flex;align-items:center;min-height:40px;padding:0 clamp(10px,1vw,16px);border-radius:999px;color:var(--ps-public-text-soft);font-size:.95rem;font-weight:700;line-height:1.1;text-decoration:none;white-space:nowrap}
.ps-public-menu a:hover,.ps-public-menu a[aria-current="page"]{color:var(--ps-public-text);background:var(--ps-public-surface-2);box-shadow:inset 0 0 0 1px var(--ps-public-border)}
.ps-public-actions{min-width:0;justify-self:end;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap}
.ps-public-search{min-width:170px;max-width:220px;flex:0 1 205px}
.ps-public-search form{width:100%}
.ps-public-icon-button{width:44px;height:44px;display:inline-grid;place-items:center;border:1px solid var(--ps-public-border-strong);border-radius:var(--ps-public-radius-control);background:var(--ps-public-surface-2);color:var(--ps-public-text)}
.ps-public-mobile-toggle{display:none}
.ps-public-footer{margin-top:54px;border-top:1px solid var(--ps-public-border);background:var(--ps-public-footer-bg)}
.ps-public-footer__grid{display:grid;grid-template-columns:1.2fr 1fr .95fr;gap:70px;padding:46px 0}
.ps-public-footer__brand{display:inline-flex;align-items:center;gap:12px;color:var(--ps-public-text);text-decoration:none;margin-bottom:16px;font-weight:900}
.ps-public-footer__brand img{width:40px;height:40px}
.ps-public-footer__links,.ps-public-footer__social{display:grid;gap:9px}
.ps-public-footer__links{grid-template-columns:repeat(2,minmax(120px,1fr));column-gap:34px}
.ps-public-footer a{color:var(--ps-public-text-soft);text-decoration:none}
.ps-public-footer a:hover{color:var(--ps-public-accent)}
@media(max-width:1180px) and (min-width:861px){
  .ps-public-nav{grid-template-columns:minmax(190px,1fr) auto minmax(280px,360px);gap:10px}
  .ps-public-menu a{padding-inline:10px;font-size:.9rem}
  .ps-public-search{min-width:165px;max-width:205px;flex-basis:190px}
}
@media(max-width:1020px) and (min-width:861px){
  .ps-public-nav{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand actions" "menu actions";min-height:0;padding:12px 0;row-gap:8px}
  .ps-public-brand{grid-area:brand}.ps-public-menu{grid-area:menu;justify-content:flex-start}.ps-public-actions{grid-area:actions;align-self:center}
}
@media(max-width:860px){
  .ps-public-container{width:min(calc(100% - 28px),var(--ps-public-container))}
  .ps-public-nav{display:flex;min-height:0;padding:12px 0;align-items:center;gap:10px;flex-wrap:wrap}
  .ps-public-brand{flex:1 1 auto;min-width:0;max-width:calc(100% - 56px)}
  .ps-public-brand__name{min-width:0;overflow:hidden;text-overflow:ellipsis}
  .ps-public-mobile-toggle{display:inline-grid!important;flex:0 0 42px;order:2}
  .ps-public-menu{order:4;width:100%;flex:0 0 100%;display:none!important;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:12px;border:1px solid var(--ps-public-border);border-radius:var(--ps-public-radius-lg);background:var(--ps-public-surface);box-shadow:var(--ps-public-shadow-soft)}
  .ps-public-menu.is-open{display:flex!important}.ps-public-menu a{justify-content:center;width:100%}
  .ps-public-actions{order:3;flex:0 0 100%;width:100%;justify-content:stretch}
  .ps-public-search{flex:1 1 auto;min-width:0;max-width:none}
  .ps-public-footer__grid{grid-template-columns:1fr;gap:34px}
}
@media(max-width:480px){.ps-public-container{width:calc(100% - 20px)}}
