/* Standalone footer only; adopted STEP 01–03 composition stays intact. */
.standalone-footer .footer-links {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 18px;
}
.standalone-footer .footer-links button,
.standalone-footer [data-footer-sns] a {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  font-size:12px;
}
.standalone-footer .footer-service-note {
  margin:12px 0 0;
  font-size:11px;
  line-height:1.75;
  color:var(--muted);
}
.standalone-footer [data-footer-sns] { display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:8px; }
.standalone-footer [data-footer-sns][hidden],
.standalone-footer [data-footer-video][hidden] { display:none; }
.standalone-footer [data-footer-video] h3 { margin:16px 0 8px; font-size:14px; }
.standalone-footer .footer-video-frame {
  aspect-ratio:16/9;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--mint);
}
.standalone-footer .footer-video-frame :is(button,iframe) {
  display:block;
  width:100%;
  height:100%;
  border:0;
}
.standalone-footer .footer-video-frame button { padding:16px; background:transparent; color:var(--ink); }
.publication-note { font-size:12px; line-height:1.75; }

/* Approved documents reuse the shared dialog; STEP layouts stay unchanged. */
.entry-documents { display:flex; flex-wrap:wrap; gap:0 14px; margin:2px 0 4px; }
.entry-documents button { min-height:44px; padding:6px 0; font-size:12px; }
.entry-consent-explanation { margin:8px 0 0; font-size:11px; line-height:1.65; color:var(--muted); }
.entry-consent-explanation + .v16-enter-btn { margin-top:10px; }
#overlay .public-document-dialog {
  display:flex;
  flex-direction:column;
  width:min(550px,100%);
  max-height:calc(100dvh - 24px);
  margin:auto;
  padding:0;
  overflow:hidden;
  border-radius:20px;
}
.public-document-dialog > .grab { display:none; }
.public-document-dialog > .modalhead {
  flex:none;
  align-items:flex-start;
  margin:0;
  padding:8px 12px 8px 16px;
  border-bottom:1px solid var(--line);
}
.public-document-dialog #modal-title { margin:6px 0; font-size:16px; line-height:1.5; }
.public-document-dialog #modal-close { flex:none; min-width:44px; min-height:44px; }
.public-document-dialog > #modal-content { display:flex; flex-direction:column; flex:1 1 auto; min-height:0; overflow:hidden; }
.legal-effective-date { flex:none; margin:0; padding:10px 16px; font-size:11px; line-height:1.6; color:var(--muted); border-bottom:1px solid var(--line); }
.legal-document { flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:8px 16px 16px; font-size:13px; line-height:1.85; overflow-wrap:anywhere; }
.legal-document h3 { margin:20px 0 8px; font-size:15px; }
.legal-document h4 { margin:16px 0 6px; font-size:14px; }
.legal-document p { margin:10px 0; }
.legal-document ul { padding-left:1.5em; }
.legal-document a, #modal-content a[href^="mailto:"] { overflow-wrap:anywhere; }
.legal-document:focus-visible, #modal-content a:focus-visible { outline:3px solid #78a9f5; outline-offset:-3px; }
.legal-actions { flex:none; padding:10px 16px max(10px,env(safe-area-inset-bottom)); border-top:1px solid var(--line); }
.legal-actions button { width:100%; min-height:44px; }

/* Workstream A: only the common logo header sticks; STEP/help navigation stays in flow. */
html.design-candidate { background:#FFFFFF; scroll-padding-top:var(--sticky-header-offset,64px); }
html.design-candidate .top {
 position:sticky;
 top:0;
 z-index:20;
 padding-top:env(safe-area-inset-top,0px);
 margin-bottom:0;
 background:#FFFFFF;
 overflow-anchor:none;
}
html.design-candidate .top .topin {
 height:56px;
 padding-left:max(15px,env(safe-area-inset-left,0px));
 padding-right:max(15px,env(safe-area-inset-right,0px));
}
html.design-candidate .top.is-compact { margin-bottom:8px; }
html.design-candidate .top.is-compact .topin { height:48px; }
html.design-candidate .top.is-compact .bi-box-logo { width:96px; }
html.design-candidate .top .bi-business { align-self:center; padding:0; min-height:44px; }
.chartheading:focus { outline:none; }
.chartheading:focus-visible { outline:3px solid #78a9f5; outline-offset:2px; }

/* Brief auxiliary guidance; formal document text is unchanged. */
.session-guidance { margin-top:8px; font-size:11px; line-height:1.65; color:var(--muted); }
.session-guidance p { margin:0; }
.session-guidance button { min-height:44px; padding:6px 0; font-size:12px; }
.session-clear-status { margin:8px 0 0; font-size:12px; line-height:1.65; }
