:root{--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:999px;--surface-page:#f6f6f4;--surface-panel:#ffffff;--surface-muted:#f3f3f0;--border-default:#e6e6e2;--border-strong:#d4d4cf;--ink:#1f1e1d;--ink-muted:#6b6a66;--peach-50:#f5ebe6;--brand-color:#cc785c;--brand-deep:#b8674e;--primary-stroke:#a35a43;--brand-hover:#d97757;--on-brand:#ffffff;--success-green:#00a800;--form-shadow:0 12px 40px 0 #1f1e1d1f;--card-shadow:0 1px 2px 0 #1f1e1d0a,0 4px 12px 0 #1f1e1d0c;--button-shadow:0 1px 3px 0 #1f1e1d1a;--button-hover-shadow:0 4px 12px 0 #1f1e1d24;--font-ui:var(--font-lexend),"Lexend Deca",system-ui,sans-serif;--font-wordmark:Georgia,"Times New Roman",serif;--max-width:1120px;--header-h:72px}*,:after,:before{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;min-height:100vh;font-family:var(--font-ui);font-weight:400;color:var(--ink);background:var(--surface-page);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.02em;line-height:1.15}p{line-height:1.6}p,ul{margin:0}ul{padding:0;list-style:none}:focus-visible{outline:2px solid var(--brand-color);outline-offset:3px}.container{width:min(100% - 2.5rem,var(--max-width));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes cabinRide{0%,to{transform:translateY(0)}50%{transform:translateY(48px)}}@keyframes routeDraw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes dashFlow{to{stroke-dashoffset:-16}}@keyframes mapPan{0%{transform:translate(0)}50%{transform:translate(-18px,-12px)}to{transform:translate(0)}}@keyframes mapScan{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes pinRipple{0%{transform:scale(.85);opacity:.7}to{transform:scale(1.55);opacity:0}}@keyframes pulsePin{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.85}}@keyframes slideInJob{0%{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}@keyframes statusBlink{0%,to{opacity:1}50%{opacity:.45}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}