:root{--green:#173d31;--ink:#20352d;--muted:#66736b;--cream:#f8f6ef;--line:#e3e5db;--orange:#d56c42}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}.top{height:76px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(4vw,24px);border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;font-size:22px;font-weight:700;letter-spacing:-1px;text-decoration:none}.brand-logo{display:block;height:40px;width:auto}.brand i{font-family:Fraunces,serif;font-weight:500;color:var(--orange)}.brand-icon{font-size:31px;color:var(--orange)}.tagline{font-size:13px;color:var(--muted)}.ghost{border:1px solid var(--line);background:white;border-radius:30px;padding:10px 17px;color:var(--green)}.hero{min-height:350px;background:linear-gradient(90deg,rgba(14,47,37,.95),rgba(14,47,37,.70) 56%,rgba(14,47,37,.24)),url('/img/hero.jpg') center 53%/cover;color:#fff;display:flex;align-items:center}.hero-inner{width:min(1200px,92%);margin:auto}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:#f1b78e}.hero h1{font:600 clamp(43px,5vw,72px)/1.06 Fraunces,serif;letter-spacing:-2px;margin:15px 0}.hero h1 em{font-weight:500;color:#f0b487}.hero p{max-width:510px;line-height:1.7;color:#e4e8df}.search-shell{width:min(1200px,94%);margin:-35px auto 0;position:relative;z-index:500}.searchbar{background:white;display:flex;align-items:stretch;padding:10px;border-radius:15px;box-shadow:0 12px 40px #112b2021;min-height:88px}.searchbar label{display:flex;flex-direction:column;justify-content:center;padding:7px 16px;border-right:1px solid var(--line)}.searchbar label span{font-size:10px;letter-spacing:1.5px;font-weight:700;color:#6d796e;margin-bottom:8px}.searchbar input,.searchbar select{border:0;background:transparent;color:var(--green);outline:0;min-width:0;width:100%}.location-field{flex:2;position:relative}.day-field,.radius-field{flex:1}.locate{background:white;border:0;border-right:1px solid var(--line);color:var(--green);padding:12px;font-size:13px}.submit{background:var(--green);color:white;border:0;border-radius:9px;padding:12px 24px;font-weight:700;white-space:nowrap}.submit span{margin-left:8px}.suggestions{position:absolute;top:100%;left:0;right:0;background:white;box-shadow:0 15px 30px #0002;max-height:260px;overflow:auto;z-index:1000}.suggestions button{width:100%;border:0;border-bottom:1px solid var(--line);background:white;text-align:left;padding:12px}.suggestions button:hover{background:var(--cream)}.results{width:min(1200px,94%);margin:65px auto}.results-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow.small{color:var(--orange)}h2{font:600 clamp(28px,3vw,40px)/1.2 Fraunces,serif;margin:10px 0}.results-head p{color:var(--muted);font-size:14px}.switch{display:flex;background:#e9ece4;border-radius:50px;padding:5px}.switch button{border:0;background:transparent;padding:10px 18px;border-radius:50px;color:var(--green)}.switch .active{background:white;box-shadow:0 2px 8px #0001}.results-body{display:grid;grid-template-columns:minmax(320px,1fr) 1.08fr;gap:22px;align-items:start}.cards{display:grid;gap:14px;max-height:680px;overflow:auto;padding-right:4px}.card{display:flex;min-height:162px;background:white;border:1px solid var(--line);border-radius:13px;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #183c3014}.card-photo{width:36%;min-width:125px;background:linear-gradient(140deg,#d4e0c6,#b9c9ad);display:flex;align-items:center;justify-content:center;color:#55725b;font-size:42px}.card-photo img{width:100%;height:100%;object-fit:cover}.card-info{padding:17px;flex:1}.card-kicker{font-size:10px;letter-spacing:1px;color:var(--orange);font-weight:700;text-transform:uppercase}.card h3{font:600 21px Fraunces,serif;margin:8px 0}.card p{font-size:13px;color:var(--muted);margin:7px 0}.badge{display:inline-block;background:#eef3e9;color:#386048;border-radius:50px;padding:6px 10px;font-size:11px;margin-top:5px}#map{height:680px;border-radius:15px;z-index:1;border:1px solid var(--line)}.hours-note{font-size:12px;color:var(--orange);margin:6px 0 0}.source-note{font-size:12px;color:var(--muted);margin-top:20px;line-height:1.7}footer{padding:38px max(4vw,24px);background:#173d31;color:white;display:flex;align-items:center;justify-content:space-between;gap:20px}footer p{font-size:12px;color:#c8d5ca}dialog{border:0;border-radius:17px;max-width:690px;width:92%;padding:0;box-shadow:0 20px 90px #0005}dialog::backdrop{background:#102b2288}.close{position:absolute;right:14px;top:12px;background:white;border:0;border-radius:50%;width:35px;height:35px;font-size:24px;z-index:2}.detail-photo{height:260px;background:linear-gradient(120deg,#c5d6b8,#e8e4cc);display:grid;place-items:center;font-size:70px;color:#6d876e}.detail-photo img{width:100%;height:260px;object-fit:cover;display:block}.detail-copy{padding:30px}.detail-copy p{line-height:1.7;color:#5c6a61}.detail-copy a.action{display:inline-block;background:var(--green);color:white;padding:12px 18px;border-radius:8px;text-decoration:none;margin-top:15px}.meta{padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}.empty{background:white;border:1px dashed #cdd8c8;padding:30px;border-radius:12px;line-height:1.7;color:var(--muted)}@media(max-width:850px){.tagline{display:none}.searchbar{flex-wrap:wrap}.location-field{flex-basis:65%!important}.locate{flex:1}.day-field,.radius-field{flex-basis:50%}.submit{width:100%;padding:16px}.results-body{display:flex;flex-direction:column}.cards,#map{width:100%;max-height:none}.cards{max-height:unset}#map{height:450px}.results-body.map-first #map{order:-1}.results-body.list-only #map{display:none}.results-body.map-only .cards{display:none}footer{flex-direction:column;align-items:start}.hero{min-height:320px}}@media(max-width:480px){.top{height:64px}.brand{font-size:19px}.brand-logo{height:44px}.hero h1{font-size:48px}.hero{min-height:300px}.hero h1{letter-spacing:-1px}.searchbar label{padding:10px}.locate span{display:none}.results{margin-top:45px}.results-head{align-items:start}.switch button{padding:10px}.card-photo{min-width:105px}.card h3{font-size:19px}}
.card-photo{position:relative;padding:0;font-size:0}.illus-tag{position:absolute;left:8px;bottom:8px;background:rgba(23,61,49,.85);color:#f8f6ef;font-size:9px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;padding:4px 8px;border-radius:50px;font-family:DM Sans,sans-serif}.detail-photo{position:relative;padding:0}.detail-photo .illus-tag{left:12px;bottom:12px;font-size:10px;padding:5px 10px}.fiche-illus{margin:20px 0 22px;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--cream)}.fiche-illus img{width:100%;display:block;max-height:520px;object-fit:cover}.fiche-illus span{display:block;padding:9px 14px;font-size:11px;color:var(--muted)}.detail-head{padding:22px 30px 14px}.detail-head h2{font:600 26px Fraunces,serif;margin:5px 0 0;line-height:1.2}@media(max-width:850px){.detail-photo{height:200px}.detail-head{padding:18px 20px 10px}.detail-head h2{font-size:22px}}@media(max-width:850px){.detail-photo img{height:200px}}.detail-photo{overflow:hidden}
.fiche-desc{font-size:17px;line-height:1.6;color:#2d4a3f;margin:18px 0 6px}

.reliability{font-size:12px;line-height:1.45;margin:8px 0;padding:8px 10px;border-left:3px solid #b39466;background:#f5f0e6;color:#4e554c}.reliability small{display:block;margin-top:3px}.reliability p{margin:3px 0}.reliability.verified{border-color:#386b50}.reliability.uncertain{border-color:#b75b3b}
/* Keep full schedule visible when reliability explanations increase card height. */
.card{flex-shrink:0}.card-info{min-width:0}.reliability{overflow-wrap:anywhere}
.cards{grid-auto-rows:max-content}

@media(max-width:850px){.suggestions{position:static;box-shadow:none;border:1px solid var(--line);border-radius:9px;margin-top:6px;max-height:220px}}
