:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#10213f;background:#f3f6fa;--blue:#174ea6;--navy:#0c2340;--green:#66a82e;--orange:#f28a24;--red:#d93b3b;--line:#d7dee9;--muted:#64748b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f3f6fa;color:var(--navy)}button,input{font:inherit}.site-shell{min-height:100vh}.site-header{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:30px;padding:0 32px;position:sticky;top:0;z-index:30;box-shadow:0 2px 10px #10213f0d}.mini-brand{border:0;background:transparent;padding:0;display:flex;align-items:center;min-width:230px;height:64px;cursor:pointer}.mini-logo-crop{display:flex;width:220px;height:60px;overflow:visible;align-items:center;justify-content:flex-start}.mini-logo-crop img{position:static;width:220px;height:58px;object-fit:contain;object-position:left center;display:block}.top-nav{display:flex;align-self:stretch;gap:4px;flex:1}.top-nav button,.header-actions button,.mobile-scope-nav button{border:0;background:transparent;color:#111827;font-size:13px;font-weight:850;padding:0 14px}.top-nav button{border-bottom:3px solid transparent}.top-nav button.active,.header-actions button.active,.mobile-scope-nav button.active{color:var(--blue);border-bottom-color:var(--blue)}.header-actions{display:flex;gap:4px}.header-actions button{display:flex;align-items:center;gap:7px;white-space:nowrap}.mobile-scope-nav{display:none;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:72px;z-index:25;height:48px;grid-template-columns:repeat(3,1fr);box-shadow:0 3px 10px #10213f0d}.mobile-scope-nav button{border-bottom:3px solid transparent}.brand-hero{min-height:500px;background-image:linear-gradient(#ffffff3d,#ffffff57),url(https://upload.wikimedia.org/wikipedia/commons/thumb/9/99/St._Joseph_River_-_Leeper_Park_-_South_Bend_-_Indiana_%2852943152675%29.jpg/1280px-St._Joseph_River_-_Leeper_Park_-_South_Bend_-_Indiana_%2852943152675%29.jpg);background-size:cover;background-position:center 52%;display:grid;place-items:center;padding:26px 24px 105px;border-bottom:1px solid var(--line);position:relative}.brand-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#ffffff24,#ffffff0a 30%,#ffffff0d 70%,#ffffff21);pointer-events:none}.hero-overlay{width:min(1080px,100%);text-align:center;position:relative;z-index:2}.hero-logo{width:min(720px,78vw);max-height:250px;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(255,255,255,.72))}.location-row{margin:2px 0 18px;display:flex;justify-content:center;flex-wrap:wrap;gap:10px;font-size:18px;font-weight:950;letter-spacing:.08em;text-shadow:0 1px 2px #fff}.location-row span:nth-child(1){color:#2255a3}.location-row span:nth-child(3){color:#65a531}.location-row span:nth-child(5){color:#ed8423}.location-row span:nth-child(7){color:#d83b3b}.location-row b{color:#1d2a3e}.search-bar{margin:0 auto;max-width:990px;background:#fff;border:1px solid #cbd5e1;border-radius:14px;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:8px 8px 8px 20px;box-shadow:0 12px 32px #10213f33}.search-bar input{height:50px;border:0;outline:0;font-size:18px;color:#1e2b40;min-width:0}.area-label,.search-button{height:50px;border-radius:9px;font-weight:900}.area-label{color:#23324a;display:flex;align-items:center;gap:7px;padding:0 15px;white-space:nowrap}.search-button{border:0;background:var(--blue);color:#fff;padding:0 28px;letter-spacing:.06em}.category-strip{position:relative;z-index:6;margin:-76px auto 0;width:min(1260px,calc(100% - 24px));display:flex;justify-content:center;gap:22px;flex-wrap:nowrap;overflow-x:auto;padding:0 10px 18px;background:transparent}.category{border:0;background:transparent;color:#172033;display:flex;flex-direction:column;align-items:center;gap:9px;font-weight:900;min-width:100px}.category-icon{width:82px;height:82px;border-radius:50%;background:#fff;border:1px solid #d7dee8;display:grid;place-items:center;box-shadow:0 7px 18px #0f172a29;color:var(--blue)}.category-icon svg{width:30px;height:30px}.category:nth-child(2) .category-icon{color:#4f9a30}.category:nth-child(3) .category-icon{color:#d93b3b}.category:nth-child(4) .category-icon{color:#ef8a24}.category:nth-child(5) .category-icon{color:#174ea6}.category:nth-child(6) .category-icon{color:#3b8d35}.category:nth-child(7) .category-icon{color:#7b3da9}.category:nth-child(8) .category-icon{color:#ed8423}.category:nth-child(9) .category-icon{color:#168d9e}.category.active .category-icon{outline:4px solid rgba(23,78,166,.18);transform:translateY(-2px)}.category small{font-size:11px;letter-spacing:.01em;white-space:nowrap}.content-wrap{width:min(1400px,calc(100% - 80px));margin:0 auto;padding:14px 0 20px;scroll-margin-top:132px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.section-title>div{display:flex;align-items:center;gap:11px}.section-title svg{color:var(--blue)}.section-title h2{margin:0;text-transform:uppercase;font-size:24px;letter-spacing:-.02em}.section-title span{color:var(--blue);font-size:13px;font-weight:850}.featured-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.featured-card{background:#fff;border:1px solid #d4dce7;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px #0f172a1c;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.featured-card.clickable{cursor:pointer}.featured-card.clickable:hover{transform:translateY(-4px);box-shadow:0 14px 32px #0f172a29;border-color:#c2cfde}.card-photo{height:168px;position:relative;background-size:cover;background-position:center;overflow:hidden}.card-photo.has-image:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#07193108,#07193133);pointer-events:none}.card-photo.fallback{isolation:isolate}.card-photo.fallback:before{content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-50px;top:-70px;background:#fff3;box-shadow:-120px 95px 0 5px #ffffff1a;z-index:-1}.card-photo.fallback:after{content:"";position:absolute;left:-8%;right:-8%;bottom:-34px;height:80px;border-radius:50%;background:#ffffff26;transform:rotate(-4deg);z-index:-1}.card-photo.music{background:linear-gradient(135deg,#3c1a78,#8641bd,#ec5b8f)}.card-photo.outdoors{background:linear-gradient(135deg,#167d56,#48a96e 45%,#b7dc76)}.card-photo.family{background:linear-gradient(135deg,#e69a22,#f7c454 45%,#77b95b)}.card-photo.food{background:linear-gradient(135deg,#e86b24,#f59b36,#f6c45a)}.card-photo.sports{background:linear-gradient(135deg,#1455a3,#287ad8,#69bfe9)}.card-photo.arts{background:linear-gradient(135deg,#71359b,#a556b9,#ef8fc1)}.card-photo.festival{background:linear-gradient(135deg,#167f9c,#27a4b7 48%,#efad3a)}.fallback-art{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.18)}.fallback-orb{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:#ffffff29;border:1px solid rgba(255,255,255,.38);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-shadow:0 10px 25px #0000001f}.fallback-label{text-transform:uppercase;font-size:11px;font-weight:950;letter-spacing:.12em;background:#04162b47;padding:5px 9px;border-radius:999px}.date-badge{position:absolute;z-index:3;top:11px;left:11px;background:#318a37;color:#fff;border-radius:5px;padding:6px 9px;font-size:10px;font-weight:950;letter-spacing:.03em;box-shadow:0 3px 9px #0000001f}.favorite{position:absolute;z-index:3;right:10px;top:10px;width:40px;height:40px;border-radius:50%;border:1px solid #d6dce6;background:#fff;color:#38465b;display:grid;place-items:center;box-shadow:0 4px 12px #0f172a1f}.card-copy{padding:14px 15px 17px}.category-label{margin:0 0 7px;color:var(--green);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.02em}.card-copy h3{font-size:19px;margin:0 0 10px;line-height:1.18;color:#10213f}.card-meta{margin:0;color:var(--muted);font-size:13px;display:flex;gap:7px;align-items:flex-start;line-height:1.45}.card-meta svg{flex:0 0 auto;margin-top:1px;color:#63748b}.link-note{display:inline-block;margin-top:9px;font-size:11px;color:#8a97a8}.empty-state{padding:32px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:14px;color:var(--muted)}.benefits{width:min(1400px,calc(100% - 80px));margin:0 auto 10px;background:#fff;border:1px solid #d4dce7;border-radius:12px;display:grid;grid-template-columns:repeat(4,1fr);padding:18px;box-shadow:0 6px 18px #0f172a12}.benefits div{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;padding:4px 22px;border-right:1px solid #edf0f5}.benefits div:last-child{border-right:0}.benefits svg{grid-row:1/3;color:var(--blue);width:32px;height:32px}.benefits strong{font-size:13px}.benefits span{font-size:12px;color:var(--muted);line-height:1.45}.photo-credit{width:min(1400px,calc(100% - 80px));margin:8px auto 26px;text-align:right;color:#7b8798;font-size:10px}@media(max-width:1100px){.top-nav{display:none}.mobile-scope-nav{display:grid}.site-header{justify-content:space-between}.featured-grid{grid-template-columns:repeat(2,1fr)}.category-strip{justify-content:flex-start}.benefits{grid-template-columns:repeat(2,1fr);gap:12px}.benefits div{border-right:0}.content-wrap,.benefits,.photo-credit{width:min(100% - 32px,1400px)}}@media(max-width:680px){.site-header{height:62px;padding:0 14px}.mobile-scope-nav{top:62px}.mini-brand{min-width:150px;height:50px}.mini-logo-crop{width:148px;height:46px}.mini-logo-crop img{width:148px;height:44px;object-fit:contain;object-position:left center}.header-actions button{padding:0 4px;font-size:0}.brand-hero{min-height:410px;padding:22px 14px 105px;background-position:48% center}.hero-logo{width:min(96vw,560px)}.location-row{font-size:12px;gap:6px;margin:5px 0 15px}.search-bar{grid-template-columns:auto 1fr auto;padding-left:12px}.search-bar input{font-size:14px}.area-label{display:none}.search-button{padding:0 16px}.category-strip{margin-top:-70px;width:100%;padding:0 14px 18px;gap:12px}.category{min-width:74px}.category-icon{width:62px;height:62px}.category-icon svg{width:24px;height:24px}.category small{font-size:9px}.content-wrap{width:min(100% - 24px,1400px);padding-top:14px}.featured-grid{grid-template-columns:1fr;gap:16px}.section-title{align-items:flex-start}.section-title h2{font-size:20px}.benefits{width:min(100% - 24px,1400px);grid-template-columns:1fr;padding:12px}.benefits div{padding:10px}.card-photo{height:185px}.photo-credit{width:min(100% - 24px,1400px);text-align:left}}.city-badge{position:absolute;z-index:3;left:11px;bottom:11px;display:inline-flex;align-items:center;gap:5px;background:#0c2340e6;color:#fff;border:1px solid rgba(255,255,255,.42);border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900;letter-spacing:.01em;box-shadow:0 3px 10px #0000002e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.city-badge svg{flex:0 0 auto}.brand-hero{background-image:linear-gradient(#fff3,#ffffff4d),url(https://south-bend.imgix.net/images/main-images/Mishawaka_Riverwalk_Aerial_51_f4340e5b-39a4-486d-9a6d-3d30079d7bc8.jpg?auto=compress%2Cformat&fit=max&q=80&s=3d0dbaf09af3566e8eec6b4e3de34fbb&w=2560);background-position:center 48%}@media(max-width:680px){.city-badge{font-size:10px;padding:5px 8px}.brand-hero{background-position:center center}}.skip-link{position:fixed;left:12px;top:-60px;z-index:100;background:#fff;color:#0c2340;padding:12px;border-radius:8px}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.area-label select{max-width:150px;border:0;background:#fff;color:#23324a;font-weight:850;outline:0;cursor:pointer}.section-title h1{margin:0;text-transform:uppercase;font-size:24px;letter-spacing:-.02em}.card-copy h2{font-size:19px;margin:0 0 10px;line-height:1.18;color:#10213f}.notice,.error-state{padding:14px 16px;border-radius:10px;margin:0 0 18px}.notice{background:#e8f1ff;border:1px solid #a8c8f4;color:#0c3d79}.error-state{background:#fff0f0;border:1px solid #efb3b3;color:#8a1f1f}.notice button,.error-state button,.empty-state button,.site-footer button{border:0;border-radius:7px;padding:7px 10px;font-weight:800;cursor:pointer}.error-state button,.empty-state button{margin-left:8px;background:#174ea6;color:#fff}.site-footer{width:min(1400px,calc(100% - 80px));margin:10px auto 28px;border-top:1px solid #d7dee9;padding:18px 0;color:#64748b;font-size:12px;display:flex;justify-content:space-between;gap:20px;align-items:center}.site-footer p{margin:0;max-width:760px}.site-footer div{display:flex;gap:6px}.site-footer button{background:transparent;color:#174ea6}.site-footer button:hover,.site-footer button:focus-visible{text-decoration:underline}.featured-card:focus-within,.category:focus-visible,.site-header button:focus-visible,.search-button:focus-visible{outline:3px solid #f28a24;outline-offset:3px}@media(max-width:680px){.section-title h1{font-size:20px}.site-footer{width:min(100% - 24px,1400px);display:block}.site-footer div{margin-top:10px;flex-wrap:wrap}.header-actions button:last-child{font-size:0}.area-label{display:flex!important;padding:0 5px}.area-label svg{display:none}.area-label select{max-width:94px;font-size:12px}.search-bar{grid-template-columns:auto 1fr auto auto}.search-button{padding:0 10px}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#071427b8;display:grid;place-items:center;padding:18px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{position:relative;width:min(520px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;padding:30px;box-shadow:0 24px 70px #0000004d}.modal h2{margin:0 44px 8px 0;color:#0c2340;font-size:28px}.modal p{color:#64748b;line-height:1.55}.modal-close{position:absolute;right:16px;top:16px;width:40px;height:40px;border:0;border-radius:50%;background:#edf3fa;color:#0c2340;display:grid;place-items:center;cursor:pointer}.modal form{display:grid;gap:14px;margin-top:20px}.modal label{display:grid;gap:6px;color:#22324a;font-size:13px;font-weight:850}.modal input,.modal select,.modal textarea{width:100%;border:1px solid #cbd5e1;border-radius:9px;padding:11px 12px;background:#fff;color:#10213f}.modal textarea{resize:vertical}.modal input:focus,.modal select:focus,.modal textarea:focus{outline:3px solid rgba(23,78,166,.18);border-color:#174ea6}.primary-action,.danger-action{border:0;border-radius:9px;padding:12px 16px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.primary-action{background:#174ea6;color:#fff}.danger-action{background:#fff0f0;color:#a32424}.primary-action:disabled{opacity:.6;cursor:wait}.submit-modal{width:min(620px,100%)}@media(max-width:680px){.modal{padding:24px 18px;border-radius:14px}.modal h2{font-size:24px}}.brand-hero{min-height:560px;padding:72px 24px 128px;place-items:center start;background-position:center 48%!important}.brand-hero:after{background:linear-gradient(90deg,#051224e0,#051224ad 43%,#05122438 76%,#05122414)!important}.hero-overlay{width:min(1180px,calc(100% - 40px));margin:0 auto;text-align:left}.hero-copy{max-width:760px;color:#fff}.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:8px 12px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:#091c346b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:12px;font-weight:900;letter-spacing:.12em}.hero-copy h1{margin:0;max-width:730px;color:#fff;font-size:clamp(48px,6vw,84px);line-height:.96;letter-spacing:-.055em;text-shadow:0 5px 24px rgba(0,0,0,.28)}.hero-copy h1 span{color:#7fc9ff}.hero-copy p{margin:22px 0 32px;max-width:650px;color:#ffffffe6;font-size:clamp(17px,2vw,21px);line-height:1.5;text-shadow:0 2px 10px rgba(0,0,0,.35)}.modern-search-card{width:min(1020px,100%);display:grid;grid-template-columns:minmax(280px,1fr) 220px auto;gap:8px;padding:8px;background:#fffffff5;border:1px solid rgba(255,255,255,.72);border-radius:18px;box-shadow:0 24px 60px #030f1f61;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.search-input-wrap,.modern-area-select{height:58px;display:flex;align-items:center;gap:12px;padding:0 16px;color:#617086}.search-input-wrap{border-right:1px solid #dce3ec}.search-input-wrap input,.modern-area-select select{width:100%;border:0;outline:0;background:transparent;color:#10213f}.search-input-wrap input{font-size:17px}.search-input-wrap input::placeholder{color:#7c889a}.modern-area-select select{font-size:14px;font-weight:800;cursor:pointer}.modern-search-button{height:58px;border:0;border-radius:12px;padding:0 24px;background:linear-gradient(135deg,#1763c5,#123f90);color:#fff;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;cursor:pointer;box-shadow:0 8px 18px #174ea640}.modern-search-button span{font-size:20px;margin-left:7px}.modern-search-button:hover{transform:translateY(-1px);filter:brightness(1.08)}.hero-quick-links{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:16px;color:#ffffffb8;font-size:12px;font-weight:800}.hero-quick-links button{border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:8px 13px;background:#091c347a;color:#fff;font-size:12px;font-weight:800;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero-quick-links button:hover{background:#fff;color:#174ea6}.modern-search-card:focus-within{outline:3px solid rgba(127,201,255,.62);outline-offset:4px}@media(max-width:800px){.brand-hero{min-height:570px;padding:54px 16px 112px}.brand-hero:after{background:linear-gradient(180deg,#051224d1,#05122485)!important}.hero-overlay{width:100%}.hero-copy h1{font-size:clamp(46px,13vw,66px)}.modern-search-card{grid-template-columns:1fr 1fr}.search-input-wrap{grid-column:1/-1;border-right:0;border-bottom:1px solid #dce3ec}.modern-area-select{padding:0 10px}.modern-search-button{padding:0 13px}.hero-quick-links{margin-bottom:8px}}@media(max-width:480px){.brand-hero{min-height:600px;padding-top:40px}.hero-copy p{font-size:16px;margin:18px 0 25px}.hero-eyebrow{font-size:10px}.modern-search-card{border-radius:15px}.modern-area-select select{font-size:12px}.modern-search-button{font-size:11px}.hero-quick-links button{padding:7px 10px}}
