:root{--bg:#F4F1EA;--text:#101820;--muted:#687174;--asphalt:#1C2327;--teal:#0B8793;--teal-dark:#066773;--shade-blue:#BFEAF2;--shade-blue-strong:#6BC6D8;--lime:#D8F14A;--heat:#F2B6A0;--heat-strong:#EB7F66;--card:rgba(255,255,255,.78);--border:rgba(16,24,32,.09);--shadow:rgba(16,24,32,.13)}*{box-sizing:border-box}html,body{width:100%;max-width:100%;overflow-x:hidden}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--text);font-family:Inter,"SF Pro Display",system-ui,sans-serif;background:radial-gradient(circle at 18% 6%,rgba(191,234,242,.58),transparent 28%),radial-gradient(circle at 88% 10%,rgba(242,182,160,.36),transparent 30%),var(--bg)}button,input,select{font:inherit}.app-shell{width:min(100%,430px);min-height:100vh;margin:0 auto;padding:18px 16px 34px}.app-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:4px 0 12px;background:linear-gradient(180deg,var(--bg) 0%,rgba(244,241,234,.86) 78%,transparent);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none}.brand-icon{width:38px;height:38px;filter:drop-shadow(0 10px 18px rgba(16,24,32,.12))}.brand-type{display:grid;line-height:1}.brand-type span{display:flex;gap:2px;font-size:.98rem;font-weight:950;letter-spacing:.03em}.brand-type strong{color:var(--asphalt)}.brand-type b{color:var(--teal)}.brand-type small{font-size:.48rem;font-weight:800;letter-spacing:.45em}.language-toggle{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:4px;border:1px solid var(--border);border-radius:999px;background:var(--card);box-shadow:0 10px 22px rgba(16,24,32,.07)}.lang-button{min-width:40px;min-height:30px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:.74rem;font-weight:900;cursor:pointer}.lang-button.is-active{color:var(--teal-dark);background:rgba(191,234,242,.74)}.app-main{display:grid;gap:22px}.hero-section{display:grid;gap:16px;padding-top:8px}.eyebrow,.section-label,.scope-note{margin:0;color:var(--teal-dark);font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.hero-section h1{margin:0;max-width:9ch;color:var(--teal-dark);font-size:clamp(3.15rem,15vw,4.8rem);line-height:.9;font-weight:950;letter-spacing:-.04em}.hero-copy{margin:0;max-width:35ch;color:#2E383C;font-size:1rem;line-height:1.48}.heat-card,.planner-card,.actions,.route-details{border:1px solid var(--border);background:var(--card);box-shadow:0 22px 54px rgba(16,24,32,.1);backdrop-filter:blur(18px)}.heat-card{display:grid;grid-template-columns:42px auto 1fr;gap:14px;align-items:center;padding:18px;border-radius:28px}.sun-mark{width:34px;height:34px;border-radius:50%;background:radial-gradient(circle,var(--lime) 0 42%,transparent 44%),conic-gradient(from 0deg,transparent 0 7%,#F7B733 7% 11%,transparent 11% 19%,#F7B733 19% 23%,transparent 23% 31%,#F7B733 31% 35%,transparent 35%)}.heat-card strong{font-size:2.85rem;line-height:1;font-weight:950;letter-spacing:-.05em}.heat-card span{display:block;color:var(--text);font-weight:850}.heat-card p{margin:4px 0 0;color:var(--muted);font-size:.9rem;line-height:1.34}.planner-card{display:grid;padding:18px;border-radius:32px;overflow:hidden}.scope-note{color:var(--muted);padding:0 6px 14px}.input-row{display:grid;gap:7px;padding:14px 8px;border-top:1px solid rgba(16,24,32,.07)}.input-row span,.select-grid span{color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.input-row input{width:100%;height:42px;border:0;outline:0;border-radius:16px;background:rgba(255,255,255,.56);color:var(--text);padding:0 14px;font-weight:800}.input-row input::placeholder{color:rgba(16,24,32,.52)}.select-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(16,24,32,.07);border-bottom:1px solid rgba(16,24,32,.07)}.select-grid label{position:relative;display:grid;gap:6px;padding:14px 8px}.select-grid label:first-child{border-right:1px solid rgba(16,24,32,.07)}.select-grid select{width:100%;appearance:none;-webkit-appearance:none;border:0;outline:0;background:transparent;color:var(--text);font-size:1rem;font-weight:900;cursor:pointer}.select-grid label:after{content:"⌄";position:absolute;right:13px;bottom:16px;color:var(--teal);font-weight:900}.shade-check{display:flex;align-items:center;gap:10px;padding:16px 8px 18px;color:var(--text);font-size:.93rem;font-weight:700}.shade-check input{width:19px;height:19px;accent-color:var(--teal)}.primary-action{display:flex;align-items:center;justify-content:center;gap:14px;min-height:58px;border:0;border-radius:22px;color:white;background:linear-gradient(105deg,var(--teal-dark),var(--teal) 58%,var(--lime));box-shadow:0 18px 34px rgba(11,135,147,.26);font-size:1rem;font-weight:950;cursor:pointer}.primary-action svg,.map-link svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.map-section{display:grid;gap:10px;scroll-margin-top:74px}.map-card{position:relative;min-height:250px;overflow:hidden;border:1px solid var(--border);border-radius:32px;background:#EAF1EF;box-shadow:0 22px 58px rgba(16,24,32,.13);transition:min-height .42s ease,box-shadow .42s ease}.route-map{position:absolute;inset:0;z-index:0;background:#EAF1EF}.map-card .leaflet-control-zoom{display:none}.map-card .leaflet-control-attribution{font-size:.58rem;background:rgba(255,255,255,.72)}.shade-zone{position:absolute;z-index:2;pointer-events:none}.shade-zone span{display:inline-block;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.88);box-shadow:0 8px 18px rgba(16,24,32,.1);font-size:.65rem;font-weight:950;letter-spacing:.05em}.shade-zone-main{left:-12%;top:7%;width:70%;height:82%;border-radius:42px;background:rgba(107,198,216,.54);transform:rotate(-14deg)}.shade-zone-main span{position:absolute;left:35%;top:32%;color:var(--teal-dark)}.shade-zone-green{left:28%;top:40%;width:34%;height:16%;border-radius:28px;background:rgba(216,241,74,.24)}.shade-zone-green span{position:absolute;left:14%;top:24%;color:#2D7C46}.shade-zone-heat{right:-8%;top:19%;width:48%;height:74%;border-radius:42px;background:rgba(235,127,102,.42)}.shade-zone-heat span{position:absolute;right:14%;top:47%;color:#AA3D27}.shade-zone-facade{left:48%;bottom:18%;width:34%;height:12%;border-radius:26px;background:rgba(191,234,242,.38)}.shade-zone-facade span{position:absolute;left:14%;top:18%;color:var(--teal-dark)}.fallback-route{position:absolute;inset:0;z-index:3;width:100%;height:100%;fill:none;pointer-events:none}.fallback-route path{stroke:#0B8793;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 0 white);stroke-dasharray:10 8}.fallback-route circle{fill:#0B8793;stroke:white;stroke-width:5}.fallback-route circle:last-child{fill:var(--lime);stroke:var(--teal-dark)}.map-status{position:absolute;z-index:4;left:16px;right:16px;bottom:16px;padding:10px 12px;border-radius:18px;background:rgba(255,255,255,.86);box-shadow:0 12px 28px rgba(16,24,32,.1);color:var(--muted);font-size:.75rem;font-weight:850;text-align:center;backdrop-filter:blur(12px)}.result-sheet{position:absolute;z-index:5;left:0;right:0;bottom:0;display:grid;gap:16px;padding:16px 22px 22px;border-radius:30px 30px 0 0;background:rgba(255,255,255,.9);box-shadow:0 -18px 54px rgba(16,24,32,.14);backdrop-filter:blur(18px);transform:translateY(105%);opacity:0;transition:transform .42s ease,opacity .28s ease}.sheet-handle{width:54px;height:5px;border-radius:99px;background:rgba(16,24,32,.22);justify-self:center}.result-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0}.result-metrics div{padding:0 14px;border-right:1px solid rgba(16,24,32,.11)}.result-metrics div:last-child{border-right:0}.result-metrics dd{margin:0;color:var(--text);font-size:2.25rem;line-height:1;font-weight:950;letter-spacing:-.04em}.result-metrics dt{margin-top:7px;color:var(--muted);font-size:.78rem;line-height:1.28}.result-copy{margin:0;color:#39464B;line-height:1.42}.actions{display:none;gap:12px;padding:14px;border-radius:30px}.map-link{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 18px;border-radius:20px;text-decoration:none;font-weight:950}.map-link:after{content:"→";font-size:1.25rem}.map-link.google{color:white;background:var(--asphalt);box-shadow:0 18px 34px rgba(16,24,32,.2)}.map-link.apple{color:var(--text);background:rgba(255,255,255,.82);border:1px solid var(--border)}.route-details{border-radius:20px;box-shadow:none}.route-details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:0 16px;font-weight:900;cursor:pointer}.route-details summary::-webkit-details-marker{display:none}.route-details summary:after{content:"⌄";color:var(--teal);font-weight:950}.route-details[open] summary:after{transform:rotate(180deg)}.route-details ol{display:grid;gap:12px;margin:0;padding:0 16px 16px;list-style:none}.route-details li{display:grid;gap:3px;padding-top:12px;border-top:1px solid rgba(16,24,32,.07)}.route-details strong{font-size:.92rem}.route-details span,.route-details em{color:var(--muted);font-style:normal;font-size:.84rem}.data-note{margin:2px 2px 0;color:var(--muted);font-size:.78rem}.app-shell.is-calculated .hero-section{gap:12px}.app-shell.is-calculated .hero-section h1{font-size:2.1rem;max-width:none}.app-shell.is-calculated .hero-copy{display:none}.app-shell.is-calculated .planner-card{display:none}.app-shell.is-calculated .section-label{display:none}.app-shell.is-calculated .map-card{min-height:min(72vh,660px);box-shadow:0 28px 76px rgba(16,24,32,.18)}.app-shell.is-calculated .fallback-route{display:none}.app-shell.is-calculated .map-status{display:none}.app-shell.is-calculated .result-sheet{transform:translateY(0);opacity:1}.app-shell.is-calculated .actions{display:grid}.app-shell.night-route .result-sheet{background:linear-gradient(145deg,rgba(11,38,52,.94),rgba(8,111,141,.92));color:white}.app-shell.night-route .result-sheet .eyebrow{color:var(--shade-blue)}.app-shell.night-route .result-sheet .result-copy,.app-shell.night-route .result-metrics dt{color:rgba(255,255,255,.76)}.app-shell.night-route .result-metrics dd{color:white}.leaflet-marker-icon.route-pin{border-radius:50%;border:4px solid white;background:var(--teal);box-shadow:0 8px 22px rgba(8,111,141,.34)}.leaflet-marker-icon.route-pin.end{background:var(--lime);border-color:var(--teal-dark)}@media(max-width:360px){.app-shell{padding-left:12px;padding-right:12px}.brand-type span{font-size:.88rem}.brand-type small{letter-spacing:.34em}.hero-section h1{font-size:3rem}.heat-card{grid-template-columns:36px auto;gap:12px}.heat-card div{grid-column:1/-1}.result-metrics div{padding:0 9px}.result-metrics dd{font-size:1.85rem}.map-link{font-size:.92rem}}

/* Reliable custom route details accordion */
.route-details-toggle{appearance:none;width:100%;min-height:54px;display:flex;align-items:center;justify-content:space-between;border:0;background:transparent;color:var(--text);padding:0 16px;font:inherit;font-weight:900;cursor:pointer;text-align:left}.route-details-toggle:after{content:"⌄";color:var(--teal);font-weight:950;transition:transform .18s ease}.route-details.is-open .route-details-toggle:after{transform:rotate(180deg)}.route-details-panel{display:grid;gap:12px;margin:0;padding:0 16px 16px;list-style:none}.route-details-panel[hidden]{display:none}.route-details-panel li{display:grid;gap:3px;padding-top:12px;border-top:1px solid rgba(16,24,32,.07)}.route-details-panel strong{font-size:.92rem}.route-details-panel span,.route-details-panel em{color:var(--muted);font-style:normal;font-size:.84rem}

/* UV index chip */
.uv-chip{justify-self:end;display:grid;place-items:center;min-width:58px;min-height:58px;padding:8px 10px;border-left:1px solid rgba(16,24,32,.1);background:rgba(255,255,255,.42);border-radius:18px}.uv-chip span{color:var(--muted);font-size:.62rem;font-weight:950;letter-spacing:.08em}.uv-chip strong{font-size:1.45rem;line-height:1;font-weight:950;color:var(--teal-dark)}@media(max-width:360px){.uv-chip{grid-column:2;justify-self:start;min-height:48px;min-width:66px;border-left:0;border-top:1px solid rgba(16,24,32,.08)}}

/* Inline UV placement */
.heat-card{grid-template-columns:42px auto 1fr}.weather-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.uv-chip{display:none}.uv-inline{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;background:rgba(191,234,242,.5);color:var(--teal-dark);font-size:.72rem;font-weight:950;letter-spacing:.03em}.uv-inline strong{font-size:.78rem;line-height:1;color:var(--teal-dark)}@media(max-width:360px){.heat-card{grid-template-columns:36px auto}.uv-inline{padding:3px 7px}}

/* One-time cinematic intro */
.intro-screen{position:fixed;inset:0;z-index:100;display:grid;grid-template-rows:1fr auto auto;align-items:end;width:min(100%,430px);margin:0 auto;padding:env(safe-area-inset-top) 22px calc(env(safe-area-inset-bottom) + 26px);left:0;right:0;overflow:hidden;color:var(--text);background:var(--bg);transition:opacity .42s ease,visibility .42s ease,transform .42s ease}.intro-screen.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:scale(1.015)}.intro-map{position:absolute;inset:0;overflow:hidden;background:linear-gradient(135deg,rgba(191,234,242,.8) 0%,rgba(244,241,234,.72) 42%,rgba(242,182,160,.78) 100%)}.intro-map:before{content:"";position:absolute;inset:-40px;opacity:.28;background:linear-gradient(35deg,transparent 0 46%,rgba(16,24,32,.12) 47% 48%,transparent 49%),linear-gradient(90deg,rgba(16,24,32,.09) 1px,transparent 1px),linear-gradient(0deg,rgba(16,24,32,.07) 1px,transparent 1px);background-size:170px 120px,34px 34px,34px 34px}.intro-zone{position:absolute;border-radius:46px;mix-blend-mode:multiply}.intro-zone span,.intro-cool-label{position:absolute;color:white;font-size:.78rem;font-weight:950;letter-spacing:.07em;text-transform:uppercase;text-shadow:0 2px 18px rgba(16,24,32,.18)}.intro-shade{left:-20%;bottom:18%;width:78%;height:58%;background:rgba(11,135,147,.58);transform:rotate(-18deg)}.intro-shade span{left:34%;top:34%}.intro-heat{right:-16%;top:0;width:72%;height:58%;background:rgba(235,127,102,.48);transform:rotate(-12deg)}.intro-heat span{right:20%;top:45%;max-width:9ch;text-align:center;color:#9C3C28}.intro-green{left:35%;bottom:34%;width:34%;height:16%;background:rgba(216,241,74,.28);transform:rotate(-20deg)}.intro-green span{left:12%;top:30%;max-width:10ch;text-align:center}.intro-cool-label{left:54px;bottom:238px}.intro-route{position:absolute;inset:0;width:100%;height:100%;z-index:3;fill:none}.intro-route path{stroke:white;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 12px 20px rgba(6,103,115,.22))}.intro-route circle{fill:white;stroke:rgba(11,135,147,.95);stroke-width:8}.intro-route circle:first-of-type{stroke:rgba(216,241,74,.95)}.intro-content{position:relative;z-index:4;padding-bottom:28px}.intro-content h1{margin:0;max-width:7.5ch;color:var(--text);font-size:clamp(4rem,18vw,5.6rem);line-height:.88;font-weight:950;letter-spacing:-.055em}.intro-content h1 span{color:var(--teal)}.intro-content p{margin:22px 0 0;max-width:14ch;color:var(--text);font-size:1.35rem;line-height:1.28;font-weight:560}.intro-cta{position:relative;z-index:4;display:flex;align-items:center;justify-content:center;gap:18px;min-height:64px;width:100%;border:0;border-radius:22px;color:white;background:linear-gradient(105deg,var(--teal-dark),var(--teal) 58%,var(--lime));box-shadow:0 24px 46px rgba(11,135,147,.3);font-size:1.1rem;font-weight:950;cursor:pointer}.intro-cta svg{width:24px;height:24px;fill:none;stroke:white;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.intro-dots{position:relative;z-index:4;display:flex;justify-content:center;gap:14px;margin-top:28px}.intro-dots span{width:10px;height:10px;border-radius:50%;background:rgba(16,24,32,.16)}.intro-dots .is-active{width:18px;border-radius:999px;background:var(--teal)}.intro-seen .intro-screen{display:none}@media(min-width:520px){.intro-screen{top:14px;bottom:14px;border-radius:34px;box-shadow:0 30px 80px rgba(16,24,32,.18)}}@media(max-width:360px){.intro-content h1{font-size:3.6rem}.intro-content p{font-size:1.12rem}.intro-cool-label{bottom:220px}}

/* Intro state robustness */
body.intro-active{overflow:hidden}.intro-screen{display:grid}.intro-screen.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:scale(1.015)}

/* Intro cleanup: single screen, no carousel dots */
.intro-screen{height:100svh;min-height:100svh;grid-template-rows:1fr auto auto;padding:18px 22px max(34px,calc(env(safe-area-inset-bottom) + 34px))}.intro-dots{display:none}.intro-map{background:linear-gradient(135deg,rgba(191,234,242,.86) 0%,rgba(244,241,234,.76) 45%,rgba(242,182,160,.76) 100%)}.intro-zone span,.intro-cool-label{font-size:.68rem;letter-spacing:.08em;opacity:.78}.intro-shade span{left:28%;top:38%}.intro-heat span{right:18%;top:40%}.intro-green span{left:18%;top:25%}.intro-cool-label{left:34px;bottom:28%}.intro-route{z-index:3}.intro-route path{stroke:#fff;stroke-width:8;filter:drop-shadow(0 10px 22px rgba(6,103,115,.32))}.intro-route circle{fill:#0B8793;stroke:white;stroke-width:7}.intro-route circle:first-of-type{fill:#D8F14A;stroke:white}.intro-content{padding-bottom:22px}.intro-content h1{font-size:clamp(3.25rem,15vw,4.8rem);max-width:7ch}.intro-content p{margin-top:16px;font-size:1.1rem}.intro-cta{min-height:60px}.intro-zone{mix-blend-mode:multiply}@media(max-height:720px){.intro-content h1{font-size:3rem}.intro-content p{font-size:1rem}.intro-cool-label{bottom:31%}.intro-route{transform:scale(.88);transform-origin:center 42%}.intro-cta{min-height:56px}}

/* Product flow refinement */
.app-shell.is-calculated .map-card{min-height:min(78svh,720px)}
.app-shell.is-calculated .shade-zone-main{background:rgba(107,198,216,.68)}
.app-shell.is-calculated .shade-zone-heat{background:rgba(235,127,102,.52)}
.app-shell.is-calculated .shade-zone-green{background:rgba(216,241,74,.32)}
.app-shell.is-calculated .shade-zone-facade{background:rgba(191,234,242,.52)}
.app-shell.is-calculated .shade-zone span{box-shadow:0 10px 24px rgba(16,24,32,.13)}
.route-comparison{display:grid;grid-template-columns:1fr 1.18fr;gap:10px}.compare-option{display:grid;gap:5px;padding:14px;border:1px solid rgba(16,24,32,.09);border-radius:22px;background:rgba(255,255,255,.74)}.compare-option span{color:var(--muted);font-size:.68rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.compare-option strong{font-size:1.55rem;line-height:1;font-weight:950;letter-spacing:-.04em}.compare-option small{color:var(--muted);font-size:.78rem;font-weight:800}.compare-option.coolwalk{color:white;background:linear-gradient(145deg,var(--teal-dark),var(--teal));box-shadow:0 18px 38px rgba(11,135,147,.25)}.compare-option.coolwalk span,.compare-option.coolwalk small{color:rgba(255,255,255,.78)}.usefulness-signals{display:grid;grid-template-columns:1fr;gap:8px}.usefulness-signals div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:0 14px;border:1px solid rgba(16,24,32,.08);border-radius:18px;background:rgba(255,255,255,.68)}.usefulness-signals strong{color:var(--teal-dark);font-size:1rem;font-weight:950}.usefulness-signals span{color:var(--muted);font-size:.82rem;font-weight:850;text-align:right}.leaflet-overlay-pane path{filter:drop-shadow(0 7px 14px rgba(6,103,115,.22))}@media(max-width:360px){.route-comparison{grid-template-columns:1fr}.compare-option{padding:13px}.usefulness-signals span{text-align:left}}

/* Stronger route inputs */
.planner-card .input-row{position:relative;margin:8px 0;padding:15px 14px 15px 54px;border:1px solid rgba(16,24,32,.07);border-radius:23px;background:rgba(255,255,255,.62);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.planner-card .input-row:before{content:"";position:absolute;left:18px;top:50%;width:18px;height:18px;border-radius:50%;transform:translateY(-50%);box-shadow:0 0 0 7px rgba(255,255,255,.82)}
.planner-card .input-row:nth-of-type(1){border-color:rgba(11,135,147,.28);background:linear-gradient(90deg,rgba(191,234,242,.42),rgba(255,255,255,.7))}
.planner-card .input-row:nth-of-type(1):before{background:var(--teal);box-shadow:0 0 0 7px rgba(191,234,242,.74)}
.planner-card .input-row:nth-of-type(2){border-color:rgba(235,127,102,.28);background:linear-gradient(90deg,rgba(242,182,160,.34),rgba(255,255,255,.72))}
.planner-card .input-row:nth-of-type(2):before{background:var(--heat-strong);box-shadow:0 0 0 7px rgba(242,182,160,.42)}
.planner-card .input-row span{color:var(--teal-dark);font-size:.74rem}.planner-card .input-row:nth-of-type(2) span{color:#A64934}
.planner-card .input-row input{height:38px;padding:0;background:transparent;color:var(--text);font-size:1.02rem;font-weight:950}.planner-card .input-row input::placeholder{color:rgba(16,24,32,.52);font-weight:900}

/* Reset and current-location affordances */
.current-start-badge{display:inline-flex;align-items:center;width:max-content;margin-top:4px;padding:6px 10px;border-radius:999px;background:rgba(11,135,147,.11);color:var(--teal-dark);font-size:.72rem;font-weight:950;letter-spacing:.02em}.current-start-badge:before{content:"";width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(191,234,242,.72)}.current-start-badge[hidden]{display:none}.planner-card .input-row.uses-current-location{border-color:rgba(11,135,147,.42);background:linear-gradient(90deg,rgba(191,234,242,.62),rgba(255,255,255,.76))}.select-grid label:after{pointer-events:none}.reset-route{min-height:50px;border:1px solid rgba(16,24,32,.1);border-radius:18px;background:rgba(255,255,255,.66);color:var(--teal-dark);font-weight:950;cursor:pointer}.reset-route:hover{background:rgba(191,234,242,.46);transform:translateY(-1px)}.reset-route:active{transform:translateY(0)}

/* In-app navigation */
.start-navigation{min-height:56px;border:0;border-radius:20px;background:linear-gradient(105deg,var(--teal-dark),var(--teal) 62%,var(--lime));color:white;font-weight:950;box-shadow:0 18px 34px rgba(11,135,147,.24);cursor:pointer}.navigation-panel{display:grid;gap:14px;padding:18px;border:1px solid rgba(16,24,32,.09);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(191,234,242,.36));box-shadow:0 18px 42px rgba(16,24,32,.1)}.navigation-panel[hidden]{display:none}.navigation-panel-header{display:flex;align-items:center;justify-content:space-between;color:var(--teal-dark);font-size:.74rem;font-weight:950;letter-spacing:.09em;text-transform:uppercase}.navigation-panel-header button{width:34px;height:34px;border:0;border-radius:50%;background:rgba(16,24,32,.06);color:var(--text);font-size:1.35rem;line-height:1;cursor:pointer}.navigation-step-label{margin:0;color:var(--text);font-size:1.28rem;line-height:1.24;font-weight:950}.navigation-meta{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-weight:850}.navigation-meta strong{color:var(--teal-dark);font-size:1.05rem}.navigation-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}.navigation-controls button{min-height:46px;border:1px solid rgba(16,24,32,.1);border-radius:16px;background:rgba(255,255,255,.7);color:var(--text);font-weight:950;cursor:pointer}.navigation-controls button:last-child{background:var(--asphalt);color:white}.navigation-controls button:disabled{opacity:.42;cursor:not-allowed}

/* Prevent clipped start/destination labels */
.planner-card .input-row{grid-template-columns:1fr;align-items:start;min-width:0;padding-right:18px;overflow:visible}.planner-card .input-row input{display:block;min-width:0;width:100%;height:auto;min-height:42px;white-space:normal;text-overflow:clip;overflow:visible;line-height:1.18}.planner-card .input-row input::placeholder{white-space:normal;text-overflow:clip;line-height:1.18}.planner-card .input-row span,.current-start-badge{max-width:100%}@media(max-width:390px){.planner-card .input-row{padding-left:50px;padding-right:14px}.planner-card .input-row input{font-size:.94rem}.current-start-badge{font-size:.68rem;padding:6px 8px}}

/* Keep route input text fully visible */
.planner-card .input-row input{max-width:100%;font-size:clamp(.86rem,3.8vw,1rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planner-card .input-row input::placeholder{font-size:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planner-card .input-row{padding-right:22px}.current-start-badge{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Product switch + availability intelligence */
.brand-type small{display:flex;align-items:center;gap:5px;letter-spacing:.24em}.brand-type small s{color:rgba(104,113,116,.72);text-decoration-thickness:2px;text-decoration-color:var(--heat-strong)}.brand-type small em{color:var(--teal-dark);font-style:normal;letter-spacing:.22em}.availability-card{display:grid;gap:4px;margin:4px 0 2px;padding:13px 14px;border:1px solid rgba(16,24,32,.08);border-radius:20px;background:rgba(255,255,255,.62);box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.availability-card strong{color:var(--teal-dark);font-size:.9rem;font-weight:950}.availability-card span{color:var(--muted);font-size:.82rem;line-height:1.35;font-weight:760}.availability-card.is-available{border-color:rgba(11,135,147,.22);background:linear-gradient(120deg,rgba(191,234,242,.42),rgba(255,255,255,.7))}.availability-card.is-blocked{border-color:rgba(235,127,102,.32);background:linear-gradient(120deg,rgba(242,182,160,.34),rgba(255,255,255,.74))}.availability-card.is-blocked strong{color:#A64934}.availability-card.is-demo{border-color:rgba(216,241,74,.5);background:linear-gradient(120deg,rgba(216,241,74,.32),rgba(191,234,242,.34),rgba(255,255,255,.76))}.availability-card.is-attention{animation:availabilityPulse .44s ease}@keyframes availabilityPulse{0%{transform:scale(1)}45%{transform:scale(1.018);box-shadow:0 0 0 5px rgba(235,127,102,.16)}100%{transform:scale(1)}}.demo-action{display:flex;align-items:center;justify-content:center;gap:14px;min-height:52px;border:1px solid rgba(11,135,147,.22);border-radius:20px;background:rgba(255,255,255,.74);color:var(--teal-dark);font-weight:950;cursor:pointer}.demo-action svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s ease}.demo-action:hover{background:rgba(191,234,242,.5)}.demo-action:hover svg{transform:translateX(3px)}.primary-action.is-soft-blocked{background:linear-gradient(105deg,#8C9699,#687174);box-shadow:none}.app-shell.is-demo-mode .result-sheet{background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(216,241,74,.18),rgba(191,234,242,.32))}.app-shell.is-demo-mode .result-sheet .eyebrow:after{content:" · DEMO";color:var(--heat-strong)}@media(max-width:360px){.brand-type small{gap:4px;letter-spacing:.16em}.brand-type small em{letter-spacing:.14em}.availability-card span{font-size:.78rem}}

/* Brand concept refinement: Eucerin Sun / NIVEA Sun x Google Maps idea */
:root{--route-orange:#F26A21;--route-blue:#1769E8;--route-blue-dark:#0A3C9A}.brand-type span{font-size:1.04rem}.brand-type strong{color:var(--route-blue-dark)}.brand-type b{color:var(--route-blue)}.brand-type small{color:var(--muted);letter-spacing:.22em}.hero-section h1{max-width:10ch;color:var(--route-blue-dark)}.hero-copy{color:var(--text);font-size:1.35rem;font-weight:900;line-height:1.18;letter-spacing:-.03em}.hero-detail{margin:0;max-width:35ch;color:#39464B;font-size:1rem;line-height:1.48}.scope-note{color:var(--route-blue-dark)}.primary-action{background:linear-gradient(105deg,var(--route-blue-dark),var(--route-blue));box-shadow:0 18px 34px rgba(23,105,232,.22)}.secondary-action{display:flex;align-items:center;justify-content:center;gap:14px;min-height:54px;border:1px solid rgba(242,106,33,.26);border-radius:20px;background:rgba(255,255,255,.76);color:var(--route-orange);font-weight:950;cursor:pointer}.secondary-action svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s ease}.secondary-action:hover{background:rgba(242,106,33,.1)}.secondary-action:hover svg{transform:translateX(3px)}.leaflet-marker-icon.route-pin,.fallback-route path{background:var(--route-blue);stroke:var(--route-blue)}.route-comparison{grid-template-columns:1fr 1.22fr;gap:12px}.compare-option{border-radius:24px;padding:16px}.compare-option.standard{border-color:rgba(242,106,33,.22);background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(242,106,33,.08))}.compare-option.standard span{color:var(--route-orange)}.compare-option.coolwalk{background:linear-gradient(145deg,var(--route-blue-dark),var(--route-blue));box-shadow:0 18px 38px rgba(23,105,232,.25)}.compare-option strong{font-size:1.9rem}.benefit-strip{display:grid;grid-template-columns:1fr 1fr;gap:8px}.benefit-strip span{display:grid;gap:3px;min-height:56px;padding:10px 12px;border:1px solid rgba(16,24,32,.08);border-radius:18px;background:rgba(255,255,255,.7)}.benefit-strip strong{color:var(--route-blue-dark);font-size:1rem;font-weight:950;line-height:1.05}.benefit-strip em{color:var(--muted);font-size:.72rem;font-style:normal;font-weight:850;line-height:1.2}.benefit-strip span:first-child strong{color:var(--route-orange)}.why-section{display:grid;gap:13px;padding:18px;border:1px solid var(--border);border-radius:26px;background:rgba(255,255,255,.72);box-shadow:0 18px 42px rgba(16,24,32,.08)}.why-section ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.why-section li{position:relative;padding-left:22px;color:var(--text);font-weight:850}.why-section li:before{content:"";position:absolute;left:0;top:.45em;width:9px;height:9px;border-radius:50%;background:var(--route-blue)}.brand-line{margin:0;color:var(--route-blue-dark);font-size:1.12rem;line-height:1.25;font-weight:950;letter-spacing:-.02em}.legal-note{margin:0 2px;color:var(--muted);font-size:.72rem;line-height:1.35}.data-note{margin-top:4px}.place-suggestions{position:absolute;z-index:20;left:50px;right:14px;top:calc(100% - 8px);display:grid;gap:6px;padding:8px;border:1px solid rgba(16,24,32,.09);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 18px 40px rgba(16,24,32,.14);backdrop-filter:blur(16px)}.place-suggestions[hidden]{display:none}.suggestion-item{display:grid;gap:2px;width:100%;padding:10px 11px;border:0;border-radius:12px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.suggestion-item strong{font-size:.86rem;font-weight:950;color:var(--route-blue-dark)}.suggestion-item span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:0;text-transform:none}.suggestion-item:hover,.suggestion-item.is-active{background:rgba(191,234,242,.48)}.suggestion-message{padding:10px 11px;color:var(--muted);font-size:.78rem;font-weight:800}@media(max-width:390px){.benefit-strip{grid-template-columns:1fr}.place-suggestions{left:14px;right:14px}.hero-copy{font-size:1.18rem}}
.fallback-route circle{fill:var(--route-blue);stroke:white}.fallback-route circle:last-child{fill:var(--route-orange);stroke:white}.leaflet-marker-icon.route-pin{background:var(--route-blue)}.leaflet-marker-icon.route-pin.end{background:var(--route-orange);border-color:white}.sun-mark{background:radial-gradient(circle,var(--route-orange) 0 42%,transparent 44%),conic-gradient(from 0deg,transparent 0 7%,#F7B733 7% 11%,transparent 11% 19%,#F7B733 19% 23%,transparent 23% 31%,#F7B733 31% 35%,transparent 35%)}
.planner-card{overflow:visible}

/* Blocked weather state: keep compare out, make sunny demo path obvious */
.availability-card[hidden],.secondary-action[hidden],.demo-action[hidden]{display:none!important}
.demo-action{border:0;background:linear-gradient(105deg,#F26A21,#F7B733 55%,#D8F14A);color:#fff;box-shadow:0 16px 34px rgba(242,106,33,.22)}
.demo-action:hover{background:linear-gradient(105deg,#E95E19,#F7B733 56%,#D8F14A)}
