/* Security guidance: the same black, yellow and ivory as System / Pricing. */
.security-page-body { background: #f6f3eb; }
.security-page-body :where(h1, h2, h3, h4, p) { margin-top: 0; }
.security-page-body :where(section, article, li)[id] { scroll-margin-top: 110px; }
.security-hero { position: relative; overflow: hidden; padding: clamp(54px, 7vw, 90px) 0; background: linear-gradient(118deg, #171713 0%, #29271e 72%, #f8b803 72.1%); color: #fff; }
.security-hero::after { position: absolute; right: 1%; bottom: -17px; color: rgba(23,23,19,.17); content: "SECURITY"; font-size: clamp(3rem, 10vw, 9rem); font-weight: 950; line-height: 1; letter-spacing: -.06em; pointer-events: none; }
.security-hero .public-shell { position: relative; z-index: 1; }
.security-hero .eyebrow { margin-bottom: 14px; color: #f8b803; letter-spacing: .16em; }
.security-hero h1 { margin-bottom: 20px; font-size: clamp(2rem, 4.4vw, 3.5rem); font-weight: 900; line-height: 1.35; letter-spacing: .02em; }
.security-hero h1 span { display: block; }
.security-hero-description { margin-bottom: 0; line-height: 1.9; }
.security-breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; padding: 22px 0; font-size: .76rem; color: #6d695f; }
.security-sections { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; margin: 8px 0 64px; }
.security-sections a { position: relative; display: grid; gap: 8px; border: 1px solid #ded7c8; border-bottom: 4px solid #f8b803; border-radius: 12px; padding: 25px 52px 25px 26px; background: #fff; text-decoration: none; transition: background .15s; }
.security-sections a:hover { background: #fff8dc; }
.security-sections a > span { font-size: .7rem; color: #6d695f; font-weight: 800; letter-spacing: .1em; }
.security-sections strong { font-size: clamp(.96rem,1.45vw,1.14rem); }
.security-sections b { position: absolute; right: 22px; top: 50%; transform: translateY(-50%); font-size: 1.45rem; }
.security-section + .security-section { margin-top: 84px; }
.security-section-heading { margin-bottom: 26px; border-left: 5px solid #f8b803; padding-left: 22px; }
.security-section-heading .eyebrow { margin-bottom: 9px; color: #766438; font-size: .74rem; letter-spacing: .12em; }
.security-section-heading h2 { margin: 0; font-size: clamp(1.35rem,2.6vw,2rem); line-height: 1.6; color: #171713; }
.security-intro { max-width: 900px; color: #514e45; line-height: 1.95; }
.security-intro p { margin-bottom: 18px; }
.security-checklist { margin: 32px 0; padding: clamp(22px,3vw,34px); border: 1px solid #e6d398; border-radius: 16px; background: #fff5d3; }
.security-checklist h3 { margin-bottom: 18px; font-size: clamp(1.05rem,2vw,1.3rem); }
.security-checklist ul { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; }
.security-checklist li { position: relative; padding-left: 32px; }
.security-checklist li::before { position: absolute; top: .12em; left: 0; display: grid; place-items: center; width: 23px; height: 23px; border-radius: 50%; background: #171713; color: #f8b803; content: "✓"; font-size: .82rem; font-weight: 900; }
.security-reading-layout { display: grid; grid-template-columns: 260px minmax(0,1fr); align-items: start; gap: 30px; }
.security-toc { position: sticky; top: 106px; max-height: calc(100vh - 126px); overflow-y: auto; padding: 22px 18px; border: 1px solid #e3dccd; border-radius: 12px; background: #fff; font-size: .76rem; line-height: 1.6; }
.security-toc > p { margin-bottom: 14px; font-size: .94rem; font-weight: 800; }
.security-toc ol { margin: 0; padding: 0; list-style: none; }
.security-toc li + li { border-top: 1px solid #eee9de; }
.security-toc li a { display: grid; grid-template-columns: 21px 1fr; gap: 6px; padding: 9px 0; text-decoration: none; }
.security-toc li a:hover { color: #806000; text-decoration: underline; }
.security-toc li span { color: #8b712b; font-size: .69rem; font-weight: 900; }
.security-toc-extra { display: block; border-top: 1px solid #e3dccd; padding-top: 13px; margin-top: 13px; font-weight: 750; }
.security-guides { display: grid; gap: 24px; min-width: 0; }
.security-card { position: relative; overflow: hidden; padding: clamp(24px,3vw,38px); border: 1px solid #e3dccd; border-top: 5px solid #f8b803; border-radius: 16px; background: #fff; box-shadow: 0 12px 32px rgba(39,35,22,.045); }
.security-card h3 { display: flex; gap: 15px; align-items: flex-start; margin-bottom: 23px; font-size: clamp(1.08rem,1.7vw,1.28rem); line-height: 1.65; color: #171713; }
.security-number { flex: 0 0 35px; display: grid; place-items: center; width: 35px; height: 35px; margin-top: 1px; border-radius: 50%; background: #171713; color: #fff; font-size: .78rem; font-weight: 900; font-variant-numeric: tabular-nums; }
.security-card p, .security-card li { color: #555146; font-size: .96rem; line-height: 1.95; }
.security-card p { margin-bottom: 18px; }
.security-card p:last-child { margin-bottom: 0; }
.security-card ul { padding-left: 1.35em; margin: 0 0 22px; }
.security-card li + li { margin-top: 8px; }
.security-card .security-citations { padding-top: 14px; margin: 6px 0 0; border-top: 1px solid #eee9de; font-size: .78rem; color: #73694f; }
.security-citations a { display: inline-block; min-width: 22px; padding: 3px; text-align: center; }
.security-response { border-top-color: #171713; }
.security-response > .eyebrow { color: #806000; font-size: .69rem; letter-spacing: .09em; }
.security-response h4 { display: flex; gap: 12px; align-items: baseline; margin: 30px 0 12px; font-size: 1rem; }
.security-response h4 span { flex: 0 0 25px; text-align: center; border-bottom: 3px solid #f8b803; }
.security-support { background: #fff8e3; box-shadow: none; }
.security-support h3 { font-size: 1.12rem; }
.security-measures { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 30px; }
.security-measure { min-width: 0; padding: 28px; border: 1px solid #e3dccd; border-top: 5px solid #f8b803; border-radius: 16px; background: #fff; }
.security-measure h3 { margin-bottom: 14px; font-size: 1.12rem; line-height: 1.65; }
.security-measure p { margin: 0; font-size: .95rem; line-height: 1.95; color: #555146; }
.security-policy { margin-top: 25px; color: #6d695f; }
.security-policy p { margin-bottom: 8px; }
.security-references { border-top: 1px solid #ddd6c7; padding-top: 44px; }
.security-references > p { font-size: .87rem; color: #6d695f; }
.security-references ol { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 32px; margin: 25px 0 0; padding: 0; list-style: none; }
.security-references li { display: flex; gap: 7px; padding: 18px 0; border-top: 1px solid #ddd6c7; }
.security-reference-number { flex: 0 0 36px; font-size: .78rem; color: #766438; }
.security-references h3 { margin-bottom: 6px; font-size: .84rem; font-weight: 700; line-height: 1.6; }
.security-references li a { display: inline-block; padding: 5px 8px 5px 0; color: #66501a; font-size: .8rem; }
.security-back-top { margin: 36px 0 60px; text-align: right; font-size: .85rem; }
@media (max-width: 1000px) {
  .security-reading-layout { grid-template-columns: minmax(0,1fr); }
  .security-toc { position: static; max-height: none; padding: 24px; }
  .security-toc ol { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; }
  .security-toc li a { padding-block: 12px; }
}
@media (max-width: 760px) {
  .security-hero { background: linear-gradient(145deg, #171713 0%, #28271f 87%, #f8b803 87.2%); }
  .security-hero::after { bottom: -7px; font-size: 3rem; }
  .security-hero-description { font-size: .85rem; }
  .security-sections { grid-template-columns: minmax(0,1fr); gap: 12px; margin-bottom: 45px; }
  .security-sections a { padding: 20px 42px 20px 20px; }
  .security-sections b { right: 16px; }
  .security-section-heading { padding-left: 16px; }
  .security-section-heading h2 br { display: none; }
  .security-intro { font-size: .94rem; }
  .security-checklist { padding: 23px 20px; font-size: .9rem; }
  .security-toc { padding: 20px; }
  .security-toc ol { grid-template-columns: minmax(0,1fr); }
  .security-card { padding: 24px 20px; }
  .security-card h3 { gap: 11px; }
  .security-number { flex-basis: 30px; width: 30px; height: 30px; }
  .security-card p, .security-card li { font-size: .92rem; }
  .security-measures, .security-references ol { grid-template-columns: minmax(0,1fr); }
  .security-measure { padding: 24px 20px; }
  .security-section + .security-section { margin-top: 60px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
