.workflow-section{position:relative;overflow:hidden;padding:clamp(56px,6.5vw,88px) clamp(18px,5vw,70px);color:#eef5f0;background:radial-gradient(circle at 92% 0,rgba(235,193,94,.19),transparent 25rem),linear-gradient(145deg,#103723,#174c34);border-radius:32px;isolation:isolate;scroll-margin-top:92px}.workflow-section:before{width:420px;height:420px;position:absolute;top:-250px;right:-100px;z-index:-1;content:"";background:rgba(243,202,103,.08);border-radius:50%;filter:blur(1px)}.workflow-intro{margin-bottom:clamp(30px,4vw,44px);display:grid;grid-gap:24px;gap:24px}.workflow-intro-copy{max-width:780px}.workflow-section .eyebrow{color:#b9d0c0}.workflow-intro h2{margin:0;color:#fffdf6;font-size:clamp(2.5rem,5.2vw,4.7rem);line-height:.98;letter-spacing:-.055em;text-wrap:balance}.workflow-lead{max-width:650px;margin:20px 0 0;color:#c9d8ce;font-size:clamp(1rem,1.7vw,1.12rem);line-height:1.58}.workflow-cta{min-height:48px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:12px;justify-self:start;color:#143b28;background:#f0c457;border-radius:999px;box-shadow:0 10px 28px rgba(7,28,17,.2);font-weight:850;text-decoration:none;transition:background .18s ease,translate .18s ease}.workflow-cta:hover{background:#f6cf70;translate:0 -2px}.workflow-grid{margin:0;padding:0;display:grid;color:#193629;background:#f5f2e9;border:1px solid rgba(255,255,255,.22);border-radius:24px;box-shadow:0 26px 60px rgba(7,27,17,.22);list-style:none}.workflow-step{min-width:0;padding:clamp(24px,3.2vw,36px);display:flex;flex-direction:column}.workflow-step+.workflow-step{border-top:1px solid #d8dfd8}.workflow-step-top{display:flex;align-items:center;gap:12px}.workflow-step-top:after{height:1px;min-width:20px;flex:1 1;content:"";background:#d3dcd4}.workflow-step-number{width:42px;height:42px;display:grid;place-items:center;color:#173d2b;background:#f0c457;border-radius:50%;font-size:.82rem;font-weight:900}.workflow-step-label{color:#65776b;font-size:.68rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.workflow-step h3{margin:26px 0 10px;color:#143524;font-size:clamp(1.3rem,2vw,1.55rem);line-height:1.15;letter-spacing:-.025em}.workflow-step>p{margin:0;color:#5b6b61;line-height:1.58}.workflow-demo{min-height:106px;margin-top:28px;padding:16px;color:#193629;background:#fff;border:1px solid #dce4dd;border-radius:16px;box-shadow:0 10px 24px rgba(29,61,45,.06)}.workflow-demo small{display:block;color:#718077;font-size:.69rem;font-weight:750;letter-spacing:.03em}.workflow-location-demo{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:11px;gap:11px}.workflow-demo-icon{width:38px;height:38px;display:grid;place-items:center;color:#fff;background:#1f6b45;border-radius:50%;font-size:1.15rem;font-weight:900}.workflow-location-demo strong{display:block;overflow:hidden;margin-top:4px;font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.workflow-result-chip,.workflow-time-chip{padding:7px 9px;color:#225039;background:#e8f1e9;border-radius:999px;font-size:.7rem;font-weight:850;white-space:nowrap}.workflow-choice-demo{display:grid;align-content:center;grid-gap:13px;gap:13px}.workflow-pills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px}.workflow-pills i{min-width:0;padding:9px 4px;overflow:hidden;color:#225039;background:#e7f0e8;border:1px solid #b7cdbb;border-radius:999px;font-size:.7rem;font-style:normal;font-weight:850;text-align:center;text-overflow:ellipsis}.workflow-result-demo{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#e8f2e9,#fff)}.workflow-result-demo strong{margin-top:3px;display:block;color:#17633e;font-size:2rem;line-height:1}.workflow-result-demo strong span{font-size:.76rem;letter-spacing:0}@media (min-width:720px) and (max-width:999px){.workflow-step{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.78fr);grid-column-gap:32px;column-gap:32px}.workflow-step h3,.workflow-step-top,.workflow-step>p{grid-column:1}.workflow-demo{margin-top:0;grid-column:2;grid-row:1/4;align-self:center}}@media (min-width:1000px){.workflow-intro{grid-template-columns:minmax(0,1fr) auto;align-items:end}.workflow-cta{justify-self:end}.workflow-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.workflow-step+.workflow-step{border-top:0;border-left:1px solid #d8dfd8}.workflow-demo{margin-top:auto;translate:0 18px}.workflow-step>p{min-height:5em}}@media (max-width:719px){.workflow-section{border-radius:24px}.workflow-cta{width:100%}.workflow-grid{border-radius:20px}.workflow-step-label{white-space:normal}}@media (max-width:390px){.workflow-section{padding-inline:14px}.workflow-step{padding-inline:18px}}@media (prefers-reduced-motion:reduce){.workflow-cta{transition:none}}.planner-page{width:100%;min-height:calc(100svh - 78px);padding:clamp(22px,3vh,34px) 24px;position:relative;background:linear-gradient(90deg,rgba(13,38,27,.48),rgba(13,38,27,.2)),url(/images/landing/nrw-planner-background-v2.webp) 50% /cover no-repeat}.planner-page .planning-panel{width:min(100%,940px);margin:0 auto;padding:clamp(22px,2.5vw,32px);position:relative;z-index:2;gap:18px;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.72);border-radius:26px;box-shadow:0 30px 72px rgba(20,45,34,.14);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.planner-form-heading{padding-bottom:12px;border-bottom:1px solid #dce4dd}.planner-form-heading h1{margin:0;color:#163326;font-size:clamp(2rem,3vw,2.65rem);line-height:1;letter-spacing:-.045em}.planner-page .planning-form{gap:14px}.planning-mode{padding:5px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px;gap:6px;background:#edf2ed;border-radius:14px}.planning-mode button{min-height:48px;color:#315440;background:transparent;border:1px solid transparent}.planning-mode button[aria-pressed=true]{color:#173c28;background:#fff;border-color:#bfd0c2;box-shadow:0 5px 14px rgba(20,45,34,.08)}.group-setup{padding:16px;display:grid;grid-gap:14px;gap:14px;background:#f4f7f3;border:1px solid #d7e1d8;border-radius:16px}.group-setup h2,.group-setup p{margin:0}.group-setup h2{font-size:1.15rem}.group-setup p{margin-top:4px;color:#516153}.group-setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.planner-page .start-location-picker{padding:14px;background:#f4f7f3;border:1px solid #d7e1d8;border-radius:16px}.planner-page .start-location-search{gap:10px}.planner-page input,.planner-page select{border-color:#aebbb1;border-radius:10px}.planner-page button{border-radius:12px;transition:translate .16s ease,background .16s ease,box-shadow .16s ease}.planner-page button:hover{translate:0 -1px}.planner-choice-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.planner-choice-grid>fieldset{min-width:0;margin:0;padding:14px;background:#f8f9f6;border:1px solid #dce4dd;border-radius:16px}.planner-choice-grid legend{padding:0 6px;color:#315440;font-size:.9rem;font-weight:850}.planner-page .duration-presets{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.planner-page .duration-preset{min-height:50px;padding-inline:8px;background:#fff;border-color:#b8c8bc}.planner-page .duration-preset[aria-pressed=true]{background:#1f6b45;border-color:#1f6b45;box-shadow:0 8px 18px rgba(31,107,69,.18)}.planner-page .preference-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.planner-choice-grid .preference-grid{grid-template-columns:1fr}.planner-page .preference-toggle{min-height:50px;background:#fff;border-radius:12px}.planner-page input[type=checkbox]{accent-color:#1f6b45}.planner-page .advanced-settings{padding:0 4px;border-color:#d8dfd8}.planner-page .advanced-settings>summary{cursor:pointer;color:#315440;font-weight:800}.planner-actions{display:grid;grid-gap:10px;gap:10px}.planner-actions>button{min-height:56px;border-radius:999px}.planner-actions>button:not(.secondary-action){box-shadow:0 12px 28px rgba(31,107,69,.2)}.planner-page .share-created-plan{width:min(calc(100% - 48px),940px);margin:20px auto 0}@media (min-width:761px){.planner-page .start-location-picker:not(.start-location-picker-selected){grid-template-columns:minmax(0,1fr) auto;align-items:end}.planner-page .duration-presets{grid-template-columns:repeat(4,minmax(0,1fr))}.planner-choice-grid .preference-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.planner-page{padding:28px 16px 72px;background-position:44%}.planner-page .planning-panel{width:100%;margin:0;padding:24px 18px;border-radius:22px}.planner-form-heading h1{font-size:clamp(1.85rem,6.5vw,2.3rem);line-height:1.05}.group-setup-grid,.planner-actions,.planner-choice-grid,.planner-page .preference-grid,.planning-mode{grid-template-columns:1fr}}@media (max-width:420px){.planner-choice-grid>fieldset{padding:16px}}@media (prefers-reduced-motion:reduce){.planner-page button{transition:none}}.group-room{width:min(calc(100% - 32px),1120px);margin:0 auto;padding-block:clamp(24px,5vw,56px);gap:20px}.group-lobby-summary,.group-member-form,.group-phase-heading,.group-room-header,.organizer-panel{padding:clamp(18px,3vw,28px);background:var(--brand-surface,#fff);border:1px solid var(--brand-border,#d7e1d8);border-radius:var(--brand-card-radius,18px)}.group-room-header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:24px;gap:24px;align-items:end}.group-lobby h2,.group-member-form h2,.group-phase-heading h2,.group-room-header h1,.organizer-panel h2{margin:0}.group-date,.group-location,.group-member-form header p,.group-phase-heading p,.group-status,.organizer-panel p{margin:6px 0 0}.group-date{font-weight:800}.group-location,.group-member-form header p,.organizer-panel p{color:#516153}.group-progress{margin:0;padding:0;display:flex;gap:8px;list-style:none}.group-progress li{padding:8px 12px;color:#667268;background:#f1f4f1;border-radius:999px;font-size:.82rem;font-weight:800}.group-progress li[aria-current=step]{color:#fff;background:#1f6b45}.group-progress li.done{color:#1f6b45;background:#e6f1e8}.group-final,.group-lobby,.group-voting{display:grid;grid-gap:20px;gap:20px}.group-lobby-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:18px;gap:18px;align-items:center}.group-members{grid-column:1/-1;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:8px;gap:8px;list-style:none}.group-members li{padding:10px 12px;background:#edf5ee;border-radius:10px;font-weight:750}.group-personal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.group-personal-grid fieldset{margin:0;border:1px solid #d7e1d8;border-radius:14px}.group-member-form>button,.organizer-panel>button{min-height:52px}.organizer-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px 20px;gap:8px 20px;align-items:center;border-color:#91b49b;background:#edf5ee}.organizer-panel button{grid-row:1/3;grid-column:2}.group-phase-heading{text-align:center}.group-route-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.group-route-actions p{grid-column:1/-1;margin:0;font-weight:800}.group-route-actions>a,.group-route-actions>button{min-height:52px}.group-status,.own-vote{color:#1f6b45;font-weight:850}@media (max-width:760px){.group-lobby-summary,.group-personal-grid,.group-room-header,.group-route-actions,.organizer-panel{grid-template-columns:1fr}.group-progress{flex-wrap:wrap}.organizer-panel button{grid-column:auto;grid-row:auto}}.local-page{--local-canvas:#f7f4ec;--local-paper:#fffdf8;--local-ink:#10251c;--local-text:#415149;--local-green:#164b33;--local-green-hover:#0e3825;--local-line:#cdd6ce;min-height:70vh;padding:clamp(56px,7vw,96px) max(24px,calc((100vw - 1180px) / 2));color:var(--local-ink);background:var(--local-canvas)}.local-page-visual{padding:0 0 clamp(72px,9vw,128px);overflow:hidden;background:radial-gradient(circle at 12% 10%,rgba(198,169,100,.14),transparent 27rem),var(--local-canvas)}.local-page-header{margin-bottom:64px}.local-page-visual .local-page-header{width:min(calc(100% - 96px),1440px);min-height:680px;margin:0 auto;padding:clamp(52px,7vw,108px) 0 58px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr);align-items:center;grid-gap:clamp(48px,7vw,112px);gap:clamp(48px,7vw,112px)}.local-page-hero-copy{position:relative;z-index:1}.local-page-header h1{max-width:850px;margin:0;color:var(--local-ink);font-family:Baskerville,Baskerville Old Face,Georgia,serif;font-size:clamp(3.2rem,5.5vw,6.25rem);font-weight:400;line-height:.97;letter-spacing:-.05em;text-wrap:balance}.local-page-intro{max-width:680px;margin:30px 0 34px;color:var(--local-text);font-size:clamp(1.08rem,1.45vw,1.3rem);line-height:1.65}.local-page-cta,.local-page-note-link{min-height:60px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;gap:18px;color:#fff;background:var(--local-green);border:2px solid var(--local-green);border-radius:999px;box-shadow:0 14px 30px rgba(22,75,51,.2);font-weight:800;text-decoration:none;transition:background .16s ease,translate .16s ease,box-shadow .16s ease}.local-page-cta:hover,.local-page-note-link:hover{translate:0 -2px;background:var(--local-green-hover);border-color:var(--local-green-hover);box-shadow:0 18px 36px rgba(22,75,51,.28)}.local-page-hero-media{margin:0;position:relative}.local-page-hero-media:before{width:180px;height:180px;position:absolute;top:-28px;right:-38px;z-index:0;border:1px solid rgba(51,87,67,.22);border-radius:50%;content:""}.local-page-hero-media img{width:100%;height:clamp(520px,48vw,680px);position:relative;z-index:1;display:block;object-fit:cover;border-radius:180px 180px 8px 8px;box-shadow:0 26px 70px rgba(17,48,33,.18)}.local-page-gallery figcaption,.local-page-hero-media figcaption{color:#58665e;font-size:.86rem;line-height:1.45}.local-page-hero-media figcaption{max-width:520px;margin:14px 0 0 24px}.local-page-highlights{width:min(calc(100% - 96px),1180px);margin:0 auto clamp(88px,10vw,140px);padding:28px 0;display:grid;grid-template-columns:repeat(3,1fr);color:var(--local-ink);background:rgba(255,253,248,.78);border-top:1px solid var(--local-line);border-bottom:1px solid var(--local-line);list-style:none}.local-page-highlights li{padding:0 clamp(20px,4vw,48px);display:grid;grid-gap:5px;gap:5px;border-right:1px solid var(--local-line)}.local-page-highlights li:last-child{border-right:0}.local-page-highlights strong{font-family:Baskerville,Baskerville Old Face,Georgia,serif;font-size:clamp(1.55rem,3vw,2.3rem);font-weight:400}.local-page-highlights span{color:#607067;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.local-page-gallery,.local-page-note,.local-page-section-heading,.local-page-sections{width:min(calc(100% - 96px),1180px);margin-inline:auto}.local-page-section-heading{margin-bottom:42px}.local-page-section-heading h2{max-width:700px;margin:0;font-family:Baskerville,Baskerville Old Face,Georgia,serif;font-size:clamp(2.3rem,5vw,4.4rem);font-weight:400;line-height:1.02;letter-spacing:-.04em}.local-page-sections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px}.local-page-sections section{min-height:360px;padding:30px;display:flex;flex-direction:column;background:var(--local-paper);border:1px solid rgba(22,75,51,.13);border-radius:8px}.local-page-section-number{margin-bottom:auto;color:#8a9a90;font-size:1.15rem}.local-page-section-number,.local-page-sections h2{font-family:Baskerville,Baskerville Old Face,Georgia,serif}.local-page-sections h2{margin:34px 0 14px;font-size:clamp(1.55rem,2.3vw,2rem);font-weight:400;line-height:1.08}.local-page-note p,.local-page-sections p{margin:0;color:var(--local-text);line-height:1.7}.local-page-gallery{margin-top:clamp(72px,9vw,120px);display:grid;grid-template-columns:1.12fr .88fr;align-items:start;grid-gap:clamp(20px,4vw,52px);gap:clamp(20px,4vw,52px)}.local-page-gallery figure{margin:0}.local-page-gallery figure:nth-child(2){margin-top:100px}.local-page-gallery img{width:100%;height:clamp(320px,38vw,560px);display:block;object-fit:cover;border-radius:7px}.local-page-gallery figure:nth-child(2) img{height:clamp(280px,32vw,470px)}.local-page-gallery figcaption{max-width:510px;margin-top:14px}.local-page-note{margin-top:clamp(84px,11vw,150px);padding:clamp(32px,5vw,62px);display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);align-items:end;grid-gap:48px;gap:48px;color:#fff;background:#143d2c;border-radius:10px}.local-page-note .eyebrow,.local-page-note p{color:#cbdacd}.local-page-note h2{max-width:620px;margin:0;font-family:Baskerville,Baskerville Old Face,Georgia,serif;font-size:clamp(2rem,4.2vw,3.7rem);font-weight:400;line-height:1.02;letter-spacing:-.035em}.local-page-note-link{margin-top:24px;color:#143d2c;background:#f4c96b;border-color:#f4c96b;box-shadow:none}.local-page-note-link:hover{color:#10251c;background:#ffd981;border-color:#ffd981;box-shadow:none}@media (max-width:900px){.local-page-visual .local-page-header{grid-template-columns:1fr}.local-page-hero-copy{max-width:720px}.local-page-hero-media img{height:min(74vw,620px);border-radius:140px 140px 8px 8px}.local-page-sections{grid-template-columns:1fr}.local-page-sections section{min-height:0}.local-page-section-number{margin-bottom:24px}.local-page-sections h2{margin-top:0}.local-page-note{grid-template-columns:1fr;align-items:start}}@media (max-width:640px){.local-page,.local-page-visual{padding-bottom:72px}.local-page-gallery,.local-page-highlights,.local-page-note,.local-page-section-heading,.local-page-sections,.local-page-visual .local-page-header{width:min(calc(100% - 40px),1180px)}.local-page-visual .local-page-header{padding-top:50px;gap:46px}.local-page-header h1{font-size:clamp(3rem,15vw,4.5rem)}.local-page-cta{width:100%;padding-inline:18px}.local-page-hero-media img{height:112vw;max-height:560px;border-radius:100px 100px 6px 6px}.local-page-hero-media figcaption{margin-left:0}.local-page-highlights{margin-bottom:82px;padding:0;grid-template-columns:1fr}.local-page-highlights li{padding:20px 4px;border-right:0;border-bottom:1px solid var(--local-line)}.local-page-highlights li:last-child{border-bottom:0}.local-page-gallery{grid-template-columns:1fr}.local-page-gallery figure:nth-child(2){margin-top:22px}.local-page-gallery figure:nth-child(2) img,.local-page-gallery img{height:74vw}.local-page-note{padding:30px 24px;gap:28px}.local-page-note-link{width:100%}}.results-page-shell{--results-content-width:1240px;min-height:calc(100svh - 76px);padding:clamp(20px,2.25vw,36px) max(18px,env(safe-area-inset-right)) clamp(72px,8vw,112px) max(18px,env(safe-area-inset-left));align-content:start;gap:clamp(18px,1.75vw,26px);color:var(--brand-ink);background:radial-gradient(circle at 82% 5%,rgba(211,177,105,.15),transparent 28rem),radial-gradient(circle at 8% 42%,rgba(77,111,87,.08),transparent 24rem),var(--brand-canvas)}.public-plan-back{width:min(100%,var(--results-content-width));min-height:44px;padding:0;display:inline-flex;align-items:center;justify-self:start;gap:6px;color:var(--brand-green);font-weight:750;text-decoration:none}.public-plan-back svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.public-plan-back:hover{text-decoration:underline;text-underline-offset:4px}@media (min-width:960px){.results-page-shell{padding-top:18px;padding-inline:max(40px,calc((100vw - var(--results-content-width)) / 2));row-gap:12px}.public-plan-back{min-height:32px}}.route-actions{position:-webkit-sticky;position:sticky;z-index:3;bottom:calc(8px + env(safe-area-inset-bottom));padding:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;background:rgba(255,254,251,.96);border:1px solid var(--brand-border);border-radius:16px;box-shadow:0 14px 34px rgba(20,45,34,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.route-action{min-width:0;min-height:60px;padding:10px 18px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:12px;font-size:.92rem;font-weight:700;text-decoration:none}.route-action-primary{color:#ffffff;background:var(--brand-green);border:1px solid var(--brand-green)}.route-action-primary:hover{background:var(--brand-green-hover)}.route-action-secondary{color:var(--brand-green);background:var(--brand-surface);border:1px solid var(--brand-green)}.route-action-secondary:hover{background:#edf4ee}.route-action svg{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.route-actions .copy-status,.route-actions .export-hint,.route-actions .route-action-warnings{grid-column:1/-1}.export-hint{margin:0;color:#6b4700;font-size:.82rem}.public-plan,.results-view,.vote-panel{width:min(100%,var(--results-content-width,1120px))}.results-view,.share-tools,.vote-panel{display:grid;grid-gap:18px;gap:18px}.public-plan,.recommendation-card,.share-created-plan,.vote-option{background:rgba(255,255,255,.94);border:1px solid rgba(24,32,27,.14);border-radius:8px}.public-plan{padding:20px;display:grid;grid-gap:18px;gap:18px}.share-created-plan{width:min(100%,1120px);padding:14px 16px;display:flex;flex-wrap:wrap;gap:12px}.share-created-plan a{color:#1f6b45;font-weight:800}.public-plan-header h1{margin:0}.member-count,.vote-winner{margin:8px 0 0;color:#344137;font-weight:800}.vote-panel{gap:12px}.vote-option{padding:16px;display:grid;grid-gap:10px;gap:10px}.vote-option h2,.vote-option p{margin:0}.copy-status{margin:0;color:#1f6b45;font-weight:800}.results-header h2{margin:0;font-size:clamp(1.7rem,8vw,2.6rem);line-height:1.05}.recommendation-card,.recommendation-grid{display:grid;grid-gap:14px;gap:14px}.recommendation-card{padding:16px}.recommendation-title{display:grid;grid-gap:4px;gap:4px}.recommendation-kind,.recommendation-title h3{margin:0}.recommendation-kind{color:#516153;font-size:.78rem;font-weight:800;text-transform:uppercase}.route-map{width:100%;aspect-ratio:25/16;display:block}.generated-route-map,.route-map-error,.route-map-loading{position:relative;display:grid;overflow:hidden;place-items:center;border-radius:var(--brand-card-radius);background:linear-gradient(135deg,rgba(75,118,95,.18),transparent 32%),linear-gradient(45deg,#dfeadf,#f2efe1);border:1px solid rgba(24,32,27,.16);color:#1e2a21;font-weight:800}.maplibre-canvas{position:absolute;inset:0}.context-layer-legend,.context-overlay-warning{position:absolute;z-index:1;margin:0;background:rgba(255,255,255,.9);border:1px solid rgba(24,32,27,.16);border-radius:6px}.context-layer-legend span{display:inline-flex;gap:5px;align-items:center;color:#1e2a21;font-size:.78rem;font-weight:800}.context-layer-legend i{width:10px;height:10px;flex:0 0 10px;border-radius:999px}.context-layer-legend{left:8px;bottom:8px;max-width:calc(100% - 150px);padding:5px 6px;display:flex;flex-wrap:wrap;gap:6px}.context-overlay-warning{right:8px;top:8px;max-width:min(44%,260px);padding:5px 6px;color:#7b1d1d;font-size:.78rem;font-weight:800}.map-attribution{position:absolute;right:8px;bottom:6px;padding:4px 6px;background:rgba(255,255,255,.88);border-radius:5px;font-size:.78rem;font-weight:700}.map-attribution a{min-height:44px;display:inline-flex;align-items:center;color:#1f6b45}.route-facts{margin:0;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.route-facts div{min-width:0}.route-facts dt{color:#516153;font-size:.78rem;font-weight:700}.route-facts dd{margin:2px 0 0;font-weight:800}.score-list{display:grid;grid-gap:8px;gap:8px}.score-row{display:grid;grid-template-columns:minmax(90px,120px) 1fr;grid-gap:10px;gap:10px;align-items:center;font-size:.88rem;font-weight:700}meter{width:100%;height:10px}.reason-list,.scenario-reasons,.warning-list{margin:0;padding-left:18px}.warning-list{color:#7b1d1d}.warning-note{color:#7b1d1d;font-weight:800}.privacy-note{margin:0;color:#516153;font-size:.86rem;font-weight:700}summary{cursor:pointer;font-weight:800}@media (min-width:960px){.results-page-shell .route-actions{position:static}.recommendation-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.share-tools{grid-template-columns:auto minmax(260px,1fr) auto auto;align-items:end}.copy-status{grid-column:1/-1}}.map-fullscreen-toggle{position:absolute;top:8px;right:8px;z-index:2;width:44px;height:44px;padding:0;display:inline-grid;place-items:center;color:#1e2a21;background:rgba(255,255,255,.92);border:1px solid rgba(24,32,27,.18);border-radius:6px;cursor:pointer}.map-render-loading{position:absolute;inset:0;z-index:1;display:grid;place-items:center;color:#1e2a21;background:linear-gradient(135deg,rgba(75,118,95,.18),transparent 32%),linear-gradient(45deg,#dfeadf,#f2efe1);font-weight:800}.map-fullscreen-toggle:hover{background:#ffffff}.map-fullscreen-toggle:focus-visible{outline:3px solid rgba(31,107,69,.35);outline-offset:2px}.map-fullscreen-icon{position:relative;width:18px;height:18px;display:block}.map-fullscreen-icon:after,.map-fullscreen-icon:before{position:absolute;width:7px;height:7px;content:"";border-color:currentColor;border-style:solid}.map-fullscreen-icon:before{top:0;left:0;border-width:2px 0 0 2px}.map-fullscreen-icon:after{right:0;bottom:0;border-width:0 2px 2px 0}.map-fullscreen-icon-close:after,.map-fullscreen-icon-close:before{top:8px;left:1px;width:16px;height:0;border-width:2px 0 0}.map-fullscreen-icon-close:before{transform:rotate(45deg)}.map-fullscreen-icon-close:after{transform:rotate(-45deg)}.route-map-fullscreen{position:fixed;inset:0;z-index:1000;width:100vw;height:100dvh;aspect-ratio:auto;border:0;border-radius:0}.route-map-fullscreen .map-fullscreen-toggle{top:calc(14px + env(safe-area-inset-top));right:calc(14px + env(safe-area-inset-right));width:44px;height:44px}.route-map-fullscreen .context-layer-legend{left:calc(14px + env(safe-area-inset-left));bottom:calc(14px + env(safe-area-inset-bottom));max-width:calc(100% - 210px)}.route-map-fullscreen .context-overlay-warning{top:calc(14px + env(safe-area-inset-top));right:calc(70px + env(safe-area-inset-right))}.route-map-fullscreen .map-attribution{right:calc(14px + env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom))}.recommendation-card-compact{padding:0;overflow:hidden}.route-preview-card{background:#ffffff;border-color:rgba(24,32,27,.12);box-shadow:0 18px 44px rgba(24,32,27,.12)}.route-preview-details{display:block}.route-preview-summary{display:grid;grid-gap:0;gap:0;list-style:none}.route-preview-summary::-webkit-details-marker{display:none}.route-preview-map-shell{position:relative;overflow:hidden;background:#dfeadf;border-bottom:1px solid rgba(24,32,27,.12)}.route-preview-map-shell:after{position:absolute;inset:0;pointer-events:none;content:"";box-shadow:inset 0 -28px 36px rgba(24,32,27,.14)}.route-preview-card .route-map-compact{aspect-ratio:16/10;min-height:184px;border:0;border-radius:0}.route-preview-content{padding:14px;display:grid;grid-gap:12px;gap:12px}.route-preview-content .recommendation-title{gap:6px}.route-preview-content h3{font-size:1.14rem;line-height:1.16}.route-preview-content .route-facts{padding-top:10px;border-top:1px solid rgba(24,32,27,.1)}.route-preview-content .route-facts dt{font-size:.72rem}.route-preview-content .route-facts dd{font-size:1.08rem}.route-preview-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.expand-label,.score-limited,.warning-marker{min-height:34px;margin:0;padding:7px 10px;display:inline-grid;align-items:center;border-radius:6px;font-size:.88rem;font-weight:800}.score-limited{color:#0f5f3b;background:#e8f4ec;border:1px solid rgba(31,107,69,.22)}.expand-label{grid-auto-flow:column;gap:8px;color:#ffffff;background:#1f6b45}.expand-label:after{width:7px;height:7px;content:"";border-right:2px solid;border-bottom:2px solid;transform:translateY(-2px) rotate(45deg)}.route-preview-details[open] .expand-label:after{transform:translateY(2px) rotate(225deg)}.warning-marker{color:#7b1d1d;background:#fff0f0;border:1px solid #e2a5a5}.route-expanded-details{padding:0 14px 14px;display:grid;grid-gap:14px;gap:14px}@media (min-width:720px){.route-preview-content{min-height:212px}}.route-analysis{display:grid;grid-gap:clamp(22px,3vw,34px);gap:clamp(22px,3vw,34px)}.route-analysis-heading{display:grid;grid-gap:7px;gap:7px}.route-analysis-heading h2,.route-analysis-heading p{margin:0}.route-analysis-heading h2{color:var(--brand-ink);font-family:Baskerville,Baskerville Old Face,Georgia,serif;font-size:clamp(2rem,4vw,3rem);font-weight:500;line-height:1;letter-spacing:-.035em}.route-analysis-heading>p:last-child{color:var(--brand-text);line-height:1.5}.route-analysis-facts{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.route-analysis-facts>div{min-height:104px;padding:18px;display:flex;align-items:center;gap:14px;background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:16px;box-shadow:0 10px 26px rgba(20,45,34,.07)}.route-analysis-metric-copy{min-width:0}.route-analysis-metric-icon{width:38px;height:38px;display:inline-grid;flex:0 0 38px;place-items:center;color:var(--brand-green);border:1px solid #a8bbaa;border-radius:999px;font-size:1.25rem;font-weight:800}.route-analysis-facts dt{color:#45564b;font-size:.78rem}.route-analysis-facts dd{margin-top:4px;color:var(--brand-ink);font-size:1.15rem}.route-analysis-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-gap:20px;gap:20px;align-items:stretch}.route-analysis-stack{min-width:0;display:grid;grid-gap:20px;gap:20px}.route-analysis-section{min-width:0;padding:clamp(20px,2.5vw,28px);display:grid;align-content:start;grid-gap:18px;gap:18px;background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:18px;box-shadow:0 12px 30px rgba(20,45,34,.07)}.route-analysis-section h3{margin:0;color:var(--brand-ink);font-family:Baskerville,Baskerville Old Face,Georgia,serif;font-size:1.55rem;font-weight:600}.context-trace-hint,.context-trace-warning{margin:-8px 0 0;font-size:.78rem;font-weight:800}.context-trace-hint{color:var(--brand-green)}.context-trace-warning{color:#7b1d1d}.route-share-list{margin:0;padding:0;display:grid;grid-gap:15px;gap:15px;list-style:none}.route-share-list li{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;color:#344137;font-size:.86rem;font-weight:700;line-height:1.2}.route-share-list button{display:inline;min-width:0;min-height:0;padding:0;color:inherit;background:transparent;border:0;font:inherit;line-height:inherit;text-align:left;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.route-share-list li>:first-child{min-width:0}.route-share-list li span:last-child,.route-share-list li strong:last-child{justify-self:end;white-space:nowrap}.route-percentage-list li{grid-template-columns:1fr;gap:7px}.route-share-value{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;grid-gap:10px;gap:10px}.context-metric-track,.route-share-track{height:7px;overflow:hidden;background:#e1e7e1;border-radius:999px}.context-metric-track>span,.route-share-track>span{height:100%;display:block;background:#568b69;border-radius:inherit}.route-analysis-context{color:#f8f7f1;background:#173d2b;border-color:#173d2b;box-shadow:0 18px 40px rgba(20,45,34,.18)}.route-analysis-context .route-share-list,.route-analysis-context button,.route-analysis-context h3{color:inherit}.route-analysis-context .context-metric-copy{color:#f8f7f1}.context-metric-copy{min-width:0;display:grid;grid-template-columns:minmax(130px,.78fr) minmax(100px,1fr);align-items:center;grid-gap:14px;gap:14px}.context-metric-track{background:rgba(255,255,255,.15)}.context-metric-track>span{background:var(--brand-gold)}.context-metric-list strong{color:#fff}.route-safety-note{width:-moz-fit-content;width:fit-content;max-width:100%;margin:0 auto;padding:12px 18px;display:flex;align-items:center;gap:10px;color:#315440;background:rgba(255,254,251,.92);border:1px solid var(--brand-border);border-radius:12px;font-size:.86rem;line-height:1.4}.route-safety-note span{width:26px;height:26px;display:inline-grid;flex:0 0 26px;place-items:center;color:#fff;background:var(--brand-green);border-radius:50%;font-weight:850}@media (max-width:1000px){.route-analysis-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.route-analysis-grid{grid-template-columns:1fr}.route-analysis-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:430px){.route-analysis-facts{grid-template-columns:1fr}.route-analysis-facts>div{min-height:84px}.context-metric-copy{grid-template-columns:1fr;gap:7px}}.mobile-route-comparison{width:min(100%,var(--results-content-width));display:grid;justify-self:center;grid-gap:clamp(18px,2vw,28px);gap:clamp(18px,2vw,28px)}.comparison-header{max-width:820px;display:grid;grid-gap:8px;gap:8px}.comparison-header h1,.comparison-header p{margin:0}.comparison-header h1{color:var(--brand-ink);font-family:Baskerville,Baskerville Old Face,Georgia,serif;font-size:clamp(2.65rem,4.5vw,4rem);font-weight:400;line-height:1;letter-spacing:-.04em;text-wrap:balance}.comparison-header .recommendation-kind{color:var(--brand-accent);font-size:.78rem;letter-spacing:.12em}.comparison-header>p:last-child{color:var(--brand-text);font-size:1rem}@media (min-width:960px){.mobile-route-comparison{gap:16px}.comparison-header{gap:4px}.comparison-header h1{font-size:clamp(2.65rem,3.5vw,3.5rem)}}.comparison-workspace{min-width:0;display:grid;grid-gap:18px;gap:18px}.comparison-map-frame{min-width:0;overflow:hidden;border:1px solid var(--brand-border);border-radius:22px;box-shadow:0 20px 48px rgba(20,45,34,.12)}.comparison-map-frame>.route-map{width:100%;height:100%;min-height:420px;aspect-ratio:auto;border:0;border-radius:0}.route-selector-list{min-width:0;display:grid;grid-gap:14px;gap:14px}.route-selector{min-width:0;min-height:0;overflow:hidden;padding:22px 56px 22px 24px;position:relative;display:grid;align-content:center;grid-gap:7px;gap:7px;border:1px solid var(--brand-border);border-radius:var(--brand-card-radius);box-shadow:0 10px 26px rgba(20,45,34,.06);text-align:left;transition:translate .16s ease,box-shadow .16s ease,border-color .16s ease}.route-selector,.route-selector:hover{color:var(--brand-ink);background:var(--brand-surface)}.route-selector:hover{translate:0 -2px;border-color:#9fb5a4;box-shadow:0 16px 34px rgba(20,45,34,.11)}.route-selector[aria-expanded=true]{padding-left:30px;background:#f7fbf7;border-color:#8eab95;box-shadow:0 16px 38px rgba(20,45,34,.12)}.route-selector[aria-expanded=true]:before{width:8px;position:absolute;inset:-1px auto -1px -1px;content:"";background:var(--brand-green);border-radius:0}.route-selector-kind{color:var(--brand-accent);font-size:.7rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.route-selector-title{overflow-wrap:anywhere;font-family:Baskerville,Baskerville Old Face,Georgia,serif;font-size:clamp(1.25rem,2vw,1.55rem);font-weight:600;line-height:1.1}.route-selector-facts{color:#344137;font-size:.9rem;font-weight:650}.route-selector-meta{margin-top:5px;display:flex;flex-wrap:wrap;gap:7px;color:#516153;font-size:.76rem;font-weight:700}.route-selector-meta>span:first-child{width:-moz-fit-content;width:fit-content;padding:6px 10px;color:var(--brand-green);background:#e5f2e8;border-radius:999px;font-weight:850}.route-selector-disclosure{margin-top:5px;color:var(--brand-green);font-size:.82rem;font-weight:800}.route-selector-arrow{position:absolute;top:50%;right:22px;font-size:1.5rem;line-height:1;transform:translateY(-58%);transition:transform .16s ease}.route-selector[aria-expanded=true] .route-selector-arrow{transform:translateY(-38%) rotate(180deg)}.selected-route-detail{padding:clamp(22px,3vw,34px);display:grid;grid-gap:22px;gap:22px;background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:var(--brand-panel-radius);box-shadow:0 20px 48px rgba(20,45,34,.1)}.route-summary,.selected-route-heading,.selected-route-intro{display:grid;grid-gap:12px;gap:12px}.selected-route-heading{gap:5px}.route-summary h3,.selected-route-detail h2{margin:0;color:var(--brand-ink)}.selected-route-detail h2{font-family:Baskerville,Baskerville Old Face,Georgia,serif;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:600;line-height:1.05}.selected-route-detail .route-facts{gap:16px}.selected-route-detail .route-facts div+div{padding-left:16px;border-left:1px solid var(--brand-border)}.fit-score{min-height:132px;padding:20px;display:grid;align-content:center;grid-gap:13px;gap:13px;color:#f8f7f1;background:#173d2b;border-radius:16px}.fit-score-label{display:flex;align-items:baseline;justify-content:space-between;font-size:.9rem}.fit-score-label strong{color:var(--brand-gold);font-size:1.65rem;font-weight:850}.fit-score-track{height:9px;overflow:hidden;background:rgba(255,255,255,.17);border-radius:999px}.fit-score-track span{height:100%;display:block;background:linear-gradient(90deg,var(--brand-gold),#f8d981);border-radius:inherit}.route-summary h3{font-size:1.05rem}.route-summary ul{margin:0;padding:0;display:grid;grid-gap:8px;gap:8px;list-style:none}.route-summary li{display:grid;grid-template-columns:20px minmax(0,1fr);grid-gap:8px;gap:8px;font-size:.9rem;line-height:1.4}.route-summary li>span:first-child{color:var(--brand-accent);font-weight:850}.route-summary .route-warning{padding:9px 10px;font-weight:650}.route-warning-safety{color:#6a251d;background:#fff0ed}.route-warning-quality{color:#6b4700;background:#fff7db}.selected-route-detail .route-actions{position:static;padding:0;grid-template-columns:1fr;align-content:center;background:transparent;border:0;border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.data-quality-details{grid-column:1/-1;background:#fff;border:1px solid var(--brand-border);border-radius:14px}.data-quality-details summary{min-height:48px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.88rem;font-weight:650}.data-quality-details summary>span:first-child{min-width:0;display:flex;align-items:center;gap:8px}.data-quality-details summary>span:last-child{color:#516153;font-size:.78rem;white-space:nowrap}.data-quality-icon{width:22px;height:22px;display:inline-grid;flex:0 0 22px;place-items:center;color:#31503c;background:#e5eee7;border-radius:999px;font-size:.78rem;font-weight:750}.data-quality-details ul{margin:0;padding:2px 32px 14px 48px;color:#344137;font-size:.88rem;line-height:1.45}@media (min-width:960px){.comparison-workspace{grid-template-columns:minmax(0,1.65fr) minmax(320px,1fr);align-items:stretch}.route-selector-list{grid-template-columns:1fr;grid-template-rows:repeat(3,minmax(0,1fr))}.selected-route-detail{grid-template-columns:minmax(280px,1.25fr) minmax(180px,.72fr) minmax(240px,1fr) minmax(220px,.9fr);align-items:center}}@media (max-width:959px){.comparison-workspace{grid-template-columns:1fr}.comparison-map-frame>.route-map{min-height:clamp(280px,48vw,440px)}.route-selector-list{padding:3px 2px 12px;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.route-selector-list::-webkit-scrollbar{display:none}.route-selector{flex:0 0 min(82vw,360px);scroll-snap-align:start}}@media (max-width:620px){.comparison-header h1{font-size:clamp(2.45rem,12vw,3.2rem)}.selected-route-detail .route-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.selected-route-detail .route-facts div+div{padding-left:10px}}@media (forced-colors:active){.route-selector[aria-expanded=true]{outline:3px solid Highlight;outline-offset:2px}}