.s9d-footer,body[data-page="condition"] .s9d-footer { background:var(--navy-deep); color:var(--on-navy-text); padding:0; border-radius:var(--frame-square); }
.s9d-wrap { max-width:var(--max); min-height:270px; margin-inline:auto; padding:28px var(--header-gutter) 22px; }
.s9d-upper { display:flex; align-items:center; justify-content:space-between; gap:32px; padding-bottom:22px; border-bottom:1px solid var(--on-navy-line); }
.s9d-brand { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.s9d-brand img { width:44px; height:44px; padding:7px 9px; border-radius:var(--frame-circle); background:var(--surface); object-fit:contain; }
.s9d-brand h2 { color:var(--surface); font-size:var(--frame-text-28); font-weight:600; line-height:1.35; }
.s9d-brand h2 span { display:block; color:var(--on-navy-faint); font-size:var(--frame-text-15); font-weight:400; }
.s9d-nav { min-width:0; }
.s9d-nav h3 { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.s9d-nav ul { display:flex; align-items:center; flex-wrap:wrap; gap:8px 30px; margin:0; padding:0; list-style:none; }
.s9d-nav a { display:inline-flex; align-items:center; min-height:36px; color:var(--on-navy-text); font-size:var(--frame-text-15); }
.s9d-lower { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding-top:22px; }
.s9d-information { display:grid; gap:8px; min-width:0; }
.s9d-details { display:flex; flex-wrap:wrap; gap:4px 0; margin:0; font-size:var(--frame-text-13); }
.s9d-details > div { display:flex; gap:6px; align-items:baseline; min-width:0; }
.s9d-details > div + div { margin-left:10px; padding-left:10px; border-left:1px solid var(--on-navy-line); }
.s9d-details dt { color:var(--on-navy-faint); }
.s9d-details dd { margin:0; color:var(--on-navy-text); }
.s9d-guidance { display:flex; flex-direction:column; align-items:flex-end; gap:4px; flex-shrink:0; }
.s9d-guidance ul { gap:8px 16px; }
.s9d-guidance .s9d-nav a { min-height:24px; font-size:var(--frame-text-13); color:var(--on-navy-faint); }
.s9d-guidance .s9d-privacy { color:var(--surface); }
.s9d-privacy strong { font-weight:600; }
.s9d-top { display:inline-flex; align-items:center; gap:10px; min-height:32px; font-size:var(--frame-text-13); }
.s9d-top::after { content:''; width:6px; height:6px; border-top:1px solid; border-left:1px solid; transform:rotate(45deg); margin-top:4px; }
.s9d-body-credit { margin-top:22px; color:var(--on-navy-faint); font-size:var(--frame-text-13); line-height:1.7; }
.s9d-footer :focus-visible { outline-color:var(--focus-ring-on-navy); }
.s9d-nav a[aria-current] { font-weight:600; }
.s9d-temporary { color:var(--on-muted); }
@media (hover:hover) { .s9d-footer a:hover { text-decoration:underline; text-underline-offset:4px; } }
@media (max-width:1100px) {
  .s9d-lower { flex-direction:column; gap:14px; }
  .s9d-guidance { flex-direction:row; align-items:center; gap:24px; }
}
@media (600px < width <= 860px) {
  .s9d-upper .s9d-nav ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 20px; }
  .s9d-details { column-gap:20px; overflow:hidden; }
  .s9d-details > div { position:relative; }
  .s9d-details > div + div { margin-left:0; padding-left:0; border-left:0; }
  .s9d-details > div + div::before { content:''; position:absolute; left:-10px; top:4px; bottom:4px; border-left:1px solid var(--on-navy-line); }
}
@media (max-width:600px) {
  .s9d-wrap { min-height:0; padding:24px 20px 24px; }
  .s9d-upper { display:block; padding-bottom:16px; }
  .s9d-brand h2 { font-size:var(--frame-text-24); }
  .s9d-upper .s9d-nav { margin-top:16px; }
  .s9d-upper ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
  .s9d-lower { padding-top:16px; }
  .s9d-information { gap:6px; }
  .s9d-details { gap:5px 0; }
  .s9d-details > div + div { margin-left:0; padding-left:0; border:0; }
  .s9d-details > div { margin-right:12px; }
  .s9d-guidance { flex-wrap:wrap; gap:4px 20px; }
  .s9d-guidance ul { gap:4px 14px; }
  .s9d-guidance .s9d-nav a { min-height:32px; }
  .s9d-body-credit { margin-top:12px; }
}
/* Keep end-of-content clearance inside the footer at every dock width. */
@media (max-width:860px) {
  body { padding-bottom:0; }
  .s9d-footer,body[data-page="condition"] .s9d-footer { padding-bottom:calc(88px + env(safe-area-inset-bottom,0px)); }
}
