/* Guided, three-step service finder */
.route-map-launch{width:100%;margin:24px 0 30px;padding:16px 20px;border:1px solid rgba(36,63,51,.17);border-radius:18px;background:linear-gradient(105deg,#f5f2e9 0%,#fbfaf6 62%,#eff2e8 100%);color:#20392f;display:flex;align-items:center;gap:14px;text-align:right;cursor:pointer;transition:transform .25s,border-color .25s,box-shadow .25s}
.route-map-launch:hover{transform:translateY(-2px);border-color:#829984;box-shadow:0 12px 30px rgba(26,48,37,.08)}
.route-map-launch-mark{width:42px;height:42px;border-radius:13px;background:#233e32;color:#d9ec8b;display:grid;place-items:center;font-size:21px;flex:none}
.route-map-launch>span:nth-child(2){display:grid;gap:3px;flex:1}
.route-map-launch small{font-size:13px;color:#6e756b}
.route-map-launch strong{font-size:16px}
.route-map-launch-time{font-size:12px;color:#6e756b;white-space:nowrap;border-inline-start:1px solid #d8d9ce;padding-inline-start:16px}
.route-map-dialog{padding:0;border:0;width:min(1040px,calc(100% - 32px));max-width:none;max-height:min(790px,calc(100dvh - 32px));background:transparent;color:#1e2924;overflow:visible}
.route-map-dialog::backdrop{background:rgba(10,19,15,.66);backdrop-filter:blur(7px)}
.route-map-shell{border-radius:25px;overflow:hidden;background:#f8f7f2;box-shadow:0 30px 100px rgba(0,0,0,.28);max-height:min(790px,calc(100dvh - 32px));overflow-y:auto;overscroll-behavior:contain}
.route-map-header{height:78px;padding:0 30px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e6e4db}
.route-map-brand{display:flex;align-items:center;gap:12px}
.route-map-brand-icon{width:38px;height:38px;border-radius:12px;background:#203d31;color:#d9ec8b;display:grid;place-items:center;font:700 21px 'Space Grotesk',sans-serif}
.route-map-brand>span:last-child{display:grid;gap:2px}
.route-map-brand small{font:600 10px 'Space Grotesk',sans-serif;letter-spacing:.1em;color:#74796e}
.route-map-brand strong{font-size:16px}
.route-map-close{width:40px;height:40px;border:1px solid #deded5;background:#fff;border-radius:50%;font-size:24px;line-height:1;color:#334238;cursor:pointer}
.route-map-close:hover{background:#eef0e5}
.route-map-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.88fr);min-height:510px}
.route-map-main{padding:38px 42px 30px;display:flex;flex-direction:column}
.route-map-progress-row{display:flex;justify-content:space-between;gap:12px;color:#5d655d;font-size:13px}
.route-map-progress-row span:first-child{font-weight:700;color:#24392f}
.route-map-progress{height:4px;border-radius:9px;background:#e5e5dc;margin-top:12px;overflow:hidden}
.route-map-progress>span{display:block;height:100%;width:33.333%;background:#9ab444;border-radius:inherit;transition:width .4s cubic-bezier(.2,.8,.2,1)}
.route-map-question{padding-top:40px;flex:1;animation:routeMapIn .32s ease both}
@keyframes routeMapIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.route-map-question-kicker{font:600 11px 'Space Grotesk',sans-serif;letter-spacing:.1em;color:#9a8056;text-transform:uppercase}
.route-map-question h3{font-size:clamp(25px,3vw,34px);line-height:1.2;margin:9px 0 8px;color:#1f3028}
.route-map-question>p{font-size:15px;color:#70766d;margin:0 0 22px}
.route-map-options{display:grid;gap:10px}
.route-map-option{width:100%;min-height:64px;padding:13px 15px;display:flex;align-items:center;gap:12px;text-align:right;border:1px solid #dddcd2;border-radius:14px;background:#fff;color:#24332b;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.route-map-option:hover{transform:translateY(-1px);border-color:#899b75}
.route-map-option[aria-pressed=true]{border-color:#294739;background:#eff2e8;box-shadow:inset 0 0 0 1px #294739}
.route-map-option-mark{width:24px;height:24px;border:1px solid #c9cec2;border-radius:50%;display:grid;place-items:center;color:transparent;flex:none;font-size:13px}
.route-map-option[aria-pressed=true] .route-map-option-mark{background:#294739;border-color:#294739;color:#e5f0b0}
.route-map-option-copy{font-size:15px;line-height:1.45;flex:1}
.route-map-option-num{font:600 10px 'Space Grotesk',sans-serif;color:#96998e}
.route-map-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:26px;margin-top:auto}
.route-map-controls button,.route-map-result-cta{min-height:48px;border-radius:999px;padding:0 22px;font:inherit;font-weight:700;font-size:15px;cursor:pointer}
.route-map-back{border:1px solid #d9dbd1;background:transparent;color:#33443a}
.route-map-next{border:1px solid #243f33;background:#243f33;color:#e4efae;min-width:130px;transition:opacity .2s,transform .2s}
.route-map-next:disabled{opacity:.38;cursor:not-allowed}
.route-map-next:not(:disabled):hover{transform:translateY(-1px)}
.route-map-restart{border:0;background:none;color:#70766d;font-size:13px;text-decoration:underline;cursor:pointer;align-self:flex-start;margin-top:16px;padding:4px 0}
.route-map-visual{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:28px 30px 24px;background:#203b30;color:#edf0df;isolation:isolate}
.route-map-visual:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 85% 25%,rgba(193,214,122,.13),transparent 38%),radial-gradient(ellipse at 15% 90%,rgba(187,131,104,.13),transparent 34%);z-index:-1}
.route-map-visual-top{display:flex;align-items:center;justify-content:space-between;font:600 10px 'Space Grotesk',sans-serif;letter-spacing:.12em;color:#bdc6b6}
.route-map-live{display:flex;align-items:center;gap:7px;letter-spacing:0;font:12px Heebo,sans-serif;color:#dae3c2}
.route-map-live i,.route-map-note-dot{width:7px;height:7px;border-radius:50%;background:#d2e68d;box-shadow:0 0 12px #d2e68d}
.route-map-diagram{position:relative;width:min(100%,350px);height:315px;margin:0 auto}
.route-map-orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(231,238,209,.1);border-radius:50%;transform:translate(-50%,-50%) rotate(-25deg)}
.route-map-orbit-a{width:270px;height:210px}.route-map-orbit-b{width:205px;height:290px;transform:translate(-50%,-50%) rotate(43deg)}
.route-map-connector{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.route-map-path-base,.route-map-path-active{fill:none;stroke:rgba(227,234,211,.25);stroke-width:1.4;stroke-dasharray:4 7;vector-effect:non-scaling-stroke}
.route-map-path-active{stroke:#d7eb91;stroke-width:2.5;stroke-dasharray:600;stroke-dashoffset:600;transition:stroke-dashoffset .85s cubic-bezier(.2,.7,.2,1)}
.route-map-diagram[data-step="1"] .route-map-path-active{stroke-dashoffset:430}
.route-map-diagram[data-step="2"] .route-map-path-active{stroke-dashoffset:220}
.route-map-diagram[data-step="3"] .route-map-path-active,.route-map-diagram[data-step="result"] .route-map-path-active{stroke-dashoffset:0}
.route-map-node{position:absolute;width:62px;height:62px;border-radius:19px;border:1px solid rgba(239,242,225,.3);background:#2a493b;display:grid;place-content:center;gap:2px;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.15);transition:transform .35s,background .35s,border-color .35s,box-shadow .35s}
.route-map-node span{font:600 9px 'Space Grotesk',sans-serif;color:#d3e795}
.route-map-node b{font-size:12px}
.route-map-node-start{left:calc(50% - 31px);top:14px;background:#d5e992;color:#21392f;border-color:#d5e992}
.route-map-node-start span{color:#45623f}
.route-map-node-site{left:calc(20% - 31px);top:116px}
.route-map-node-system{left:calc(80% - 31px);top:116px}
.route-map-node-ads{left:calc(20% - 31px);top:218px}
.route-map-node-end{left:calc(80% - 31px);top:218px;background:#bb8268;border-color:#bb8268;color:#211e19}
.route-map-node-end span{color:#fff1e5;font-size:15px}
.route-map-diagram[data-focus="website"] [data-route-node="website"],.route-map-diagram[data-focus="connected"] [data-route-node="connected"],.route-map-diagram[data-focus="marketing"] [data-route-node="marketing"]{background:#d5e992;color:#21392f;border-color:#d5e992;transform:scale(1.1);box-shadow:0 0 0 7px rgba(213,233,146,.12),0 10px 28px rgba(0,0,0,.18)}
.route-map-diagram[data-focus="website"] [data-route-node="website"] span,.route-map-diagram[data-focus="connected"] [data-route-node="connected"] span,.route-map-diagram[data-focus="marketing"] [data-route-node="marketing"] span{color:#45623f}
.route-map-visual-note{display:flex;align-items:center;gap:9px;position:absolute;inset-inline-start:50%;bottom:1px;transform:translateX(50%);white-space:nowrap;padding:9px 13px;border:1px solid rgba(239,242,225,.15);border-radius:999px;background:rgba(10,22,16,.24);font-size:12px;color:#d7ddca}
.route-map-note-dot{width:6px;height:6px;flex:none}
.route-map-visual>p{margin:0;color:#bdc6b6;font-size:14px;line-height:1.8}
.route-map-visual>p strong{color:#f1f1dc;font-weight:500}
.route-map-visual-index{position:absolute;bottom:29px;inset-inline-end:29px;font:10px 'Space Grotesk',sans-serif;color:rgba(229,235,213,.48)}
.route-map-result{padding-top:29px}
.route-map-result-label{display:inline-flex;align-items:center;gap:8px;background:#edf1df;color:#475b36;border-radius:999px;padding:6px 11px;font-size:12px;font-weight:700}
.route-map-result h3{font-size:30px;margin:15px 0 9px}
.route-map-result>p{font-size:15px;line-height:1.7;color:#60695f}
.route-map-result-why{border-inline-start:2px solid #aabd62;padding:4px 14px;margin:20px 0;color:#52604e;font-size:14px;line-height:1.65}
.route-map-result-cta{border:0;background:#243f33;color:#e4efae;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.route-map-result-cta:hover{background:#315541}
.route-map-result-note{font-size:12px;color:#85877e;margin-top:11px}
@media(max-width:760px){
  .route-map-launch{padding:13px 14px;gap:11px;margin:18px 0 23px;border-radius:15px}
  .route-map-launch-mark{width:38px;height:38px;border-radius:11px}
  .route-map-launch strong{font-size:15px}.route-map-launch small{font-size:12px}.route-map-launch-time{padding-inline-start:10px;font-size:11px}
  .route-map-dialog{width:calc(100% - 18px);max-height:calc(100dvh - 18px)}
  .route-map-shell{border-radius:20px;max-height:calc(100dvh - 18px)}
  .route-map-header{height:64px;padding:0 17px}.route-map-brand-icon{width:34px;height:34px}
  .route-map-layout{grid-template-columns:1fr;min-height:0}
  .route-map-main{padding:23px 20px 21px;min-height:400px;order:1}
  .route-map-question{padding-top:27px}
  .route-map-question h3{font-size:26px}
  .route-map-option{min-height:59px;padding:11px 12px}.route-map-option-copy{font-size:14px}
  .route-map-controls{padding-top:20px}
  .route-map-visual{order:0;padding:17px 20px 14px;min-height:212px}
  .route-map-visual-top{font-size:9px}
  .route-map-diagram{height:126px;width:min(100%,315px);margin:8px auto 4px;transform:scale(.87);transform-origin:top center}
  .route-map-orbit-a{width:240px;height:180px}.route-map-orbit-b{width:190px;height:250px}
  .route-map-node{width:52px;height:52px;border-radius:16px}
  .route-map-node-start{left:calc(50% - 26px);top:1px}
  .route-map-node-site{left:calc(20% - 26px);top:68px}
  .route-map-node-system{left:calc(80% - 26px);top:68px}
  .route-map-node-ads,.route-map-node-end{top:135px}
  .route-map-node-ads{left:calc(20% - 26px)}.route-map-node-end{left:calc(80% - 26px)}
  .route-map-visual-note{bottom:-2px;font-size:11px;padding:6px 10px}
  .route-map-visual>p,.route-map-visual-index{display:none}
  .route-map-result{padding-top:20px}
}
@media(max-height:720px) and (min-width:761px){
 .route-map-layout{min-height:450px}.route-map-main{padding-top:26px}.route-map-question{padding-top:27px}.route-map-diagram{transform:scale(.88);transform-origin:top center;height:280px}
}
@media(prefers-reduced-motion:reduce){.route-map-launch,.route-map-option,.route-map-next,.route-map-progress>span,.route-map-path-active,.route-map-node{transition:none!important}.route-map-question{animation:none}}
