.security-page [id] { scroll-margin-top: 116px; }
.security-intro { padding-block: 76px 68px; border-bottom: 1px solid var(--landing-line); }
.security-intro__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.8fr); align-items: center; gap: 100px; }
.security-intro h1 { margin: 22px 0 24px; font-size: clamp(3.8rem, 6.3vw, 5.4rem); font-weight: 620; line-height: 1.03; letter-spacing: -0.06em; }
.security-intro h1 span { color: #bba9ff; }
.security-intro__lede { max-width: 510px; margin-bottom: 19px; font-size: 1.12rem; line-height: 1.75; }
.security-overview { border-top: 2px solid #8e7bc8; }
.security-overview h2 { margin: 23px 0 19px; font-size: 1.08rem; font-weight: 600; letter-spacing: -0.02em; }
.security-overview dl { margin-bottom: 0; }
.security-overview dl > div { padding-block: 15px; border-bottom: 1px solid var(--landing-line); }
.security-overview dt { margin-bottom: 5px; font-size: 0.88rem; font-weight: 650; }
.security-overview dd { margin: 0; color: var(--landing-muted); font-size: 0.83rem; line-height: 1.65; }
.security-overview > p { margin: 17px 0 0; font-size: 0.76rem; line-height: 1.7; }
.security-overview p a { color: #d2c4ff; text-decoration: underline; text-underline-offset: 3px; }
.security-locality { padding: 26px; border: 1px solid #49415e; border-top: 2px solid #a28cd9; border-radius: 6px; background: #141c2a; }
.security-locality__heading { display: flex; align-items: center; gap: 17px; }
.security-locality__badge { display: grid; place-items: center; flex: 0 0 58px; height: 58px; border: 1px solid #776899; border-radius: 50%; color: #d6c8ff; font-size: 1.2rem; font-weight: 650; letter-spacing: 0.06em; }
.security-locality__heading .landing-kicker { font-size: 0.62rem; }
.security-locality__heading h2 { margin: 6px 0 0; font-size: 1.2rem; line-height: 1.4; }
.security-locality > .security-locality__intro { margin: 22px 0 5px; color: #c1ccda; font-size: 0.9rem; line-height: 1.8; }

.security-body { display: grid; grid-template-columns: 230px minmax(0, 780px); justify-content: space-between; align-items: start; gap: 72px; padding-block: 66px 100px; }
.security-contents { position: sticky; top: 119px; }
.security-contents nav { display: flex; flex-direction: column; }
.security-contents nav > .landing-kicker { margin-bottom: 15px; font-size: 0.66rem; }
.security-contents nav a { display: flex; align-items: center; gap: 13px; min-height: 44px; padding-block: 6px; color: #c0cbd5; font-size: 0.82rem; }
.security-contents nav a > span { color: #8da0b2; font-family: Consolas, "Liberation Mono", monospace; font-size: 0.65rem; }
.security-contents nav a:hover { color: #d3c6ff; text-decoration: underline; text-underline-offset: 4px; }
.security-guide-link { display: block; margin-top: 27px; padding-top: 23px; border-top: 1px solid var(--landing-line); color: var(--landing-muted); font-size: 0.76rem; line-height: 1.9; }
.security-guide-link strong { font-weight: 600; color: #e2e8ee; }
.security-guide-link strong span { color: #bba9ff; }
.security-guide-link:hover strong { text-decoration: underline; text-underline-offset: 4px; }
.security-articles { min-width: 0; }
.security-topic { padding-block: 0 53px; }
.security-topic + .security-topic { padding-top: 48px; border-top: 1px solid var(--landing-line); }
.security-topic > h2,
.security-report > h2 { margin: 18px 0 21px; font-size: clamp(1.85rem, 2.65vw, 2.4rem); font-weight: 550; line-height: 1.17; }
.security-topic__intro { max-width: 700px; margin-bottom: 28px; font-size: 1rem; line-height: 1.8; }
.security-facts { margin-bottom: 26px; }
.security-facts > div { display: grid; grid-template-columns: 185px minmax(0, 1fr); gap: 26px; padding-block: 20px; border-top: 1px solid #223140; }
.security-facts dt { font-size: 0.87rem; font-weight: 650; line-height: 1.65; }
.security-facts dd { margin: 0; color: var(--landing-muted); font-size: 0.86rem; line-height: 1.85; }
.security-action { padding: 2px 0 2px 20px; border-left: 2px solid #699da7; }
.security-action > strong { display: block; margin-bottom: 5px; color: #d0e6eb; font-size: 0.82rem; font-weight: 650; }
.security-action p { max-width: 650px; margin-bottom: 4px; font-size: 0.83rem; line-height: 1.8; }
.security-action .landing-text-link { margin-right: 24px; font-size: 0.79rem; }
.security-topic > .landing-text-link { font-size: 0.82rem; }
.security-report { padding: 34px 36px 28px; border: 1px solid #3e3b57; border-radius: 6px; background: #171c2b; }
.security-report > p,
.security-report li { font-size: 0.88rem; line-height: 1.85; }
.security-report p > a { color: #d9cbff; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.security-report ul { display: grid; gap: 7px; margin-bottom: 26px; padding-left: 19px; color: #b7c4d1; }
.security-report .security-report__note { margin: 22px 0 0; color: #a7b6c7; font-size: 0.76rem; line-height: 1.8; }

@media (max-width: 1120px) {
  .security-intro__grid { gap: 54px; }
  .security-body { grid-template-columns: 200px minmax(0, 1fr); gap: 45px; }
  .security-facts > div { grid-template-columns: 155px minmax(0, 1fr); gap: 22px; }
}

@media (max-width: 920px) {
  .security-intro { padding-block: 55px; }
  .security-intro__grid { gap: 42px; }
  .security-intro h1 { font-size: 4rem; }
  .security-intro__lede { font-size: 1rem; }
  .security-body { grid-template-columns: 1fr; gap: 40px; padding-block: 35px 70px; }
  .security-contents { position: static; padding-bottom: 28px; border-bottom: 1px solid var(--landing-line); }
  .security-contents nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 16px; }
  .security-contents nav > .landing-kicker { grid-column: 1 / -1; margin-bottom: 8px; }
  .security-contents nav a { gap: 9px; }
  .security-guide-link { display: none; }
  .security-facts > div { grid-template-columns: 190px minmax(0, 1fr); gap: 30px; }
}

@media (max-width: 680px) {
  .security-page [id] { scroll-margin-top: 142px; }
  .security-intro { padding-block: 39px 35px; }
  .security-intro__grid { grid-template-columns: 1fr; gap: 30px; }
  .security-intro h1 { margin-block: 19px; font-size: clamp(3.6rem, 14vw, 4.4rem); }
  .security-intro__lede { max-width: 450px; margin-bottom: 10px; font-size: 0.96rem; }
  .security-overview h2 { margin-block: 19px 11px; }
  .security-overview dl > div { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 15px; padding-block: 13px; }
  .security-overview dt { margin: 0; font-size: 0.8rem; }
  .security-overview dd { font-size: 0.79rem; }
  .security-locality { padding: 23px 20px; }
  .security-locality__heading { gap: 13px; }
  .security-locality__heading h2 { margin-block: 6px 0; font-size: 1.1rem; }
  .security-locality__badge { flex-basis: 48px; height: 48px; font-size: 1rem; }
  .security-locality dl > div { grid-template-columns: 1fr; gap: 5px; }
  .security-body { gap: 33px; padding-top: 26px; }
  .security-contents nav { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 12px; }
  .security-contents nav a { font-size: 0.73rem; }
  .security-contents nav a > span { font-size: 0.58rem; }
  .security-contents nav a:last-child { grid-column: 1 / -1; }
  .security-topic { padding-bottom: 37px; }
  .security-topic + .security-topic { padding-top: 34px; }
  .security-topic > h2,
  .security-report > h2 { margin-block: 15px 17px; font-size: 1.9rem; }
  .security-topic__intro { margin-bottom: 22px; font-size: 0.9rem; }
  .security-facts > div { grid-template-columns: 1fr; gap: 7px; padding-block: 17px; }
  .security-facts dt { font-size: 0.86rem; }
  .security-facts dd { font-size: 0.84rem; }
  .security-action { padding-left: 15px; }
  .security-action .landing-text-link { margin-right: 0; font-size: 0.76rem; }
  .security-report { padding: 25px 20px; }
  .security-report > p,
  .security-report li { font-size: 0.83rem; }
  .security-report .button { width: 100%; padding-inline: 10px; font-size: 0.83rem; }
}

@media (forced-colors: active) {
  .security-intro h1 span { color: CanvasText; }
  .security-report,
  .security-action { border-color: CanvasText; }
}

@media print {
  .security-page { background: #fff; }
  .security-page h1,
  .security-page h2,
  .security-page dt,
  .security-page p,
  .security-page dd,
  .security-page a,
  .security-page li,
  .security-page strong,
  .security-page span { color: #222; }
  .security-intro { padding-block: 20px; }
  .security-intro__grid,
  .security-body { display: block; }
  .security-intro h1 { font-size: 3rem; }
  .security-contents,
  .security-overview { display: none; }
  .security-topic { break-inside: avoid; }
  .security-report { background: transparent; border-color: #999; }
}
