/* ============================================================
   SGL · Public bureau site — redesign (namespace: .sx-*)
   Self-contained. Does not touch the internal case console.
   Legal-noir: brass gold + oxblood accent on near-black navy.
   ============================================================ */

#public-site.sx-site{
  --bg:#06080d;
  --bg-2:#0a0e17;
  --ink:#f3efe4;
  --muted:rgba(243,239,228,.56);
  --faint:rgba(243,239,228,.52);
  --line:rgba(217,184,113,.14);
  --panel:rgba(243,239,228,.035);
  --gold:#d9b871;
  --gold-hi:#f4dfa6;
  --gold-deep:#a17c3b;
  --wine:#a83f38;          /* one risk: oxblood legal-leather accent */
  --green:#7fd4ac;
  --ease:cubic-bezier(.16,1,.3,1);
  --wrap:1240px;

  position:relative;
  min-height:100vh;
  overflow-x:clip;
  background:var(--bg);
  color:var(--ink);
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  letter-spacing:-.011em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.sx-site *{box-sizing:border-box}
.sx-site a{color:inherit;text-decoration:none}
.sx-mono{font-family:"JetBrains Mono",ui-monospace,Consolas,monospace}
.sx-site .gold{color:var(--gold)}

/* ---------- scroll progress ---------- */
.sx-progress{position:fixed;left:0;top:0;right:0;height:2px;z-index:120;background:transparent}
.sx-progress i{display:block;height:100%;width:0;
  background:linear-gradient(90deg,var(--gold-deep),var(--gold-hi));
  box-shadow:0 0 14px rgba(217,184,113,.6)}

/* ---------- ambient background ---------- */
.sx-ambient{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.sx-blob{position:absolute;border-radius:50%;filter:blur(130px);opacity:.5}
.sx-blob.a{top:-24%;left:-14%;width:64vw;height:64vw;
  background:radial-gradient(circle,rgba(217,184,113,.26),transparent 62%);
  animation:sx-float1 30s ease-in-out infinite}
.sx-blob.b{bottom:-30%;right:-16%;width:60vw;height:60vw;
  background:radial-gradient(circle,rgba(168,63,56,.16),transparent 64%);
  animation:sx-float2 38s ease-in-out infinite}
.sx-grain{position:absolute;inset:0;opacity:.5;
  background:
    radial-gradient(120% 80% at 50% -10%,transparent 45%,rgba(4,6,11,.9) 100%),
    linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);
  background-size:auto,54px 54px,54px 54px}
@keyframes sx-float1{0%,100%{transform:translate3d(-3%,-2%,0) scale(1)}50%{transform:translate3d(5%,4%,0) scale(1.14)}}
@keyframes sx-float2{0%,100%{transform:translate3d(3%,2%,0) scale(1.06)}50%{transform:translate3d(-6%,-4%,0) scale(1)}}

/* cursor spotlight (desktop, pointer) */
.sx-spot{position:fixed;z-index:1;width:520px;height:520px;left:0;top:0;margin:-260px 0 0 -260px;
  border-radius:50%;pointer-events:none;opacity:0;mix-blend-mode:screen;transition:opacity .5s;
  background:radial-gradient(circle,rgba(217,184,113,.12),transparent 62%)}

.sx-main,.sx-nav,.sx-footer{position:relative;z-index:2}
.sx-wrap,.sx-main{width:min(var(--wrap),calc(100% - 56px));margin-inline:auto}

/* ---------- nav ---------- */
.sx-nav{position:sticky;top:0;z-index:60;
  display:flex;align-items:center;justify-content:space-between;gap:28px;
  height:80px;padding-inline:max(28px,calc((100vw - var(--wrap))/2 + 28px));
  background:rgba(6,8,13,.55);backdrop-filter:blur(18px) saturate(1.2);
  border-bottom:1px solid transparent;transition:border-color .4s,background .4s}
.sx-nav.pinned{border-bottom-color:var(--line);background:rgba(6,8,13,.82)}
.sx-brand{display:flex;align-items:center;gap:13px}
.sx-brand-mark{position:relative;display:grid;place-items:center;width:46px;height:46px;
  border-radius:13px;overflow:hidden;isolation:isolate;
  border:1px solid rgba(217,184,113,.22);background:rgba(217,184,113,.05)}
.sx-brand-mark img{width:88%;height:88%;object-fit:contain;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.4))}
.sx-brand-mark::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.5) 50%,transparent 60%);
  transform:translateX(-120%);animation:sx-sheen 5.5s var(--ease) infinite}
@keyframes sx-sheen{0%,55%{transform:translateX(-120%)}80%,100%{transform:translateX(160%)}}
.sx-brand-txt strong{display:block;font-size:14px;font-weight:600;line-height:1.15;letter-spacing:-.02em}
.sx-brand-txt small{display:block;margin-top:4px;font-family:"JetBrains Mono",monospace;
  font-size:8.5px;letter-spacing:.2em;color:var(--faint)}
.sx-nav-links{display:flex;gap:6px;font-size:14px;color:var(--muted)}
.sx-nav-links a{position:relative;padding:9px 14px;border-radius:999px;transition:color .2s,background .2s}
.sx-nav-links a::after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:1px;
  background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.sx-nav-links a:hover{color:var(--ink)}
.sx-nav-links a:hover::after{transform:scaleX(1)}
.sx-cta{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:999px;
  font-size:13px;font-weight:550;color:var(--gold);
  background:rgba(217,184,113,.1);border:1px solid rgba(217,184,113,.2);
  transition:background .25s,color .25s,transform .25s var(--ease)}
.sx-cta:hover{background:rgba(217,184,113,.18);color:var(--gold-hi);transform:translateY(-1px)}
.sx-cta i{transition:transform .25s var(--ease)}
.sx-cta:hover i{transform:translate(2px,-2px)}

/* ---------- hero ---------- */
.sx-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr);
  gap:70px;align-items:center;padding:96px 0 80px}
.sx-eyebrow{display:inline-flex;align-items:center;gap:11px;margin-bottom:26px;
  font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.22em;color:var(--faint)}
.sx-eyebrow i{width:26px;height:1px;background:var(--gold)}
.sx-eyebrow b{color:var(--gold);font-weight:500}

.sx-title{margin:0 0 26px;font-family:"Playfair Display",Georgia,serif;
  font-weight:340;font-size:clamp(46px,6.4vw,88px);line-height:.98;letter-spacing:-.03em;
  font-optical-sizing:auto}
.sx-title .sx-line{display:block;overflow:hidden}
.sx-title .w{display:inline-block;will-change:transform}
.sx-title .gold{background:linear-gradient(96deg,var(--gold-hi),var(--gold) 55%,var(--gold-deep));
  -webkit-background-clip:text;background-clip:text;color:transparent;font-style:italic;font-weight:340}

.sx-lede{max-width:520px;margin:0 0 34px;font-size:17.5px;line-height:1.72;color:var(--muted)}

.sx-actions{display:flex;flex-wrap:wrap;gap:13px}
.sx-actions.center{justify-content:center}
.sx-btn{position:relative;display:inline-flex;align-items:center;gap:10px;
  min-height:52px;padding:0 26px;border-radius:14px;font-size:15px;overflow:hidden;
  transition:transform .35s var(--ease),box-shadow .35s,background .25s,border-color .25s}
.sx-btn i{transition:transform .3s var(--ease)}
.sx-btn:hover i{transform:translateX(3px)}
.sx-btn-gold{color:#0a0d12;font-weight:650;
  background:linear-gradient(180deg,var(--gold-hi),var(--gold));
  box-shadow:0 14px 34px rgba(200,160,90,.28),0 1px 0 rgba(255,255,255,.5) inset}
.sx-btn-gold:hover{transform:translateY(-2px);
  box-shadow:0 22px 50px rgba(200,160,90,.4),0 1px 0 rgba(255,255,255,.6) inset}
.sx-btn-gold b{position:relative;z-index:2;font-weight:650}
.sx-btn-gold i{position:relative;z-index:2}
.sx-sheen{position:absolute;top:0;bottom:0;left:0;width:36%;z-index:1;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);
  transform:translateX(-140%);animation:sx-btnsheen 4.4s var(--ease) infinite}
@keyframes sx-btnsheen{0%,60%{transform:translateX(-140%)}85%,100%{transform:translateX(340%)}}
.sx-btn-ghost{color:var(--ink);background:var(--panel);border:1px solid var(--line)}
.sx-btn-ghost:hover{background:rgba(243,239,228,.08);border-color:rgba(217,184,113,.3);transform:translateY(-2px)}

.sx-stats{display:flex;gap:34px;margin:44px 0 0;padding-top:26px;border-top:1px solid var(--line)}
.sx-stats div{display:grid;gap:5px}
.sx-stats dt{margin:0;font-family:"Playfair Display",serif;font-weight:400;font-size:34px;line-height:1;
  letter-spacing:-.03em;color:var(--ink)}
.sx-stats dd{margin:0;font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.12em;
  color:var(--faint);text-transform:uppercase}

/* ---------- docket / intake card ---------- */
.sx-docket{position:relative;border-radius:26px;isolation:isolate;
  background:linear-gradient(180deg,rgba(243,239,228,.055),rgba(243,239,228,.015));
  border:1px solid var(--line);box-shadow:0 30px 80px rgba(0,0,0,.4)}
.sx-docket::before{content:"";position:absolute;inset:auto -12% -20% auto;width:280px;height:280px;
  border-radius:50%;z-index:-1;background:radial-gradient(circle,rgba(217,184,113,.1),transparent 66%)}
.sx-seal{position:absolute;top:-36px;right:18px;width:74px;height:74px;z-index:3;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.6))}
.sx-seal svg{width:100%;height:100%;overflow:visible}
.sx-seal .ring{fill:none;stroke:var(--gold);stroke-width:1.4;opacity:.9;
  transform-origin:60px 60px;animation:sx-spin 24s linear infinite}
.sx-seal .ring.dash{stroke-dasharray:3 7;opacity:.7;animation-duration:16s;animation-direction:reverse}
.sx-seal .txt{fill:var(--gold);font-family:"JetBrains Mono",monospace;font-size:7px;letter-spacing:2px}
.sx-seal .txt-spin{transform-origin:60px 60px;animation:sx-spin 30s linear infinite}
.sx-seal .glyph{fill:var(--gold-hi);font-family:"Playfair Display",serif;font-size:34px;font-weight:500}
.sx-seal .disc{fill:rgba(9,12,17,.96);stroke:rgba(217,184,113,.3);stroke-width:1}
@keyframes sx-spin{to{transform:rotate(360deg)}}

.sx-docket>header{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:20px 100px 20px 24px;border-bottom:1px solid var(--line);
  font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.16em;color:var(--faint)}
.sx-live{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-weight:500}
.sx-live i{width:6px;height:6px;border-radius:50%;background:var(--green);
  box-shadow:0 0 10px var(--green);animation:sx-pulse 2s ease-in-out infinite}
@keyframes sx-pulse{0%,100%{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}
.sx-docket-body{padding:26px 26px 24px;display:grid;gap:18px}
.sx-docket-body>small{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.16em;color:var(--gold)}
.sx-docket-body h3{margin:0;font-family:"Playfair Display",serif;font-weight:380;
  font-size:clamp(30px,3.6vw,42px);line-height:1.03;letter-spacing:-.035em}
.sx-docket-body>p{margin:0;font-size:14.5px;line-height:1.72;color:var(--muted)}
.sx-path{list-style:none;margin:0;padding:0;display:grid;gap:0}
.sx-path li{display:grid;grid-template-columns:34px 1fr;gap:14px;align-items:center;
  padding:14px 0;border-top:1px solid rgba(243,239,228,.06)}
.sx-path b{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--gold);
  width:34px;height:34px;display:grid;place-items:center;border-radius:10px;
  background:rgba(217,184,113,.08)}
.sx-path strong{display:block;font-size:14px;font-weight:600}
.sx-path small{display:block;margin-top:2px;font-size:12.5px;color:var(--faint)}
.sx-confidential{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;
  background:rgba(168,63,56,.08);border:1px solid rgba(168,63,56,.2)}
.sx-confidential i{flex:0 0 auto;width:9px;height:9px;border-radius:2px;background:var(--wine);
  box-shadow:0 0 12px rgba(168,63,56,.5)}
.sx-confidential b{display:block;font-size:12.5px;font-weight:600}
.sx-confidential small{display:block;margin-top:2px;font-size:11.5px;color:var(--faint)}

/* ---------- marquee ---------- */
.sx-marquee{position:relative;margin:8px 0 0;padding:22px 0;overflow:hidden;
  border-block:1px solid var(--line);
  -webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
          mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.sx-marquee-row{display:flex;gap:44px;width:max-content;animation:sx-marq 34s linear infinite}
.sx-marquee:hover .sx-marquee-row{animation-play-state:paused}
.sx-marquee span{display:inline-flex;align-items:center;gap:44px;
  font-family:"Playfair Display",serif;font-weight:360;font-size:24px;letter-spacing:-.01em;
  color:rgba(243,239,228,.4);white-space:nowrap}
.sx-marquee span::before{content:"§";color:var(--gold);font-size:18px}
@keyframes sx-marq{to{transform:translateX(-50%)}}

/* ---------- sections ---------- */
.sx-section{padding:96px 0}
.sx-head{max-width:760px;margin-bottom:52px}
.sx-head .sx-mono{display:block;margin-bottom:18px;font-size:10px;letter-spacing:.2em;color:var(--faint)}
.sx-head h2,.sx-final h2{margin:0;font-family:"Playfair Display",serif;font-weight:360;
  font-size:clamp(30px,4.3vw,52px);line-height:1.08;letter-spacing:-.03em;text-wrap:balance}
.sx-head h2 em{font-style:italic;color:var(--faint)}
.sx-head h2 em.gold,.sx-final h2 em{color:var(--gold);font-style:italic}

/* services */
.sx-services{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.sx-services article{position:relative;display:flex;flex-direction:column;min-height:280px;
  padding:28px 26px;border-radius:20px;overflow:hidden;
  background:linear-gradient(180deg,rgba(243,239,228,.05),rgba(243,239,228,.015));
  border:1px solid rgba(243,239,228,.06);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .4s}
.sx-services article::before{content:"";position:absolute;inset:0;opacity:0;transition:opacity .5s;
  background:radial-gradient(340px circle at var(--mx,50%) var(--my,0%),rgba(217,184,113,.14),transparent 60%)}
.sx-services article:hover{transform:translateY(-7px);border-color:rgba(217,184,113,.28);
  box-shadow:0 30px 66px rgba(0,0,0,.5)}
.sx-services article:hover::before{opacity:1}
.sx-idx{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.14em;color:var(--gold)}
.sx-services h3{margin:34px 0 12px;font-family:"Playfair Display",serif;font-weight:460;font-size:21px;
  letter-spacing:-.02em}
.sx-services p{margin:0;font-size:14px;line-height:1.66;color:var(--muted)}
.sx-services em{margin-top:auto;padding-top:22px;font-family:"JetBrains Mono",monospace;
  font-style:normal;font-size:9.5px;letter-spacing:.13em;color:var(--faint)}

/* process */
.sx-process{position:relative;list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sx-process::before{content:"";position:absolute;left:0;right:0;top:19px;height:1px;
  background:linear-gradient(90deg,transparent,var(--line),transparent);
  transform:scaleX(var(--line-p,0));transform-origin:left;transition:transform 1.1s var(--ease)}
.sx-process li{position:relative;display:grid;gap:16px}
.sx-process b{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;
  font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--gold);
  background:var(--bg);border:1px solid rgba(217,184,113,.3)}
.sx-process h3{margin:6px 0 0;font-family:"Playfair Display",serif;font-weight:460;font-size:20px;letter-spacing:-.02em}
.sx-process p{margin:0;font-size:14px;line-height:1.66;color:var(--muted)}

/* standards */
.sx-standards{display:flex;flex-direction:column;gap:12px}
.sx-standards article{display:grid;grid-template-columns:280px 1fr;gap:36px;align-items:start;
  padding:30px 32px;border-radius:18px;background:rgba(243,239,228,.028);
  border:1px solid transparent;transition:background .45s,border-color .45s,transform .45s var(--ease)}
.sx-standards article:hover{background:rgba(243,239,228,.055);border-color:var(--line);transform:translateX(6px)}
.sx-standards h3{margin:0;font-family:"Playfair Display",serif;font-weight:440;font-size:19px;letter-spacing:-.02em}
.sx-standards p{margin:0;max-width:640px;font-size:14.5px;line-height:1.7;color:var(--muted)}

/* final cta */
.sx-final{position:relative;margin:20px 0 96px;padding:88px 40px;text-align:center;overflow:hidden;
  border-radius:28px;border:1px solid rgba(217,184,113,.2);
  background:radial-gradient(120% 90% at 50% 0,rgba(217,184,113,.12),transparent 52%),
             linear-gradient(160deg,#121826,#0a0f18)}
.sx-final .sx-seal{position:relative;top:auto;right:auto;width:96px;height:96px;margin:0 auto 26px}
.sx-final .sx-mono{display:block;margin-bottom:16px;font-size:10px;letter-spacing:.2em;color:var(--gold)}
.sx-final h2{margin:0 auto}
.sx-final p{max-width:520px;margin:20px auto 34px;font-size:16px;line-height:1.7;color:var(--muted)}

/* ---------- footer ---------- */
.sx-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  width:min(var(--wrap),calc(100% - 56px));margin-inline:auto;padding:38px 0 46px;
  border-top:1px solid var(--line);font-size:13px;color:var(--faint)}
.sx-footer nav{display:flex;gap:24px}
.sx-footer nav a{transition:color .2s}
.sx-footer nav a:hover{color:var(--gold)}
.sx-footer .sx-mono{font-size:10px;letter-spacing:.16em}

/* ---------- reveal animations (enabled only when JS adds .sx-anim) ---------- */
.sx-anim [data-reveal]{opacity:0;transform:translateY(28px)}
.sx-anim [data-reveal].in{opacity:1;transform:none;
  transition:opacity .8s var(--ease),transform .8s var(--ease)}
.sx-anim [data-reveal][data-i]{transition-delay:calc(var(--d,0) * 1ms)}
.sx-anim .sx-title .w{transform:translateY(115%);opacity:0}
.sx-anim .sx-title.in .w{transform:none;opacity:1;
  transition:transform .9s var(--ease),opacity .9s var(--ease);
  transition-delay:calc(var(--wi,0) * 70ms + 120ms)}

@media(prefers-reduced-motion:reduce){
  .sx-site *,.sx-site *::before,.sx-site *::after{
    animation:none!important;transition-duration:.01ms!important}
  .sx-anim [data-reveal],.sx-anim .sx-title .w{opacity:1!important;transform:none!important}
  .sx-process::before{transform:scaleX(1)!important}
}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  .sx-hero{grid-template-columns:1fr;gap:52px}
  .sx-docket{max-width:640px}
  .sx-services{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .sx-nav-links{display:none}
}
@media(max-width:680px){
  .sx-main,.sx-footer{width:calc(100% - 36px)}
  .sx-nav{height:70px;padding-inline:18px}
  .sx-cta span{display:none}
  .sx-cta{padding:11px 13px}
  .sx-hero{padding:64px 0 56px}
  .sx-lede{font-size:15.5px}
  .sx-stats{gap:22px}
  .sx-stats dt{font-size:27px}
  .sx-section{padding:66px 0}
  .sx-services{grid-template-columns:1fr}
  .sx-process{grid-template-columns:1fr;gap:24px}
  .sx-process::before{display:none}
  .sx-standards article{grid-template-columns:1fr;gap:10px}
  .sx-final{padding:56px 22px;margin-bottom:64px}
  .sx-footer{gap:16px}
  .sx-seal{width:70px;height:70px;top:-28px}
}

/* ---------- keyboard focus (a11y) ---------- */
.sx-site a:focus-visible,.sx-site button:focus-visible,.sx-site [tabindex]:focus-visible{
  outline:2px solid var(--gold-hi);outline-offset:3px;border-radius:8px}
.sx-site :focus:not(:focus-visible){outline:none}

/* ---------- mobile nav (burger + overlay) ---------- */
.sx-burger{display:none;position:relative;z-index:70;width:44px;height:44px;
  border:1px solid var(--line);border-radius:12px;background:rgba(217,184,113,.06);cursor:pointer}
.sx-burger span{position:absolute;left:12px;right:12px;height:2px;border-radius:2px;background:var(--gold);
  transition:transform .3s var(--ease),opacity .2s}
.sx-burger span:nth-child(1){top:15px}.sx-burger span:nth-child(2){top:21px}.sx-burger span:nth-child(3){top:27px}
.sx-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.sx-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.sx-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.sx-mobile-nav{position:fixed;inset:0;z-index:55;display:flex;flex-direction:column;justify-content:center;
  gap:8px;padding:32px;background:rgba(6,8,13,.96);backdrop-filter:blur(20px);
  opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .3s var(--ease),transform .3s var(--ease)}
.sx-mobile-nav.open{opacity:1;pointer-events:auto;transform:none}
.sx-mobile-nav a{padding:16px 8px;font-family:"Playfair Display",Georgia,serif;font-size:30px;
  color:var(--ink);border-bottom:1px solid var(--line)}
.sx-mobile-nav a:last-child{margin-top:18px;border:none;font-family:"Inter",sans-serif;font-size:15px;
  font-weight:650;color:var(--gold)}
@media(max-width:820px){.sx-burger{display:block}}
@media(min-width:821px){.sx-mobile-nav{display:none}}
