/* First-visit introduction. All colors and typography inherit from the home. */
html[data-landing-state="closed"] #landing-intro{display:none}
.landing-intro{position:fixed;inset:0;z-index:110;background:var(--paper);overflow:auto;overscroll-behavior:contain;padding:32px max(24px,env(safe-area-inset-right)) 32px max(24px,env(safe-area-inset-left));}
.landing-inner{max-width:1080px;min-height:100%;margin:auto;display:flex;flex-direction:column;justify-content:center;gap:32px}
.landing-brand{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:800;letter-spacing:-.6px}
.landing-brand .brand-mark{width:36px;height:36px;font-size:21px}
.landing-brand small{margin-left:auto;font-size:13px;font-weight:500;letter-spacing:0;color:var(--muted)}
.landing-grid{display:grid;grid-template-columns:1.06fr 1fr;gap:60px;align-items:center}
.landing-title{font-size:46px;line-height:1.24;letter-spacing:-2px;margin:0;font-weight:800;word-break:keep-all}
.landing-title span{display:block}.landing-title em{color:var(--orange);font-style:normal}
#landing-title:focus{outline:none!important}
.landing-lead{font-size:17px;line-height:1.75;color:var(--muted);margin:22px 0 0;word-break:keep-all;max-width:420px}
.landing-points{list-style:none;margin:0;padding:0;counter-reset:landing-point}
.landing-points li{position:relative;padding:20px 0 20px 39px;border-bottom:1px solid var(--line);counter-increment:landing-point}
.landing-points li:first-child{padding-top:0}.landing-points li:last-child{border-bottom:0;padding-bottom:0}
.landing-points li::before{content:"0" counter(landing-point);position:absolute;left:0;top:23px;font-size:12px;font-weight:750;color:var(--orange)}
.landing-points li:first-child::before{top:3px}
.landing-points h3{font-size:18px;letter-spacing:-.6px;line-height:1.4;margin:0 0 7px;word-break:keep-all}
.landing-points p{font-size:14px;line-height:1.7;color:var(--muted);margin:0;word-break:keep-all}
.landing-points strong{color:var(--ink);font-weight:650}
.landing-start{border-top:1px solid var(--line);padding-top:26px;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:24px;align-items:center}
.landing-form label{font-size:15px;font-weight:750;margin-bottom:9px;display:block}
.landing-search-row{display:flex;gap:8px}
#landing-query{min-height:50px;background:var(--surface);font-size:16px;border-color:var(--orange)}
.landing-submit{min-width:74px;background:var(--orange);border-color:var(--orange);color:var(--surface);font-weight:750}
.landing-submit:hover{background:var(--ink)}
.landing-examples{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.landing-examples button{min-height:36px;padding:6px 10px;border-radius:20px;font-size:12px;background:var(--surface);color:var(--muted)}
.landing-map{min-height:50px;font-weight:750;background:var(--surface);border-color:var(--orange);color:var(--orange)}
.landing-map:hover{background:var(--warm)}
.landing-reopen{font:inherit;color:inherit;border:0;border-radius:0;background:transparent;min-height:32px;padding:0;text-decoration:underline;text-underline-offset:3px}
.landing-reopen:hover{background:transparent;color:var(--orange)}
.landing-error{font-size:13px;color:var(--orange);margin:8px 0 0}
@media(max-width:700px){
 .landing-intro{padding:max(16px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}
 .landing-inner{gap:20px;max-width:440px}
 .landing-brand{font-size:19px}.landing-brand small{font-size:11px}.landing-brand .brand-mark{width:30px;height:30px;font-size:18px;border-radius:9px}
 .landing-grid{display:block}.landing-title{font-size:29px;line-height:1.23;letter-spacing:-1.2px}
 .landing-lead{font-size:13px;line-height:1.6;margin-top:12px;max-width:none}
 .landing-points{margin-top:18px}.landing-points li{padding:11px 0 11px 29px}.landing-points li::before{top:14px;font-size:11px}
 .landing-points h3{font-size:15px;line-height:1.4;margin-bottom:4px;letter-spacing:-.4px}
 .landing-points p{font-size:12px;line-height:1.6}
 .landing-start{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding-top:15px}
 .landing-form label{font-size:13px;margin-bottom:7px}
 #landing-query,.landing-map{min-height:46px}.landing-examples{gap:4px;margin-top:5px}
 .landing-examples button{font-size:11px;padding:5px 8px;min-height:36px}
}
@media(max-width:700px) and (max-height:760px){
 .landing-inner{gap:14px}.landing-title{font-size:27px}.landing-points{margin-top:13px}
 .landing-points li{padding-top:9px;padding-bottom:9px}.landing-points li::before{top:12px}
 .landing-start{padding-top:12px}.landing-lead{margin-top:9px}
}
