.guide-width { width: min(100% - 48px, 1080px); margin-inline: auto; }
.guide-article { background: #fff; }
.guide-intro { padding: 30px 0 34px; background: #f1faf6; border-bottom: 1px solid #e3efe8; }
.guide-intro .breadcrumb { margin-bottom: 22px; font-size: .8rem; line-height: 1.7; }
.guide-intro h1 { max-width: 920px; margin: 0; font-size: 2.15rem; line-height: 1.4; }
.guide-intro .lead { max-width: 960px; margin-top: 18px; font-size: 1rem; line-height: 1.9; }
.guide-intro .article-meta { font-size: .78rem; margin: 16px 0 0; }
.guide-media { padding: 34px 0 30px; }
.guide-section-title { margin-bottom: 22px; }
.guide-section-title h2 { font-size: 1.4rem; }
.guide-section-title .section-label { margin-bottom: 6px; }
.guide-sim-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.guide-sim { margin: 0; padding: 24px; border: 1px solid #dcece5; background: #f0faf6; border-radius: 8px; min-width: 0; }
.guide-sim[data-network="lg"] { border-color: #f0dee7; background: #fff3f8; }
.guide-network { display: inline-flex; padding: 4px 9px; border-radius: 4px; background: #087f76; color: #fff; font-size: .75rem; font-weight: 800; }
.guide-sim[data-network="lg"] .guide-network { background: #bc1b61; }
.guide-sim h3 { margin-top: 12px; font-size: 1.3rem; line-height: 1.5; }
.guide-sim p { color: #63676a; margin: 6px 0 20px; font-size: .87rem; }
.guide-sim img { width: 100%; max-width: 370px; height: auto; aspect-ratio: 1; object-fit: contain; margin-inline: auto; border-radius: 4px; }
.guide-media-note { color: #6a676f; font-size: .84rem; margin: 18px 0 0; line-height: 1.8; }
.guide-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 54px; align-items: start; padding-block: 32px 56px; }
.guide-toc { position: sticky; top: 108px; padding: 8px 22px 12px 0; border-right: 1px solid #e9e7eb; }
.guide-toc h2 { font-size: .94rem; margin-bottom: 18px; }
.guide-toc ol { list-style: none; padding: 0; margin: 0; }
.guide-toc li + li { margin-top: 18px; }
.guide-toc li a { display: grid; grid-template-columns: 22px 1fr; gap: 8px; font-size: .85rem; color: #67626b; line-height: 1.65; }
.guide-toc li a span { color: #b6165c; font-weight: 800; font-size: .77rem; }
.guide-toc a:hover { color: #a81254; text-decoration: underline; text-underline-offset: 4px; }
.guide-faq-link { display: flex; align-items: center; gap: 10px; margin-top: 24px; padding-top: 18px; border-top: 1px solid #e9e7eb; font-size: .85rem; font-weight: 700; }
.guide-copy { min-width: 0; counter-reset: guide-section; }
.guide-copy > section { scroll-margin-top: 110px; }
.guide-copy > section:not(.guide-faq) { padding-bottom: 30px; margin-bottom: 32px; border-bottom: 1px solid #e9e7eb; counter-increment: guide-section; }
.guide-copy > section:not(.guide-faq) h2::before { content: counter(guide-section, decimal-leading-zero); display: block; color: #a81254; font-size: .8rem; margin-bottom: 10px; }
.guide-copy h2 { font-size: 1.42rem; line-height: 1.5; margin-bottom: 16px; }
.guide-copy p, .guide-copy li { color: #54545d; font-size: .96rem; line-height: 1.95; }
.guide-copy p { margin: 12px 0 0; }
.guide-copy ul { padding: 16px 0 0 20px; margin: 0; }
.guide-copy li { padding-left: 5px; margin-block: 6px; }
.guide-copy li::marker { color: #087f76; }
.guide-copy a:not(.btn) { color: #a81254; text-decoration: underline; text-underline-offset: 4px; }
.guide-single-media { margin: 0 0 32px; padding-bottom: 28px; border-bottom: 1px solid #e9e7eb; }
.guide-single-media img { width: min(100%, 320px); height: auto; object-fit: contain; margin-inline: auto; }
.guide-single-media figcaption { color: #6e6973; font-size: .8rem; text-align: center; margin-top: 12px; }
.guide-faq { padding-top: 5px; }
.guide-faq h2 { margin-bottom: 16px; }
.guide-faq details { border-top: 1px solid #e9e7eb; }
.guide-faq details:last-child { border-bottom: 1px solid #e9e7eb; }
.guide-faq summary { padding: 19px 10px; cursor: pointer; font-weight: 750; font-size: .94rem; line-height: 1.65; }
.guide-faq summary::marker { color: #bd1b62; }
.guide-faq details[open] { background: #fff6fa; }
.guide-faq details p { padding: 0 20px 20px; margin: 0; font-size: .92rem; }
.guide-copy .source-links { margin-top: 30px; padding-top: 24px; border-top: 1px solid #e9e7eb; }
.guide-copy .source-links p, .guide-copy .source-links li { font-size: .82rem; }
.guide-copy .source-links ul { padding-top: 5px; }
.guide-copy .guide-local-note { font-size: .84rem; margin-top: 20px; }
.guide-actions { padding: 34px 0 38px; background: #fff0f5; border-block: 1px solid #f1dfe7; }
.guide-actions h2 { font-size: 1.45rem; }
.guide-related { padding: 44px 0 52px; }
.guide-related h2 { font-size: 1.45rem; }
.guide-related h3 { line-height: 1.5; }
.guide-related .text-link { margin-top: 0; }
.guide-article p, .guide-article a, .guide-article h2, .guide-article h3 { word-break: keep-all; overflow-wrap: anywhere; }
.legal-page .guide-toc { position: static; }
.legal-page .guide-toc li + li { margin-top: 12px; }
.legal-tabs { display: flex; gap: 24px; margin-top: 22px; }
.legal-tabs a { font-size: .9rem; padding: 9px 0; border-bottom: 2px solid transparent; }
.legal-tabs a[aria-current="page"] { color: #a81254; border-color: #bc1b61; font-weight: 800; }
.legal-copy > section:not(.guide-faq) h2::before { display: none; }
.legal-copy h2 { font-size: 1.25rem; }
.legal-copy .button-row { margin-top: 20px; }
.legal-copy .btn { font-size: .84rem; padding: 10px 14px; }
.legal-copy p, .legal-copy li, .legal-copy dd { overflow-wrap: anywhere; word-break: keep-all; }
.legal-business { margin: 20px 0 0; border-top: 1px solid #dce6e1; }
.legal-business > div { display: grid; grid-template-columns: 115px minmax(0, 1fr); gap: 18px; padding: 14px 0; border-bottom: 1px solid #e9e7eb; font-size: .92rem; }
.legal-business dt { color: #726d76; }
.legal-business dd { margin: 0; }
@media (max-width: 900px) {
  .guide-layout { grid-template-columns: 190px minmax(0, 1fr); gap: 30px; }
  .guide-toc { top: 24px; }
  .guide-copy > section { scroll-margin-top: 24px; }
}
@media (max-width: 700px) {
  .guide-width { width: min(100% - 36px, 1080px); }
  .guide-intro { padding: 24px 0 28px; }
  .guide-intro h1 { font-size: 1.65rem; }
  .guide-intro .lead { font-size: .92rem; line-height: 1.85; }
  .guide-intro .article-meta { font-size: .74rem; }
  .guide-media { padding: 28px 0 22px; }
  .guide-section-title h2 { font-size: 1.25rem; }
  .guide-sim-grid { grid-template-columns: 1fr; gap: 20px; }
  .guide-sim { padding: 20px; }
  .guide-sim h3 { font-size: 1.2rem; }
  .guide-sim img { max-width: 340px; }
  .guide-layout { grid-template-columns: 1fr; gap: 32px; padding-block: 20px 38px; }
  .guide-toc { position: static; border-right: 0; border-block: 1px solid #e9e7eb; padding: 24px 0; }
  .guide-toc li + li { margin-top: 14px; }
  .guide-toc li a { font-size: .86rem; }
  .guide-faq-link { border: 0; margin-top: 18px; padding-top: 0; }
  .guide-copy h2 { font-size: 1.28rem; }
  .guide-copy p, .guide-copy li { font-size: .93rem; }
  .guide-copy > section:not(.guide-faq) { margin-bottom: 26px; padding-bottom: 26px; }
  .guide-actions { padding-block: 28px; }
  .guide-actions h2, .guide-related h2 { font-size: 1.25rem; }
  .guide-related { padding-block: 32px; }
  .legal-business > div { grid-template-columns: 1fr; gap: 5px; }
  .legal-copy h2 { font-size: 1.15rem; }
}
