/* Phone layout and touch controls; loaded after the desktop homepage styles. */
@media (max-width:760px), (max-width:950px) and (max-height:500px) {
  .home-page { --mobile-header-height:116px; }
  .home-page .header {
    position:sticky;top:0;z-index:30;height:auto;min-height:0;
    display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:68px 46px;
    column-gap:12px;padding:0 5%;box-shadow:0 3px 12px #17160f24;
  }
  .home-page .header .brand {grid-column:1;grid-row:1;min-width:0;font-size:22px;gap:10px;}
  .home-page .header-login {grid-column:2;grid-row:1;min-height:44px;max-width:115px;font-size:12px;padding:0 12px;}
  .home-page .header nav {
    display:flex;grid-column:1 / -1;grid-row:2;width:100%;height:46px;gap:0;
    justify-content:space-between;border-top:1px solid var(--line);
  }
  .home-page .header nav a {flex:1;min-width:0;min-height:44px;height:46px;font-size:12px;white-space:nowrap;}
  .home-page .page-section,.home-page .account-card,.home-page .faq-list details {
    scroll-margin-top:calc(var(--mobile-header-height) + 14px);
  }
  .home-page .cover {padding:28px 5% 0;}
  .home-page .cover h1 {font-size:clamp(32px,10.8vw,58px);white-space:normal;letter-spacing:0;line-height:1.3;margin-bottom:18px;}
  .home-page .edition {gap:10px;letter-spacing:0.5px;margin-bottom:22px;flex-wrap:wrap;font-size:10px;}
  .home-page .cover-description {font-size:15px;line-height:1.85;max-width:32em;}
  .home-page .cover-description br,.home-page .cover-detail br {display:none;}
  .home-page .cover-detail {font-size:13px;line-height:1.85;}
  .home-page .cover-actions {display:grid;grid-template-columns:1fr;gap:6px;margin-top:23px;}
  .home-page .cover-actions .primary {width:100%;min-width:0;min-height:52px;justify-content:space-between;font-size:15px;}
  .home-page .cover-actions>a {max-width:none;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:13px;border-bottom:0;padding:8px 0;}
  .home-page .cover-bottom {flex-wrap:wrap;gap:7px 14px;margin-top:12px;font-size:11px;line-height:1.7;}
  .home-page .cover-bottom span+span:before {content:none;}
  .home-page .cover-figure {height:270px;max-width:340px;margin:10px auto 0;}
  .home-page .cover-figure img {height:275px;max-width:100%;}
  .home-page .figure-ring {width:235px;height:235px;left:calc(50% - 117.5px);top:24px;}
  .home-page .figure-word {font-size:240px;top:25px;}
  .home-page .figure-stamp {top:30px;right:5px;}
  .home-page .cover-figure figcaption {bottom:16px;right:0;}
  .home-page .page-section {padding:40px 5%;}
  .home-page .guide-copy h2 {font-size:30px;}
  .home-page .section-lede,.home-page .steps p,.home-page .growth-list p,
  .home-page .battle-page p,.home-page .announcement>p,.home-page .faq-list details>p {
    font-size:14px;line-height:1.9;
  }
  .home-page .guide-note,.home-page .growth-list .action-line,.home-page .card-intro {font-size:12px;line-height:1.85;}
  .home-page .steps li {gap:14px;}
  .home-page .steps li>div,.home-page .growth-list article>div {min-width:0;}
  .home-page .account-card {padding:23px 22px 0;box-shadow:5px 5px 0 #d9cfba66;}
  .home-page .card-bottom {margin:0 -22px;padding:17px 22px;}
  .home-page .account-card label {font-size:13px;}
  .home-page .account-card input:not([type=checkbox]),.home-page dialog input:not([type=checkbox]) {font-size:16px!important;min-height:48px;}
  .home-page .account-card .consent {font-size:12px;align-items:flex-start;gap:9px;line-height:2;}
  .home-page .consent input {margin-top:3px;width:22px;height:22px;}
  .home-page .tabs {gap:26px;}
  .home-page .tabs button,.home-page .show-password,.home-page .account-action {min-height:44px;}
  .home-page .form-submit {min-height:52px;font-size:15px;}
  .home-page #form-message,.home-page #password-message {font-size:13px;overflow-wrap:anywhere;}
  .home-page .account-note,.home-page .form-foot {font-size:12px;}
  .home-page .server-strip {padding:17px 5%;gap:9px;}
  .home-page .server-strip>a {min-height:44px;display:inline-flex;align-items:center;font-size:12px;}
  .home-page .server-strip p {font-size:12px;}
  .home-page .help-contact,.home-page .inline-button,.home-page .battle-page>a {min-height:44px;display:inline-flex;align-items:center;font-size:13px;}
  .home-page .faq-list summary {font-size:15px;min-height:58px;}
  .home-page .service-facts>div {gap:12px;flex-wrap:wrap;line-height:1.9;}
  .home-page .service-facts dd {min-width:0;overflow-wrap:anywhere;}
  .home-page .service-facts a {display:inline-flex;align-items:center;min-height:44px;margin-top:-10px;margin-bottom:-10px;}
  .home-page .closing {padding:30px 5%;}
  .home-page .closing h2 {font-size:clamp(22px,6.4vw,28px);}
  .home-page footer {padding-left:5%;padding-right:5%;}
  .home-page .footer-top {flex-direction:column;align-items:center;gap:17px;}
  .home-page .footer-top>div {flex-direction:row;flex-wrap:wrap;justify-content:center;gap:0 22px;font-size:12px;}
  .home-page footer>p {font-size:12px;text-align:center;line-height:1.9;}
  .home-page .filing-info {font-size:11px;align-items:center;text-align:center;gap:7px;}
  .home-page .filing-info span {max-width:100%;overflow-wrap:anywhere;}
  .home-page .filing-info a {display:inline-block;min-height:32px;line-height:32px;}
  .home-page dialog {max-width:calc(100vw - 28px);padding:25px 20px;max-height:calc(100vh - 28px);max-height:calc(100dvh - 28px);}
}
@media (max-width:360px) {
  .home-page .header .brand {font-size:20px;gap:8px;}
  .home-page .header .seal {width:30px;height:36px;font-size:23px;}
  .home-page .header-login {font-size:11px;padding:0 10px;}
  .home-page .header nav a {font-size:11px;}
  .home-page .cover-bottom {gap:6px 11px;font-size:10px;}
  .home-page .server-strip>div {gap:10px;}
  .home-page .server-strip>a {width:100%;margin-left:0;min-height:32px;}
  .home-page .server-strip p {order:0;}
  .home-page .closing-mark {font-size:32px;padding:5px 8px;}
}
@media (max-width:950px) and (max-height:500px) {
  .home-page .header {position:relative;}
  .home-page .page-section,.home-page .account-card,.home-page .faq-list details {scroll-margin-top:18px;}
}
/* Each anchored section already includes the sticky-header offset. */
@media (max-width:760px), (max-width:950px) and (max-height:500px) {html {scroll-padding-top:0;}}
@media (min-width:761px) and (max-width:1000px) {
  .home-page .cover h1 {font-size:clamp(36px,4.7vw,47px);}
  .home-page .cover-actions {flex-wrap:wrap;gap:12px;}
  .home-page .header nav {gap:16px;font-size:12px;}
}
