/* The technology story is carried by type. Space supplies depth, not diagrams. */
header{background:linear-gradient(#04001ff5,#04001f70);backdrop-filter:blur(10px)}
.journey{position:relative;background:#04001f;isolation:isolate}
.journey-stage{position:relative;isolation:isolate;overflow:clip}
#signal-space,.journey-shade{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#signal-space{z-index:-2}
.journey-shade{z-index:-1;background:radial-gradient(ellipse at 50% 48%,#04001f50 0%,transparent 66%),linear-gradient(0deg,#04001f 0%,transparent 16%,transparent 85%,#04001f60 100%)}
.journey-scene{min-height:100svh;display:flex;justify-content:center;align-items:center;padding:130px 100px 110px;text-align:center;scroll-margin-top:0}
.journey-copy{width:min(100%,1120px);margin:auto;transform-origin:center;will-change:transform,opacity}
.journey-eyebrow{font-size:14px;line-height:1.4;letter-spacing:.15em;text-transform:uppercase;color:#afb7d5;margin-bottom:32px}
.journey h1,.journey h2{font-size:clamp(54px,7.35vw,116px);line-height:1.06;letter-spacing:-.06em;font-weight:500;text-wrap:balance}
.journey em{font-style:normal;color:#859cda}
.journey-description{font-size:clamp(18px,1.5vw,22px);line-height:1.55;max-width:610px;margin:32px auto 0;color:#b8bdd4;text-wrap:pretty}
.journey-actions{display:flex;align-items:center;justify-content:center;gap:12px 28px;flex-wrap:wrap;margin-top:32px}
.journey-detail{display:inline-flex;align-items:center;gap:13px;font-size:16px;line-height:1.5;min-height:44px;padding:8px 0;background:none;border:0;color:#e7eafa}
.journey-detail span{display:grid;place-items:center;width:25px;height:25px;border:1px solid #99a9d455;border-radius:50%;font-size:20px;line-height:1;transition:background .2s,border-color .2s}
.journey-detail:hover span{background:#0078ff;border-color:#0078ff}
.journey-bottom,.journey-nav,.journey-progress{display:none}
.journey-enhanced{height:760svh}
.journey-enhanced .journey-stage{position:sticky;top:0;height:100svh;overflow:hidden}
.journey-enhanced .journey-scenes{position:absolute;inset:0;perspective:1100px}
.journey-enhanced .journey-scene{position:absolute;inset:0;min-height:0;visibility:hidden;opacity:0;transform-origin:50% 48%;will-change:transform,opacity;pointer-events:none}
.journey-enhanced .journey-scene.is-active{pointer-events:auto}
.journey-enhanced .journey-bottom{position:absolute;bottom:35px;left:56px;right:56px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px;line-height:1.4}
.journey-scroll{display:flex;align-items:center;gap:16px;font-size:14px;color:#9098b7}
.journey-scroll span{height:36px;width:1px;background:linear-gradient(#0078ff,transparent)}
.journey-skip{color:#a4acc7;border-bottom:1px solid #8993b844;padding-bottom:5px;transition:color .2s}
.journey-skip:hover{color:#fff}
.journey-enhanced .journey-nav{display:flex;flex-direction:column;position:absolute;right:26px;top:50%;transform:translateY(-50%);gap:8px;align-items:flex-end}
.journey-nav a{display:flex;align-items:center;gap:12px;min-width:40px;min-height:36px;font-size:12px;line-height:1;color:#7e88ac;padding:8px;position:relative}
.journey-nav a:after{content:'';height:1px;width:17px;background:#a7b5df55;transition:width .3s,background .3s}
.journey-nav a[aria-current=step]{color:#fff}
.journey-nav a[aria-current=step]:after{width:29px;background:#54a6ff;box-shadow:0 0 12px #0078ff80}
.journey-nav-label{position:absolute;right:70px;white-space:nowrap;opacity:0;transform:translateX(6px);transition:opacity .2s,transform .2s;font-size:14px;background:#04001fe6;padding:8px 10px;pointer-events:none}
.journey-nav a:hover .journey-nav-label,.journey-nav a:focus-visible .journey-nav-label{opacity:1;transform:none}
.journey-enhanced .journey-progress{display:block;position:absolute;bottom:0;left:0;right:0;height:1px;background:#25305455}
.journey-progress span{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:#0078ff;opacity:.8}
/* Technical reference remains direct and quiet after the immersive sequence. */
.protection-section{background:#04001f;border-top:1px solid #ffffff16;padding:100px 0}
.protection-section h2,.visibility-section h2,.sovereignty-section h2,.tech-contact h2{font-size:clamp(44px,4.7vw,76px);letter-spacing:-.05em}
.campaign-section{background:#04001f!important;border-top:1px solid #ffffff16}
.visibility-section{padding:100px 0}
.topic-card,.topic-card.quiet,.topic-card.emphasis{background:#0d0c54;box-shadow:none}
.topic-card:hover{box-shadow:none}
.sovereignty-section{border-top:1px solid #ffffff16}
.journey-mode-static .journey-scene{min-height:85svh}
.journey-mode-static .journey-copy{will-change:auto}
@media(min-width:1800px){.journey h1,.journey h2{font-size:128px}}
@media(max-width:900px){.journey-scene{padding:110px 58px 115px}.journey h1,.journey h2{font-size:clamp(50px,8.4vw,78px)}.journey-description{font-size:19px;max-width:530px}.journey-enhanced .journey-nav{right:9px}.journey-nav a{gap:7px}.journey-nav a:after{width:10px}.journey-nav a[aria-current=step]:after{width:15px}.journey-enhanced .journey-bottom{left:36px;right:36px;bottom:26px}}
@media(max-width:600px){.journey-enhanced{height:690svh}.journey-scene{padding:100px 22px 140px}.journey h1,.journey h2{font-size:clamp(40px,10.1vw,60px);line-height:1.09;letter-spacing:-.052em}.journey-eyebrow{font-size:12px;letter-spacing:.12em;margin-bottom:25px}.journey-description{font-size:17px;line-height:1.55;max-width:350px;margin-top:26px}.journey-actions{gap:8px 22px;margin-top:25px}.journey-detail{font-size:15px;gap:10px}.journey-enhanced .journey-nav{top:auto;right:auto;left:50%;bottom:62px;transform:translateX(-50%);flex-direction:row;gap:8px}.journey-nav a{justify-content:center;min-width:33px;min-height:34px;padding:7px;flex-direction:column;gap:8px}.journey-nav a:after,.journey-nav a[aria-current=step]:after{width:18px}.journey-nav-label{display:none}.journey-enhanced .journey-bottom{bottom:24px;left:22px;right:22px;justify-content:center}.journey-scroll{display:none}.journey-skip{font-size:13px}.journey-description br{display:none}.protection-section{padding:75px 0}}
@media(max-height:650px){.journey-scene{padding-top:100px;padding-bottom:75px}.journey h1,.journey h2{font-size:clamp(40px,7vw,74px)}.journey-eyebrow{margin-bottom:17px}.journey-description{margin-top:20px}.journey-actions{margin-top:17px}}
@media(prefers-reduced-motion:reduce){.journey-scene{min-height:85svh}.journey-copy{will-change:auto}#signal-space{opacity:.35}.journey-nav-label{transition:none}}

/* Signals are explained with moving diagrams; the central reading axis stays calm. */
.journey h1,.journey h2{font-size:clamp(52px,6.5vw,104px)}
.journey-eyebrow{margin-bottom:22px}
.journey-description{margin-top:22px;font-size:clamp(17px,1.35vw,20px);max-width:660px}
.signal-flow{position:relative;width:min(100%,620px);aspect-ratio:620/150;margin:20px auto 0;text-align:center}
.signal-flow>svg{width:100%;height:100%;overflow:visible}
.signal-node{position:absolute;transform:translate(-50%,-50%);background:#080827;border:1px solid #37578e;border-radius:100px;padding:8px 17px;min-height:40px;font-size:14px;line-height:1.3;white-space:nowrap;color:#c8ddff;transition:background .2s,border-color .2s,box-shadow .2s}
.signal-node:hover,.signal-node:focus-visible{background:#0d2150;border-color:#5aabff;box-shadow:0 0 28px #0078ff24;color:#fff}
.signal-node.center{left:50%}.signal-node.bottom{top:90%}
.signal-label{position:absolute;font-size:13px;color:#9eacce;line-height:1.3;transform:translateX(-50%);white-space:nowrap;pointer-events:none}
.signal-label.left{left:8%;top:50%}.signal-label.right{left:92%;top:50%}
.tag-main{left:32.25%;top:25%}.tag-session{left:67.75%;top:25%}
.signal-flow-1{margin-bottom:-15px}
.signal-label.qualified{left:85%;top:10%;color:#9ec8ff}
.signal-label.flagged{left:85%;top:86%;color:#ff8999}
.signal-flow-2 .signal-label.left{left:15%;top:10%}
.signal-flow-2 .signal-node.bottom{top:84%}
.method-ip{left:18.55%;top:75%;min-width:85px}.method-audience{left:50%;top:75%}.method-placement{left:81.45%;top:75%}
.signal-label.final-qualified{left:83%;top:36%}
.signal-label.blocked{left:32%;top:79%;color:#ff8999}
.signal-flow-4 .signal-node.bottom{left:75%;top:88%}
.flow-dot{stroke:none;filter:drop-shadow(0 0 5px currentColor);color:#318bff}
.journey-play{display:grid;place-items:center;margin:14px auto 0;padding:0;width:48px;height:48px;border:1px solid #80b8ff88;border-radius:50%;background:#0078ff14;color:#e8f5ff;transition:background .2s,box-shadow .2s,transform .2s}
.journey-play svg{width:24px;height:24px;margin-left:1px}
.journey-play:hover{background:#0078ff;box-shadow:0 0 30px #0078ff55;transform:scale(1.06)}
.journey-video-dialog{width:min(960px,calc(100% - 32px))}
.journey-video-dialog:not(.has-video){width:min(480px,calc(100% - 32px))}
.journey-video-dialog .dialog-top h2{font-size:28px;letter-spacing:-.03em}
.journey-video-body{padding:12px 32px 32px}
.journey-video-body video{width:100%;max-height:68svh;object-fit:contain;display:block;background:#04001f;border-radius:12px}
.journey-video-body p{font-size:17px;padding-top:12px}
.journey-video-body p:empty{display:none}
@media(min-width:1800px){.journey h1,.journey h2{font-size:116px}}
@media(max-width:900px){.journey h1,.journey h2{font-size:clamp(48px,7.7vw,74px)}.signal-flow{max-width:560px}.journey-scene{padding-top:108px}}
@media(max-width:600px){.journey h1,.journey h2{font-size:clamp(37px,9.7vw,57px)}.journey-scene{padding:98px 22px 128px}.journey-eyebrow{margin-bottom:18px}.journey-description{font-size:16px;max-width:340px;margin-top:18px}.signal-flow{margin-top:24px;min-height:116px;aspect-ratio:auto}.signal-flow>svg{position:absolute;inset:0;height:116px}.signal-node{font-size:14px;padding:8px 12px;min-height:36px}.signal-label{font-size:12px}.signal-label.left{left:9%;top:49%}.signal-label.right{left:91%;top:49%}.tag-main,.tag-session{top:30%}.method-ip,.method-audience,.method-placement{top:70%;min-width:0}.signal-flow-1{margin-bottom:-12px}.signal-node.bottom{top:90%}.signal-flow-2 .signal-node.bottom{top:89%}.signal-label.flagged{top:86%}.journey-play{width:44px;height:44px;margin-top:8px}.signal-flow-4 .signal-node{font-size:13px}.journey-video-body{padding:8px 20px 24px}}
@media(max-height:730px) and (min-width:601px){.journey h1,.journey h2{font-size:clamp(44px,5.3vw,70px)}.journey-scene{padding-top:100px;padding-bottom:70px}.journey-eyebrow{margin-bottom:12px}.journey-description{margin-top:16px}.signal-flow{max-width:510px;margin-top:12px}.journey-play{width:42px;height:42px;margin-top:5px}}

.signal-key{display:flex;align-items:center;gap:22px;font-size:13px;color:#9eacce}.signal-key>span{display:flex;align-items:center;gap:9px}.signal-key i{width:6px;height:6px;display:block;flex:none}.key-blue{background:#3591ff;border-radius:50%;box-shadow:0 0 10px #3591ff99}.key-red{background:#ff506e;transform:rotate(45deg);box-shadow:0 0 10px #ff506e77}@media(max-width:600px){.signal-key{display:none}}

.flow-dot[fill="#ff5b70"]{color:#ff5b70}

/* The Session Tag reports to the Ads Defender Tag; visit data continues to protection. */
.signal-flow-1{aspect-ratio:620/170;margin-bottom:-12px}
.signal-flow-1 .tag-main{left:50%;top:29.41%}
.signal-flow-1 .tag-session{left:50%;top:76.47%}
.signal-flow-1 .visit-data{left:12%;top:44%}
.signal-flow-1 .protection-output{left:88%;top:44%}
.signal-flow-1 .session-ping{left:65%;top:54%;font-size:12px}
.learning-node{position:absolute;top:32%;transform:translate(-50%,-50%);padding:8px 15px;border:1px solid #37578e;border-radius:100px;background:#080827;color:#c8ddff;font-size:14px;white-space:nowrap;line-height:1.3}
.cleaner-signals{left:22%}.campaign-learning{left:78%}
.signal-flow-4 .audience-feedback{left:50%;top:73%;padding:0 10px;background:#04001f;color:#9eacce}
@media(max-width:600px){.signal-flow-1{height:130px;min-height:130px}.signal-flow-1>svg{height:130px}.signal-flow-1 .tag-main{top:32%}.signal-flow-1 .tag-session{top:74%}.signal-flow-1 .session-ping{left:74%;top:51%}.learning-node{font-size:12px;padding:8px 9px;top:37%}.cleaner-signals{left:23%}.campaign-learning{left:76%}.signal-flow-4 .audience-feedback{top:75%;font-size:12px}}
