/* Landing page. Builds on agenda.css (palette, fonts, buttons, form fields). */
.landing{width:min(1120px,100%);max-width:none;padding:0 clamp(18px,5vw,48px) 40px}
.landing h1,.landing h2,.landing h3{font-weight:500;line-height:1.15;margin:0}
.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(28px,5vw,64px);align-items:start;padding:clamp(34px,7vw,84px) 0 clamp(30px,5vw,56px)}
.hero h1{font-size:clamp(32px,5vw,50px);margin-top:10px}
.lead{margin:18px 0 0;font-size:18px;line-height:1.55;color:#33493f;max-width:36em}
.ticks{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.ticks li{position:relative;padding-left:28px;color:#33493f}
.ticks li::before{content:"✓";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:var(--green);color:#fff;font-size:12px;line-height:20px;text-align:center}
.auth-card{padding:22px;border-top:4px solid var(--green);position:sticky;top:16px}
.auth-card form{display:grid;gap:6px}.auth-card label{font-size:13px;font-weight:500;margin-top:8px}
.auth-card input{width:100%}.auth-card .button{margin-top:14px;width:100%}
.tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 16px;padding:4px;background:var(--soft);border-radius:10px}
.tabs button{border:0;background:transparent;padding:10px;border-radius:7px;font-weight:500;min-height:44px;color:var(--muted)}
.tabs button[aria-selected=true]{background:#fff;color:var(--green);box-shadow:0 1px 4px #183c2c1a}
.fine{margin:6px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}.fine a{color:var(--green)}
#signed-in h3{font-size:22px}#signed-in .quiet{margin-top:10px}
.band{padding:clamp(34px,6vw,64px) 0;border-top:1px solid var(--line)}
.band.alt{background:linear-gradient(var(--paper),var(--paper));position:relative}
.band h2{font-size:clamp(24px,3.4vw,34px);margin-bottom:26px}
.steps-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.steps-grid li{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px}
.steps-grid b{display:inline-flex;width:32px;height:32px;border-radius:50%;background:var(--green);color:#fff;align-items:center;justify-content:center;margin-bottom:12px}
.steps-grid h3,.feature-grid h3{font-size:18px;margin-bottom:8px}.steps-grid p,.feature-grid p{margin:0;color:var(--muted)}
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.feature-grid article{padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;color:#33493f;max-width:900px}.two-col p{margin:0}
.stats{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 22px}
.stat{margin:0;padding:16px 22px;background:var(--surface);border:1px solid var(--line);border-radius:14px;display:grid;min-width:150px}
.stat strong{font-size:34px;font-weight:500;color:var(--green);line-height:1.1}.stat span{font-size:13px;color:var(--muted)}
.map-wrap{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:22px;align-items:start}
#map{background:#eef3f0;border:1px solid var(--line);border-radius:14px;padding:8px;min-height:120px}
#map svg{display:block;width:100%;height:auto}
#map path{fill:#d5dfda;stroke:#fff;stroke-width:.6;transition:fill .15s}
#map path.l1{fill:#b6d9c6}#map path.l2{fill:#82bf9f}#map path.l3{fill:#4f9f78}#map path.l4{fill:#237e57}#map path.l5{fill:#0c5a3e}
#map path:hover{stroke:var(--ink);stroke-width:1}
.map-side h3{font-size:15px;margin-bottom:10px}
.country-list{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:14px}
.country-list li{display:flex;justify-content:space-between;gap:10px;padding:6px 10px;background:var(--surface);border:1px solid var(--line);border-radius:8px}
.country-list .muted{color:var(--muted);justify-content:flex-start}
.legend{display:flex;align-items:center;gap:4px;margin-top:14px;font-size:11px;color:var(--muted)}
.legend i{width:22px;height:10px;border-radius:2px;background:#d5dfda}.legend .l1{background:#b6d9c6}.legend .l2{background:#82bf9f}.legend .l3{background:#4f9f78}.legend .l4{background:#237e57}.legend .l5{background:#0c5a3e}
.faq{display:grid;gap:10px;max-width:860px}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:0 18px}
.faq summary{cursor:pointer;padding:15px 0;font-weight:500;list-style-position:outside}
.faq details[open] summary{color:var(--green)}.faq p{margin:0 0 16px;color:#33493f}
.site-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:22px clamp(18px,5vw,48px);border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.site-footer a{color:var(--green)}
.site-header nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
@media(max-width:860px){.hero{grid-template-columns:1fr}.auth-card{position:static}.map-wrap{grid-template-columns:1fr}}
@media(max-width:600px){.site-header nav .quiet:not(:last-child){display:none}}

/* Privacy notice */
.legal{max-width:780px;margin:0 auto;padding-top:clamp(28px,5vw,56px)}
.legal h1{font-size:clamp(30px,4vw,42px)}.legal h2{font-size:22px;margin:34px 0 10px}
.legal p,.legal li{color:#33493f}.legal .plain{padding-left:20px;display:grid;gap:12px}.legal code{background:var(--soft);padding:1px 5px;border-radius:4px;font-size:.9em}
.legal a{color:var(--green)}

/* Social sign-in */
.divider{display:flex;align-items:center;gap:12px;margin:18px 0 12px;color:var(--muted);font-size:12px}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--line)}
.social-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.social-button{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 10px;border:1px solid #b7c9be;border-radius:9px;background:#fff;color:var(--ink);font-size:13px;font-weight:500;text-decoration:none;text-align:center}
.social-button:hover,.social-button:focus-visible{border-color:var(--green);background:#f3f9f5}
