/* site-shell.css — shared header + footer for the public site. Scoped under .pii-shell */
.pii-shell { --sh-navy:#0B1F3A; --sh-navy-deep:#071529; --sh-gold:#C9A24D; --sh-gold-dim:rgba(201,162,77,.14); --sh-line:rgba(255,255,255,.1); --sh-ink:#F5F5F5; --sh-muted:rgba(245,245,245,.62); --sh-serif:'Playfair Display',Georgia,serif; --sh-sans:'Inter','DM Sans',system-ui,sans-serif; font-family:var(--sh-sans); }
[data-pii-shell="header"] { min-height:76px; }
.pii-shell a { text-decoration:none; color:inherit; }
.pii-shell *, .pii-shell *::before, .pii-shell *::after { box-sizing:border-box; }

/* Header */
.sh-header { position:fixed; top:0; left:0; right:0; bottom:auto !important; height:76px !important; min-height:0 !important; max-height:none; display:block; padding:0 !important; margin:0 !important; z-index:1000; background:rgba(7,21,41,.92); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid var(--sh-line); transition:background .3s; }
.sh-header + * { }
.sh-inner { max-width:1280px; margin:0 auto; padding:0 32px; height:76px; display:flex; align-items:center; gap:28px; }
.sh-logo { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.sh-logo img { height:40px; width:auto; }
.sh-logo-primary { display:block; font-family:var(--sh-serif); font-size:1.02rem; color:var(--sh-ink); letter-spacing:.01em; line-height:1.1; }
.sh-logo-secondary { display:block; font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:var(--sh-gold); margin-top:3px; }
.sh-links { display:flex; align-items:center; gap:24px; margin-left:auto; list-style:none; padding:0; }
.sh-links a { white-space:nowrap; font-size:.76rem; letter-spacing:.07em; text-transform:uppercase; color:var(--sh-muted); font-weight:500; padding:6px 0; border-bottom:1px solid transparent; transition:color .2s, border-color .2s; }
.sh-links a:hover, .sh-links a.is-active { color:var(--sh-ink); border-bottom-color:var(--sh-gold); }
.sh-start { position:relative; }
.sh-start-btn { display:inline-flex; align-items:center; gap:8px; white-space:nowrap; background:var(--sh-gold); color:var(--sh-navy-deep); font-weight:600; font-size:.76rem; letter-spacing:.1em; text-transform:uppercase; padding:11px 20px; border:none; border-radius:2px; cursor:pointer; font-family:inherit; transition:transform .2s, box-shadow .2s; }
.sh-start-btn:hover { transform:translateY(-1px); box-shadow:0 8px 24px rgba(201,162,77,.25); }
.sh-start-btn svg { transition:transform .2s; }
.sh-start.is-open .sh-start-btn svg { transform:rotate(180deg); }
.sh-menu { position:absolute; right:0; top:calc(100% + 10px); min-width:280px; background:#0D1B33; border:1px solid var(--sh-line); border-top:2px solid var(--sh-gold); box-shadow:0 20px 50px rgba(0,0,0,.45); padding:8px; opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .2s, transform .2s, visibility .2s; }
.sh-start.is-open .sh-menu, .sh-start:hover .sh-menu { opacity:1; visibility:visible; transform:translateY(0); }
.sh-menu a { display:block; padding:13px 14px; border-radius:2px; color:var(--sh-ink); }
.sh-menu a:hover { background:var(--sh-gold-dim); }
.sh-menu a strong { display:block; font-size:.86rem; font-weight:600; }
.sh-menu a span { display:block; font-size:.7rem; color:var(--sh-muted); margin-top:3px; letter-spacing:.02em; }
.sh-login { font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; color:var(--sh-muted); white-space:nowrap; }
.sh-login:hover { color:var(--sh-ink); }
.sh-burger { display:none; width:40px; height:40px; background:none; border:1px solid var(--sh-line); border-radius:2px; cursor:pointer; flex-direction:column; align-items:center; justify-content:center; gap:5px; margin-left:auto; }
.sh-burger span { display:block; width:18px; height:1.5px; background:var(--sh-ink); transition:transform .25s, opacity .25s; }
.sh-drawer { position:fixed; inset:0; z-index:999; background:rgba(7,21,41,.98); display:none; flex-direction:column; padding:100px 28px 40px; gap:6px; overflow-y:auto; }
.sh-drawer.is-open { display:flex; }
.sh-drawer a { font-family:var(--sh-serif); font-size:1.5rem; color:var(--sh-ink); padding:12px 0; border-bottom:1px solid var(--sh-line); }
.sh-drawer .sh-drawer-label { font-family:var(--sh-sans); font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--sh-gold); margin-top:26px; }
.sh-drawer .sh-drawer-sub { font-family:var(--sh-sans); font-size:1rem; color:var(--sh-ink); }
.sh-drawer .sh-drawer-sub small { display:block; font-size:.74rem; color:var(--sh-muted); margin-top:2px; }
body.sh-drawer-open { overflow:hidden; }
body.sh-drawer-open .sh-burger span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
body.sh-drawer-open .sh-burger span:nth-child(2) { opacity:0; }
body.sh-drawer-open .sh-burger span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }
@media (max-width: 1000px) {
  .sh-links, .sh-start, .sh-login { display:none; }
  .sh-burger { display:flex; }
  .sh-inner { padding:0 20px; }
  .sh-logo-secondary { display:none; }
}

/* Footer */
.sh-footer { background:var(--sh-navy-deep); color:var(--sh-muted); border-top:1px solid var(--sh-line); padding:72px 0 32px; font-family:var(--sh-sans); }
.sh-footer-inner { max-width:1280px; margin:0 auto; padding:0 32px; }
.sh-footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:48px; }
.sh-footer h4 { font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--sh-gold); margin:0 0 18px; font-weight:600; }
.sh-footer ul { list-style:none; padding:0; margin:0; }
.sh-footer li { margin-bottom:11px; }
.sh-footer li a { font-size:.86rem; color:var(--sh-muted); transition:color .2s; }
.sh-footer li a:hover { color:var(--sh-ink); }
.sh-footer-brand .sh-logo-primary { font-size:1.2rem; }
.sh-footer-brand p { font-size:.86rem; line-height:1.7; margin:16px 0 0; max-width:360px; }
.sh-footer-bottom { margin-top:56px; padding-top:24px; border-top:1px solid var(--sh-line); display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:.72rem; }
.sh-footer-bottom p { margin:0; line-height:1.7; }
.sh-footer-disclaimer { margin-top:28px; font-size:.72rem; line-height:1.7; color:rgba(245,245,245,.45); max-width:900px; }
@media (max-width: 900px) {
  .sh-footer-grid { grid-template-columns:1fr 1fr; gap:36px; }
  .sh-footer-inner { padding:0 20px; }
}
@media (max-width: 560px) { .sh-footer-grid { grid-template-columns:1fr; } }
