.audience--routes{background:radial-gradient(ellipse at 70% 38%,#6b009719,transparent 65%);overflow:clip}
.routes-heading{display:flex;justify-content:space-between;align-items:end;gap:65px}
.routes-heading .section-heading{max-width:740px}
.routes-heading h2{font-size:clamp(36px,4vw,56px)}
.routes-intro{max-width:310px;padding-bottom:5px}
.routes-intro>p{font-size:14px;line-height:1.85;color:#ddcde9}
.routes-intro>span{display:flex;align-items:center;gap:9px;font-size:8px;letter-spacing:.14em;color:#d6a1f6;margin-top:22px}
.routes-intro i{width:5px;height:5px;border-radius:50%;background:#cd7fff;box-shadow:0 0 12px #ba5cff}
.routes-list{margin-top:60px;border-top:1px solid #c68ae535}
.route-option{border-bottom:1px solid #c68ae535;transition:background .3s,border-color .3s}
.route-option[open]{background:radial-gradient(ellipse at 80% 0,#68119f1d,transparent 68%);border-color:#d495ff70}
.route-option summary{display:flex;align-items:center;gap:30px;list-style:none;cursor:pointer;padding:29px 0;line-height:1.3}
.route-option summary::-webkit-details-marker{display:none}
.route-index{width:42px;flex:0 0 42px;color:#bf83e6;font-size:13px;font-weight:500;letter-spacing:.08em}
.route-label{display:block;min-width:0}
.route-kicker{display:block;color:#cdb1e0;font-size:8px;letter-spacing:.14em;margin-bottom:9px}
.route-title{display:block;color:#f9f0ff;font-size:clamp(23px,2.4vw,32px);letter-spacing:-.035em;font-weight:550;line-height:1.25}
.route-toggle{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;margin-left:auto;border:1px solid #b979df42;border-radius:50%;color:#e1b0ff;font-size:23px;font-weight:300;line-height:1;transition:transform .25s,background .25s,border-color .25s}
.route-option[open] .route-toggle{transform:rotate(45deg);background:#9d35df18;border-color:#d299ef7d}
.route-option[open] .route-title{color:#e8c6ff}
.route-option summary:hover .route-title{color:#ebc7ff}
.route-body{display:grid;grid-template-columns:.85fr 1.2fr;gap:65px;padding:7px 0 38px 72px}
.route-copy{padding-top:3px}
.route-copy h3{font-size:23px;line-height:1.35;letter-spacing:-.025em;color:#f4e8ff;font-weight:550}
.route-copy>p{margin-top:17px;color:#ddcde9;font-size:13px;line-height:1.9}
.route-copy .text-link{margin-top:19px;font-size:12px;gap:18px}
.route-map{position:relative;isolation:isolate;padding:24px 26px;border:1px solid #b477db36;border-radius:17px;background:radial-gradient(ellipse at 50% 0,#7b25b21e,transparent 70%),linear-gradient(130deg,#170e23b3,#0b0812a6)}
.route-map-label{font-size:8px;letter-spacing:.14em;color:#d1abea}
.route-map-flow{position:relative;margin-top:24px}
.route-map-flow ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.route-map-flow li{position:relative;z-index:1;min-width:0}
.route-node{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;border:1px solid #be7be066;background:#1b0e2c;color:#e5b4ff;font-size:8px;margin-bottom:16px;box-shadow:0 0 22px #aa3beb12}
.route-map-flow li:last-child .route-node{border-color:#dfa2ff8c;background:#471568;box-shadow:0 0 24px #a526eb35}
.route-map-flow strong{display:block;font-size:12px;font-weight:650;line-height:1.5;color:#f4e3ff}
.route-map-flow li p{font-size:10px;line-height:1.8;color:#c7b0d9;margin-top:6px}
.route-map-signal{position:absolute;left:15px;right:15px;top:15px;height:1px;background:#b279df38;overflow:hidden}
.route-map-signal i{position:absolute;left:-30%;width:30%;height:1px;background:linear-gradient(90deg,transparent,#efc7ff,transparent);box-shadow:0 0 12px #ca83ff;animation:routeSignal 5s ease-in-out infinite}
.route-focus{margin-top:22px;padding-top:16px;border-top:1px solid #ba7bd626;display:flex;align-items:baseline;gap:15px}
.route-focus>span{flex:0 0 auto;font-size:7px;letter-spacing:.1em;color:#d29ced}
.route-focus p{font-size:10px;line-height:1.8;color:#d9c2e9}
.routes-note{display:flex;align-items:center;gap:12px;color:#cdb1e0;font-size:11px;margin-top:24px}
.routes-note>span{color:#e0a9ff;font-size:17px}
@keyframes routeSignal{to{left:110%}}
@media(max-width:1100px){.routes-heading{gap:35px}.routes-intro{max-width:275px}.route-body{gap:32px;grid-template-columns:.85fr 1.15fr}.route-map{padding:22px}.route-map-flow ol{gap:14px}.route-focus{display:block}.route-focus p{margin-top:6px}}
@media(max-width:900px){.routes-heading{align-items:start;flex-direction:column;gap:25px}.routes-intro{max-width:600px}.routes-intro>span{margin-top:15px}.routes-list{margin-top:35px}.route-body{padding-left:72px;grid-template-columns:1fr;gap:25px}.route-copy{max-width:600px}.route-title{font-size:28px}.route-copy h3>br{display:none}.route-focus{display:flex}.route-focus p{margin-top:0}}
@media(max-width:600px){.audience--routes{padding-block:70px}.routes-heading h2{font-size:36px}.routes-heading h2>br{display:none}.routes-intro>p{font-size:13px}.routes-intro>span{font-size:7px}.route-option summary{padding-block:24px;gap:14px;align-items:start}.route-index{width:22px;flex-basis:22px;font-size:10px;padding-top:3px}.route-kicker{font-size:6px;letter-spacing:.1em;margin-bottom:9px}.route-title{font-size:22px;line-height:1.25}.route-toggle{width:28px;height:28px;flex-basis:28px;font-size:20px;margin-top:13px}.route-body{padding:0 0 28px 36px;gap:24px}.route-copy h3{font-size:20px}.route-copy>p{font-size:12px;margin-top:12px}.route-copy .text-link{font-size:11px;margin-top:13px}.route-map{padding:22px 19px;border-radius:13px}.route-map-label{font-size:6px;letter-spacing:.1em;line-height:1.7}.route-map-flow{margin-top:23px}.route-map-flow ol{grid-template-columns:1fr;gap:23px}.route-map-flow li{padding-left:43px;min-height:42px}.route-node{position:absolute;left:0;top:0;width:27px;height:27px;font-size:7px}.route-map-flow li strong{font-size:12px;line-height:1.4}.route-map-flow li p{font-size:10px;margin-top:4px}.route-map-signal{top:14px;bottom:25px;left:13px;right:auto;width:1px;height:auto}.route-map-signal i{width:1px;height:30%;left:0;top:-30%;background:linear-gradient(transparent,#efc7ff,transparent);animation:routeSignalVertical 5s ease-in-out infinite}.route-focus{display:block;margin-top:23px;padding-top:15px}.route-focus>span{font-size:6px}.route-focus p{font-size:10px;margin-top:6px}.routes-note{font-size:10px;line-height:1.8;align-items:baseline}}
@keyframes routeSignalVertical{to{top:110%}}
@media(max-width:600px){.route-kicker{font-size:8px}.route-map-label,.route-focus>span{font-size:7px}.route-map-flow li p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.route-option,.route-toggle{transition:none}.route-map-signal i{animation:none;left:45%}}
