/* ============================================================
   RGM SITE FOOTER v1 (2026-06-09) — homepage drawing-register
   + title-block/legal, self-contained + theme-aware. Scoped
   under .rgm-sf so it renders identically on every page.
   ============================================================ */
.rgm-sf{
  --sf-rule:rgba(123,176,255,.22); --sf-green:#3FB46B; --sf-ink:#EAF1FA;
  --sf-mute:rgba(231,240,255,.62); --sf-navy:#0E2A4E; --sf-cyan:#4FD1E0;
  --sf-mono:'JetBrains Mono',ui-monospace,'SFMono-Regular',monospace;
  --sf-gut:clamp(20px,4vw,56px);
  background:var(--sf-navy); color:var(--sf-ink);
  font-family:var(--sf-mono); margin:0;
}
html[data-theme="light"] .rgm-sf{
  --sf-rule:rgba(10,11,13,.14); --sf-green:#1F8A4C; --sf-ink:#0A0B0D;
  --sf-mute:rgba(10,11,13,.55); --sf-navy:#F4F4F1;
}
.rgm-sf *{ box-sizing:border-box; }
.rgm-sf .container{ max-width:1440px; margin:0 auto; padding:0 var(--sf-gut); }
.rgm-sf .seo-footer{ position:relative; border-top:1px solid var(--sf-rule); padding:48px 0 14px; }
.rgm-sf .seo-reg-label{ font-family:var(--sf-mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--sf-mute); margin:0 0 2px; display:flex; justify-content:space-between; }
.rgm-sf .seo-grid{ display:flex; border-top:1px solid var(--sf-rule); }
.rgm-sf .ft-col{ flex:1 1 0; min-width:0; }
.rgm-sf .ft-col + .ft-col{ border-left:1px solid var(--sf-rule); margin-left:44px; padding-left:44px; }
.rgm-sf .ft-sec{ border-bottom:1px solid var(--sf-rule); }
.rgm-sf .ft-sec:last-child{ border-bottom:none; }
.rgm-sf .ft-sec > summary{ list-style:none; cursor:pointer; display:flex; align-items:baseline; gap:13px; padding:10px 4px; transition:background .15s; }
.rgm-sf .ft-sec > summary::-webkit-details-marker{ display:none; }
.rgm-sf .ft-sec > summary:hover{ background:rgba(123,176,255,.045); }
.rgm-sf .ft-num{ flex:none; width:22px; font-family:var(--sf-mono); font-size:10.5px; letter-spacing:.06em; color:var(--sf-green); }
.rgm-sf .ft-name{ flex:none; font-family:var(--sf-mono); font-size:clamp(13.5px,1vw,15.5px); line-height:1; letter-spacing:-.003em; color:var(--sf-ink); text-decoration:none; transition:color .15s; }
.rgm-sf a.ft-name:hover{ color:var(--sf-green); }
.rgm-sf .ft-leader{ flex:1; border-bottom:1px dotted var(--sf-rule); margin:0 6px 4px; }
.rgm-sf .ft-sec > summary:hover .ft-name{ color:var(--sf-green); }
.rgm-sf .ft-count{ flex:none; font-family:var(--sf-mono); font-size:10px; letter-spacing:.1em; color:var(--sf-mute); }
.rgm-sf .ft-plus{ flex:none; align-self:center; position:relative; width:13px; height:13px; }
.rgm-sf .ft-plus::before,.rgm-sf .ft-plus::after{ content:''; position:absolute; background:var(--sf-green); transition:transform .25s cubic-bezier(.2,.7,.1,1),opacity .2s; }
.rgm-sf .ft-plus::before{ left:0; top:5.5px; width:13px; height:2px; }
.rgm-sf .ft-plus::after{ left:5.5px; top:0; width:2px; height:13px; }
.rgm-sf .ft-sec[open] .ft-plus::after{ transform:rotate(90deg); opacity:0; }
.rgm-sf .ft-sec[open] .ft-num{ color:var(--sf-cyan); }
.rgm-sf .ft-panel{ overflow:hidden; }
.rgm-sf .ft-sec[open] .ft-panel{ animation:rgmsfdrop .26s cubic-bezier(.2,.7,.1,1); }
@keyframes rgmsfdrop{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:none; } }
.rgm-sf .ft-links{ list-style:none; margin:0; padding:2px 4px 18px 40px; columns:2; column-gap:28px; }
.rgm-sf .ft-links li{ break-inside:avoid; margin:0 0 8px; }
.rgm-sf .ft-links a{ font-family:var(--sf-mono); font-size:13px; line-height:1.3; color:var(--sf-mute); text-decoration:none; transition:color .15s,padding-left .15s; }
.rgm-sf .ft-links a:hover{ color:var(--sf-green); padding-left:5px; }
.rgm-sf footer[role="contentinfo"]{ padding:26px 0 30px; }
.rgm-sf .bp-titleblock{ display:grid; grid-template-columns:2fr 1fr 1fr 1fr; border:1px solid var(--sf-rule); margin:0 auto 22px; max-width:1440px; }
.rgm-sf .bp-titleblock span{ font-family:var(--sf-mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--sf-mute); padding:12px 16px; border-right:1px solid var(--sf-rule); }
.rgm-sf .bp-titleblock span:first-child{ color:var(--sf-green); }
.rgm-sf .bp-titleblock span:last-child{ border-right:none; }
.rgm-sf .foot-row{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; }
.rgm-sf .foot-row .left,.rgm-sf .foot-row .right{ display:flex; gap:24px; align-items:center; flex-wrap:wrap; }
.rgm-sf .foot-row .right{ justify-content:flex-end; }
.rgm-sf .foot-row .center{ justify-self:center; }
.rgm-sf .foot-row a,.rgm-sf .mark{ color:var(--sf-ink); text-decoration:none; font-family:var(--sf-mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; }
.rgm-sf .foot-row a:hover,.rgm-sf .mark:hover{ color:var(--sf-green); }
.rgm-sf .mono,.rgm-sf .mono.muted{ color:var(--sf-mute); }
.rgm-sf .mark-glyph{ display:inline-flex; width:18px; height:18px; color:var(--sf-green); vertical-align:middle; margin-right:8px; }
.rgm-sf .mark-glyph svg{ width:100%; height:100%; }
@media (max-width:720px){
  .rgm-sf .seo-grid{ flex-direction:column; }
  .rgm-sf .ft-col + .ft-col{ border-left:none; margin-left:0; padding-left:0; border-top:1px solid var(--sf-rule); }
  .rgm-sf .ft-links{ columns:1; padding-left:36px; }
  .rgm-sf .bp-titleblock{ grid-template-columns:1fr 1fr; }
  .rgm-sf .bp-titleblock span{ border-right:none; }
  .rgm-sf .foot-row{ grid-template-columns:1fr; justify-items:center; text-align:center; }
  .rgm-sf .foot-row .left,.rgm-sf .foot-row .right{ justify-content:center; }
}
@media print{ .rgm-sf{ display:none; } }

/* footer brand mark — monochrome (theme ink, never green) + continuous swirl, on EVERY page (2026-06-11) */
.rgm-sf .mark-glyph svg path{ stroke-dasharray:40 20; animation:rgm-mark-swirl 4s linear infinite; }
@keyframes rgm-mark-swirl{ to{ stroke-dashoffset:-60; } }
@media (prefers-reduced-motion:reduce){ .rgm-sf .mark-glyph svg path{ animation:none; stroke-dasharray:none; } }
