main article { min-height: 0; }
body[data-page=index] main article > div { height: 2799px; }
html body[data-page=island] { padding-bottom: 0; }
.portrait-footer {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: flex-end;
  padding: 73px 74px;
  height: 570px;
  margin-top: 42px;
  background: transparent;
}
html:not([data-theme=dark]) body:is([data-page=igapp], [data-page=doruma]) { background-color: #f5f6f2; }
html[data-theme=dark] .portrait-footer { background-color: #1d2a30; }
body[data-page=index] .portrait-footer { margin-top: 0; }
body[data-page=island] .portrait-footer { margin-top: 70px; }
.portrait-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url("assets/footer-light.png") center / 100% 100% no-repeat;
  transform: scaleX(-1);
}
html[data-theme=dark] .portrait-footer::before { background-image: url("assets/footer-dark.png"); }
.portrait-panel {
  width: 591px;
  height: 283px;
  padding: 21px 32px;
  border-radius: 11px;
  background: #f1f4ea;
  color: #202b29;
  --caption: #527d60;
}
html[data-theme=dark] .portrait-panel { background: #1d2a30; color: #f1f4ea; --caption: #d6ed9b; }
.portrait-panel h2 { margin: 0; display:flex; align-items:center; height:40px; font:700 51px/1.35 Inter,Arial,sans-serif; }
.portrait-panel dl { display:grid; gap:11px; margin:24px 0 0; }
.portrait-panel dl > div { display:grid; grid-template-columns:120px 1fr; gap:16px; align-items:center; height:29px; }
.portrait-panel dt { color:var(--caption); font:700 13px/normal "Portfolio Button Mono",monospace; text-transform:uppercase; }
.portrait-panel dd { margin:0; font:500 19px/normal Inter,Arial,sans-serif; }


.portrait-panel .telegram-web { display:inline-block; margin-left:12px; color:var(--caption); font-size:14px; }
