:root{--green:#00826e;--green2:#00826e;--gold:#00826e;--ink:#16251f;--muted:#5b646c;--edge:#d6dce0;--soft:#f6f7f8;--tag:#dceae2}*{box-sizing:border-box}html{font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:white}body{margin:0;min-height:100vh;display:flex;flex-direction:column}a{color:var(--green2)}button,input,select{font:inherit}button,a,select{touch-action:manipulation}.wrap{max-width:1150px;width:calc(100% - 48px);margin:0 auto}.site-header{border-bottom:3px solid var(--gold);background:#fff}.brand-row{display:flex;align-items:center;justify-content:space-between;min-height:94px;gap:20px}.brand{display:flex;align-items:center;gap:12px;color:var(--green)}.brand-tree{width:64px;height:66px;flex-shrink:0}.brand-name{font-size:34px;letter-spacing:-1px;font-family:Georgia,'Times New Roman',serif;font-weight:700;line-height:1.05}.brand-sub{display:flex;gap:12px;align-items:center;justify-content:center;letter-spacing:6px;font-size:16px;font-weight:600;margin-top:4px}.brand-sub span{width:54px;height:2px;background:var(--gold)}.city-link{font-size:14px;color:#172522;text-decoration:none;font-weight:700}.city-link:hover,.clear:hover,.footer a:hover{text-decoration:underline}.main{flex:1;padding-bottom:60px}.intro{text-align:center;margin:35px 0 26px}.intro h1{font-size:clamp(29px,3.5vw,44px);letter-spacing:-1.2px;color:var(--green);margin:0 0 7px}.intro p{font-size:20px;color:var(--muted);margin:0}.demo-note{border:1px solid #ecd48e;background:#fff9e7;color:#6b4d07;border-radius:7px;padding:11px 15px;margin-bottom:15px;font-size:14px}.search-panel{background:var(--soft);border:1px solid var(--edge);border-radius:10px;padding:24px 28px;box-shadow:0 1px 1px #00000005}.search-line{display:flex;gap:15px}.search-input{display:flex;align-items:center;flex:1;gap:12px;background:white;border:1px solid #b8c1c6;border-radius:7px;padding:0 14px}.search-input:focus-within{outline:2px solid #7bb5a3}.search-input svg{fill:none;stroke:var(--green);stroke-width:2;width:24px;height:24px;flex-shrink:0}.search-input input{width:100%;border:0;background:transparent;outline:none;height:46px;min-width:0}.btn{display:inline-flex;justify-content:center;align-items:center;gap:9px;border:0;border-radius:7px;padding:12px 26px;text-decoration:none;font-weight:700;cursor:pointer}.btn-primary,.btn-pdf{background:var(--green);color:white}.btn:hover{background:#006654}.btn-primary{min-width:155px}.filters{display:grid;grid-template-columns:1.2fr 0.8fr 1fr auto;align-items:end;gap:22px;margin-top:17px}.field{display:flex;flex-direction:column;gap:5px}.field label,.sort-form label{font-size:14px;font-weight:700}.field select,.sort-form select{height:42px;border:1px solid #b8c1c6;border-radius:6px;background:white;padding:0 12px;width:100%;color:#242d31}.clear{font-size:14px;white-space:nowrap;align-self:center;margin-top:18px;font-weight:600}.results{margin-top:28px}.results-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:11px}.results-heading h2{font-size:25px;color:var(--green);margin:0}.sort-form{display:flex;gap:10px;align-items:center}.sort-form label{white-space:nowrap}.sort-form select{width:auto;min-width:216px}.result-list{display:flex;flex-direction:column;gap:10px}.result-card{border:1px solid var(--edge);border-radius:9px;display:flex;align-items:center;padding:17px;gap:18px;box-shadow:0 1px 2px #00000006}.document-icon{width:56px;height:56px;display:grid;place-items:center;flex-shrink:0;background:#e1ede7;border-radius:7px;color:var(--green)}.document-icon svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.6}.result-main{flex:1;min-width:0}.result-meta{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.result-meta h3{margin:0;font-size:21px;color:var(--green)}.tag{font-size:12px;color:#1d382c;background:var(--tag);padding:5px 10px;border-radius:5px;font-weight:700}.date{font-size:13px;white-space:nowrap;color:#292f32}.result-main p{margin:8px 0 0;font-size:14px;line-height:1.5}.btn-pdf{white-space:nowrap;font-size:14px;padding:11px 16px}.empty{border:1px dashed var(--edge);border-radius:8px;padding:32px;text-align:center;color:var(--muted)}.pagination{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:22px}.page-btn,.page-current{border:1px solid var(--edge);border-radius:6px;padding:9px 13px;text-decoration:none;font-size:14px}.page-current{background:var(--green);color:#fff;font-weight:bold}.disabled{pointer-events:none;opacity:.4}.footer{background:var(--green);color:#fff}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:58px;font-size:13px}.footer a{color:white;text-decoration:none}.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}@media(max-width:750px){.wrap{width:calc(100% - 30px)}.brand-row{min-height:80px}.brand-tree{width:44px;height:49px}.brand-name{font-size:24px}.brand-sub{font-size:11px;letter-spacing:3px}.brand-sub span{width:33px}.city-link{font-size:12px;text-align:right}.intro{margin:25px 0}.intro p{font-size:16px}.search-panel{padding:17px}.search-line{flex-direction:column}.btn-primary{width:100%}.filters{grid-template-columns:1fr 1fr;gap:12px}.clear{margin-top:0;align-self:end;padding-bottom:11px}.result-card{align-items:flex-start;flex-wrap:wrap}.result-main{flex-basis:calc(100% - 80px)}.btn-pdf{margin-left:74px}.results-heading{align-items:flex-start;flex-direction:column}.sort-form{width:100%}.sort-form select{flex:1;min-width:0}.footer-inner{flex-direction:column;justify-content:center;padding:14px 0}}@media(max-width:420px){.brand-tree{display:none}.brand-name{font-size:21px}.filters{grid-template-columns:1fr}.result-card{gap:10px;padding:13px}.document-icon{width:43px;height:43px}.result-main{flex-basis:calc(100% - 54px)}.result-meta{gap:7px}.result-meta h3{font-size:19px}.btn-pdf{margin-left:53px}}

/* Official Grove City logo (supplied by City) */
.brand-logo{display:block;width:290px;max-width:100%;height:auto;object-fit:contain}
.brand{min-width:0}
@media(max-width:750px){.brand-logo{width:225px}}
@media(max-width:420px){.brand-logo{width:190px}}

/* Updated Grove City header */
.site-header{background:#fff;border-bottom:3px solid #00826e;box-shadow:0 3px 12px rgba(0,70,57,.055)}
.brand-row{min-height:106px}
.brand{text-decoration:none;flex-shrink:0}
.brand:focus-visible,.header-link:focus-visible{outline:3px solid #00826e;outline-offset:4px}
.header-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.header-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;border:1px solid #cddfd9;border-radius:8px;padding:10px 15px;font-size:14px;font-weight:700;text-decoration:none;color:#006c5b;background:#fff;transition:background .15s ease, border-color .15s ease}
.header-link:hover{background:#e7f5f0;border-color:#00826e;color:#006c5b;text-decoration:none}
.header-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.header-link .link-arrow{width:15px;height:15px}
@media(max-width:750px){.brand-row{min-height:92px}.header-links{gap:8px}.header-link{font-size:13px;padding:9px 10px}}
@media(max-width:570px){.brand-row{flex-direction:column;align-items:flex-start;padding:14px 0;gap:14px}.header-links{width:100%;justify-content:stretch}.header-link{flex:1}.brand-logo{width:215px}}

/* Results navigation and accessibility */
.results-count{font-size:13px;color:var(--muted);margin:5px 0 0}
.pagination{flex-wrap:wrap}
.page-btn:focus-visible,.btn:focus-visible,.clear:focus-visible{outline:3px solid #00826e;outline-offset:3px}
.page-current{background:var(--green);color:#fff;border-color:var(--green);font-weight:700}
.page-gap{color:var(--muted);padding:0 2px}

/* Highlight matching description text (only when a search term is entered). */
.search-highlight{background:#fff1a8;color:inherit;border-radius:2px;padding:0 1px}
/* Center the Grove City logo on phones, without changing the desktop header. */
@media(max-width:570px){.brand-row{align-items:center}.brand{justify-content:center;width:100%}.header-links{justify-content:center}}

/* Single centered copyright line across desktop and mobile. */
.footer-inner{justify-content:center;text-align:center}
