:root{--ink:#121614;--muted:#60706a;--surface:#f6f8f4;--surface-strong:#fff;--chrome:#d9e3dc;--cyan:#68b8b0;--pink:#d8a076;--violet:#187a5a;--line:#1216141f;--shadow:0 24px 70px #1430251f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:linear-gradient(90deg,#1216140b 1px,#0000 1px) 0 0/56px 56px,linear-gradient(#1216140b 1px,#0000 1px) 0 0/56px 56px,linear-gradient(145deg,#fbfcf8 0%,#f2f7f4 48%,#edf3ef 100%);margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{letter-spacing:-.08em;max-width:12ch;font-size:clamp(3.5rem,10vw,8rem);line-height:.88}h2{letter-spacing:-.06em;max-width:13ch;font-size:clamp(2.2rem,5vw,4.5rem);line-height:.95}h3{letter-spacing:-.02em;font-size:1.05rem}.eyebrow{color:var(--violet);letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.1rem;font-size:.78rem;font-weight:800}.panel-label{color:var(--violet);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:900}.hero-shell{isolation:isolate;min-height:90dvh;padding:clamp(1rem,2vw,1.5rem);display:grid;position:relative;overflow:hidden}.hero-shell:before{content:"";z-index:-2;background:radial-gradient(circle at 72% 24%,#187a5a14,#0000 32rem);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000c,#0000 78%);mask-image:linear-gradient(#000c,#0000 78%)}.hero-shell:after{content:"";filter:blur(60px);z-index:-1;background:#187a5a1f;border-radius:50%;width:46rem;height:46rem;position:absolute;inset:auto -10vw -30vh auto}.hero-nav{justify-content:space-between;align-items:center;gap:1rem;width:min(100%,1440px);margin:0 auto;padding:1rem clamp(.2rem,2vw,1.5rem);display:flex}.wordmark{letter-spacing:-.04em;font-size:1rem;font-weight:950}.nav-kicker{color:var(--violet);letter-spacing:.16em;text-transform:uppercase;background:#ffffff7a;border:1px solid #7b3ff22e;border-radius:999px;padding:.48rem .8rem;font-size:.68rem;font-weight:950}.hero-nav nav{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;gap:clamp(.8rem,2vw,1.6rem);font-size:.82rem;font-weight:850;display:flex}.hero-nav a{transition:color .18s}.hero-nav a:hover{color:var(--ink)}.hero-grid{grid-template-columns:minmax(0,.92fr) minmax(22rem,1.08fr);align-items:center;gap:clamp(2rem,5vw,5rem);width:min(100%,1440px);margin:0 auto;padding:clamp(1.2rem,3vw,2.2rem) clamp(.2rem,2vw,1.5rem) clamp(2rem,4vw,3rem);display:grid}.hero-copy-block{animation:.68s ease-out both hero-rise}.hero-copy-block h1{letter-spacing:-.07em;max-width:none;font-size:clamp(4.1rem,10.5vw,9.7rem);line-height:.86}.hero-copy-block h2{letter-spacing:-.045em;max-width:12ch;margin-top:1.1rem;font-size:clamp(2rem,4.6vw,4.55rem);line-height:1}.hero-copy{max-width:36rem;color:var(--muted);margin-top:1.2rem;font-size:clamp(1.02rem,1.45vw,1.18rem);line-height:1.58}.hero-actions{flex-wrap:wrap;gap:.9rem;margin-top:1.7rem;display:flex}.button{border-radius:999px;justify-content:center;align-items:center;min-height:3.1rem;padding:0 1.3rem;font-weight:800;transition:transform .18s,box-shadow .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--ink);color:#fff;box-shadow:0 16px 40px #1216142e}.button-secondary{border:1px solid var(--line);color:var(--ink);background:#ffffff8c}.hero-visual{gap:1rem;animation:.78s ease-out 90ms both hero-rise;display:grid}.route-map{min-height:clamp(20rem,42vw,30rem);box-shadow:var(--shadow);background:radial-gradient(circle at 20% 18%,#ffffffe6,#0000 11rem),radial-gradient(circle at 74% 30%,#187a5a29,#0000 16rem),linear-gradient(135deg,#eaf1ebb8,#ffffff9e);border:1px solid #1216141f;border-radius:clamp(1.6rem,3vw,2.2rem);position:relative;overflow:hidden}.map-grid{opacity:.45;background-image:linear-gradient(#11161112 1px,#0000 1px),linear-gradient(90deg,#11161112 1px,#0000 1px);background-size:52px 52px;position:absolute;inset:0}.weather-atmosphere{opacity:.86;pointer-events:none;transition:opacity .24s;position:absolute;inset:0}.route-weather-calm .weather-atmosphere{background:radial-gradient(circle at 30% 24%,#ffffffdb,#0000 9rem),radial-gradient(circle at 68% 42%,#187a5a2e,#0000 12rem);animation:5.4s ease-in-out infinite calm-drift}.route-weather-rain .weather-atmosphere{background-image:linear-gradient(115deg,#68b8b047 0 1px,#0000 1px 17px),radial-gradient(circle at 72% 24%,#68b8b038,#0000 12rem);background-size:34px 34px,auto;animation:.9s linear infinite weather-drift}.route-weather-wind .weather-atmosphere{background-image:repeating-linear-gradient(168deg,#0000 0 28px,#187a5a24 28px 31px),radial-gradient(circle at 28% 28%,#ffffff94,#0000 11rem);background-size:52px 52px,auto;animation:1.2s linear infinite weather-drift}.route-weather-heat .weather-atmosphere{background:radial-gradient(circle at 70% 28%,#d8a07647,#0000 13rem),radial-gradient(circle at 28% 66%,#187a5a1f,#0000 11rem);animation:1.8s ease-in-out infinite heat-breathe}.route-map svg{z-index:2;width:92%;height:92%;position:absolute;inset:4%}.weather-mood-pill{z-index:4;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffc7;border:1px solid #1116111a;border-radius:999px;gap:.12rem;padding:.7rem .9rem;display:grid;position:absolute;bottom:1rem;right:1rem;box-shadow:0 14px 38px #1430251a}.weather-mood-pill span{color:var(--violet);letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;font-weight:950}.weather-mood-pill strong{font-size:.84rem}.weather-particle{z-index:1;pointer-events:none;position:absolute}.route-weather-rain .weather-particle{opacity:0;background:linear-gradient(#0000,#68b8b0d1);border-radius:999px;width:2px;height:3.8rem;animation:1.05s linear infinite rain-fall;transform:rotate(20deg)}.route-weather-wind .weather-particle{opacity:0;background:linear-gradient(90deg,#0000,#187a5a85,#0000);border-radius:999px;width:8rem;height:2px;animation:1.8s ease-in-out infinite wind-sweep}.route-weather-heat .weather-particle{opacity:0;background:radial-gradient(circle,#d8a07657,#0000 66%);border-radius:999px;width:4rem;height:4rem;animation:2.6s ease-in-out infinite heat-orb}.route-weather-calm .weather-particle{opacity:0;background:#ffffff6b;border-radius:999px;width:5.5rem;height:2.3rem;animation:6.2s ease-in-out infinite cloud-wisp;box-shadow:1.8rem -.4rem #ffffff42,3rem .3rem #187a5a1a}.particle-1{animation-delay:0s;top:12%;left:7%}.particle-2{animation-delay:.22s;top:52%;left:18%}.particle-3{animation-delay:.44s;top:26%;left:27%}.particle-4{animation-delay:.66s;top:68%;left:36%}.particle-5{animation-delay:.88s;top:14%;left:45%}.particle-6{animation-delay:1.1s;top:45%;left:54%}.particle-7{animation-delay:1.32s;top:24%;left:64%}.particle-8{animation-delay:1.54s;top:62%;left:73%}.particle-9{animation-delay:1.76s;top:17%;left:83%}.particle-10{animation-delay:1.98s;top:78%;left:12%}.particle-11{animation-delay:2.2s;top:82%;left:58%}.particle-12{animation-delay:2.42s;top:45%;left:89%}.terrain-line{fill:none;stroke:#11161124;stroke-width:2px}.terrain-line-b{stroke-dasharray:8 12}.route-line{fill:none;stroke:var(--ink);stroke-linecap:round;stroke-width:8px;stroke-dasharray:980;stroke-dashoffset:980px;animation:1.2s cubic-bezier(.16,1,.3,1) .26s forwards route-draw,4.2s ease-in-out 1.6s infinite route-float}.route-point{fill:var(--surface-strong);stroke:var(--ink);stroke-width:6px;cursor:grab;transform-box:fill-box;transform-origin:50%;transition:filter .18s,transform .52s cubic-bezier(.16,1.4,.36,1)}.route-point.mid{fill:var(--violet);stroke-width:4px}.route-point:hover{filter:drop-shadow(0 10px 12px #187a5a33)}.route-point:active{cursor:grabbing;transition-duration:.12s;transform:translateY(58px)scaleY(.72)}.forecast-chip{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:3;background:#ffffffd1;border:1px solid #1116111a;border-radius:1.2rem;gap:.15rem;min-width:8.5rem;padding:.85rem .95rem;transition:left .52s cubic-bezier(.16,1,.3,1),top .52s cubic-bezier(.16,1,.3,1);display:grid;position:absolute;transform:translate(-50%,calc(-100% - .8rem));box-shadow:0 16px 45px #1430251a}.forecast-chip span{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:900}.forecast-chip strong{letter-spacing:-.03em;font-size:1.05rem}@keyframes hero-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes route-draw{to{stroke-dashoffset:0}}@keyframes route-float{0%,to{filter:drop-shadow(0 0 #187a5a00);stroke-width:8px}50%{filter:drop-shadow(0 12px 18px #187a5a24);stroke-width:9px}}@keyframes calm-drift{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(-1.2rem,.7rem)scale(1.03)}}@keyframes rain-fall{0%{opacity:0;transform:translate(-1.2rem,-4rem)rotate(20deg)}18%,78%{opacity:.9}to{opacity:0;transform:translate(1.6rem,8rem)rotate(20deg)}}@keyframes wind-sweep{0%{opacity:0;transform:translate(-6rem)scaleX(.55)}35%,72%{opacity:.8}to{opacity:0;transform:translate(8rem,-1.2rem)scaleX(1.2)}}@keyframes heat-orb{0%,to{opacity:0;transform:translateY(1.4rem)scale(.76)}48%{opacity:.85;transform:translateY(-1.2rem)scale(1.16)}}@keyframes cloud-wisp{0%,to{opacity:0;transform:translate(-2rem)scale(.9)}30%,72%{opacity:.75}to{transform:translate(3.4rem,-.6rem)scale(1.05)}}.recommendation-card{box-shadow:var(--shadow);isolation:isolate;background:linear-gradient(#fffc,#ffffff59),linear-gradient(135deg,#ff6fb12e,#24d9df2e);border:1px solid #ffffffb3;border-radius:2.4rem;padding:clamp(1.5rem,4vw,2.4rem);position:relative;overflow:hidden}.recommendation-card:before{content:"";filter:blur(.2px);opacity:.8;z-index:-1;background:linear-gradient(135deg,#ffffffe6,#d8dde873);border-radius:999px;width:8rem;height:8rem;position:absolute;inset:1rem 1rem auto auto}.card-glow{filter:blur(28px);z-index:-1;background:#24d9df59;border-radius:999px;width:18rem;height:18rem;position:absolute;inset:auto auto -6rem -5rem}.card-header{color:var(--muted);justify-content:space-between;gap:1rem;margin-bottom:4rem;font-size:.9rem;font-weight:800;display:flex}.card-header strong{color:var(--violet)}.recommendation-card h2{max-width:11ch}.recommendation-card p{max-width:32rem;color:var(--muted);margin-top:1.2rem;font-size:1.05rem;line-height:1.7}.weather-strip{flex-wrap:wrap;gap:.7rem;margin-top:2rem;display:flex}.weather-strip span{border:1px solid var(--line);color:var(--ink);background:#ffffff8c;border-radius:999px;padding:.65rem .85rem;font-size:.88rem;font-weight:700}.profile-signal-list{gap:.7rem;margin-top:1rem;margin-bottom:1.45rem;display:grid}.profile-signal-list h4{margin:0}.profile-signal-list>div{flex-wrap:wrap;gap:.55rem;display:flex}.profile-signal-list span{border:1px solid var(--line);color:var(--muted);background:#ffffff94;border-radius:1rem;gap:.1rem;padding:.68rem .82rem;font-size:.78rem;font-weight:850;display:grid}.profile-signal-list strong{color:var(--ink);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.signal-impact-warmer{box-shadow:inset 0 -3px #ff6fb14d}.signal-impact-lighter{box-shadow:inset 0 -3px #24d9df57}.signal-impact-neutral{box-shadow:inset 0 -3px #7b3ff238}.content-section{width:min(100% - 3rem,1180px);margin:0 auto;padding:clamp(4rem,9vw,8rem) 0}.section-header{gap:1rem;max-width:48rem;display:grid}.section-header p:not(.eyebrow){color:var(--muted);font-size:clamp(1.05rem,1.6vw,1.24rem);line-height:1.7}.section-header h2{max-width:13ch}.signal-layout{grid-template-columns:minmax(0,1.05fr) minmax(20rem,.78fr);align-items:stretch;gap:clamp(1rem,3vw,2rem);margin-top:clamp(2rem,4vw,3rem);display:grid}.signal-rail{gap:.85rem;display:grid}.signal-step{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);gap:1rem;padding:1.1rem 0 1.25rem;transition:border-color .18s,transform .18s;display:grid}.signal-step:hover{border-color:#7b3ff247;transform:translate(.35rem)}.signal-step>span{width:fit-content;min-width:4.2rem;height:3.1rem;color:var(--violet);background:#187a5a1f;border-radius:999px;justify-content:center;align-items:center;padding:0 .9rem;font-size:.74rem;font-weight:950;display:inline-flex}.signal-step h3{letter-spacing:-.045em;font-size:clamp(1.35rem,2vw,2rem)}.signal-step p{max-width:46rem;color:var(--muted);margin-top:.55rem;font-size:1rem;line-height:1.6}.signal-step small{color:var(--violet);letter-spacing:.12em;text-transform:uppercase;margin-top:.75rem;font-size:.76rem;font-weight:900;display:block}.signal-snapshot{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:radial-gradient(circle at 22% 18%,#24d9df4d,#0000 15rem),radial-gradient(circle at 74% 72%,#ff6fb14d,#0000 14rem),#ffffff6b;border:1px solid #ffffffbd;border-radius:2.2rem;min-height:34rem;padding:1.25rem;position:relative;overflow:hidden;box-shadow:0 22px 70px #14101814}.signal-snapshot:before{content:"";opacity:.85;background-image:linear-gradient(#14101812 1px,#0000 1px),linear-gradient(90deg,#14101812 1px,#0000 1px);background-size:42px 42px;border:1px solid #14101814;border-radius:999px;position:absolute;inset:5.5rem 1.2rem 7rem}.snapshot-topline,.snapshot-scale{z-index:1;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;gap:1rem;font-size:.82rem;font-weight:900;display:flex;position:relative}.snapshot-topline strong{color:var(--violet)}.snapshot-scale{color:var(--ink);margin-top:2.4rem}.snapshot-orbit{min-height:18rem;position:relative}.snapshot-orbit:before{background:linear-gradient(90deg, var(--cyan), var(--violet), var(--cyan));content:"";border-radius:999px;height:3px;position:absolute;inset:50% 10% auto}.orbit-dot{background:var(--violet);border:4px solid #ffffffe0;border-radius:999px;width:1.25rem;height:1.25rem;animation:2.4s ease-in-out infinite dot-pulse;position:absolute;box-shadow:0 0 #7b3ff23d}.dot-start{background:var(--violet);top:calc(50% - .62rem);left:9%}.dot-finish{animation-delay:.26s;top:calc(38% - .62rem);left:calc(50% - .62rem)}.dot-return{background:var(--cyan);animation-delay:.52s;top:calc(50% - .62rem);right:9%}.snapshot-callout{background:#ffffffad;border:1px solid #ffffffb3;border-radius:1.4rem;padding:1rem;position:absolute;bottom:1.2rem;left:1.2rem;right:1.2rem;box-shadow:0 14px 36px #14101814}.snapshot-callout strong{letter-spacing:-.04em;font-size:1.4rem;display:block}.snapshot-callout p{color:var(--muted);margin-top:.45rem;line-height:1.55}.ai-section{grid-template-columns:minmax(0,.86fr) minmax(22rem,1fr);align-items:stretch;gap:clamp(1.5rem,4vw,4rem);display:grid}.ai-statement{align-self:start;position:sticky;top:1.5rem}.ai-statement h2{max-width:11ch}.ai-statement p:not(.eyebrow){color:var(--muted);margin-top:1.2rem;font-size:clamp(1.08rem,1.7vw,1.26rem);line-height:1.75}.ai-layer-list{gap:1rem;display:grid}.ai-layer{background:linear-gradient(135deg,#ffffffc7,#ffffff5c),#ffffff61;border:1px solid #ffffffb8;border-radius:1.8rem;padding:clamp(1.1rem,3vw,1.6rem);transition:transform .18s,box-shadow .18s;position:relative;overflow:hidden;box-shadow:0 16px 44px #14101812}.ai-layer:after{content:"";filter:blur(18px);background:#24d9df33;border-radius:999px;width:10rem;height:10rem;position:absolute;inset:auto -4rem -4rem auto}.ai-layer:hover{transform:translateY(-.2rem);box-shadow:0 22px 60px #1410181a}.ai-layer span{color:var(--violet);letter-spacing:.12em;text-transform:uppercase;background:#ffffff85;border:1px solid #7b3ff22e;border-radius:999px;padding:.4rem .62rem;font-size:.72rem;font-weight:950;display:inline-flex}.ai-layer h3{letter-spacing:-.055em;margin-top:2.1rem;font-size:clamp(1.55rem,2.4vw,2.45rem);line-height:1}.ai-layer p{color:var(--muted);margin-top:.85rem;font-size:1rem;line-height:1.65}.site-footer{width:min(100% - 3rem,1180px);color:var(--muted);letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin:0 auto;padding:0 0 clamp(2.5rem,5vw,4rem);font-size:.8rem;font-weight:900;display:flex}.site-footer span{color:var(--ink)}.site-footer a{border-bottom:1px solid #14101838;padding-bottom:.22rem}.legal-page{background:radial-gradient(circle at 14% 12%,#24d9df3d,#0000 24rem),radial-gradient(circle at 86% 16%,#ff6fb138,#0000 24rem),linear-gradient(135deg,#fff8ed 0%,#fff7fb 45%,#edfaff 100%);min-height:100dvh;padding:clamp(1.2rem,3vw,2rem)}.legal-page>.wordmark{margin-bottom:clamp(3rem,8vw,6rem);display:inline-flex}.legal-page section{width:min(100%,820px);margin:0 auto}.legal-page h1{max-width:10ch;font-size:clamp(3rem,8vw,6.5rem)}.legal-page h2{letter-spacing:-.04em;max-width:none;margin-top:2.6rem;font-size:clamp(1.55rem,3vw,2.4rem)}.legal-page p:not(.eyebrow){max-width:44rem;color:var(--muted);margin-top:1rem;font-size:clamp(1.02rem,1.6vw,1.2rem);line-height:1.75}@keyframes dot-pulse{0%,to{box-shadow:0 0 #187a5a38}45%{box-shadow:0 0 0 1rem #187a5a00}}.demo-shell{width:min(100% - 2rem,1500px);margin:0 auto;padding:clamp(4rem,8vw,7rem) 0}.demo-heading{gap:.9rem;max-width:46rem;margin-bottom:2rem;display:grid}.demo-heading h2{max-width:13ch}.demo-heading p:not(.eyebrow){color:var(--muted);font-size:1.08rem;line-height:1.7}.demo-workspace{grid-template-columns:minmax(17rem,.76fr) minmax(34rem,1.62fr) minmax(17rem,.72fr);align-items:stretch;gap:1rem;display:grid}.demo-form,.recommendation-panel,.personalization-panel,.history-panel,.auth-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#ffffffd1,#ffffff80),#ffffff6b;border:1px solid #1216141f;border-radius:1.45rem;box-shadow:0 18px 48px #12161414}.demo-form{align-content:start;gap:.78rem;padding:1rem;display:grid}.field{gap:.42rem;display:grid}.field label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:900}.field input,.field select{border:1px solid var(--line);width:100%;max-width:22rem;min-height:2.7rem;color:var(--ink);font:inherit;background:#ffffffb8;border-radius:.92rem;outline:none;padding:0 .85rem;font-weight:700;transition:border-color .18s,box-shadow .18s,transform .18s}.field input:focus,.field select:focus{border-color:#187a5aa8;transform:translateY(-1px);box-shadow:0 0 0 4px #187a5a24}.search-row{grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:.45rem;max-width:22rem;display:grid}.search-row button,.location-results button,.location-tools button{border:1px solid var(--line);color:var(--ink);cursor:pointer;font:inherit;background:#ffffff9e;border-radius:999px;font-weight:900;transition:transform .18s,box-shadow .18s,background .18s}.search-row button{border-radius:.92rem;min-height:2.55rem;padding:0 .78rem;font-size:.82rem}.search-row button:hover,.location-results button:hover,.location-tools button:hover{background:#ffffffe6;transform:translateY(-1px);box-shadow:0 10px 26px #14101814}.search-row button:disabled{cursor:wait;opacity:.6;transform:none}.location-tools{background:#ffffff3d;border:1px solid #14101814;border-radius:.95rem;gap:.38rem;width:min(100%,22rem);padding:.48rem;display:grid}.location-tool-row{grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:.48rem;display:grid}.location-tool-row>button{min-height:2rem;padding:0 .68rem;font-size:.72rem}.location-tools button:disabled{cursor:default;opacity:.55;transform:none}.favourite-list{gap:.42rem;display:grid}.favourite-list article{border-top:1px solid #14101814;flex-wrap:wrap;align-items:center;gap:.4rem;padding-top:.48rem;display:flex}.favourite-list article>button{text-overflow:ellipsis;white-space:nowrap;justify-self:start;max-width:min(100%,14rem);min-height:2rem;padding:0 .62rem;font-size:.74rem;overflow:hidden}.favourite-list div,.history-actions{flex-wrap:wrap;gap:.36rem;display:flex}.favourite-list div button,.history-actions button{min-height:1.9rem;padding:0 .54rem;font-size:.68rem}.location-tools p{color:var(--muted);font-size:.72rem;font-weight:800;line-height:1.25}.favourite-details{border-top:1px solid #14101814;padding-top:.34rem}.favourite-details summary{cursor:pointer;color:var(--violet);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:950;list-style:none}.favourite-details summary::-webkit-details-marker{display:none}.forecast-status{max-width:22rem;color:var(--muted);font-size:.84rem;font-weight:750;line-height:1.35}.location-results{border:1px solid var(--line);background:#ffffff5c;border-radius:1.2rem;padding:.85rem}.location-results div{flex-wrap:wrap;gap:.5rem;display:flex}.location-results button{padding:.58rem .72rem;font-size:.82rem}.recommendation-panel{isolation:isolate;padding:clamp(1.35rem,3.2vw,2.4rem);position:relative;overflow:hidden}.recommendation-panel:before{content:"";opacity:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 18% 18%,#ffffff57,#0000 18rem);transition:opacity .22s;position:absolute;inset:0}.recommendation-panel:after{content:"";filter:blur(20px);z-index:-1;background:linear-gradient(135deg,#187a5a29,#68b8b01f);border-radius:999px;width:18rem;height:18rem;position:absolute;inset:-8rem -7rem auto auto}.recommendation-panel.weather-rain:before{opacity:.5;background-image:linear-gradient(115deg,#68b8b03d 0 1px,#0000 1px 18px),radial-gradient(circle at 18% 18%,#68b8b024,#0000 18rem);background-size:30px 30px,auto;animation:.9s linear infinite weather-drift}.recommendation-panel.weather-wind:before{opacity:.55;background-image:repeating-linear-gradient(165deg,#0000 0 24px,#187a5a1a 24px 27px),radial-gradient(circle at 72% 22%,#68b8b024,#0000 16rem);animation:1.4s linear infinite weather-drift}.recommendation-panel.weather-heat:before{opacity:.72;background:radial-gradient(circle at 74% 20%,#d8a0763d,#0000 16rem);animation:2.2s ease-in-out infinite heat-breathe}.panel-topline{color:var(--muted);justify-content:space-between;gap:1rem;margin-bottom:clamp(2rem,5vw,4rem);font-size:.88rem;font-weight:900;display:flex}.panel-topline strong{color:var(--violet)}.recommendation-panel h3,.personalization-panel h3{letter-spacing:-.055em;font-size:clamp(2rem,4.4vw,4rem);line-height:.95}.live-weather{margin-top:1.4rem}.activity-context{max-width:38rem;color:var(--muted);margin-top:.85rem;font-size:.98rem;font-weight:750;line-height:1.5}.phase-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:2rem;display:grid}.phase-grid.single-phase{grid-template-columns:minmax(0,1fr)}.phase-grid.single-phase .phase{min-height:7rem}.phase{border:1px solid var(--line);background:#ffffff7a;border-radius:1.35rem;min-height:9.5rem;padding:1rem}.phase span{color:var(--violet);letter-spacing:.14em;text-transform:uppercase;margin-bottom:1.4rem;font-size:.78rem;font-weight:900;display:block}.phase p{font-size:1.05rem;font-weight:850;line-height:1.35}.recommendation-guidance{border-top:1px solid var(--line);margin-top:.85rem}.recommendation-guidance>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(7.5rem,.32fr) minmax(0,1fr);gap:1rem;padding:.9rem 0;display:grid}.recommendation-guidance dt,.recommendation-guidance dd,.technical-details dt,.technical-details dd{margin:0}.recommendation-guidance dt{color:var(--violet);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:900}.recommendation-guidance dd{color:var(--ink);font-weight:780;line-height:1.45}.reminder-strip{flex-wrap:wrap;gap:.6rem;margin-top:1rem;display:flex}.status-pill{border:1px solid var(--line);color:var(--muted);background:#ffffff70;border-radius:999px;padding:.62rem .8rem;font-size:.82rem;font-weight:850}.status-pill.active{color:var(--ink);background:#187a5a1f;border-color:#187a5a66}.risk-list{gap:.7rem;margin-top:1.6rem;display:grid}.risk-list h4{letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.86rem}.risk-list p{color:var(--muted);gap:.7rem;line-height:1.55;display:flex}.risk-list strong{color:var(--ink);text-transform:uppercase}.explanation-panel{border:1px solid var(--line);background:#ffffff70;border-radius:1.35rem;gap:.8rem;margin-top:1.6rem;padding:1rem;display:grid}.explanation-panel div{justify-content:space-between;align-items:center;gap:1rem;display:flex}.explanation-panel h4{letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.86rem}.explanation-message,.explanation-panel p{color:var(--muted);font-size:1rem;line-height:1.6}.explanation-message.warning{color:#5a351f;background:linear-gradient(135deg,#d8a07629,#ffffff9e);border:1px solid #d8a07680;border-radius:1rem;padding:.82rem;font-weight:900}.explanation-message.success{color:var(--ink)}.explanation-panel small{color:var(--violet);font-weight:850}.technical-details{color:var(--muted);margin-top:.8rem;font-size:.82rem}.technical-details summary{cursor:pointer;font-weight:850}.technical-details dl{gap:.45rem;margin:.8rem 0 0;display:grid}.technical-details dl>div{grid-template-columns:minmax(7.5rem,.32fr) minmax(0,1fr);gap:1rem;display:grid}.technical-details dt{font-weight:850}.follow-up-row{grid-template-columns:minmax(0,1fr) auto;gap:.55rem;margin-top:.2rem;display:grid}.explanation-panel .follow-up-row{align-items:stretch}.follow-up-row input{border:1px solid var(--line);min-height:2.4rem;color:var(--ink);font:inherit;background:#ffffffad;border-radius:999px;outline:none;padding:0 .85rem;font-size:.82rem;font-weight:850}.explanation-panel button{border:1px solid var(--line);min-height:2.4rem;color:var(--ink);cursor:pointer;font:inherit;background:#ffffffad;border-radius:999px;padding:0 .85rem;font-size:.82rem;font-weight:900}.explanation-panel button:disabled{cursor:not-allowed;opacity:.45}.side-stack{align-content:start;gap:1rem;display:grid}.empty-recommendation{align-content:center;min-height:24rem;display:grid}.personalization-panel,.history-panel,.auth-panel{padding:1.2rem}.auth-panel h3{letter-spacing:-.05em;font-size:clamp(1.5rem,3vw,2.4rem);line-height:.98}.auth-panel p:not(.eyebrow):not(.panel-label),.auth-status{color:var(--muted);line-height:1.55}.auth-status.success{color:#0f5f44;background:linear-gradient(135deg,#187a5a24,#ffffffb8);border:1px solid #187a5a61;border-radius:1rem;padding:.72rem .82rem;font-weight:900;animation:.72s cubic-bezier(.16,1.4,.36,1) both success-pop;position:relative}.auth-row{gap:.6rem;margin:1rem 0;display:grid}.auth-row input{border:1px solid var(--line);min-height:2.8rem;color:var(--ink);font:inherit;background:#ffffffad;border-radius:999px;outline:none;padding:0 .9rem;font-weight:750}.progress-track{background:#12161414;border-radius:999px;height:.75rem;margin:1.3rem 0 1rem;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--violet);height:100%;transition:width .22s;display:block}.personalization-panel p:not(.eyebrow):not(.panel-label),.profile-note,.profile-change-note,.quality-summary{color:var(--muted);line-height:1.6}.profile-change-note,.quality-summary{border-left:3px solid #187a5a5c;padding-left:.7rem;font-size:.9rem;font-weight:850}.quality-panel{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:1rem 0;display:grid}.quality-panel div{border:1px solid var(--line);background:#ffffff85;border-radius:1rem;padding:.72rem}.quality-panel span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:950;display:block}.quality-panel strong{letter-spacing:-.04em;margin-top:.22rem;font-size:1rem;display:block}.save-status{color:var(--muted);line-height:1.55}.save-status.warning{color:#5a351f;background:linear-gradient(135deg,#d8a0762e,#ffffff9e);border:1px solid #d8a07680;border-radius:1rem;padding:.8rem;font-weight:900}.feedback-actions{gap:.6rem;margin:1.4rem 0 1rem;display:grid}.feedback-actions button,.auth-panel button,.reset-profile-button,.save-button{border:1px solid var(--line);min-height:2.8rem;color:var(--ink);cursor:pointer;font:inherit;background:#ffffff94;border-radius:999px;font-weight:900;transition:transform .18s,box-shadow .18s,background .18s}.feedback-actions button:hover,.auth-panel button:hover,.reset-profile-button:hover,.save-button:hover{background:#ffffffdb;transform:translateY(-2px);box-shadow:0 10px 28px #1216141a}.save-button{width:100%;margin-bottom:1rem}.reset-profile-button{width:100%;min-height:2.55rem;color:var(--violet);border-color:#187a5a2e;margin:.9rem 0 1rem}.history-panel h3{letter-spacing:-.05em;font-size:clamp(1.45rem,2.4vw,2.2rem);line-height:1}.history-list{gap:.75rem;margin-top:1rem;display:grid}.history-list article{border-top:1px solid var(--line);padding-top:.8rem}.history-list span{color:var(--violet);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:950;display:block}.history-list strong{margin-top:.28rem;font-size:.98rem;display:block}.history-list p,.history-empty{color:var(--muted);margin-top:.32rem;font-size:.9rem;line-height:1.5}.history-detail{background:#ffffff6b;border:1px solid #187a5a24;border-radius:1rem;gap:.15rem;margin-top:.65rem;padding:.7rem;display:grid}.history-detail p{margin:0;font-size:.82rem;font-weight:760}.history-actions{margin-top:.65rem}.history-actions button{border:1px solid var(--line);color:var(--ink);cursor:pointer;font:inherit;background:#ffffff94;border-radius:999px;font-weight:900}@keyframes success-pop{0%{opacity:0;transform:translateY(8px)scale(.96)}60%{opacity:1;transform:translateY(-2px)scale(1.02)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes weather-drift{0%{background-position:0 0,0 0}to{background-position:30px 30px,0 0}}@keyframes heat-breathe{0%,to{opacity:.45;transform:scale(1)}50%{opacity:.78;transform:scale(1.04)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.route-line{stroke-dashoffset:0}}@media (max-width:768px){.hero-shell{min-height:auto;padding:1rem}.hero-nav{flex-wrap:wrap;align-items:flex-start;padding:.5rem 0 1.5rem}.nav-kicker{text-align:center;order:3;width:100%}.hero-nav nav{gap:.7rem;font-size:.68rem}.hero-grid{grid-template-columns:1fr;padding:1rem 0 1.4rem}.hero-copy-block h1{font-size:clamp(3.7rem,19vw,5.4rem)}.hero-copy-block h2{max-width:12ch;font-size:clamp(1.9rem,10.5vw,3.45rem)}.route-map{border-radius:1.8rem;min-height:17.5rem}.forecast-chip{min-width:7rem;padding:.7rem .75rem}.forecast-chip strong{font-size:.92rem}h1{max-width:9ch}.recommendation-card{border-radius:1.8rem}.card-header{margin-bottom:2.5rem}.signal-snapshot{min-height:27rem}}@media (max-width:1080px){.section-header,.signal-layout,.ai-section,.demo-heading,.demo-workspace{grid-template-columns:1fr}.ai-statement{position:static}.demo-form{grid-template-columns:repeat(2,minmax(0,1fr))}.field-wide{grid-column:1/-1}}@media (max-width:720px){.demo-shell{width:min(100% - 2rem,1280px)}.demo-form,.phase-grid{grid-template-columns:1fr}.recommendation-guidance>div,.technical-details dl>div{grid-template-columns:1fr;gap:.3rem}.signal-step{grid-template-columns:1fr}.signal-step:hover{transform:none}.snapshot-scale{font-size:.68rem}.ai-layer h3{margin-top:1.5rem}.search-row,.follow-up-row,.quality-panel{grid-template-columns:1fr}.recommendation-panel h3,.personalization-panel h3{font-size:2rem}}
