:root{color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;--brand:#7b3c82;--brand-dark:#660874;--brand-pale:#ebe5ef;--brand-mist:#f4f0f6;--paper:#f7f4ef;--paper-deep:#efe9f0;--card:#fffdfb;--ink:#241530;--ink-soft:#5e4e66;--rule:#dcd2de;--gold:#b08a3e;--gold-deep:#8a6a2a;--on-brand:#fffdfb;--danger:#a63d2f;--danger-dark:#7a2a20;--danger-pale:#f6e1dc;--success:#2f6b57;--success-pale:#dfece5;--home-surface:var(--paper-deep);--home-card:var(--card);--home-line:#d9cadf;--home-ink:var(--ink);--home-muted:var(--ink-soft);--home-accent:var(--brand);--focus:#660874;--shadow:0 18px 40px -24px #24153059;--workspace-gutter:clamp(24px, 4vw, 58px);--workspace-gap:32px;--green:var(--brand);--green-dark:var(--brand-dark);--green-pale:var(--brand-pale);--rust:var(--danger);--rust-pale:var(--danger-pale);font-family:Avenir Next,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html{background:var(--paper-deep);min-width:320px}body{background-color:var(--paper-deep);min-width:320px;min-height:100vh;margin:0}body:has(.app-shell[data-view=workspace]){background-color:var(--paper)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}:focus-visible{outline:3px solid var(--focus)}button{color:inherit;min-height:44px}button:not(:disabled){cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{border-inline:1px solid var(--rule);background:var(--paper);width:min(100% - 32px,1480px);min-height:100vh;margin:0 auto}.app-shell[data-view=workspace] .masthead,.app-shell[data-view=workspace] .workspace-heading{background:var(--paper-deep)}.masthead{min-height:88px;padding:16px var(--workspace-gutter);border-bottom:2px solid var(--ink);justify-content:space-between;align-items:center;display:flex}.wordmark{text-align:left;background:0 0;border:0;align-items:center;gap:13px;padding:0;display:flex}.wordmark-mark{width:54px;height:50px;color:var(--green);place-items:center;display:grid}.wordmark-map{width:100%;height:100%;display:block;overflow:visible}.map-sheet{fill:var(--brand-pale);stroke:currentColor;stroke-linejoin:round;stroke-width:1.5px}.map-fold{fill:none;stroke:var(--rule);stroke-width:1.2px}.map-route{fill:none;stroke:var(--gold);stroke-dasharray:2.5 2.5;stroke-linecap:round;stroke-width:2px}.map-stop{fill:var(--paper);stroke:var(--gold);stroke-width:2px}.map-pin{fill:var(--brand);stroke:var(--paper);stroke-width:.8px}.map-pin-dot{fill:var(--paper)}.wordmark strong,.wordmark small{display:block}.wordmark strong{letter-spacing:-.045em;font-family:Avenir Next,Helvetica Neue,Arial,sans-serif;font-size:1.34rem;font-weight:750;line-height:1.05}.brand-on{color:var(--brand)}.wordmark small{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;margin-top:5px;font-family:SFMono-Regular,Consolas,monospace;font-size:.64rem}.masthead-tools,.primary-nav,.toolbar-actions,.sheet-toolbar,.sheet-toolbar>div{align-items:center;gap:12px;display:flex}.primary-nav a{color:var(--ink);text-underline-offset:5px;font-size:.78rem;font-weight:650;text-decoration-thickness:1px}.folio,.eyebrow,.status-kicker{letter-spacing:.11em;text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace;font-size:.68rem}.button{border:1px solid var(--green);background:var(--green);min-height:44px;color:var(--on-brand);letter-spacing:.025em;border-radius:8px;padding:10px 17px;font-size:.8rem;font-weight:600;transition:background-color .14s,color .14s,transform .14s}.button:not(:disabled):hover{background:var(--green-dark)}.button-secondary{color:var(--green);background:0 0}.button-secondary:not(:disabled):hover{background:var(--green);color:var(--on-brand)}.text-button{background:0 0;border:0;border-bottom:1px solid;padding:6px 0;font-size:.78rem;font-weight:600}main{min-height:calc(100vh - 157px)}.workspace-heading{padding:44px var(--workspace-gutter) 36px;border-bottom:1px solid var(--rule)}.workspace-heading__content{max-width:720px}.eyebrow,.status-kicker{color:var(--gold-deep);margin:0 0 12px}h1,h2,p{margin-top:0}h1,h2{font-family:Iowan Old Style,Georgia,serif;font-weight:650}h1{letter-spacing:-.035em;max-width:700px;margin-bottom:0;font-size:clamp(2.5rem,5vw,4.8rem);line-height:.92}.workspace-heading .eyebrow{opacity:.72;margin-bottom:10px}.workspace-heading h1{font-size:clamp(2.8rem,5vw,4.5rem)}.workspace-note{max-width:48ch;color:var(--ink-soft);margin:16px 0 0;font-size:.96rem;line-height:1.6}.folio{color:var(--ink-soft);margin-bottom:27px}.form-sheet{background:var(--paper-deep);grid-area:main;min-width:0;margin-top:32px;padding:0 0 64px}.trip-form{width:100%;max-width:720px}.trip-form__toolbar .sheet-toolbar{margin-bottom:0}.trip-form__section{border-top:1px solid var(--rule);padding:28px 0}.trip-form__section h2{color:var(--ink);margin:0 0 20px;font-size:1.24rem;line-height:1.2}.trip-form__section-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;display:grid}.trip-form__field{align-content:start;gap:7px;display:grid}.trip-form__field--wide{grid-column:1/-1}.trip-form__label-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.trip-form__optional,.trip-form__unit,.trip-form__label-row output{color:var(--ink-soft);letter-spacing:.02em;text-transform:none;font-size:.72rem;font-weight:500}.trip-form__label-row output{color:var(--brand-dark);flex:none;font-weight:650}.trip-form__help,.trip-form__error{margin:0;font-size:.78rem;line-height:1.45}.trip-form__help{color:var(--ink-soft)}.trip-form__error{color:var(--danger-dark);font-weight:650}.trip-form__actions{border-top:1px solid var(--rule);justify-content:flex-end;padding-top:24px;display:flex}.trip-form__submit,.wizard-continue,.conflict-summary button{border:1px solid var(--green);background:var(--green);min-height:44px;color:var(--on-brand);border-radius:8px;padding:10px 16px;font-weight:700;transition:background-color .14s,border-color .14s}.trip-form__submit{min-width:190px}.trip-form__submit:not(:disabled):hover,.wizard-continue:not(:disabled):hover{border-color:var(--brand-dark);background:var(--brand-dark)}.wizard-continue{width:fit-content;min-width:190px;margin-top:32px;margin-left:auto;display:block}.form-sheet label,.inspector label{color:var(--ink-soft);letter-spacing:.065em;text-transform:uppercase;align-items:baseline;gap:8px;font-size:.75rem;font-weight:650;display:flex}input,select,textarea{border:0;border-bottom:1px solid var(--ink-soft);background:var(--card);width:100%;color:var(--ink);border-radius:6px 6px 0 0;padding:12px 10px}.app-shell[data-view=workspace] .trip-form input,.app-shell[data-view=workspace] .trip-form select{height:48px;min-height:48px}.app-shell[data-view=workspace] .trip-form input,.app-shell[data-view=workspace] .trip-form select,.app-shell[data-view=workspace] .trip-form textarea{background:var(--paper);transition:border-color .14s,background-color .14s,box-shadow .14s}.app-shell[data-view=workspace] .trip-form input:not(:disabled):hover,.app-shell[data-view=workspace] .trip-form select:not(:disabled):hover,.app-shell[data-view=workspace] .trip-form textarea:not(:disabled):hover{border-bottom-color:var(--brand)}.app-shell[data-view=workspace] .trip-form input:focus,.app-shell[data-view=workspace] .trip-form select:focus,.app-shell[data-view=workspace] .trip-form textarea:focus{border-bottom-color:var(--brand-dark);outline:3px solid var(--focus);outline-offset:2px}.app-shell[data-view=workspace] .trip-form [aria-invalid=true]{border-bottom-color:var(--danger);background:var(--danger-pale)}.app-shell[data-view=workspace] .trip-form :disabled{background:var(--brand-mist);color:var(--ink-soft)}input[type=radio],input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand);background:0 0;border:0;border-radius:0;flex:none;padding:0}textarea{resize:vertical;min-height:120px}.status-panel{border:1px solid var(--ink);background:var(--card);width:min(760px,100% - 40px);box-shadow:var(--shadow);align-items:center;gap:25px;margin:68px auto;padding:34px;display:flex}.status-panel h2{margin-bottom:7px;font-size:clamp(1.5rem,3vw,2.3rem)}.status-panel p:last-child{margin-bottom:0}.status-panel-error{border-color:var(--rust);background:var(--rust-pale);color:var(--danger-dark)}.inline-error{border:1px solid var(--rust);background:var(--rust-pale);color:var(--danger-dark);margin:0 0 20px;padding:12px 16px;font-size:.85rem}.status-symbol,.loader{border:1px solid;border-radius:50%;flex:0 0 52px;place-items:center;width:52px;height:52px;font-family:Iowan Old Style,Georgia,serif;font-size:1.7rem;display:grid}.loader:before{border:2px solid var(--green);content:"";border-top-color:#0000;border-radius:50%;width:17px;height:17px;animation:.8s linear infinite rotate}.route-layout{column-gap:var(--workspace-gap);min-height:690px;padding:0 var(--workspace-gutter);background:var(--paper-deep);grid-template-columns:minmax(0,3fr) minmax(230px,1fr);grid-template-areas:"main inspector";display:grid}.route-candidates{border-top:1px solid var(--rule);margin-top:32px;padding-top:24px}.route-candidates__heading,.route-candidate__topline{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.route-candidates__heading h2,.route-candidate h3{margin:4px 0 0}.route-candidates__note,.route-candidate p{color:var(--ink-soft);font-size:.88rem;line-height:1.5}.route-candidates__list{gap:12px;margin-top:20px;display:grid}.route-candidate{border:1px solid var(--rule);background:var(--paper);padding:18px}.route-candidate__topline strong{color:var(--green-dark);white-space:nowrap}.route-candidate__meta{font-size:.78rem!important}.route-candidate__budget{font-weight:700}.route-candidate__budget--within{color:var(--green-dark)!important}.route-candidate__budget--over{color:var(--ink)!important}.data-status{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}.route-canvas{background:var(--paper-deep);grid-area:main;min-width:0;margin-top:32px;padding:0 0 60px}.sheet-toolbar{border-bottom:1px solid var(--rule);justify-content:space-between;margin-bottom:28px;padding-bottom:16px}.save-control{align-items:center;gap:12px;display:flex}.save-control__state{color:var(--ink-soft);font-size:.78rem}.trip-menu{position:relative}.trip-menu__panel{z-index:20;border:1px solid var(--ink);background:var(--paper);width:min(320px,100vw - 40px);box-shadow:var(--shadow);padding:10px;position:absolute;top:calc(100% + 8px);right:0}.trip-menu__panel ul{gap:4px;margin:0 0 8px;padding:0;list-style:none;display:grid}.trip-menu__item{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;gap:2px;padding:10px 12px;display:grid}.trip-menu__item:hover,.trip-menu__item:focus-visible{border-color:var(--rule);background:var(--paper-deep)}.trip-menu__item[aria-current=true]{border-color:var(--green);background:var(--paper-deep)}.trip-menu__title{font-weight:700}.trip-menu__draft{color:var(--brand);letter-spacing:.08em;text-transform:uppercase;justify-self:start;font-size:.68rem;font-weight:700}.trip-menu__dates{color:var(--ink-soft);font-size:.75rem}.trip-menu__empty{color:var(--ink-soft);margin:6px 12px 10px;font-size:.85rem}.trip-menu__new{margin:0 12px 4px;display:block}.inspector{border:1px solid var(--rule);background:var(--paper);border-radius:8px;grid-area:inspector;align-self:start;margin-top:32px;position:sticky;top:24px}.inspector>*{padding:24px;position:static}.empty-inspector{text-align:left}.empty-inspector .folio{margin-bottom:16px}.empty-inspector h2{margin:20px 0 12px;font-size:1.65rem}.empty-inspector>p:last-child{color:var(--ink-soft);font-size:.85rem;line-height:1.65}.route-canvas article,.route-canvas [class*=day]{scroll-margin-top:20px}.conflict-summary__header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:18px;display:flex}.conflict-summary__header h2{margin-bottom:5px;font-size:1.65rem}.conflict-summary__code{letter-spacing:.05em;text-transform:uppercase;min-height:28px;color:var(--rust);background:var(--rust-pale);border:1px solid;align-items:center;padding:5px 8px;font-family:SFMono-Regular,Consolas,monospace;font-size:.65rem;font-weight:700;display:inline-flex}.conflict-summary__list{margin:0;padding:0;list-style:none}.conflict-summary{border:1px solid var(--rust);background:var(--rust-pale);margin-bottom:28px;padding:20px}.conflict-summary__issue{padding-top:18px}.conflict-summary__issue-header h3{margin:10px 0;font-size:1rem}.conflict-summary__metrics{gap:28px;margin:12px 0;display:flex}.conflict-summary__metrics div{gap:3px;display:grid}.conflict-summary__metrics dt{color:var(--danger-dark);text-transform:uppercase;font-size:.68rem}.conflict-summary__metrics dd{margin:0;font-weight:800}.conflict-summary__resolutions ul{margin:8px 0 0;padding-left:20px}.landing-actions{flex-wrap:wrap;align-items:center;gap:14px 20px;display:flex}.landing-primary{min-width:180px}.auth-gate{grid-template-columns:minmax(0,1fr) minmax(340px,480px);gap:clamp(45px,8vw,120px);max-width:1180px;min-height:650px;margin:0 auto;padding:clamp(55px,8vw,110px) clamp(24px,6vw,80px);display:grid}.auth-gate__intro h1{font-size:clamp(3rem,6vw,5.8rem)}.auth-gate__intro>p:not(.eyebrow){max-width:52ch;color:var(--ink-soft);margin:30px 0;line-height:1.7}.auth-panel{align-self:start}footer{padding:17px var(--workspace-gutter);border-top:1px solid var(--ink);letter-spacing:.07em;justify-content:space-between;gap:18px;font-family:SFMono-Regular,Consolas,monospace;font-size:.62rem;display:flex}@keyframes rotate{to{transform:rotate(360deg)}}@media (width<=900px){.masthead{gap:24px}.primary-nav a{display:none}.auth-gate{grid-template-columns:1fr}.route-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"main""inspector";row-gap:24px}.route-layout--constraints{grid-template-areas:"inspector""main"}.form-sheet,.route-canvas{margin-top:24px}.route-layout--constraints .form-sheet{margin-top:0}.inspector,.route-layout--constraints .inspector{margin:0 0 32px;position:static}.route-layout--constraints .inspector{margin-top:24px;margin-bottom:0}}@media (width<=650px){.app-shell{border-inline:0;width:100%}.masthead{align-items:center;gap:12px;padding:16px 18px}.wordmark-mark{width:44px;height:42px}.primary-nav{margin-left:auto}.primary-nav .text-button{display:none}.primary-nav .button{min-height:42px;padding:8px 10px;font-size:.67rem}.masthead-tools{flex-direction:column;align-items:flex-end}.masthead .button{max-width:150px;min-height:44px;padding:7px 10px;font-size:.69rem}.wordmark small{display:none}.auth-gate{gap:45px;padding:55px 20px}.auth-panel{min-width:0;padding:20px}.workspace-heading{padding:32px 20px 28px}.workspace-heading h1{font-size:clamp(2.6rem,13vw,4rem)}.workspace-note{margin-top:12px;font-size:.9rem}.route-layout{padding-inline:20px}.trip-form__section-fields{grid-template-columns:1fr}.trip-form__field{grid-column:1}.trip-form__actions{padding-top:20px}.trip-form__submit{width:100%}.conflict-summary__header{flex-direction:column}.form-sheet,.route-canvas{padding-bottom:48px}.inspector>*{padding:20px}.route-layout--constraints .booking-stepper{margin:0}.route-layout--constraints .booking-stepper ol{grid-template-columns:repeat(4,minmax(0,1fr))}.route-layout--constraints .booking-stepper li{text-align:center;border-left:0;flex-direction:column;gap:7px;margin:0;padding:0 2px}.route-layout--constraints .booking-stepper li:before{z-index:0;background:var(--rule);content:"";height:2px;position:absolute;top:11px;left:0;right:0}.route-layout--constraints .booking-stepper li:first-child:before{left:50%}.route-layout--constraints .booking-stepper li:last-child:before{right:50%}.route-layout--constraints .booking-stepper__marker{z-index:1;margin-left:0}.route-layout--constraints .booking-stepper__label{font-size:.68rem;line-height:1.25}.sheet-toolbar,.sheet-toolbar>div,.toolbar-actions{align-items:flex-start}.sheet-toolbar{gap:20px}.sheet-toolbar,.toolbar-actions{flex-direction:column}footer{flex-direction:column;padding:15px 20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.auth-panel{border:1px solid var(--rule);background:var(--card);box-shadow:var(--shadow);gap:.5rem;padding:1.5rem;display:grid}.auth-panel h2{margin:0}.auth-panel label{letter-spacing:.08em;text-transform:uppercase;margin-top:.5rem;font-size:.8rem}.auth-panel input{border:1px solid var(--rule);font:inherit;min-height:44px;padding:.65rem .75rem}.auth-panel__hint{opacity:.75;margin:0;font-size:.85rem}.auth-panel__message{color:var(--green-dark);border-left:3px solid var(--green);margin:.5rem 0;padding-left:.75rem}.auth-panel__error{color:var(--rust);border-left:3px solid var(--rust);margin:.5rem 0;padding-left:.75rem}.auth-panel__resend{justify-self:start}.auth-panel__forgot{justify-self:start;margin-top:-.25rem}.auth-panel .toolbar-actions{margin-top:1rem}.lodging-selector{gap:1.5rem;display:grid}.lodging-selector__day{border:1px solid var(--rule);gap:.75rem;padding:1rem 1.25rem;display:grid}.lodging-selector__day legend{padding:0 .25rem;font-weight:700}.lodging-selector__options{gap:.75rem;display:grid}.lodging-selector__option{border:1px solid var(--rule);background:var(--card);cursor:pointer;border-radius:10px;align-items:center;gap:.9rem;padding:.85rem 1rem;transition:border-color .14s,background-color .14s;display:flex}.lodging-selector__option:hover{border-color:var(--brand)}.lodging-selector__option:has(input:checked){border-color:var(--brand);background:var(--brand-mist);box-shadow:inset 0 0 0 1px var(--brand)}.lodging-selector__option-name{flex:1}.lodging-selector__option-price{font-weight:700}.lodging-selector__badge{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);border:1px solid var(--rule);padding:.15rem .4rem;font-size:.7rem}.lodging-selector__clear{justify-self:start}.lodging-selector__empty{color:var(--ink-soft)}.trip-summary{gap:1.5rem;display:grid}.trip-summary__route{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.trip-summary__day{border-left:3px solid var(--rule);padding-left:.75rem}.trip-summary__lodging{margin:.25rem 0 0;font-weight:700}.trip-summary__totals{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);gap:.5rem;padding:1rem 0;display:grid}.trip-summary__totals div{justify-content:space-between;display:flex}.trip-summary__totals dt{font-weight:600}.trip-summary__total--over-budget{color:var(--rust);font-weight:700}.trip-summary__warning{color:var(--rust);border-left:3px solid var(--rust);margin:0;padding-left:.75rem}.trip-summary__party{color:var(--ink-soft);margin:0;font-size:.88rem}.trip-summary__coverage{color:var(--ink-soft);margin:0;font-size:.8rem;line-height:1.5}.trip-form__mode{border:0;border-top:1px solid var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:28px 0;display:grid}.trip-form__mode legend{float:left;letter-spacing:.08em;text-transform:uppercase;width:100%;color:var(--ink-soft);grid-column:1/-1;margin:0 0 12px;padding:0;font-size:.78rem;font-weight:700}.trip-form__mode-option{border:1px solid var(--rule);background:var(--paper);cursor:pointer;border-radius:8px;align-items:flex-start;gap:12px;min-height:48px;padding:14px 16px;transition:border-color .12s,box-shadow .12s;display:flex}.form-sheet .trip-form__mode-option{color:var(--ink);letter-spacing:0;text-transform:none;align-items:flex-start;font-size:1rem;font-weight:400}.app-shell[data-view=workspace] .trip-form .trip-form__mode-option input{width:18px;height:18px;min-height:0;accent-color:var(--brand);background:0 0;border:0;border-radius:50%;flex:none;margin:2px 0 0;padding:0}.trip-form__mode-option:hover{border-color:var(--brand)}.trip-form__mode-option:focus-within{outline:2px solid var(--brand);outline-offset:2px}.trip-form__mode-option--selected{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.trip-form__mode-option span{gap:4px;display:grid}.trip-form__mode-option strong{color:var(--ink);font-size:.95rem}.trip-form__mode-option small{color:var(--ink-soft);font-size:.8rem;line-height:1.4}@media (width<=720px){.trip-form__mode{grid-template-columns:1fr}}.booking-stepper{text-align:left;margin:1.5rem 0}.booking-stepper ol{gap:0;margin:0;padding:0;list-style:none;display:grid}.booking-stepper li{border-left:2px solid var(--rule);align-items:center;gap:.75rem;margin-left:.6rem;padding:.6rem 0 .6rem 1rem;display:flex;position:relative}.booking-stepper li:first-child{border-top-left-radius:2px}.booking-stepper__marker{border:1px solid var(--rule);background:var(--card);border-radius:50%;flex:none;place-items:center;width:1.5rem;height:1.5rem;margin-left:-1.85rem;font-size:.7rem;font-weight:700;display:grid}.booking-stepper li[data-status=complete]{border-left-color:var(--green)}.booking-stepper li[data-status=complete] .booking-stepper__marker{background:var(--green);border-color:var(--green);color:var(--on-brand)}.booking-stepper li[data-status=current] .booking-stepper__marker{border-color:var(--ink);font-weight:700}.booking-stepper li[data-status=current] .booking-stepper__label{font-weight:700}.booking-stepper li[data-status=upcoming] .booking-stepper__label{color:var(--ink-soft)}.booking-stepper li[data-reachable=true] .booking-stepper__label{color:var(--green-dark)}.booking-stepper__label{font:inherit}button.booking-stepper__label{cursor:pointer;color:var(--green-dark);text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.app-shell[data-view=home]{background:radial-gradient(900px 620px at 86% 42%, #ffffffb3, transparent 70%), var(--home-surface);background-color:var(--home-surface);color:var(--home-ink);border-inline-color:#0000}.app-shell[data-view=home] .masthead{border-bottom-color:var(--home-line)}.app-shell[data-view=home] .primary-nav a{color:var(--home-muted);text-decoration:none}.app-shell[data-view=home] .primary-nav a:hover{color:var(--home-accent)}.app-shell[data-view=home] footer{border-top-color:var(--home-line);color:var(--home-muted)}.landing-page{overflow:hidden}.landing-hero{grid-template-rows:1fr auto;grid-template-columns:minmax(0,1.25fr) minmax(300px,.8fr);column-gap:clamp(32px,6vw,110px);max-width:1440px;min-height:calc(100vh - 157px);margin:0 auto;padding:clamp(24px,4vh,48px) clamp(24px,5vw,64px) 28px;display:grid}.landing-hero__copy{flex-direction:column;justify-content:center;min-width:0;display:flex}.landing-pill{border:1px solid var(--home-line);background:var(--home-card);color:var(--brand);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;align-self:flex-start;margin:0;padding:8px 14px;font-size:.7rem;font-weight:700}.landing-hero h1{color:var(--home-ink);letter-spacing:-.035em;text-wrap:balance;margin:clamp(22px,4vh,40px) 0 0;font-family:Avenir Next,Helvetica Neue,Arial,sans-serif;font-size:clamp(2.6rem,min(6vw,9.4vh),5.4rem);font-weight:800;line-height:.98}.landing-hero h1 em{color:var(--home-accent);font-style:normal;display:block}.landing-hero__lede{max-width:36ch;color:var(--home-muted);text-wrap:pretty;margin:24px 0 0;font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.6}.landing-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.landing-page .button,.primary-nav .button{letter-spacing:0;border-radius:10px;min-height:48px;padding:0 24px;font-size:.9rem;font-weight:700}.landing-primary{border-color:var(--brand);background:var(--brand);color:var(--on-brand)}.landing-primary:not(:disabled):hover{border-color:var(--brand-dark);background:var(--brand-dark)}.landing-secondary{border-color:var(--brand);background:var(--home-card);color:var(--brand);white-space:nowrap}.landing-secondary:not(:disabled):hover{border-color:var(--brand-dark);background:var(--brand-pale);color:var(--brand-dark)}.landing-promises{align-content:center;gap:16px;margin:0;padding:0;list-style:none;display:grid}.landing-promise{border:1px solid var(--home-line);background:var(--home-card);border-radius:16px;grid-template-columns:52px 1fr;align-items:center;gap:20px;padding:22px 24px;display:grid;box-shadow:0 14px 34px -26px #66087473}.landing-promise__check{background:var(--brand);width:52px;height:52px;color:var(--on-brand);border-radius:12px;place-items:center;display:grid}.landing-promise__check svg{width:24px;height:24px}.landing-promise__label{color:var(--brand);letter-spacing:-.02em;font-size:clamp(1.45rem,2.1vw,1.9rem);font-weight:800;line-height:1.1;display:block}.landing-promise__text{color:var(--home-muted);margin-top:6px;font-size:.9rem;line-height:1.45;display:block}.landing-road{grid-column:1;align-self:end;margin-top:24px}.landing-road svg{width:min(100%,640px);height:auto;display:block;overflow:visible}.landing-road__path{fill:none;stroke:var(--brand);stroke-width:3px;stroke-linecap:round;stroke-dasharray:2 12;opacity:.8}.landing-road__stop,.landing-road__pin-body{fill:var(--brand)}.landing-road__pin-body{filter:drop-shadow(0 3px 3px #66087447)}.landing-road__pin-dot{fill:var(--home-card)}.landing-road__label{fill:var(--home-muted);letter-spacing:.09em;font-size:11px;font-weight:700}.landing-road__label--end{fill:var(--brand);font-size:12px;font-weight:800}.landing-road p{color:var(--home-muted);margin:10px 0 0;font-size:1.02rem}.landing-road p strong{color:var(--brand)}@media (prefers-reduced-motion:no-preference){.landing-road__path{animation:18s linear infinite landing-drive}@keyframes landing-drive{to{stroke-dashoffset:-280px}}}@media (width<=900px){.landing-hero{grid-template-rows:none;grid-template-columns:1fr;min-height:0}.landing-promises{margin-top:36px}.landing-road{margin-top:32px}.landing-road__label{letter-spacing:.04em;font-size:15px}.landing-road__label--end{font-size:15px}}.route-map{gap:20px;display:grid}.route-map__stage{gap:8px;display:grid}.route-map__canvas{border:1px solid var(--rule);background:var(--card);border-radius:8px;height:clamp(320px,52vh,520px);overflow:hidden}.route-map__canvas--loading{color:var(--ink-soft);place-items:center;font-size:.85rem;display:grid}.route-map__hint{color:var(--ink-soft);margin:0;font-size:.8rem}.route-map__empty{color:var(--ink-soft);margin:0}.route-map__marker{border:2px solid var(--card);background:var(--brand);width:30px;height:30px;color:var(--on-brand);cursor:pointer;border-radius:50%;place-items:center;padding:0;font-size:.78rem;font-weight:800;display:grid;box-shadow:0 2px 6px #24153059}.route-map__marker--selected{background:var(--brand-dark);outline:3px solid var(--brand-pale);width:36px;height:36px}.route-map__body{gap:16px;display:grid}.route-map__sequence{gap:0;margin:0;padding:0;list-style:none;display:grid}.route-map__sequence>li{display:grid}.route-map__stop,.route-map__leg{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;display:grid}.route-map__stop{grid-template-columns:28px minmax(0,1fr) auto;gap:12px;min-height:48px;padding:8px 12px}.route-map__stop-number{background:var(--brand);width:26px;height:26px;color:var(--on-brand);border-radius:50%;place-items:center;font-size:.75rem;font-weight:800;display:grid}.route-map__stop-name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.route-map__stop-meta{color:var(--ink-soft);font-size:.78rem}.route-map__leg{border-left:2px dashed var(--rule);width:auto;min-height:40px;color:var(--ink-soft);border-radius:0 8px 8px 0;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;margin-left:24px;padding:6px 12px 6px 22px;font-size:.8rem}.route-map__leg-mode{color:var(--brand);font-weight:700}.route-map__stop:hover,.route-map__leg:hover{background:var(--brand-mist)}.route-map__stop--selected,.route-map__leg--selected{border-color:var(--brand);background:var(--brand-mist)}.route-map__leg--selected{border-left:2px solid var(--brand)}.route-map__leg--conflict{border-left-color:var(--danger);color:var(--danger-dark)}.route-map__badge{color:var(--gold-deep);letter-spacing:.05em;text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace;font-size:.62rem;font-weight:700}.route-map__badge--verified{color:var(--brand)}.route-map__add,.route-map__replace{gap:8px;display:grid}.route-map__add>label,.route-map__replace>label,.route-map__details>label{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}.route-map__add-row{grid-template-columns:minmax(0,1fr) auto auto;gap:8px;display:grid}.route-map__replace .route-map__add-row{grid-template-columns:minmax(0,1fr) auto}.route-map input,.route-map select{border:1px solid var(--rule);background:var(--paper);min-height:44px;color:var(--ink);font:inherit;border-radius:8px;padding:8px 12px}.route-map input:focus,.route-map select:focus{border-color:var(--brand);outline:2px solid var(--brand-pale)}.route-map__visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.route-map__details{border:1px solid var(--rule);background:var(--card);border-radius:8px;gap:12px;padding:20px;display:grid}.route-map__details h3{margin:0;font-family:Iowan Old Style,Georgia,serif;font-size:1.35rem}.route-map__details p{margin:0}.route-map__eyebrow{color:var(--gold-deep);letter-spacing:.09em;text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace;font-size:.68rem}.route-map__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.route-map__modes{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.route-map__modes legend{width:100%;color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;padding:0;font-size:.72rem;font-weight:700}.route-map__mode{border:1px solid var(--rule);background:var(--paper);cursor:pointer;border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:8px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.route-map .route-map__mode input{min-height:0;accent-color:var(--brand);margin:0;padding:0}.route-map__mode--selected{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.route-map__facts{flex-wrap:wrap;gap:28px;margin:0;display:flex}.route-map__facts div{gap:3px;display:grid}.route-map__facts dt{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem}.route-map__facts dd{margin:0;font-weight:700}.route-map__facts small{color:var(--ink-soft);font-weight:500}.route-map__conflict{border-left:3px solid var(--danger);background:var(--danger-pale);color:var(--danger-dark);padding:10px 12px;font-size:.85rem}.route-map__note{color:var(--ink-soft);font-size:.8rem}@media (width<=650px){.route-map__canvas{height:320px}.route-map__add-row{grid-template-columns:minmax(0,1fr)}.route-map__leg{grid-template-columns:auto minmax(0,1fr);margin-left:12px}.route-map__leg .route-map__badge{grid-column:2}}
