:root{--color-bg:#faf5ee;--color-primary:#c47b82;--color-primary-dark:#a75f68;--color-accent:#4d9de0;--color-text:#2f2a26;--color-muted:#8a8079;--color-card:#fff;--color-border:#f0e4d4;--tint-pink:#fbe4e4;--tint-pink-text:#a75f68;--tint-yellow:#f8edc7;--tint-yellow-text:#8a6d00;--tint-green:#dcead9;--tint-green-text:#3f6b4a;--tint-purple:#ece1f0;--tint-purple-text:#7a5490;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text)}a{color:inherit}.container{max-width:1040px;margin:0 auto;padding:0 20px}.site-header{background:var(--color-bg);padding:20px 0;position:-webkit-sticky;position:sticky;top:0;z-index:10}.site-header .header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.brand{gap:12px;text-decoration:none;color:var(--color-text)}.brand,.brand .mark{display:flex;align-items:center}.brand .mark{width:40px;height:40px;border-radius:12px;background:var(--tint-pink);color:var(--color-primary-dark);justify-content:center;font-family:Fraunces,Georgia,serif;font-weight:700;font-size:1.05rem;flex-shrink:0}.brand .brand-text{display:flex;flex-direction:column;line-height:1.15}.brand .brand-title{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:1.25rem}.brand .brand-tagline{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.top-links{display:flex;gap:20px;flex-wrap:wrap;font-size:.9rem;font-weight:600}.top-links a{text-decoration:none;color:var(--color-text);opacity:.85}.top-links a:hover{opacity:1}.kicker{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary-dark);background:var(--tint-pink);padding:6px 14px;border-radius:999px;margin-bottom:14px}.hero-title{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:2.6rem;line-height:1.15;margin:0 0 8px}.hero-title .accent{display:block;font-style:italic;font-weight:600;color:var(--color-primary)}.nav-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:14px;gap:14px;margin-top:28px}.nav-card{display:block;position:relative;border:none;border-radius:18px;padding:22px;text-decoration:none;color:var(--color-text);transition:transform .15s ease,box-shadow .15s ease}.nav-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(60,40,30,.08)}.nav-card .icon-badge{width:40px;height:40px;border-radius:999px;background:hsla(0,0%,100%,.6);display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:14px}.nav-card .title{font-weight:700;font-size:1.1rem;font-family:Fraunces,Georgia,serif}.nav-card .desc{color:var(--color-text);opacity:.65;font-size:.85rem;margin-top:4px}.nav-card.tint-0{background:var(--tint-pink)}.nav-card.tint-1{background:var(--tint-yellow)}.nav-card.tint-2{background:var(--tint-green)}.nav-card.tint-3{background:var(--tint-purple)}.nav-card.tint-4{background:var(--tint-pink)}.nav-card.tint-5{background:var(--tint-yellow)}.nav-card.tint-6{background:var(--tint-green)}.nav-card.tint-7{background:var(--tint-purple)}.page-title{font-family:Fraunces,Georgia,serif;font-size:2rem;font-weight:700;margin:32px 0 6px;text-align:center}.page-subtitle{color:var(--color-muted);margin-bottom:24px;text-align:center}.listing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:18px;gap:18px;margin:24px 0 48px}.listing-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 8px rgba(60,40,30,.04)}.listing-card img{width:100%;height:150px;object-fit:cover;background:var(--color-border)}.listing-card .body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1 1}.badge-row{display:flex;gap:6px;flex-wrap:wrap}.badge{display:inline-block;font-size:.7rem;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--tint-pink);color:var(--tint-pink-text)}.badge.featured{background:var(--tint-yellow);color:var(--tint-yellow-text)}.badge.halloween{background:#2f2a26;color:#ffb066}.listing-card h3{margin:0;font-family:Fraunces,Georgia,serif;font-size:1.1rem}.listing-card .meta{font-size:.85rem;color:var(--color-muted)}.listing-card .schedule{font-size:.85rem;color:var(--color-primary-dark);font-weight:600}.empty-state{padding:48px 0;text-align:center;color:var(--color-muted)}form.hidden-gem-form{display:flex;flex-direction:column;gap:12px;max-width:480px;margin:24px auto 60px;background:var(--color-card);border:1px solid var(--color-border);border-radius:18px;padding:24px}form.hidden-gem-form label{font-weight:600;font-size:.9rem}form.hidden-gem-form input,form.hidden-gem-form textarea{padding:10px 12px;border-radius:10px;border:1px solid var(--color-border);font-size:.95rem;font-family:inherit}form.hidden-gem-form button{background:var(--color-primary);color:#fff;border:none;padding:12px 16px;border-radius:999px;font-weight:700;cursor:pointer}form.hidden-gem-form button:hover{background:var(--color-primary-dark)}form.hidden-gem-form button:disabled{opacity:.6;cursor:default}.back-link{display:inline-block;margin-top:24px;font-size:.9rem;color:var(--color-primary-dark);text-decoration:none;font-weight:600}.day-picker{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px;justify-content:center}.day-picker button{padding:7px 14px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-card);cursor:pointer;font-size:.85rem;font-weight:600}.day-picker button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.map-embed{width:100%;height:320px;border-radius:18px;overflow:hidden;margin:16px 0 40px}.map-embed,.planner-card{border:1px solid var(--color-border)}.planner-card{background:var(--color-card);border-radius:20px;padding:28px;max-width:720px;margin:24px auto}.planner-section{margin-bottom:22px}.planner-section:last-child{margin-bottom:0}.planner-section h2,.planner-section h3{font-family:Fraunces,Georgia,serif;font-size:1.15rem;margin:0 0 4px}.planner-section .hint{color:var(--color-muted);font-size:.85rem;margin:0 0 12px}.step-label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary-dark);margin-bottom:6px}.option-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:10px;gap:10px}.option-tile{border:1.5px solid var(--color-border);background:var(--color-bg);border-radius:14px;padding:14px;text-align:left;cursor:pointer;font-family:inherit;color:var(--color-text);transition:border-color .15s ease,background .15s ease}.option-tile.selected,.option-tile:hover{border-color:var(--color-primary)}.option-tile.selected{background:var(--tint-pink)}.option-tile .emoji{font-size:1.3rem;display:block;margin-bottom:6px}.option-tile .label{font-weight:700;font-size:.95rem;display:block}.option-tile .desc{color:var(--color-muted);font-size:.78rem;margin-top:2px;display:block}.pill-row{display:flex;gap:8px;flex-wrap:wrap}.pill-button{padding:9px 18px;border-radius:999px;border:1.5px solid var(--color-border);background:var(--color-bg);cursor:pointer;font-size:.9rem;font-weight:600;color:var(--color-text);font-family:inherit}.pill-button.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.field-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.field-row input[type=text],.field-row input[type=time]{flex:1 1;min-width:180px;padding:10px 12px;border-radius:10px;border:1px solid var(--color-border);font-size:.95rem;font-family:inherit}.slider-row input[type=range]{width:100%;accent-color:var(--color-primary)}.slider-value{color:var(--color-muted);font-size:.85rem}.planner-actions{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.btn-primary{background:var(--color-primary);color:#fff;border:none;padding:13px 22px;border-radius:999px;font-weight:700;cursor:pointer;font-size:.95rem;font-family:inherit}.btn-primary:hover{background:var(--color-primary-dark)}.btn-primary:disabled{opacity:.5;cursor:default}.btn-secondary{background:transparent;color:var(--color-primary-dark);border:1.5px solid var(--color-border);padding:11px 20px;border-radius:999px;font-weight:700;cursor:pointer;font-size:.9rem;font-family:inherit}.btn-secondary:hover{border-color:var(--color-primary)}.btn-link{background:none;border:none;color:var(--color-primary-dark);font-weight:600;cursor:pointer;font-family:inherit;font-size:.9rem;padding:0}.route-result{max-width:900px;margin:12px auto 60px}.route-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:6px}.route-header h2{font-family:Fraunces,Georgia,serif;font-size:1.5rem;margin:0}.route-meta{color:var(--color-muted);font-size:.9rem;display:flex;gap:16px;flex-wrap:wrap}.route-layout{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;margin-top:16px}@media (max-width:760px){.route-layout{grid-template-columns:1fr}}.route-stops{display:flex;flex-direction:column;gap:10px}.route-stop{display:flex;gap:12px;align-items:flex-start;background:var(--color-card);border:1px solid var(--color-border);border-radius:14px;padding:14px}.stop-number{width:30px;height:30px;border-radius:50%;background:var(--color-primary);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.9rem}.route-stop .stop-body{flex:1 1}.route-stop .stop-badge{font-size:.7rem;font-weight:700;color:var(--color-primary-dark);text-transform:uppercase;letter-spacing:.04em}.route-stop h4{margin:2px 0;font-family:Fraunces,Georgia,serif;font-size:1.05rem}.route-stop .stop-meta{color:var(--color-muted);font-size:.82rem}.route-stop .stop-window{color:var(--color-primary-dark);font-weight:700;font-size:.85rem;margin-bottom:2px}.pairing-section{margin-top:32px}.pairing-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:14px;padding:16px;max-width:320px}.pairing-card .kicker-small{font-size:.7rem;font-weight:700;color:var(--color-primary-dark);text-transform:uppercase;letter-spacing:.05em}.pairing-card h4{margin:4px 0;font-family:Fraunces,Georgia,serif}.notice-box{background:var(--tint-purple);color:var(--tint-purple-text);border-radius:14px;padding:14px 16px;font-size:.85rem;margin-top:16px}.directions-block{display:flex;gap:16px;margin-top:8px;flex-wrap:wrap}.directions-link{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:700;color:var(--color-primary-dark);background:none;border:none;padding:0;cursor:pointer;font-family:inherit;text-decoration:none}.directions-link:hover{text-decoration:underline}.transit-panel{width:100%;margin-top:10px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;padding:12px 14px}.transit-summary{display:flex;flex-direction:column;gap:2px;margin-bottom:10px;font-size:.85rem}.transit-summary strong{font-size:.95rem}.transit-summary span{color:var(--color-muted)}.transit-steps{display:flex;flex-direction:column;gap:8px}.transit-step{font-size:.82rem;line-height:1.4}.transit-step .stop-meta{color:var(--color-muted);font-size:.78rem;margin-top:1px}.site-footer{padding:32px 0 48px;color:var(--color-muted);font-size:.85rem;border-top:1px solid var(--color-border);margin-top:40px;display:flex;align-items:center;gap:10px}.featured-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:18px;gap:18px;margin:32px auto 0;max-width:720px}.featured-card{display:block;position:relative;border:none;border-radius:22px;padding:32px 28px;text-decoration:none;color:var(--color-text);transition:transform .15s ease,box-shadow .15s ease}.featured-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(60,40,30,.1)}.featured-card .icon-badge{width:52px;height:52px;border-radius:999px;background:hsla(0,0%,100%,.6);display:flex;align-items:center;justify-content:center;font-size:1.7rem;margin-bottom:18px}.featured-card .title{font-weight:700;font-size:1.35rem;font-family:Fraunces,Georgia,serif}.featured-card .desc{color:var(--color-text);opacity:.65;font-size:.92rem;margin-top:6px}.featured-card.tint-yellow{background:var(--tint-yellow)}.featured-card.tint-green{background:var(--tint-green)}.more-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:24px auto 40px;max-width:720px}.more-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-size:.85rem}