:root{font-family:Avenir Next,Avenir,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#193d33;background:#fafbf8;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #193d33;--muted: #5c6d64;--accent: #c4472a;--accent-hover: #ab3920;--paper: #fafbf8;--surface: #fff;--tint: #eef2e9;--line: #dce3d8;--radius: 12px;--radius-lg: 22px;--shadow: 0 8px 32px #193d330a;color-scheme:light}@media(prefers-reduced-motion:no-preference){::view-transition-old(root){animation:.18s ease-in both fade-out-page}::view-transition-new(root){animation:.22s ease-out both fade-in-page}@keyframes fade-out-page{to{opacity:0}}@keyframes fade-in-page{0%{opacity:0}}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;min-width:320px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-underline-offset:4px}img{display:block;max-width:100%}svg{flex-shrink:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:750;text-wrap:balance}p{line-height:1.7}h2{font-size:clamp(27px,3vw,40px);line-height:1.18;letter-spacing:-1.2px}h3{font-size:19px;letter-spacing:-.4px;line-height:1.35}small,.small-copy{color:var(--muted);font-size:12px;line-height:1.65}html:not([data-input-method=pointer]) :focus-visible{outline:3px solid #28766d;outline-offset:4px}html[data-input-method=pointer] :is(a,button,input,select,[tabindex]):focus-visible{outline:none}main[tabindex="-1"]:focus{outline:none}.container{width:min(1200px,calc(100% - 80px));margin-inline:auto}.section{padding-block:90px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:10000;left:16px;top:-100px;padding:14px 20px;background:var(--ink);color:#fff;border-radius:var(--radius)}.skip-link:focus{top:16px}.site-header{position:sticky;top:0;z-index:1000;height:80px;max-width:1360px;margin-inline:auto;padding:0 40px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:inline-flex;gap:9px;align-items:center;text-decoration:none;font-size:22px;font-weight:800;letter-spacing:-.9px;white-space:nowrap}.brand img{width:40px;height:40px}.header-actions{display:flex;gap:28px;align-items:center}.header-link{display:inline-flex;gap:8px;align-items:center;font-size:14px;font-weight:650;text-decoration:none}.header-link:hover{color:var(--accent)}.language-switch{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:8px 16px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:14px;font-weight:650;cursor:pointer}.language-switch:hover{border-color:#aebfae;background:#f1f5ec}html:not([data-input-method=pointer]) .language-switch:focus-within{outline:3px solid #28766d;outline-offset:3px}.language-switch select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.language-code{display:none}.button{display:inline-flex;min-height:48px;padding:13px 22px;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:var(--radius);text-decoration:none;font-size:14px;font-weight:700;line-height:1.4;transition:background .15s,transform .15s}.button:hover{transform:translateY(-1px)}.primary{color:#fff;background:var(--accent)}.primary:hover:not(:disabled){background:var(--accent-hover)}.secondary{color:var(--ink);background:var(--surface);border-color:var(--line)}.secondary:hover{background:var(--tint)}.text-link{border:0;background:none;padding:6px 0;display:inline-flex;align-items:center;gap:7px;color:var(--ink);font-size:13px;font-weight:650;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.text-link:hover{color:var(--accent)}.icon-button{border:0;border-radius:8px;background:transparent;display:inline-grid;place-items:center;width:40px;height:40px;flex:0 0 auto}.icon-button:hover{background:var(--tint)}.eyebrow{margin-bottom:22px;color:var(--muted);font-size:10px;font-weight:750;letter-spacing:1.8px}.home-hero{display:grid;grid-template-columns:.94fr 1.06fr;gap:44px;align-items:center;padding-block:42px 34px}.hero-copy{padding-block:12px}.hero-copy h1{font-size:clamp(44px,5.3vw,72px);letter-spacing:-3.4px;line-height:1.07;margin-bottom:26px}.hero-copy h1 span{color:#6d8574}.hero-intro{max-width:360px;font-size:17px;color:var(--muted);line-height:1.7;margin-bottom:30px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px}.hero-actions .button{min-height:52px}.hero-photo{min-width:0;overflow:hidden;display:block;border-radius:60% 60% 22px 22px/35% 35% 22px 22px}.hero-photo img{width:100%;height:480px;object-fit:cover;object-position:56% center}.benefits{display:flex;gap:35px;justify-content:center;padding-block:25px;border-bottom:1px solid var(--line)}.benefits span{display:inline-flex;align-items:center;gap:9px;font-size:12px;color:var(--muted)}.benefits svg{color:#487257}.section-intro{max-width:590px;color:var(--muted);margin-bottom:44px}.how-section h2{margin-bottom:16px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:54px;padding:0;margin:0;list-style:none}.step-number{display:inline-block;font-size:13px;color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:7px;margin-bottom:24px;font-variant-numeric:tabular-nums}.steps h3{margin-bottom:12px}.steps p{color:var(--muted);font-size:14px;margin:0}.ride-features{display:grid;grid-template-columns:1.1fr 1fr;gap:22px}.ride-features article{padding:40px;border-radius:var(--radius-lg);background:#edf1e8}.ride-features .network-feature{background:#f1f3ee}.ride-features article>svg{color:#56725c;margin-bottom:24px}.ride-features h2{max-width:360px;font-size:33px}.ride-features p{color:#52675a;font-size:14px}.ride-features .small-copy{font-size:12px;margin:26px 0 0}.wind-direction{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:28px;font-size:12px;font-weight:700}.wind-direction span{padding-block:11px;border-top:1px solid #c7d1c2;border-bottom:1px solid #c7d1c2}.junction-example{display:flex;align-items:center;margin-top:25px}.junction-example span{border-radius:50%;width:42px;height:42px;display:grid;place-items:center;border:2px solid #54745e;background:#fff;font-size:14px;font-weight:700}.junction-example i{width:38px;border-top:2px dashed #9aaa95}.export-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.export-section>div>svg{margin-bottom:22px}.export-section p{color:var(--muted);max-width:470px;font-size:14px}.export-formats{display:grid;grid-template-columns:1fr 1fr;gap:30px 42px}.export-formats strong{display:flex;flex-direction:column;gap:10px;font-size:27px;letter-spacing:-.8px}.export-formats span{font-size:12px;font-weight:500;letter-spacing:0;color:var(--muted)}.faq-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:65px;border-top:1px solid var(--line);padding-top:70px}.faq-list details{border-bottom:1px solid var(--line)}summary{cursor:pointer}.faq-list summary{list-style:none;padding:20px 35px 20px 0;font-size:14px;font-weight:650;position:relative;line-height:1.5}.faq-list summary:after{content:"+";position:absolute;right:3px;top:18px;font-weight:400;font-size:22px}.faq-list details[open] summary:after{content:"−"}.faq-list summary::-webkit-details-marker{display:none}.faq-list p{font-size:14px;color:var(--muted);margin:0 0 23px}.about-section{border-radius:var(--radius-lg);background:var(--tint);padding:48px;text-align:center}.about-section>svg{margin:0 auto 20px}.about-section h2{max-width:600px;margin-inline:auto;font-size:33px}.about-section p{max-width:570px;margin-inline:auto;color:var(--muted);font-size:14px}.about-section .button{margin-top:8px}.site-footer{max-width:1360px;display:flex;flex-wrap:wrap;align-items:center;gap:26px;margin-inline:auto;padding:30px 40px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.site-footer nav{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-inline:auto}.site-footer nav a{text-decoration:none;padding-block:8px}.site-footer nav a:hover{text-decoration:underline}.planner-page .site-header{position:static;border-bottom:1px solid var(--line)}.planner-main{max-width:1180px;margin:0 auto;padding:46px 40px 64px}.planner-main.has-results{max-width:1440px}.planner-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:32px}.planner-heading .eyebrow{margin-bottom:12px;font-size:9px}.planner-heading h1{font-size:clamp(30px,3.5vw,43px);line-height:1.15;letter-spacing:-1.7px;margin-bottom:12px}.planner-heading p:not(.eyebrow){margin:0;font-size:14px;color:var(--muted)}.planner-top-ad{width:100%;margin:0 0 32px}.unit-switch{display:flex;align-items:center;height:40px;padding:2px;border:1px solid var(--line);border-radius:7px;background:var(--paper)}.unit-switch button{border:0;min-width:29px;min-height:34px;padding:2px 4px;border-radius:5px;background:transparent;color:var(--muted);font-size:11px}.unit-switch button[aria-pressed=true]{color:var(--ink);background:var(--tint);font-weight:700}.planning-layout{display:grid;grid-template-columns:minmax(0,780px) minmax(220px,1fr);align-items:start;gap:40px}.planner-form{display:flex;flex-direction:column;gap:24px;padding:30px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);min-width:0}fieldset{border:0;padding:0;margin:0;min-width:0}legend{padding:0;margin-bottom:12px;font-size:13px;font-weight:700}fieldset:disabled>legend{opacity:.6}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;border-radius:var(--radius);background:#f0f3ed}.segmented label,.ride-style-options label{position:relative;cursor:pointer;min-width:0}.segmented input,.ride-style-options input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;cursor:pointer}.segmented span{display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 6px;border-radius:8px;font-size:12px;font-weight:650;text-align:center;color:#5e7065}.segmented input:checked+span{background:#fff;box-shadow:0 1px 6px #193d3310;color:var(--ink)}html:not([data-input-method=pointer]) .segmented input:focus-visible+span,html:not([data-input-method=pointer]) .ride-style-options input:focus-visible+span{outline:3px solid #28766d;outline-offset:2px}.segmented input:disabled,.ride-style-options input:disabled{cursor:not-allowed}.segmented input:disabled+span{opacity:.5}.trip-switch span{font-size:13px}.trip-switch input:checked+span svg{color:var(--accent)}.field-stack{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:650}.field-stack small{font-weight:400}.location-fields{display:flex;flex-direction:column;gap:21px}.location-field-row{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:9px;align-items:end}.input-wrap{display:flex;align-items:center;gap:10px;padding:0 13px;height:48px;border:1px solid #c7d2c3;border-radius:10px;background:#fff}.input-wrap:focus-within{border-color:#28766d;box-shadow:0 0 0 3px #28766d18}.input-wrap svg{color:#647966}.input-wrap input{width:100%;min-width:0;outline:none;padding:12px 0;border:0;color:var(--ink);background:transparent;font-size:14px;font-weight:400}input::placeholder{color:#6a7d71;opacity:1}.field-stack>input,.field-stack select{color:var(--ink);border:1px solid #c7d2c3;background:#fff;border-radius:10px;height:46px;padding:0 12px;min-width:0;width:100%;font-size:14px;font-weight:400}.locate-button{width:46px;height:48px;border:1px solid #c7d2c3;background:#f3f6ee;border-radius:10px;display:grid;place-items:center}.locate-button:hover{background:var(--tint)}.address-field{position:relative}.address-field:focus-within{z-index:30}.suggestion-list{position:absolute;top:100%;left:0;right:0;z-index:100;margin:6px 0 0;padding:5px;list-style:none;border-radius:var(--radius);border:1px solid var(--line);background:#fff;box-shadow:0 12px 32px #193d331a;max-height:300px;overflow-y:auto}.suggestion-list li{display:flex;align-items:center;gap:10px;padding:13px 10px;font-size:13px;line-height:1.45;font-weight:500;cursor:pointer;border-radius:7px}.suggestion-list li:hover,.suggestion-list li.active{background:var(--tint)}.suggestion-list li span{overflow-wrap:anywhere}.distance-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px;margin-bottom:13px}.distance-heading label{font-size:13px;font-weight:700}.distance-number{display:flex;align-items:center;gap:7px;margin-left:auto}.distance-number input{width:120px;height:40px;padding:4px 8px;border:1px solid var(--line);border-radius:8px;font-size:20px;letter-spacing:-.7px;font-weight:750;color:var(--ink);background:var(--paper);text-align:center;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.distance-number input::-webkit-inner-spin-button,.distance-number input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=range]{width:100%;margin:0;height:20px;accent-color:var(--accent);cursor:pointer}.distance-presets{position:relative;height:32px;margin-top:8px}.distance-presets button{position:absolute;top:0;transform:translate(-50%);white-space:nowrap;border:0;background:none;min-height:32px;border-radius:7px;padding:5px 8px;font-size:11px;color:var(--muted)}.distance-presets button:hover{background:var(--tint)}.distance-field .small-copy{margin-bottom:0}.ride-style-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.ride-style-options span{display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;height:85px;font-size:11px;font-weight:650;border:1px solid var(--line);border-radius:var(--radius)}.ride-style-options input:checked+span{background:#f0f4e9;border-color:#5b7858;box-shadow:inset 0 0 0 1px #5b7858}.ride-style-options span svg{color:#627c5e}.check-row{display:flex;align-items:center;gap:10px;cursor:pointer;min-height:34px;font-size:13px;font-weight:550;line-height:1.45}.check-row input{width:17px;height:17px;margin:0;flex-shrink:0;accent-color:#355f43}.check-row input:disabled+span{color:#697a6e}.check-row span{display:flex;align-items:center;gap:9px}.check-row svg{color:#60785e}.road-options{display:grid;gap:5px}.road-options small{display:block;padding-top:5px}.optional-options{border-top:1px solid var(--line)}.option-block{padding:14px 0;border-bottom:1px solid var(--line)}.option-block>small{display:block;margin-left:27px;padding-top:3px}.wind-settings{display:grid;gap:12px;margin:13px 0 0 27px}.wind-settings small{font-size:11px}.advanced-options>summary{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:650;list-style:none}.advanced-options>summary:after{content:"+";margin-left:auto;font-size:20px;font-weight:400}.advanced-options[open]>summary:after{content:"−"}.advanced-options fieldset{display:grid;gap:15px;margin-top:18px}.generate-actions{display:flex;flex-direction:column;align-items:center;gap:12px}.generate-button{width:100%;min-height:51px}.generate-button>svg:last-child{margin-left:auto}.generate-button>svg:first-child{margin-right:auto}.generate-button>svg.spin{margin-inline:0}.planner-aside{position:sticky;top:24px;border-radius:var(--radius-lg);overflow:hidden;background:#eff3e9}.planner-photo{width:100%;height:235px;object-fit:cover;object-position:center 63%}.planner-aside-copy{padding:30px 25px}.planner-aside h2{font-size:25px;letter-spacing:-.8px}.planner-aside p{font-size:13px;color:var(--muted)}.planner-aside ul{padding:16px 0 0;margin:0;list-style:none;display:grid;gap:20px}.planner-aside li{display:flex;gap:10px;align-items:center;font-size:11px;line-height:1.5}.search-progress{padding:42px 28px}.progress-icon{width:70px;height:70px;display:grid;place-items:center;border:1px dashed #9ab08d;border-radius:50%;margin-bottom:25px}.elapsed{font-size:27px;font-weight:650;font-variant-numeric:tabular-nums}.search-progress .small-copy{margin:20px 0 0;font-size:11px}.generation-dialog{width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--ink);background:var(--surface);box-shadow:0 24px 80px #102a2550}.generation-dialog::backdrop{background:#102a2580}.generation-dialog-content{padding:28px}.generation-dialog .search-progress{padding:0}.generation-dialog .progress-icon{margin-bottom:18px}.generation-dialog h2{font-size:25px;letter-spacing:-.8px}.generation-dialog .ad-slot{width:100%;margin:24px 0;min-height:120px}.generation-dialog-content>button{width:100%}.support-prompt{text-align:center}.support-prompt h2{margin-bottom:14px}.support-prompt p{color:var(--muted);font-size:14px}.support-prompt .button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:24px;text-decoration:none}.support-prompt .text-link{display:block;width:fit-content;margin:16px auto 0}.message{padding:15px 19px;border:1px solid var(--line);border-radius:var(--radius);font-size:13px;margin-bottom:22px;line-height:1.6;display:flex;gap:12px;align-items:center}.error-message{background:#fff1ed;color:#8d301e;border-color:#eac6b9}.error-message .icon-button{margin-left:auto}.notice-message{background:var(--tint)}.loading-state{min-height:250px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:14px}.results-layout{display:grid;grid-template-columns:minmax(310px,375px) minmax(0,1fr);gap:28px;align-items:start}.results-layout:has(.editing-form){grid-template-columns:minmax(0,650px);justify-content:center}.results-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px}.results-heading h2{font-size:21px;letter-spacing:-.6px;margin:0}.results-heading h2:focus{outline:none}.route-origin{display:flex;align-items:start;gap:8px;font-size:11px;color:var(--muted);margin-bottom:12px;line-height:1.5;overflow-wrap:anywhere}.route-origin svg{margin-top:1px}.wind-result{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:var(--radius);background:#edf3e9;margin-block:18px}.wind-result>div{display:flex;flex-direction:column;gap:4px}.wind-result strong{font-size:13px}.wind-result small{font-size:10px}.route-choices{display:flex;flex-direction:column;gap:9px;margin-top:21px}.route-choice{display:flex;align-items:center;width:100%;gap:11px;padding:15px 12px;text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.route-choice:hover{background:#f1f4ed}.route-choice.selected{border-color:#67846a;background:#f0f4eb;box-shadow:inset 0 0 0 1px #67846a}.route-number{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;color:#fff;border-radius:8px;font-size:11px;font-weight:650;font-variant-numeric:tabular-nums}.route-choice-copy{min-width:0;display:flex;flex-direction:column;gap:7px}.route-choice-copy strong{font-size:12px;line-height:1.4;overflow-wrap:anywhere}.route-choice-copy>span{display:flex;flex-wrap:wrap;gap:5px;font-size:10px;color:var(--muted)}.route-choice-copy i{font-style:normal}.selected-check{margin-left:auto}.elevation-section{margin-top:24px;padding-top:17px;border-top:1px solid var(--line);color:#416e50}.elevation-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.elevation-heading h3{color:var(--ink);margin:0;font-size:12px;letter-spacing:-.1px}.elevation-heading>span{font-size:10px;white-space:nowrap}.muted{color:var(--muted)}.elevation-section>svg{display:block;width:100%;height:96px}.chart-axis{display:flex;justify-content:space-between;font-size:9px;padding-top:6px;color:var(--muted)}.elevation-section>small{display:block;font-size:10px;margin-top:8px}.elevation-empty{margin-top:20px;padding:15px;background:var(--tint);border-radius:var(--radius);font-size:12px}.elevation-empty p{margin:8px 0 0;color:var(--muted)}.quality-note{font-size:10px;color:var(--muted);margin:15px 0 20px}.junction-sequence{margin-block:20px}.junction-sequence h3{font-size:12px;margin-bottom:12px}.junction-sequence ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0}.junction-sequence li{border:1px solid #709368;border-radius:50%;display:grid;place-items:center;width:32px;height:32px;font-size:11px;background:#fff}.route-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.route-actions .button{font-size:12px;padding-inline:10px}.export-more{grid-column:1 / -1;font-size:11px;justify-content:center;margin-top:3px}.route-results>.small-copy{font-size:10px;margin:12px 0}.share-link{margin-top:18px;font-size:11px}.share-link>div{display:flex;margin-top:8px}.share-link input{flex:1;min-width:0;width:100%;border:1px solid var(--line);padding:10px;border-radius:8px;font-size:12px}.again-button{font-size:11px;margin-top:7px}.result-map{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;position:sticky;top:20px}.map-wrapper{position:relative;height:min(690px,calc(100dvh - 80px));min-height:460px;background:var(--tint)}.map-canvas{width:100%;height:100%;background:#e9eddf}.map-wrapper.expanded{position:fixed;z-index:2000;top:0;right:0;bottom:0;left:0;width:100%;height:100dvh}.map-controls{position:absolute;z-index:800;top:15px;right:15px;display:flex;flex-direction:column;gap:7px}.map-controls button{width:40px;height:40px;display:grid;place-items:center;background:#fff;border:1px solid #c7d2c3;color:var(--ink);border-radius:8px;box-shadow:var(--shadow)}.map-controls button:hover{background:#eef3e8}.map-caption{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 18px;font-size:11px;background:#fff}.map-caption>span{display:flex;align-items:center;gap:8px;min-width:0}.map-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.route-direction-marker{background:none;border:0}.route-direction-marker span{display:block;filter:drop-shadow(0 1px 1px #193d3366)}.route-direction-marker svg{width:28px;height:18px}.junction-map-label{padding:0;border:0;box-shadow:none;background:none;font-size:12px;font-weight:750;color:#23583b}.junction-map-label:before{display:none}.route-safety{font-size:11px;text-align:center;color:var(--muted);margin:30px auto 0;max-width:800px}.export-dialog{position:fixed;max-width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 40px);width:100%;border:1px solid var(--line);border-radius:var(--radius-lg);padding:35px;color:var(--ink);background:var(--paper);box-shadow:0 20px 90px #193d3330}.export-dialog::backdrop{background:#13291d80}.dialog-close{position:absolute;top:10px;right:10px}.export-dialog h2{font-size:29px;margin:15px 0;max-width:320px}.export-dialog>p{font-size:13px;color:var(--muted)}.export-dialog fieldset{margin-top:24px}.device-steps{padding-left:20px;font-size:13px;line-height:1.7;color:#53685c;margin-block:24px}.device-steps li{padding-left:5px;margin-block:9px}.export-dialog>.small-copy{font-size:11px;margin-top:16px}.export-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.export-actions .button{font-size:12px;flex:1}.not-found{max-width:700px;margin:100px auto;padding:30px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1600px){.hero-photo img{height:510px}}@media(max-width:1024px){.hero-copy h1{font-size:51px;letter-spacing:-2.6px}.home-hero{gap:30px}.hero-photo img{height:430px}.hero-actions{gap:15px}.hero-intro{font-size:15px}.planning-layout{gap:24px;grid-template-columns:minmax(0,1fr) 260px}.planner-form{padding:24px}.planner-main{padding-inline:28px}.planner-aside-copy{padding:24px}.ride-style-options{gap:5px}.ride-style-options span{font-size:10px}.steps{gap:30px}.ride-features article{padding:30px}.results-layout{grid-template-columns:320px minmax(0,1fr);gap:20px}.export-section{gap:45px}.faq-section{gap:35px}}@media(max-width:760px){.container{width:calc(100% - 40px)}.site-header{height:70px;padding:0 20px;gap:12px}.brand{font-size:19px;gap:5px}.brand img{width:34px;height:34px}.header-actions{gap:10px}.header-link{display:none}.language-switch{min-height:40px;gap:4px;padding:8px 12px}.language-switch>svg:first-child{display:none}.home-hero{grid-template-columns:1fr;padding-block:31px 20px;gap:28px}.hero-copy{padding:0}.hero-copy h1{font-size:clamp(40px,10vw,64px);letter-spacing:-2.3px;margin-bottom:20px}.eyebrow{font-size:9px;margin-bottom:18px;letter-spacing:1.3px}.hero-intro{max-width:360px;font-size:15px;margin-bottom:22px}.hero-actions{gap:22px}.hero-photo{border-radius:var(--radius-lg)}.hero-photo img{height:270px;object-position:50% 59%}.benefits{flex-wrap:wrap;gap:13px 20px;justify-content:flex-start;padding-block:19px 26px}.benefits span{font-size:10px}.section{padding-block:55px}h2{font-size:29px;letter-spacing:-.9px}.section-intro{font-size:14px;margin-bottom:30px}.steps{grid-template-columns:1fr;gap:25px}.steps li{display:grid;grid-template-columns:34px 1fr;gap:0 18px}.step-number{grid-row:1 / 3;align-self:start;margin:2px 0 0;padding-bottom:7px}.steps h3{font-size:18px;margin-bottom:8px}.steps p{font-size:13px}.ride-features{grid-template-columns:1fr;gap:16px}.ride-features article{padding:28px}.ride-features h2{font-size:29px}.export-section{grid-template-columns:1fr;gap:25px}.export-formats{gap:25px}.export-formats strong{font-size:23px}.faq-section{grid-template-columns:1fr;gap:4px}.faq-list summary{font-size:13px}.faq-list p{font-size:13px}.about-section{padding:32px 24px}.about-section h2{font-size:28px}.site-footer{padding:23px 20px;gap:12px;font-size:10px}.site-footer nav{margin-left:auto;margin-right:0;gap:15px}.site-footer>span:last-child{width:100%}.planner-main{padding:27px 20px 42px}.planner-heading{gap:12px;margin-bottom:23px}.planner-heading .eyebrow{display:none}.planner-heading h1{font-size:30px;letter-spacing:-1.2px;margin-bottom:10px}.planner-heading p:not(.eyebrow){font-size:12px}.planning-layout{grid-template-columns:1fr}.planner-aside{display:none}.generation-dialog-content{padding:22px}.generation-dialog .progress-icon{display:none}.generation-dialog h2{font-size:21px;margin-bottom:12px}.generation-dialog .search-progress .small-copy{margin-top:10px}.planner-form{padding:22px 18px;border-radius:17px;gap:22px}.input-wrap{padding-inline:10px;gap:7px}.input-wrap input,.field-stack>input,.field-stack select{font-size:16px}.ride-style-options span{height:81px;gap:10px;font-size:10px}.ride-style-options span svg{width:21px;height:21px}.segmented span{font-size:11px;padding-inline:3px}.trip-switch span{font-size:12px}.check-row{font-size:12px;min-height:38px}.road-options small,.option-block small{font-size:11px}.results-layout{grid-template-columns:1fr;gap:22px}.result-map{grid-row:1;position:relative;top:0;border-radius:16px}.map-wrapper{height:360px;min-height:0}.map-wrapper.expanded{height:100dvh}.map-caption{padding:13px;font-size:10px}.map-caption>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-controls{top:10px;right:10px;gap:5px}.map-controls button{width:44px;height:44px}.route-choice{padding:16px 14px}.route-choice-copy strong{font-size:13px}.route-choice-copy>span{font-size:11px}.elevation-section>svg{height:115px}.route-actions .button{font-size:13px}.route-actions .export-more{font-size:12px}.route-results>.small-copy,.quality-note{font-size:11px}.route-safety{font-size:10px}.export-dialog{padding:26px 22px}.export-dialog h2{font-size:27px}.device-steps{font-size:12px}.export-actions{flex-direction:column}}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation-duration:.01ms!important}html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.consent-banner{position:fixed;inset:auto 20px 20px;z-index:1500;max-width:1000px;margin:auto;padding:24px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 8px 50px #193d3326;max-height:80dvh;overflow:auto}.consent-banner h2{font-size:21px;letter-spacing:-.4px;margin:0 0 10px}.consent-banner p{font-size:14px;line-height:1.6;margin:0 0 16px}.consent-actions{display:flex;flex-wrap:wrap;gap:10px}.consent-actions>button{flex:1 1 170px}.consent-actions>.primary{box-shadow:0 3px 10px #c4472a33}.consent-actions>.secondary{border-color:var(--accent);color:var(--accent)}.consent-actions>.secondary:hover{background:var(--tint)}.privacy-dialog{width:min(600px,calc(100% - 32px));max-height:90dvh;overflow:auto;padding:32px;border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--ink);background:var(--paper)}.privacy-dialog::backdrop{background:#112b2470}.privacy-dialog h2{font-size:27px;padding-right:24px}.privacy-dialog p{font-size:14px;line-height:1.65}.privacy-dialog fieldset{border:0;padding:0;margin:18px 0}.privacy-dialog legend{font-weight:750}.privacy-choice{display:flex;align-items:flex-start;gap:12px;margin:18px 0}.privacy-choice input{width:20px;height:20px;margin:2px 0 0;flex-shrink:0;accent-color:var(--ink)}.privacy-choice strong,.privacy-choice small{display:block}.privacy-choice small{margin-top:4px}.footer-privacy{border:0;padding:8px 0;background:transparent;color:inherit;font:inherit;line-height:inherit;text-decoration:none;cursor:pointer}.footer-privacy:hover{text-decoration:underline}.ad-slot{margin-block:36px;min-height:120px;border-block:1px solid var(--line);padding-block:8px;text-align:center;overflow:hidden}.ad-slot:has(>.adsbygoogle[data-ad-status=unfilled]){display:none}.ad-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:8px}.ad-slot .adsbygoogle,.ad-empty{display:block;min-height:90px}@media(max-width:600px){.consent-banner{inset-inline:10px;bottom:10px;padding:18px}.consent-actions{gap:8px}.consent-actions>button{padding-inline:12px;font-size:12px}.privacy-dialog{padding:22px}}.home-page{background:#f8f7f1}.home-page .site-header{max-width:none;background:#f8f7f1c7;border-bottom:1px solid rgb(36 71 59 / 10%);-webkit-backdrop-filter:blur(16px) saturate(1.15);backdrop-filter:blur(16px) saturate(1.15)}.home-hero{position:relative;isolation:isolate;display:flex;align-items:center;width:100%;min-height:min(850px,calc(100svh - 80px));padding:90px 0 125px;overflow:hidden;background:#516a52;color:#fff}.home-hero:after{content:"";position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#0c201cc7,#0e241e91 40%,#0c221c14),linear-gradient(0deg,rgb(9 29 24 / 58%),transparent 35%)}.home-hero .hero-photo{position:absolute;z-index:-2;top:0;right:0;bottom:0;left:0;border-radius:0;overflow:hidden}.home-hero .hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 56%;transform:translate3d(0,calc(var(--hero-progress, 0) * 70px),0) scale(1.13);transform-origin:center;will-change:transform}.home-hero .hero-copy{position:relative;padding:0}.home-hero .eyebrow{display:inline-flex;align-items:center;gap:12px;margin-bottom:25px;color:#fff;font-size:11px;letter-spacing:2px}.home-hero .eyebrow:before{content:"";width:28px;height:1px;background:#e3edcd}.home-hero h1{max-width:900px;margin-bottom:25px;font-size:clamp(58px,7.4vw,112px);line-height:.98;letter-spacing:-.065em;text-shadow:0 3px 30px rgb(8 28 21 / 12%)}.home-hero h1 span{color:#e4eec8}.home-hero .hero-intro{max-width:480px;margin-bottom:32px;color:#f4f8ef;font-size:clamp(16px,1.5vw,19px);line-height:1.6}.home-hero .hero-actions{gap:28px}.home-hero .button.primary{min-height:58px;padding-inline:26px;background:#e5683c;box-shadow:0 12px 30px #0d180f2e}.home-hero .button.primary:hover{background:#cf532e}.home-hero .text-link{color:#fff;text-decoration-color:#ffffffbf}.home-hero .text-link:hover{color:#e4eec8}.hero-scroll{position:absolute;left:max(40px,calc((100vw - 1200px)/2));bottom:48px;display:inline-flex;align-items:center;gap:12px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.hero-scroll svg{animation:hero-bounce 2s ease-in-out infinite}@keyframes hero-bounce{50%{transform:translateY(5px)}}.home-page .benefits{position:relative;z-index:1;margin-top:-30px;padding:24px 30px;justify-content:space-around;gap:20px;border:0;border-radius:16px;background:#fff;box-shadow:0 16px 45px #1633221a}.home-page .benefits span{color:#244339;font-size:13px;font-weight:650}.home-page .benefits svg{color:#66854a}.home-page .how-section{padding-top:125px}.home-page .how-section h2{max-width:720px;font-size:clamp(36px,4.2vw,62px);letter-spacing:-.055em}.home-page .how-section .section-intro{max-width:650px;font-size:17px}.home-page .steps{gap:18px}.home-page .steps li{min-height:240px;padding:30px;border:1px solid #e3e7da;border-radius:18px;background:#fff}.home-page .step-number{margin-bottom:36px}.home-page .ride-features article{min-height:410px;padding:46px}.home-page .ride-features .wind-feature{background:#24473b;color:#fff}.home-page .ride-features .wind-feature>svg,.home-page .ride-features .wind-feature p{color:#dce9d9}.home-page .wind-feature .wind-direction span{border-color:#ffffff59}.home-page .ride-features .network-feature{background:#e9eee3}.home-page .export-section{border-bottom:1px solid var(--line)}@media(max-width:760px){.home-hero{min-height:min(760px,calc(100svh - 70px));padding:85px 0 115px}.home-hero:after{background:linear-gradient(90deg,#0b1f1bc2,#0b1f1b52),linear-gradient(0deg,rgb(10 28 24 / 55%),transparent 48%)}.home-hero .hero-photo img{object-position:59% center}.home-hero h1{max-width:600px;font-size:clamp(52px,11vw,78px);letter-spacing:-.065em}.home-hero .hero-intro{max-width:410px}.hero-scroll{left:20px;bottom:35px}.home-page .benefits{margin-top:-20px;padding:22px;justify-content:flex-start}.home-page .how-section{padding-top:80px}.home-page .steps li{min-height:auto;padding:24px}.home-page .step-number{margin-bottom:0}.home-page .ride-features article{min-height:auto;padding:32px}}@media(max-width:440px){.home-hero{min-height:700px}.home-hero h1{font-size:clamp(48px,12.5vw,57px)}.home-hero .hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.home-page .benefits{display:grid;gap:13px}}@media(prefers-reduced-motion:reduce){.home-hero .hero-photo img{transform:scale(1.06);will-change:auto}.hero-scroll svg{animation:none}}.privacy-page{max-width:820px;padding-top:56px;padding-bottom:64px}.privacy-page h1{margin-bottom:20px}.privacy-page h2{margin:36px 0 16px;font-size:1.4rem}.privacy-page p{line-height:1.75;margin:16px 0}.site-header{background:#f8f7f1;min-height:88px;height:auto;padding-block:16px}.header-nav{display:flex;align-items:center;gap:26px}.header-nav a{font-size:13px;font-weight:650;text-decoration:none}.header-nav a:hover{color:var(--accent)}.header-actions{gap:18px}.header-support{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:8px 16px;border:1px solid #d7bba3;border-radius:999px;background:#f3e4d5;color:#65381e;text-decoration:none}.header-support:hover{background:#ecd2ba;border-color:#b58862}.support-label{font-size:12px;font-weight:750;line-height:1.3}.support-label small{display:block;color:#775039;font-size:10px;font-weight:500}.support-label-mobile{display:none}.header-link{min-height:46px;padding:12px 18px;border-radius:999px;background:#24473b;color:#fff}.header-link:hover{background:#355b49;color:#fff}.home-page{--line: #d9ded0}.home-page .site-header{padding-inline:max(40px,calc((100% - 1280px)/2))}.home-page .home-hero{min-height:min(850px,calc(100svh - 88px))}.home-page .button{border-radius:999px}.home-page .section-kicker{display:flex;align-items:center;gap:12px;margin-bottom:24px;color:#627448;font-size:10px;font-weight:750;letter-spacing:.15em;text-transform:uppercase}.home-page .section-kicker:before{content:"";width:28px;height:1px;background:currentColor;flex-shrink:0}.home-page .benefits{margin-top:0;width:100%;padding:25px max(40px,calc((100% - 1200px)/2));background:#e4eec8;border-radius:0;box-shadow:none}.home-page .steps{gap:36px}.home-page .steps li{padding:28px 0 0;min-height:0;border:0;border-top:1px solid #bdc9ac;border-radius:0;background:transparent}.home-page .step-number{border:0;color:#6c8051;font-size:38px;font-weight:500;letter-spacing:-.06em;margin-bottom:28px;padding:0}.home-page .steps h3{font-size:23px;letter-spacing:-.04em}.home-page .steps p{max-width:340px}.home-page .ride-features{gap:24px}.home-page .ride-features article{position:relative;overflow:hidden;border-radius:6px;padding:48px}.home-page .ride-features h2{font-size:clamp(30px,3.3vw,46px);letter-spacing:-.055em;max-width:440px}.home-page .ride-features .wind-feature{background:radial-gradient(ellipse at top right,#426047,transparent 75%),#203f34}.home-page .wind-feature .section-kicker{color:#e4eec8}.home-page .ride-features article>svg{margin-bottom:32px}.home-page .wind-direction{border-top:1px solid #68806b;border-bottom:1px solid #68806b;padding-block:12px;gap:12px}.home-page .wind-direction span{border:0;padding:0}.home-page .network-feature{background:#e5eacb}.home-page .junction-example{padding-block:8px}.home-page .junction-example span{width:48px;height:48px;background:#f8f7f1;border-color:#45623e}.home-page .junction-example i{width:54px}.home-page .export-section{padding-block:110px;border-bottom:0}.home-page .export-section h2,.home-page .faq-section h2{font-size:clamp(36px,4vw,56px);letter-spacing:-.055em}.home-page .export-formats{gap:0;padding:16px 32px;background:#efeee4;border-radius:6px}.home-page .export-formats strong{padding:28px 12px;font-size:32px}.home-page .export-formats strong:nth-child(-n+2){border-bottom:1px solid #d2d8c7}.home-page .export-formats strong:first-child{color:#b04325}.home-page .faq-section{gap:70px;padding-block:80px 100px}.home-page .faq-list summary{padding-block:24px;font-size:15px}.home-page .faq-list summary:after{top:22px;color:#738259}.home-page .faq-list details:first-child summary{padding-top:0}.home-page .faq-list details:first-child summary:after{top:-2px}.home-page .faq-list details[open] summary{color:#a63e23}.home-page .about-section{position:relative;overflow:hidden;border-radius:6px;padding:64px 40px;background:radial-gradient(ellipse at 100% 0%,#496147,transparent 70%),#203f34;color:#fff}.home-page .about-section .section-kicker{justify-content:center;color:#e4eec8}.home-page .about-section>svg{color:#e4eec8}.home-page .about-section h2{font-size:clamp(34px,4vw,54px);letter-spacing:-.055em}.home-page .about-section p:not(.section-kicker){color:#dde6d6;max-width:620px;font-size:16px}.home-page .about-section .button{border:0;background:#e4eec8;color:#203f34;padding:16px 24px}.home-page .about-section .button:hover{background:#f1f5dc}.support-caption{display:block;margin-top:16px;color:#c8d6bd;font-size:12px}.home-page .site-footer{padding-block:36px}@media(max-width:1100px){.header-nav{display:none}}@media(max-width:760px){.site-header{min-height:76px;padding:12px 20px;gap:8px}.home-page .site-header{padding-inline:20px}.header-actions{gap:10px}.header-support{min-height:40px;padding:8px 12px;gap:6px}.support-label{display:none}.support-label-mobile{display:inline;font-size:12px;font-weight:750}.home-page .home-hero{min-height:min(760px,calc(100svh - 76px))}.home-page .benefits{padding:24px 20px;gap:15px 24px}.home-page .section-kicker{font-size:9px;letter-spacing:.12em}.home-page .how-section{padding-top:64px}.home-page .how-section .section-intro{font-size:15px}.home-page .steps{gap:24px}.home-page .steps li{padding:24px 0 0;grid-template-columns:42px 1fr}.home-page .step-number{font-size:30px;margin:0}.home-page .steps h3{font-size:21px}.home-page .ride-features article{padding:30px 26px}.home-page .export-section{padding-block:64px;gap:24px}.home-page .export-formats{padding:8px 16px}.home-page .export-formats strong{font-size:26px;padding:22px 10px}.home-page .faq-section{padding-block:56px 64px;gap:16px}.home-page .faq-list summary{font-size:14px}.home-page .about-section{padding:44px 24px}.home-page .about-section p:not(.section-kicker){font-size:14px}}@media(max-width:600px){.language-name{display:none}.language-code{display:inline}}@media(max-width:380px){.site-header,.home-page .site-header{padding-inline:12px}.brand{font-size:16px;gap:4px}.brand img{width:28px;height:28px}.header-actions{gap:6px}.header-support{padding-inline:8px}.language-name{display:none}.language-code{display:inline}}
