.security-page { --security-ink:#00071f; --security-paper:#f3f1ec; background:var(--security-paper); }
.security-body { position:relative; isolation:isolate; color:var(--security-ink); background:var(--security-paper); }
.security-body::before { content:""; position:absolute; inset:0; z-index:-1; background:url('assets/security/paper-grain.png') 0 0/300px 300px repeat; opacity:.9; pointer-events:none; }
.security-layout { max-width:1440px; margin:auto; padding:67px 80px 159px 40px; display:grid; grid-template-columns:300px minmax(0,960px); gap:60px; }
.security-content { min-width:0; }
.security-toc { align-self:start; position:sticky; top:116px; padding:88px 0 0 28px; display:grid; gap:20px; font-size:19px; line-height:28px; font-weight:700; }
.security-toc a { position:relative; color:rgb(0 7 31/.6); }
.security-toc a[aria-current] { color:#ff4b00; }
.security-toc a[aria-current]::before { content:""; position:absolute; left:-24px; top:11px; width:6px; height:6px; background:url('assets/security/toc-dot.svg') center/6px 6px; }
.security-toc a:focus-visible { outline:2px solid #ff4b00; outline-offset:5px; border-radius:2px; }
.security-section { position:relative; padding:24px 0 120px; margin-top:56px; border-top:1px solid rgb(0 7 31/.35); scroll-margin-top:110px; }
.security-section :where(p,h2,h3) { margin:0; }
.security-section > * + * { margin-top:24px; }
.security-section .security-eyebrow { font-size:14px; line-height:21px; font-weight:700; opacity:.6; }
.security-section h2 { font-size:48px; line-height:1.5; font-weight:700; letter-spacing:0; }
.security-section .security-lead { font-size:28px; line-height:1.5; font-weight:700; }
.security-section p { font-size:16px; line-height:2.1; }
.security-introduction { border:0; margin:0 auto; max-width:1440px; min-height:860px; padding:123px 40px 120px; }
.security-intro-copy { width:600px; max-width:46%; }
.security-introduction h2 { width:640px; max-width:calc(100% + 40px); font-size:48px; line-height:72px; }
.security-introduction .security-lead { margin-top:48px; line-height:1.6; }
.security-intro-description { margin-top:44.4px; color:rgb(0 7 31/.85); }
.security-intro-description p { line-height:2.2; }
.security-intro-description p + p { margin-top:35.2px; }
.security-introduction > .security-folder { position:absolute; left:47.222222%; top:118px; width:51.944444%; max-width:748px; margin:0; }
.security-concerns { margin:0; padding:80px 40px; }
.security-concerns h2 { font-size:40px; line-height:1.5; }
.security-concern-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:48px; }
.security-concern { padding-top:25px; }
.security-concern h3 { font-size:22px; line-height:1.5; }
.security-concern p { margin-top:24px; opacity:.84; }
.security-diagram { padding:28.235px; background:#f3f1ec; }
.security-route { display:flex; justify-content:center; align-items:center; gap:11.294px; }
.security-route-public { gap:22.588px; padding-bottom:28.235px; margin-bottom:28.235px; border-bottom:1px solid rgb(217 219 226/.45); }
.security-node { display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid #d9dbe2; min-height:102px; min-width:0; padding:11px; flex:1; font-size:15.529px; font-weight:700; line-height:24px; text-align:center; }
.security-route-public .security-node:first-child { flex:0 1 310px; }
.security-route-public .security-node:last-child { flex:0 1 424px; }
.security-node-paper { background:#f3f1ec; border-color:rgb(0 7 31/.35); }
.security-flow-arrow { flex:0 0 22.588px; color:#ff4b00; font:700 20px/28px var(--font-en); text-align:center; }
.security-section .security-note { font-size:14px; line-height:26px; color:#5b6171; }
.security-usecases { display:grid; gap:24px; }
.security-usecase { position:relative; display:grid; grid-template-columns:minmax(0,320fr) minmax(0,592fr); gap:48px; padding:29px 0 32px; }
/* Owner-added Figma rules 2389:2064 / 2389:2066 separate the three items. */
.security-usecase + .security-usecase::before { content:""; position:absolute; top:8px; left:0; width:calc(100% - 1px); height:1px; background:rgb(0 7 31/.15); }
.security-usecase h3 { font-size:28px; line-height:42px; }
.security-process { padding:63px 40px 197px; }
.security-process .security-process-title { margin-left:-8px; font:700 140px/.95 var(--font-en); letter-spacing:-2.8px; white-space:nowrap; }
.security-process .security-lead { margin-top:37px; }
.security-process-grid { position:relative; margin-top:78px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; border-top:1px solid rgb(0 7 31/.18); }
.security-process-step { position:relative; padding-top:31px; }
.security-process-step::before { content:""; position:absolute; top:-7px; left:0; width:12px; height:12px; background:url('assets/security/process-dot.svg') center/12px 12px; }
.security-process-step h3 { font-size:22px; line-height:33px; min-height:66px; }
.security-process-step p { font-size:15px; line-height:2.1; margin-top:46px; }
.security-scope .security-scope-boundary { margin-top:49px; }
.security-page .subpage-hero h1 { font-size:160px; }
@media (max-width:1199px) and (min-width:768px) {
 .security-introduction { padding-inline:32px; min-height:790px; }
 .security-introduction h2 { font-size:40px; line-height:1.5; }
 .security-layout { grid-template-columns:220px minmax(0,1fr); gap:32px; padding-inline:32px; }
 .security-toc { font-size:15px; padding-left:16px; }
 .security-section h2 { font-size:clamp(28px,3.33vw,48px); }
 .security-concerns,.security-process { padding-inline:0; }
 .security-concerns h2 { font-size:32px; }
 .security-concern-grid,.security-process-grid { gap:24px; }
 .security-concern h3,.security-process-step h3 { font-size:19px; }
 .security-section .security-lead,.security-usecase h3 { font-size:24px; }
 .security-process .security-process-title { font-size:clamp(56px,9.6vw,140px); }
 .security-usecase { gap:32px; grid-template-columns:1fr 1.6fr; }
 .security-route-admin { gap:8px; flex-wrap:wrap; }
 .security-route-admin .security-node { flex:0 1 calc(33.333% - 32px); }
}
@media (max-width:900px) {
 .security-introduction { min-height:0; padding:72px 24px 48px; }
 .security-intro-copy { width:100%; max-width:100%; }
 .security-introduction h2 { width:auto; max-width:100%; }
 .security-introduction > .security-folder { position:relative; left:auto; top:auto; width:100%; margin:0 auto; }
 .security-intro-description { max-width:600px; }
}
@media (max-width:767px) {
 .security-page .subpage-hero h1 { font-size:clamp(52px,16vw,100px); letter-spacing:-.02em; }
 .security-layout { display:block; padding:48px 24px 64px; }
 /* Match the Service page's mobile .listing-toc (subpage-shared.css). */
 .security-toc { position:relative; top:auto; display:flex; flex-wrap:wrap; padding:0 0 40px; gap:10px; font-size:13px; line-height:normal; }
 .security-toc a { padding:10px 14px; border:1px solid #00071f30; border-radius:24px; color:var(--security-ink); background:#fff9; }
 .security-toc a[aria-current="location"] { color:#fff; background:var(--security-ink); }
 .security-toc a[aria-current]::before { display:none; }
 .security-section { margin-top:24px; padding:32px 0 64px; }
 .security-section > * + * { margin-top:20px; }
 .security-section h2 { font-size:clamp(25px,6.6vw,40px); line-height:1.55; }
 .security-section .security-lead { font-size:20px; line-height:1.65; }
 .security-section p { font-size:15px; line-height:2; }
 .security-section .security-eyebrow { font-size:12px; }
 .security-introduction { padding:64px 24px 40px; margin-top:0; }
 .security-introduction h2 { font-size:clamp(28px,8.2vw,40px); line-height:1.55; }
 .security-introduction .security-lead { margin-top:32px; font-size:20px; line-height:1.65; }
 .security-intro-description { margin-top:32px; }
 .security-intro-description p + p { margin-top:24px; }
 .security-section br[data-pc-break] { display:none; }
 .security-concerns { margin-top:0; }
 .security-concern-grid { grid-template-columns:1fr; gap:32px; margin-top:32px; }
 .security-concern { padding:0; }
 .security-concern h3 { font-size:20px; }
 .security-concern p { margin-top:12px; }
 .security-diagram { padding:20px 12px; }
 .security-route-public { gap:8px; }
 .security-node { font-size:13px; line-height:1.6; min-height:94px; padding:10px; }
 .security-route-public .security-node:first-child { flex:0 1 36%; }
 .security-route-public .security-node:last-child { flex:1; }
 .security-flow-arrow { flex-basis:18px; }
 .security-route-admin { flex-direction:column; gap:8px; }
 .security-route-admin .security-node { flex:auto; width:100%; min-height:58px; }
 .security-route-admin .security-flow-arrow { transform:rotate(90deg); }
 .security-section .security-note { font-size:12px; line-height:1.8; }
 .security-usecases { gap:32px; margin-top:32px; }
 .security-usecase { display:block; padding:0; }
 .security-usecase + .security-usecase { padding-top:28px; }
 .security-usecase + .security-usecase::before { top:0; }
 .security-usecase h3 { font-size:22px; line-height:1.5; }
 .security-usecase p { margin-top:16px; }
 .security-process .security-process-title { font-size:clamp(48px,12.5vw,90px); letter-spacing:-.02em; margin-left:0; }
 .security-process .security-lead { margin-top:24px; }
 .security-process-grid { grid-template-columns:1fr; gap:36px; margin-top:40px; border-top:0; border-left:1px solid rgb(0 7 31/.18); padding-left:24px; }
 .security-process-step { padding:0; }
 .security-process-step::before { left:-31px; top:9px; }
 .security-process-step h3 { font-size:20px; min-height:0; line-height:1.6; }
 .security-process-step p { font-size:15px; margin-top:16px; }
 .security-scope .security-scope-boundary { margin-top:32px; }
}

/* Security mobile: keep the shared chat opener in the hero header, outside
   the reading column. The inline Personal AI CTA remains available below. */
@media (max-width:767px) {
 .security-page .floating-chat {
  position:absolute; z-index:21; top:20px; bottom:auto;
  left:calc(50% - 32px); right:auto; width:44px; height:44px;
  transform:none; transition:none;
 }
 .security-page .floating-chat > .floating-mascot-body,
 .security-page .floating-chat > .chat-invitation { display:none; }
 .security-page .floating-chat > .chat-bubble {
  position:absolute; inset:0; width:44px; min-width:44px; height:44px;
  padding:0; border:1px solid rgb(255 255 255/.65); border-radius:12px;
  background:var(--security-ink); color:#fff; box-shadow:none;
  display:grid; place-items:center; opacity:1; visibility:visible;
  pointer-events:auto; transition:background-color 160ms ease;
 }
 .security-page .floating-chat > .chat-bubble::before {
  content:""; display:block; width:21px; height:18px;
  border:1.7px solid currentColor; border-radius:5px;
 }
 .security-page .floating-chat > .chat-bubble::after {
  content:""; position:absolute; left:13px; top:28px; width:6px; height:6px;
  border:0; border-left:1.7px solid currentColor; border-bottom:1.7px solid currentColor;
  background:var(--security-ink); clip-path:none; transform:skewY(-36deg);
 }
 .security-page .floating-chat > .chat-bubble > * { display:none; }
 .security-page .floating-chat > .chat-bubble:focus-visible {
  outline:3px solid #ff4b00; outline-offset:3px;
 }
 .security-page .floating-chat > .chat-bubble:hover { background:#182039; }
}
