/* A map postcard, with Roam's lime, sage and warm paper. */
body:has(.welcome-v4){background:var(--paper);background-image:none}
body:has(.welcome-v4) .site-header{border:0;background:var(--paper);max-width:1600px;margin:auto;padding:0 40px}
body:has(.welcome-v4) .environment{display:none}
body:has(.welcome-v4) .brand{font-size:30px}
body:has(.welcome-v4) .header-nav{gap:28px}
body:has(.welcome-v4) .header-nav button,body:has(.welcome-v4) .link-button{font-size:16px;font-weight:500;text-decoration:none}
body:has(.welcome-v4) .header-right{gap:20px}
.welcome-v4{--welcome-sage:#e9eddb;--welcome-forest:#253a2d;--welcome-surface:#fff;max-width:1600px;margin:auto;padding:0 40px 28px}
.welcome-v4 h1,.welcome-v4 h2{font-family:var(--font-ui);font-weight:650;text-transform:none;letter-spacing:-.065em}
.welcome-copy{text-align:center;padding:48px 0 38px}
.welcome-copy h1{font-size:clamp(56px,6.1vw,88px);line-height:1.02;margin:0}
.welcome-copy h1>span{display:block;animation:roam-rise-in 750ms both}
.welcome-copy h1>span:nth-child(2){animation-delay:80ms}
.welcome-deck{max-width:48ch;font-size:20px;line-height:1.5;margin:28px auto 0;animation:roam-rise-in 750ms 140ms both}
.welcome-actions{display:flex;gap:28px;justify-content:center;align-items:center;margin-top:25px}
.welcome-v4 .btn{box-shadow:none;border:0;font-size:16px;min-height:54px;padding:16px 25px;gap:27px}
.welcome-actions .btn{animation:roam-rise-in 750ms 200ms both}
.welcome-map{background:none;border:0;display:flex;gap:14px;align-items:center;padding:15px 0;min-height:48px;font-size:16px;animation:roam-rise-in 750ms 260ms both}
.welcome-map:hover{transform:translateX(4px)}
.welcome-no-login{font-size:16px;margin-top:15px;color:var(--ink2);animation:roam-rise-in 750ms 320ms both}
.welcome-map-postcard{position:relative;border-radius:32px;overflow:hidden;background:var(--welcome-sage);animation:roam-rise-in 900ms 180ms both}
.welcome-map-picture{margin:0;position:relative;overflow:hidden}
.welcome-map-picture>img{display:block;width:100%;height:370px;object-fit:cover;object-position:center;animation:roam-map-settle 5s 900ms both}
.welcome-map-picture figcaption{position:absolute;top:22px;left:24px;background:var(--welcome-surface);border-radius:999px;padding:11px 17px;font-size:16px}
.welcome-spot-preview{position:absolute;left:24px;bottom:24px;display:flex;align-items:center;gap:17px;background:var(--welcome-surface);border-radius:24px;padding:12px 22px 12px 12px;animation:roam-rise-in 900ms 450ms both}
.welcome-spot-preview>img{height:86px;width:86px;object-fit:cover;border-radius:16px}
.welcome-spot-preview>div{display:grid;gap:6px}
.welcome-example{font-size:14px;color:var(--ink2)}
.welcome-spot-preview strong{font-size:22px;font-weight:600;letter-spacing:-.035em}
.welcome-spot-status{display:flex;align-items:center;gap:7px;font-size:14px}
.welcome-spot-status i{width:8px;height:8px;background:var(--orange);border-radius:50%}
.welcome-open-map{position:absolute;right:24px;bottom:24px;width:54px;height:54px;background:var(--lime);border:0;border-radius:50%;font-size:26px}
.welcome-v4 button{transition:transform 180ms,background-color 180ms}
.welcome-v4 button:active{transform:scale(.97)}
.welcome-v4 button:focus-visible{outline:3px solid var(--ink);outline-offset:5px}
.welcome-how{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;margin:120px 0}
.welcome-how h2{font-size:clamp(38px,4vw,58px);line-height:1.06;animation:roam-rise-in 750ms 350ms both}
.welcome-how-copy>p{font-size:20px;line-height:1.5;margin-top:24px;max-width:350px;animation:roam-rise-in 750ms 400ms both}
.welcome-demo-controls{display:grid;gap:8px;margin-top:30px}
.welcome-demo-button{border:0;background:none;text-align:left;position:relative;border-radius:24px;display:grid;gap:7px;padding:20px 56px 20px 22px;animation:roam-rise-in 750ms 450ms both}
.welcome-demo-button:nth-child(2){animation-delay:520ms}.welcome-demo-button:nth-child(3){animation-delay:590ms}
.welcome-demo-button.is-active{background:var(--welcome-sage)}
.welcome-demo-button:hover{background:var(--welcome-sage)}
.welcome-demo-button strong{font-size:22px;font-weight:600;letter-spacing:-.035em}
.welcome-demo-button>span:not(.welcome-demo-arrow){font-size:16px;line-height:1.5;max-width:330px}
.welcome-demo-arrow{position:absolute;right:22px;top:24px;font-size:22px;opacity:0;transform:translateX(-6px);transition:transform 200ms,opacity 200ms}
.welcome-demo-button.is-active .welcome-demo-arrow,.welcome-demo-button:hover .welcome-demo-arrow{opacity:1;transform:none}
.welcome-proof{position:relative;min-width:0;align-self:stretch;display:grid;align-items:center;background:var(--welcome-sage);border-radius:32px;padding:40px;min-height:520px;animation:roam-rise-in 850ms 500ms both}
.welcome-demo-shot{grid-area:1/1;margin:0;min-width:0;visibility:hidden;opacity:0;transform:translateY(12px);transition:opacity 240ms,transform 240ms,visibility 240ms}
.welcome-demo-shot.is-active{visibility:visible;opacity:1;transform:none}
.welcome-demo-shot img{width:100%;height:360px;object-fit:contain;display:block}
.welcome-demo-shot figcaption{display:flex;justify-content:space-between;align-items:center;margin-top:24px;font-size:16px}
.welcome-demo-shot figcaption span{color:var(--ink2)}
.welcome-close{display:flex;justify-content:space-between;align-items:center;gap:30px;background:var(--welcome-forest);color:var(--white);border-radius:32px;padding:55px}
.welcome-close h2{font-size:clamp(38px,4vw,58px);line-height:1.06;animation:roam-rise-in 750ms 400ms both}
.welcome-close p{font-size:20px;line-height:1.5;margin-top:24px;animation:roam-rise-in 750ms 470ms both}
.welcome-close .btn{color:var(--ink);white-space:nowrap;animation:roam-rise-in 750ms 540ms both}
.welcome-footer{display:flex;justify-content:space-between;gap:25px;padding-top:28px;font-size:16px;line-height:1.5}
.welcome-footer>span:last-child{text-align:right;color:var(--ink2)}
.welcome-page~*{display:none}
@keyframes roam-rise-in{from{transform:translateY(20px);opacity:.15}to{transform:translateY(0);opacity:1}}
@keyframes roam-map-settle{from{transform:scale(1.045)}to{transform:scale(1)}}
@media(max-width:1050px){.welcome-v4{padding:0 28px 24px}body:has(.welcome-v4) .site-header{padding:0 28px}.welcome-how{gap:35px;margin:90px 0}.welcome-proof{padding:24px;min-height:490px}.welcome-demo-shot img{height:320px}.welcome-close{padding:36px}.welcome-map-picture>img{height:340px}}
@media(max-width:700px){body:has(.welcome-v4) .site-header{padding:0 20px;height:70px}body:has(.welcome-v4) .brand{font-size:27px}body:has(.welcome-v4) .header-right{gap:6px}body:has(.welcome-v4) .link-button{font-size:14px}.welcome-v4{padding:0 20px 24px}.welcome-copy{padding:30px 0}.welcome-copy h1{font-size:clamp(39px,10.8vw,64px);letter-spacing:-.065em;line-height:1.04}.welcome-deck{font-size:16px;line-height:1.5;margin-top:24px}.welcome-deck br{display:none}.welcome-actions{gap:17px;margin-top:22px}.welcome-v4 .btn{font-size:16px;padding:14px 19px;gap:13px;min-height:50px}.welcome-map{font-size:16px;gap:7px}.welcome-no-login{font-size:16px;margin-top:12px}.welcome-map-postcard{border-radius:24px}.welcome-map-picture>img{height:320px;object-position:51% center}.welcome-map-picture figcaption{font-size:14px;padding:9px 12px;left:14px;top:14px}.welcome-spot-preview{left:12px;right:12px;bottom:12px;padding:10px;gap:11px;border-radius:18px}.welcome-spot-preview>img{width:62px;height:62px;border-radius:12px}.welcome-example{font-size:13px}.welcome-spot-preview strong{font-size:20px}.welcome-spot-status{font-size:13px}.welcome-open-map{right:14px;bottom:106px;width:44px;height:44px}.welcome-how{display:block;margin:70px 0}.welcome-how h2,.welcome-close h2{font-size:40px;line-height:1.07;letter-spacing:-.055em}.welcome-how-copy>p{font-size:16px;max-width:280px;margin-top:20px}.welcome-demo-controls{display:flex;gap:8px;margin:24px 0 18px}.welcome-demo-button{flex:1;padding:15px 8px;min-height:50px;text-align:center;border-radius:999px;display:block}.welcome-demo-button strong{font-size:18px;letter-spacing:-.025em}.welcome-demo-button>span{display:none}.welcome-proof{min-height:0;padding:22px;border-radius:24px}.welcome-demo-shot img{height:300px}.welcome-demo-shot figcaption{margin-top:16px}.welcome-close{display:block;padding:28px;border-radius:24px}.welcome-close p{font-size:16px;margin:20px 0 24px;max-width:240px}.welcome-close .btn{width:100%;justify-content:space-between}.welcome-footer{display:block;font-size:16px;padding-top:24px}.welcome-footer>span{display:block}.welcome-footer>span:last-child{text-align:left;margin-top:12px}.sound-button{font-size:0;padding:7px}.sound-button svg{width:18px;height:18px}}
@media(max-width:360px){.welcome-actions{gap:12px}.welcome-v4 .welcome-primary{padding:14px 15px}.welcome-map{font-size:14px;gap:4px}.welcome-v4 .welcome-primary{font-size:14px;gap:8px}.welcome-spot-preview strong{font-size:18px}.welcome-spot-status{font-size:12px}.welcome-how h2,.welcome-close h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){.welcome-v4 *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.sound-button{border:0;background:none;display:flex;align-items:center;gap:7px;min-width:44px;min-height:44px;padding:8px;font-size:14px}.sound-button svg{width:20px;height:20px}.quick-caption{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink2)}.quick-caption .icon{width:17px;height:17px}.privacy-summary{display:flex;gap:8px;align-items:center;font-size:13px;margin:16px 0}.privacy-summary .icon{width:16px}.flow-graphic{display:flex;align-items:center;gap:14px;padding:18px 0}.flow-graphic>span{font-size:26px}.flow-graphic .icon{width:30px;height:30px}.browser-note{font-size:13px;color:var(--ink2);margin:14px 0 24px}

/* taste-skill-ignore: Existing floating map controls retain their map UI shadows. */
.edge-layer{position:absolute;inset:0;z-index:460;pointer-events:none;overflow:hidden}.edge-marker{position:absolute;width:48px;height:48px;background:#fff;border:4px solid #8BE04A;border-radius:50%;padding:2px;pointer-events:auto;box-shadow:0 0 14px 4px rgba(139,224,74,.42);transform:translate(-50%,-50%);overflow:visible}.edge-marker img{width:100%;height:100%;object-fit:cover;border-radius:50%}.edge-tip-track{position:absolute;inset:-22px;transform:rotate(var(--bearing));pointer-events:none}.edge-tip-track:before{content:"";position:absolute;width:15px;height:15px;left:calc(50% - 7.5px);top:0;transform:rotate(45deg) skew(12deg,12deg);background:#8BE04A;border-radius:3px}.edge-more{position:absolute;right:-9px;top:-10px;background:var(--ink);color:var(--lime);font-size:10px;padding:1px 5px;border-radius:9px}.edge-distance{position:absolute;top:54px;left:50%;transform:translateX(-50%);font-size:10px;white-space:nowrap;background:var(--ink);color:#fff;padding:2px 7px;border-radius:8px}.edge-marker[data-side=bottom] .edge-distance{top:auto;bottom:54px}.edge-chooser .report-row{width:100%} /* taste-skill-ignore: preserved floating map controls outside landing. */
@media(max-width:700px){.edge-marker{width:44px;height:44px}.site-header .environment{display:none}.header-right{gap:6px}}
@media(prefers-reduced-motion:reduce){.welcome-page *,.edge-marker{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* A rounded directional cap and lime/white photo bubble replace the skewed diamond. */
/* taste-skill-ignore: Existing floating map controls retain their map UI shadows. */
.edge-marker{border-color:#D6FF3D;background:#fff;box-shadow:0 3px 0 #91A52C,0 6px 16px #12121424;transition:box-shadow 140ms ease}.edge-marker:hover{box-shadow:0 4px 0 #91A52C,0 9px 20px #12121430}.edge-tip-track{inset:-19px}.edge-tip-track:before{display:none}.edge-tip-track .roam-direction-arrow{position:absolute;top:-1px;left:calc(50% - 16px);width:32px;height:32px;overflow:visible;filter:drop-shadow(0 2px 1px #12121420)}.edge-distance{background:#fff;color:#121214;font-weight:700;box-shadow:0 2px 8px #12121418;padding:3px 8px}.nearest-edge:after{content:"";position:absolute;inset:-8px;border:2px solid #D6FF3D;border-radius:50%;pointer-events:none;animation:nearest-beacon 2.4s ease-out infinite}@keyframes nearest-beacon{0%{opacity:.55;transform:scale(.9)}75%,100%{opacity:0;transform:scale(1.3)}}@media(prefers-reduced-motion:reduce){.nearest-edge:after{animation:none;opacity:.2}} /* taste-skill-ignore: preserved floating map controls outside landing. */


.welcome-map-credit{font-size:14px;line-height:1.5;margin:12px 0 0;text-align:right}.welcome-map-credit a{color:var(--ink2);text-underline-offset:3px}.welcome-map-credit a:hover{color:var(--ink)}
@media(max-width:700px){body:has(.welcome-v4) .sound-button{font-size:0}.welcome-map-credit{text-align:left;font-size:13px;max-width:40ch}}
/* Live street evidence, with an orange Bharat. */
.bharat-tricolour{font-style:normal;color:#df6b16;background:none;-webkit-text-fill-color:currentColor}
.welcome-copy h1{font-size:clamp(40px,5.7vw,82px);max-width:23ch;margin:auto;line-height:1.09}
.welcome-live-map{height:420px;width:100%;background:#e9eddb}
.welcome-map-hit{position:absolute;inset:0;background:transparent;border:0;width:100%;height:100%;border-radius:32px;z-index:5}
.welcome-map-hit:focus-visible{outline-offset:-5px}
.welcome-spot-preview{max-width:calc(100% - 114px)}
.welcome-spot-preview strong{font-size:clamp(16px,2vw,22px);max-width:34ch}
.welcome-demo-shot{position:relative}
.welcome-demo-hit{position:absolute;inset:0;width:100%;height:100%;background:transparent;border:0;border-radius:24px}
.welcome-demo-hit:focus-visible{outline-offset:-5px}
@media(max-width:760px){.welcome-copy h1{font-size:clamp(35px,8.5vw,58px);letter-spacing:-.055em}.welcome-live-map{height:360px}.welcome-spot-preview{left:12px;bottom:16px;padding:10px;gap:10px;max-width:calc(100% - 78px);border-radius:18px}.welcome-spot-preview>img{height:64px;width:64px;border-radius:12px}.welcome-example{font-size:10px}.welcome-spot-preview strong{font-size:15px;line-height:1.2}.welcome-spot-status{font-size:11px}.welcome-open-map{right:12px;bottom:20px;width:44px;height:44px}.welcome-deck{font-size:17px}}
/* The preview is one navigation target; attribution remains immediately below it. */
.welcome-live-map .maplibregl-control-container,.welcome-live-map .leaflet-control-container{display:none}
.welcome-spot-preview strong{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
