:root{color-scheme:light;--ink:#12302c;--muted:#54706e;--paper:#f3f9f9;--white:#fff;--ice:#dcf0f1;--aurora:#1f7a6d;--night:#1c5438;--maple:#bc1c28;--sun:#e0b25a;--line:#c9e0df;--frost:#8fc6c4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:linear-gradient(145deg,#f4f9fa,#e3f1f1 55%,#eef6f2);color:var(--ink);min-height:100vh}.masthead{display:flex;justify-content:center;align-items:center;padding:1.75rem clamp(1rem,5vw,5rem) .25rem}.brand{display:block;line-height:0}.brand img{height:150px;width:auto;max-width:100%;display:block}.masthead nav{display:flex;gap:1.25rem}.masthead nav a,footer a{color:var(--night);text-decoration:none}main{width:min(920px,calc(100% - 2rem));margin:auto}.hero{min-height:67vh;display:flex;flex-direction:column;justify-content:center}.hero.compact{min-height:auto;padding:3rem 0 1.5rem}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:700;color:var(--aurora)}h1{font:clamp(2.8rem,7vw,6rem)/.98 Georgia,serif;margin:.4rem 0 2rem;letter-spacing:-.045em}h1 em{color:var(--aurora);font-weight:400}.search{display:grid;grid-template-columns:1fr auto;padding:.45rem;background:var(--white);border:1px solid #a9d3d1;border-radius:18px;box-shadow:0 15px 45px rgba(31,122,109,.14)}.search:focus-within{outline:3px solid rgba(31,122,109,.25)}.search input{border:0;background:transparent;padding:1rem;font:inherit;color:var(--ink);min-width:0;outline:0}.search button{border:0;border-radius:13px;padding:0 1.25rem;background:var(--night);color:white;font-weight:700;cursor:pointer}.promise{color:var(--muted);max-width:630px}.results{padding-bottom:5rem}.count{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.results article{padding:1.5rem 0;border-bottom:1px solid var(--line)}.results h2{font:1.45rem/1.2 Georgia,serif;margin:.25rem 0}.results h2 a{color:var(--night);text-decoration-thickness:1px;text-underline-offset:.2em}.results article>p:last-child,.results article>p:nth-last-child(2){line-height:1.6;color:#2c4a48}.source{font-size:.78rem;color:var(--aurora)!important;margin:0}.warning{padding:.7rem 1rem;border-left:3px solid var(--maple);background:#fbeeee}.notice{padding:.7rem 1rem;border-left:3px solid var(--sun);background:#fff8e9}.empty{padding:4rem 0}.prose{padding:clamp(3rem,8vw,7rem) 0;max-width:720px}.prose h1{font-size:clamp(2.8rem,7vw,5.4rem)}.prose>p:not(.eyebrow){font:1.15rem/1.75 Georgia,serif;color:#2c4a48}footer{display:grid;gap:.9rem;padding:1.5rem clamp(1rem,5vw,5rem) 1.75rem;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted)}.footer-motto{margin:0;text-align:center;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:700;color:var(--aurora)}footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.85rem}.footer-meta{display:flex;justify-content:space-between;gap:1rem}footer nav a{color:var(--night);text-decoration:none}footer nav a:hover{text-decoration:underline}.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:600px){.brand img{height:110px}.search{grid-template-columns:1fr}.search button{padding:.85rem}.masthead{padding:1rem 1rem .25rem}.hero{min-height:60vh}.footer-meta{flex-direction:column;text-align:center}footer nav{gap:.5rem 1rem}}.request-page{max-width:760px}.request-form{display:grid;gap:1rem;margin:2rem 0;padding:1.5rem;background:var(--white);border:1px solid var(--line);border-radius:18px}.request-form fieldset{border:0;padding:0;margin:0;display:grid;gap:.5rem}.request-form legend{font-weight:700;margin-bottom:.5rem}.request-form fieldset label{display:grid;grid-template-columns:auto auto 1fr;gap:.5rem;align-items:baseline;font:inherit}.request-form fieldset small{color:var(--muted)}.request-form>label{display:grid;gap:.35rem;font-weight:700}.request-form input[type=text],.request-form input[type=url],.request-form textarea{font:inherit;padding:.7rem .9rem;border:1px solid #a9d3d1;border-radius:10px;font-weight:400}.request-form button{justify-self:start;border:0;border-radius:13px;padding:.85rem 1.4rem;background:var(--night);color:#fff;font-weight:700;cursor:pointer}.optional{color:var(--muted);font-weight:400;font-size:.85em}.bot-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.request-result{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;padding:1rem 1.25rem;border-left:3px solid var(--aurora);background:var(--ice);word-break:break-all}.request-result dt{font-weight:700}.request-result dd{margin:0}.request-rules ul{padding-left:1.2rem;line-height:1.6}.request-rules code{font-size:.9em}
body.home{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:100vh;min-height:100svh;min-height:100dvh}body.home .home-cluster{display:flex;min-height:0;flex-direction:column;justify-content:center;padding:clamp(1rem,4vh,3rem) 0 clamp(2rem,10vh,7rem)}body.home .masthead{padding:0 1rem}body.home .brand img{height:clamp(88px,14dvh,132px)}body.home main{display:block;width:min(680px,calc(100% - 2rem));margin:0 auto}body.home .hero{width:100%;min-height:0;padding:clamp(.35rem,1.2vh,.8rem) 0 0}body.home footer{gap:clamp(.35rem,1vh,.9rem);padding-top:clamp(.55rem,1.5vh,1.5rem);padding-bottom:clamp(.65rem,1.8vh,1.75rem)}.result-list{list-style:none;margin:0;padding:0}.result-list li{padding:1.4rem 0;border-bottom:1px solid var(--line)}.result-title{font:1.4rem/1.25 Georgia,serif;color:var(--night);text-decoration-thickness:1px;text-underline-offset:.2em}.result-url{margin:.3rem 0 .5rem;font-size:.8rem;color:var(--aurora);word-break:break-all}.result-url code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.snippet{margin:0 0 .6rem;line-height:1.6;color:#2c4a48}.meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;font-size:.78rem;color:var(--muted)}.tag{padding:.1rem .5rem;border:1px solid var(--frost);border-radius:999px;background:var(--white);letter-spacing:.04em;text-transform:uppercase;font-size:.7rem}.result-action{color:var(--night);text-decoration:none;border-bottom:1px dotted var(--night)}.pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem;margin:2.5rem 0 1rem}.pagination a,.pagination strong{min-width:2.4rem;padding:.55rem .75rem;border:1px solid var(--line);border-radius:10px;background:var(--white);text-align:center;text-decoration:none;color:var(--night);font-weight:600}.pagination a:hover,.pagination strong{border-color:var(--aurora);color:var(--aurora)}.pagination .page-direction{min-width:auto}footer a{color:var(--night);text-decoration:none}
.scope{margin:1rem 0 0;color:var(--muted);font-size:.85rem;letter-spacing:.04em}.results-grid{display:grid;gap:2rem;align-items:start}.results-grid.has-entities{grid-template-columns:minmax(0,1fr) 320px}.results-grid.has-entities>.results{grid-column:1;grid-row:1}.results-grid.has-entities>.entities{grid-column:2;grid-row:1}.entities{position:sticky;top:1rem;display:grid;gap:.75rem}.entity{padding:1rem 1.1rem;background:var(--white);border:1px solid var(--line);border-radius:14px}.entity h3{margin:0 0 .2rem;font:1.1rem/1.3 Georgia,serif}.entity h3 a{color:var(--night);text-decoration:none}.entity h3 a:hover{text-decoration:underline}.entity-kind{margin:0 0 .5rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--aurora)}.entity-line{margin:.15rem 0;font-size:.9rem;color:#2c4a48}.entity-line a{color:var(--night);text-decoration:none}.entity-hours{color:var(--muted);font-size:.8rem}.entity-meta{margin:.6rem 0 0;font-size:.75rem;color:var(--muted)}.entity-meta a{color:var(--night)}.entity-note{font-size:.72rem;color:var(--muted);margin:0}@media(max-width:900px){.results-grid.has-entities{grid-template-columns:1fr}.results-grid.has-entities>.results{grid-column:auto;grid-row:auto}.results-grid.has-entities>.entities{grid-column:auto;grid-row:auto;position:static;order:-1}}
.entity-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0 0}.entity-button{display:inline-block;padding:.45rem .8rem;border-radius:10px;background:var(--night);color:#fff;font-size:.82rem;font-weight:600;text-decoration:none}.entity-button.secondary{background:var(--ice);color:var(--night)}.entity-button:hover{filter:brightness(1.08)}
.empty.compact{padding:1.5rem 0}.empty.compact h2{font-size:1.3rem}
.dev-page{max-width:820px}.dev-page h2{font:1.5rem/1.3 Georgia,serif;margin:2.5rem 0 .75rem}.dev-page pre{padding:1rem 1.2rem;background:#10302f;color:#e3f2f1;border-radius:12px;overflow-x:auto;font-size:.85rem;line-height:1.5}.dev-page pre code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.dev-page p code,.dev-page li code,.dev-table code{background:var(--ice);padding:.05rem .35rem;border-radius:5px;font-size:.9em}.dev-table{width:100%;border-collapse:collapse;font-size:.92rem}.dev-table th,.dev-table td{text-align:left;padding:.55rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}.dev-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.dev-page ul{padding-left:1.2rem;line-height:1.6}.dev-page p{font:1.05rem/1.7 Georgia,serif;color:#2f4a3a}.dev-note{font-size:.9rem!important;color:var(--muted)!important}
.legal-page,.contact-page{max-width:760px}.legal-page>p,.contact-page>p{font:1.05rem/1.7 Georgia,serif;color:#2c4a48}.legal-page section{padding:1.2rem 0;border-top:1px solid var(--line)}.legal-page section h2{margin:.2rem 0 .55rem;font:1.45rem/1.3 Georgia,serif}.legal-page section p{margin:0;line-height:1.7;color:#2c4a48}.legal-updated{font-size:.9rem!important;color:var(--muted)!important}.contact-page a,.legal-page a{color:var(--night);text-underline-offset:.2em}
/* Accessibility baseline: visible keyboard focus, robust reflow and AA text contrast. */
:root{--aurora:#1e7569;--focus:#8b1e2d}
html{font-size:100%}
body{line-height:1.5}
.skip-link{position:fixed;z-index:1000;top:.5rem;left:.5rem;padding:.75rem 1rem;border:2px solid currentColor;border-radius:.5rem;background:var(--white);color:var(--night);font-weight:700;transform:translateY(-200%)}
.skip-link:focus{transform:translateY(0)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:3px}
main:focus{outline:3px solid var(--focus);outline-offset:-3px}
.masthead{flex-direction:column;gap:.35rem}
.masthead nav{gap:.35rem}
.search-types a{display:inline-flex;min-height:2.75rem;align-items:center;padding:.65rem 1rem;border-radius:999px;font-weight:650;line-height:1.4}
.search-types a[aria-current=page],footer a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.25em}
.results-heading{font-size:clamp(1.75rem,5vw,3rem);overflow-wrap:anywhere}
.search{border-color:#759e9b}
.search:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.search input,.search button{min-height:2.75rem}
.search input::placeholder{color:var(--muted);opacity:1}
.result-list h2{margin:.25rem 0}
.entity-list{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}
.entity-list>li{min-width:0}
.entities{order:initial!important}
.entity-button{display:inline-flex;min-height:2.75rem;align-items:center}
.pagination a,.pagination strong{display:inline-flex;min-height:2.75rem;align-items:center;justify-content:center}
.field-hint{display:block;color:var(--muted);font-size:.85rem;font-weight:400;line-height:1.5}
.request-form fieldset label{min-height:2.75rem;align-items:center;padding:.25rem 0;cursor:pointer}
.request-form input[type=radio]{width:1.15rem;height:1.15rem;accent-color:var(--night)}
.request-form input[type=text],.request-form input[type=url],.request-form textarea{border-color:#759e9b}
.request-form button{min-height:2.75rem}
.dev-page h3{font:1.2rem/1.35 Georgia,serif;margin:1.5rem 0 .5rem}
.dev-table{table-layout:fixed}
.dev-table td,.dev-table th,.dev-table code{overflow-wrap:anywhere}
.code-example:focus-visible{outline-color:#ffd978}
.image-search-form{display:grid;gap:.75rem}
.image-filter{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;color:var(--ink);font-weight:650}
.image-filter select{min-height:2.75rem;max-width:100%;padding:.55rem 2rem .55rem .7rem;border:1px solid #759e9b;border-radius:10px;background:var(--white);color:var(--ink);font:inherit}
.filter-submit{min-height:2.75rem;padding:.55rem 1rem;border:0;border-radius:10px;background:var(--night);color:var(--white);font:inherit;font-weight:700;cursor:pointer}
footer nav a{padding:.25rem .15rem}
@media(max-width:600px){
  body.home .search{grid-template-columns:minmax(0,1fr) auto}
  body.home .search button{padding:.7rem .85rem}
  .request-form{padding:1rem}
  .request-form fieldset label{grid-template-columns:auto 1fr}
  .request-form fieldset small{grid-column:2}
  .request-result{grid-template-columns:1fr;word-break:normal;overflow-wrap:anywhere}
  .request-result dd+dt{margin-top:.5rem}
}
@media(max-height:560px){body.home footer{padding:.45rem 1rem}body.home .scope{margin-top:.45rem}body.home .brand img{height:64px}}
@media(forced-colors:active){
  .search,.request-form,.entity,.pagination a,.pagination strong{border:1px solid CanvasText}
  .search button,.request-form button,.entity-button{border:1px solid ButtonText}
}
