/* RouteNinja: preserve the proven journey, with a red/black identity. */
:root{--red:#ff414e;--mint:#ff414e;--purple:#ffa2ae;--bg:#090909;--panel:#171214;--line:#3b2931;--muted:#bbaeb3}

body{background:radial-gradient(ellipse at 8% 24%,#35101b55,transparent 45%),#090909}
.site-header{height:96px}.brand{font-size:26px;letter-spacing:-.065em;gap:10px}.brand img{flex:none}.brand-red{color:var(--red)}.brand small{letter-spacing:.21em;font-size:8px;margin-top:1px}.preview-badge{color:#d9bcc5;border-color:#55303b}.preview-badge i,.status-dot{box-shadow:0 0 12px #ff414e66}
.entry-grid{gap:38px 72px;padding-top:30px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.nfc-warning{grid-column:1/-1;display:flex;align-items:center;gap:18px;border:1px solid #a8424a;border-left:5px solid #ff5965;background:linear-gradient(100deg,#39121c,#1b1114);border-radius:17px;padding:21px 24px}.nfc-warning svg{width:36px;height:36px;flex:none;fill:none;stroke:#ff8991;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.nfc-warning h2{font-size:20px;letter-spacing:-.035em;margin:4px 0}.nfc-warning p{font-size:13px;color:#dcbcc6;margin:6px 0 0;max-width:740px}.notice-label{font-size:9px;font-weight:700;letter-spacing:.17em;color:#ff939d}.nfc-chip{margin-left:auto;white-space:nowrap;letter-spacing:.09em;font-size:9px;border:1px solid #9b3d4e;border-radius:7px;padding:7px 10px;color:#ffd2d8;background:#64172c44}
.introduction{padding-top:16px}.introduction h1{font-size:clamp(58px,6.4vw,83px);font-weight:600;letter-spacing:-.075em;margin:24px 0 19px;line-height:1.02}.introduction .lead{font-size:20px;line-height:1.6;max-width:440px;color:#ddcdd4}.eyebrow{color:#ff9ba9}.free-preview{border-left:2px solid #ff414e;padding:2px 0 4px 21px;margin:30px 0}.free-label{font-size:9px;letter-spacing:.16em;font-weight:700;color:#ff8d9e}.free-preview h2{font-size:26px;line-height:1.22;letter-spacing:-.045em;margin:10px 0}.free-preview p{font-size:17px;color:#d4bdc8;margin:6px 0}.hero-link{color:#ff8b9c;text-decoration:none;font-size:13px;font-weight:700;display:inline-flex;gap:23px;margin-top:10px}.hero-link:hover{color:#fff}.promise-list{font-size:16px;line-height:1.5;gap:10px;color:#e5d9df;margin:24px 0}
.ninja-scene{position:relative;display:flex;align-items:center;gap:0;min-height:180px;margin:8px -25px -10px}.ninja-art{width:63%;flex:none}.ninja-character{display:block;width:100%;height:auto}.scene-caption{font-size:12px;padding-right:10px}.scene-caption small{font-size:10px;line-height:1.6;max-width:145px}.independent-note{color:#ad939f;font-size:10px;line-height:1.7;margin-top:9px;max-width:480px}
.form-card{padding:28px 30px;background:linear-gradient(145deg,#21171d,#120f11);border-color:#5c303f;box-shadow:0 22px 80px #0008,0 0 50px #c3122910}.form-step>.muted{font-size:14px}.demo-note{color:#dbc4ce;background:#2b1b24;border-color:#5f3c4c}.demo-fill{color:#e1bfcc;background:#24141e;border-color:#784358}.form-step h2{font-size:28px}.primary{color:#fff;background:#e8253e;box-shadow:0 5px 25px #db153322;min-height:46px}.primary:hover{background:#ff3d54}.secondary{background:#2c1b25;border-color:#6e4055}.check-row input{accent-color:#eb2945}.check-row{font-size:12px}.form-bottom{font-size:11px;color:#b79aa9}.field-note{font-size:11px;color:#bda4af}.mileage-note{margin-top:9px}.mileage-note b{color:#e1c0cf}#mileage::placeholder{font-size:12px;color:#a38d97}#signatureName[readonly]{color:#edcedc;background:#23151e;border-color:#603c4f;cursor:default}.choice{min-height:87px;background:#1b1118}.choice b{font-size:14px}.choice small{font-size:11px;line-height:1.5}.choice.selected{background:#551b2e66}.signature-pad{background:#100a0f}.signature-pad>span{color:#bc9dad}.trust-strip{font-size:10px;color:#b294a3}.step-track i{background:#472d3b}.text-button{color:#c0a2b2}
.windmill i{background:linear-gradient(135deg,#ff849b,#ba173a)}.windmill i:nth-child(2),.windmill i:nth-child(4){background:linear-gradient(135deg,#f1c2d2,#95415c)}.windmill b{color:#200a12}.captured-address{background:#4d142655;color:#ffa8bc}.saving-cards article{background:linear-gradient(130deg,#4e1729,#1d0e15);border-color:#9e3651}.saving-cards article:nth-child(2){background:linear-gradient(130deg,#2e1a23,#171014);border-color:#67404f}.saving-cards span{color:#ecc0cf}.saving-cards strong{color:#ff7d92}.comparison-card.selected{background:linear-gradient(140deg,#3e1828,#1c0e16);border-color:#b24762}.comparison-card.selected dd,.comparison-card.selected .comparison-label{color:#ff91a8}.route-option.selected{border-color:#ed3c5e;background:#57172d55}.apply-card{background:linear-gradient(140deg,#351a29,#150e14);border-color:#734053}.day-before-after>div+div{background:#391524;border-color:#a84361}.day-choice.selected{background:#511b32;border-color:#f54d72}.day-timing.clear{border-color:#e993a9;background:#3a1b28}.complete-mark{color:#ff879f;background:#55172b66;border-color:#b14d68}.scene-orbit{display:none}dialog{background:#1d111a;border-color:#795064}.brand:focus-visible,.hero-link:focus-visible{outline:3px solid #ff9dad;outline-offset:5px}
@media(max-width:1050px){.entry-grid{gap:30px 36px}.nfc-chip{display:none}.ninja-scene{margin-left:-18px;margin-right:-10px}.scene-caption{font-size:11px}.form-card{padding:24px}.introduction .lead{font-size:18px}.promise-list{font-size:15px}}
@media(max-width:720px){.site-header{height:80px}.brand{font-size:23px}.brand img{width:39px;height:39px}.brand small{font-size:7px}.entry-grid{grid-template-columns:minmax(0,1fr);gap:26px;padding-top:20px}.nfc-warning{padding:16px 15px;gap:12px;align-items:flex-start;border-radius:13px}.nfc-warning svg{width:27px;height:27px;margin-top:3px}.nfc-warning h2{font-size:17px;line-height:1.35}.nfc-warning p{font-size:12px;line-height:1.55}.notice-label{font-size:8px}.introduction h1{font-size:62px;margin-top:19px}.introduction .lead{font-size:18px}.free-preview{margin:22px 0;padding-left:16px}.free-preview h2{font-size:25px}.free-preview p{font-size:16px}.promise-list{display:grid;font-size:15px;margin:23px 0 0;gap:9px}.ninja-scene{display:flex;max-width:420px;margin:5px 0 -8px;min-height:125px}.ninja-art{width:61%}.scene-caption{font-size:11px}.independent-note{display:block;font-size:9px}.form-column{max-width:none}.form-card{padding:23px 21px}.trust-strip{font-size:9px;gap:12px}.two-fields{gap:10px}.form-step h2{font-size:26px}.saving-cards strong{font-size:40px}.preview-badge{font-size:8px}footer{font-size:9px}}

:root{--gain:#78edaf;--gain-border:#3c9168;--gain-panel:#10291f}
/* Green denotes an improvement or a suggested preference, not a timing guarantee. */
.saving-cards article,.saving-cards article:nth-child(2){background:linear-gradient(135deg,#18362a,#101c17);border-color:var(--gain-border)}
.saving-cards article span{color:#b7dbc8}.saving-cards article strong,.saving-cards article:nth-child(2) strong{color:var(--text)}
.comparison-card.selected{background:linear-gradient(140deg,#17261e,#101813);border-color:#395d48}.comparison-card.selected dd{color:var(--text)}
.comparison-card.selected .comparison-label,.comparison-selection{color:#b8d9c5}
.route-option.is-suggested{border-color:var(--gain-border);background:linear-gradient(110deg,#132b20,#151a17)}
.route-option.is-suggested .tag{color:var(--gain)}.route-option.selected{border-color:var(--gain-border);box-shadow:inset 3px 0 0 var(--gain)}
.route-option .route-saving{color:var(--text)}
.day-before-after>div+div{background:var(--gain-panel);border-color:#426e55}.day-before-after>div+div strong{color:var(--text)}
.day-choice.is-suggested{background:#132c20;border-color:var(--gain-border)}.day-choice.is-suggested small{color:var(--gain)}
.day-choice.selected{box-shadow:inset 0 0 0 1px #d8e5dd;border-color:#bfd0c5}
.day-timing.clear{background:#132d21;border-color:var(--gain)}.day-timing.clear b,.day-timing.clear p{color:#b9edcf!important}
/* Specificity wins over the red brand styles below; worse and unchanged figures stay distinct. */
body .is-improvement{color:var(--gain)!important}body .is-worse{color:#ffd29b!important}
.route-controls{border:1px solid #533440;border-radius:20px;background:linear-gradient(135deg,#21151c,#141012);padding:22px;margin:0 0 20px}.controls-heading h2{font-size:23px;margin:8px 0}.controls-heading p{font-size:12px;color:var(--muted);margin:0 0 17px}.rule-switch-row{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #50313c;padding-top:17px;margin-top:17px}.rule-switch-row>div{min-width:0}.rule-switch-row>div>label{margin:0;color:var(--text);font-size:14px;font-weight:700}.rule-switch-row label small{display:block;color:#c19bac;font-size:10px;font-weight:400;margin-top:3px}.rule-switch-row p{font-size:11px;line-height:1.6;color:var(--muted);margin:5px 0}.rule-help{font-size:10px;line-height:1.7;color:#bba2af;margin:8px 0 0}.ninja-switch{position:relative;flex:none;width:54px;min-height:50px;margin:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px}.ninja-switch input{position:absolute;opacity:0;width:54px;height:30px;margin:0;cursor:pointer}.ninja-switch>span{pointer-events:none;display:block;width:50px;height:28px;border:1px solid #866071;border-radius:99px;background:#382631;transition:background .18s,border-color .18s}.ninja-switch>span::after{content:'';display:block;width:20px;height:20px;border-radius:50%;background:#e1d5db;margin:3px;transform:translateX(0);transition:transform .18s}.ninja-switch input:checked+span{background:#236443;border-color:#65ca93}.ninja-switch input:checked+span::after{transform:translateX(22px);background:#b5f4cd}.ninja-switch input:focus-visible+span{outline:3px solid #ff9dad;outline-offset:4px}.switch-state{font-size:10px;font-weight:400;color:#dfc7d3}.collection-cost{font-size:12px;line-height:1.7;color:#efcfa0;background:#39271966;border:1px solid #725236;padding:11px 13px;border-radius:12px;margin:11px 0}.option-rules{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.option-rules span{font-size:9px;line-height:1.5;color:#d7c5ce;border:1px solid #624252;border-radius:6px;padding:3px 6px;background:#1d141a}.option-rules .warning{color:#ffd29b;border-color:#9f693a;background:#3b291b}.route-option>div{min-width:0}.route-option small{display:block;line-height:1.65;margin-top:6px}.route-option h3{font-size:16px;line-height:1.4}
@media(max-width:720px){.route-controls{padding:18px 16px}.rule-switch-row{gap:13px}.rule-switch-row>div>label{font-size:13px}.route-option{padding:16px;gap:10px}.route-option h3{font-size:15px}.route-option .route-saving{font-size:18px}.option-rules span{font-size:8px}.controls-heading h2{font-size:21px}}
