html { scroll-padding-top:0; }
.site-ending {
  --ending-bg:#24211f; --ending-text:#f3f2eb; --ending-muted:#bcbab3;
  --ending-line:#ffffff29; --ending-accent:#dfff70; --ending-gutter:4.5%;
  min-height:100vh; min-height:100svh; display:flex; flex-direction:column;
  background:var(--ending-bg); color:var(--ending-text);
}
.finapp .site-ending { --ending-bg:#101522; --ending-text:#e9eef8; --ending-muted:#a9b6cb; --ending-line:#303850; --ending-accent:#b5bfff; }
.site-ending>.privacy-note { background:transparent; color:inherit; border-color:var(--ending-line); padding:24px var(--ending-gutter); }
.site-ending .privacy-note-icon { border-color:var(--ending-line); color:var(--ending-accent); }
.site-ending .privacy-note p { color:var(--ending-muted); }
.site-ending>.site-footer { flex:1; display:flex; flex-direction:column; overflow:visible; background:transparent; color:inherit; border-top:1px solid var(--ending-line); padding:clamp(24px,4svh,52px) var(--ending-gutter) 22px; }
.site-ending .footer-top { display:flex; align-items:center; }
.site-ending .footer-top p { margin:0; color:var(--ending-accent); }
.site-ending .footer-top a { display:inline-flex; align-items:center; gap:24px; font-size:clamp(28px,3.6vw,60px); padding-bottom:8px; border-color:var(--ending-line); }
.site-ending .footer-top a>span { font-size:.55em; }
.site-ending a:hover { color:var(--ending-accent); }
.footer-signature { flex:1; display:flex; flex-direction:column; justify-content:center; padding:24px 0; }
.site-ending .footer-wordmark { font-size:clamp(80px,min(22.5vw,29svh),340px); line-height:1.06; margin:0; }
.footer-motto { margin:10px 0 0; font-size:12px; color:var(--ending-muted); }
.site-ending .footer-bottom { display:grid; grid-template-columns:minmax(0,1fr); align-items:stretch; gap:24px; border-top:1px solid var(--ending-line); padding-top:24px; font-size:inherit; }
.footer-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 48px; }
.footer-actions>div,.footer-actions>nav { min-width:0; }
.footer-action-label { display:block; color:var(--ending-muted); font-size:11px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:4px; }
.footer-actions a { display:inline-flex; align-items:center; min-height:44px; font-size:16px; text-decoration:underline; text-underline-offset:6px; text-decoration-thickness:1px; text-decoration-color:var(--ending-muted); }
.footer-actions a:hover { text-decoration-color:currentColor; }
.footer-contact a { font-size:clamp(20px,1.65vw,26px); letter-spacing:-.02em; overflow-wrap:anywhere; }
.footer-links { text-align:right; }
.footer-links>div { display:flex; justify-content:flex-end; align-items:center; gap:8px 32px; flex-wrap:wrap; }
.footer-company { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:24px 48px; color:var(--ending-muted); font-size:13px; line-height:1.65; }
.footer-company>div { min-width:0; }
.footer-address { justify-self:end; max-width:42em; text-align:right; }
.footer-detail-label { display:block; margin-bottom:8px; font-size:11px; line-height:1.5; letter-spacing:.06em; text-transform:uppercase; }
.footer-company p { margin:0; }
.footer-address p>span { display:block; }
.footer-company strong { font-weight:400; color:var(--ending-text); }
@media(max-width:760px) {
  .site-ending { --ending-gutter:6%; }
  .site-ending>.privacy-note { grid-template-columns:28px 1fr; gap:12px; padding-block:22px; }
  .site-ending .privacy-note-icon { width:28px; height:28px; }
  .site-ending .privacy-note-icon svg { width:18px; height:18px; }
  .site-ending .privacy-note strong { font-size:15px; }
  .site-ending .privacy-note p { font-size:12px; }
  .site-ending .privacy-note>a { grid-column:2; min-height:36px; font-size:12px; gap:12px; }
  .site-ending .footer-top { display:block; }
  .site-ending .footer-top p { margin-bottom:14px; }
  .site-ending .footer-top a { font-size:clamp(27px,7.4vw,42px); gap:16px; }
  .site-ending .footer-wordmark { font-size:21vw; }
  .footer-signature { padding-block:28px; }
  .site-ending .footer-bottom { gap:24px; padding-top:20px; }
  .footer-actions { grid-template-columns:1fr; gap:20px; }
  .footer-links { text-align:left; }
  .footer-links>div { justify-content:flex-start; gap:12px 24px; }
  .footer-links a { font-size:15px; }
  .footer-company { grid-template-columns:1fr; gap:20px; }
  .footer-address { justify-self:start; text-align:left; }
}
@media(min-width:1001px) and (max-height:760px) {
  .site-ending>.privacy-note { padding-block:16px; }
  .footer-signature { padding-block:12px; }
  .site-ending .footer-bottom { padding-top:18px; gap:18px; }
}
