.subpage { background: #f8fbff; }
.subpage > .shell { display: flex; flex-direction: column; min-height: 100svh; }
.subpage .domain-main, .subpage .content-main {
  flex: 1; width: min(48rem, 100%); margin: 0 auto; padding: 2rem 0 3rem;
}
.page-logo { display: block; width: min(13rem, 50%); margin: 0 auto 1.25rem; }
.page-logo img { display: block; width: 100%; height: auto; filter: drop-shadow(0 10px 18px #2672bd14); }
.subpage .hero { margin: 0 0 1.5rem; padding: 0; }
.subpage .hero h1, .subpage .page-title {
  margin: 0 0 .75rem; font-family: inherit; font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 750; line-height: 1.2; letter-spacing: -.05em;
}
.subpage .page-intro { text-align: center; margin-bottom: 2rem; }
.subpage .domain-hero-lead, .subpage .lead { margin: 0 0 1.5rem; color: #52677e; font-size: 1rem; line-height: 1.7; }
.subpage .domain-submit {
  padding: .5rem; border: 1px solid #71859b; border-radius: 1.25rem;
  box-shadow: 0 8px 32px #1c6fc315, 0 2px 6px #14305206;
}
.subpage .domain-submit:focus-within { border-color: #0867de; box-shadow: 0 0 0 4px #0867de14; }
.subpage .domain-submit input { min-height: 3rem; background: transparent; }
.subpage .domain-submit input::placeholder { color: #52677e; opacity: 1; }
.subpage .domain-submit button {
  min-height: 3rem; border-radius: .85rem; padding: 0 1.4rem;
  color: #fff; background: linear-gradient(135deg, #0867de, #0758cc); font-weight: 650;
}
.subpage .domain-submit button:hover { background: #0758cc; }
.subpage .domain-note { margin: 1rem 0 0; color: #52677e; font-size: .85rem; line-height: 1.7; }
.subpage .domain-rules { margin: 2rem 0 0; }
.subpage .rules li { padding: 1.2rem; border-color: #e0e9f2; background: #fff; color: #52677e; }
.subpage .rules li::before { color: #0867de; }
.identity-card, .policy-card {
  margin: 0 0 1.25rem; padding: clamp(1.25rem, 4vw, 2rem);
  border: 1px solid #e0e9f2; border-radius: 1.25rem; background: #fff;
  box-shadow: 0 4px 20px #14305204;
}
.subpage .identity-card dt { margin: 1.25rem 0 .35rem; color: #52677e; font-size: .8rem; font-weight: 600; }
.subpage .identity-card dt:first-child { margin-top: 0; }
.subpage .identity-card dd { margin: 0; font-size: .9rem; line-height: 1.7; overflow-wrap: anywhere; }
.subpage .identity-card a { color: #0758bc; text-underline-offset: .2em; }
.subpage .policy-title { margin: 0 0 1rem; font-family: inherit; font-size: 1.25rem; line-height: 1.4; font-weight: 650; letter-spacing: -.025em; }
.subpage .policy-list { margin: 0; padding-left: 1.3rem; }
.subpage .policy-list li { margin: .65rem 0; padding-left: .3rem; color: #52677e; line-height: 1.7; }
.subpage .policy-list li::marker { color: #0867de; }
.subpage .message { text-align: left; line-height: 1.6; }
@media (max-width: 600px) {
  .subpage .domain-main, .subpage .content-main { padding: 1.25rem 0 2rem; }
  .page-logo { width: min(11rem, 55%); }
  .subpage .domain-submit { grid-template-columns: minmax(0, 1fr); }
  .subpage .domain-hero-lead, .subpage .lead { font-size: .9rem; }
  .subpage .identity-card dd { font-size: .8rem; }
}
