:root{--navy:#082f3b;--gold:#c88912;--ink:#10252b;--muted:#5b7076;--line:#d4dfe0;--soft:#eef4f3;--serif:Georgia,'Times New Roman',serif;--sans:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font:16px/1.5 var(--sans)}button,input,select{font:inherit}.site-header{height:76px;padding:0 max(24px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit}.brand-mark{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#f3c45e;font:700 22px var(--serif)}.brand strong{display:block;letter-spacing:.08em;color:var(--navy)}.brand small{display:block;color:var(--muted);font-size:12px}.operator-link{color:var(--navy);font-weight:800;text-decoration:none}.directory-intro{background:var(--navy);color:#fff;padding:70px max(24px,calc((100vw - 1240px)/2));display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end}.eyebrow{margin:0 0 8px;color:#f0bd51;text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:900}.eyebrow.dark{color:#a66c00}.directory-intro h1{font:700 clamp(42px,5vw,68px)/1 var(--serif);margin:0 0 18px;max-width:720px}.directory-intro p{font-size:18px;color:#d7e3e5;max-width:690px}.search-box{background:#fff;color:var(--ink);padding:22px;border-radius:13px}.search-box label{display:block;font-weight:800;margin-bottom:8px}.search-box>div{display:flex;gap:8px}.search-box input{min-width:0;flex:1;border:1px solid var(--line);border-radius:8px;padding:12px}.search-box button{border:0;border-radius:8px;background:var(--gold);color:#172a30;padding:0 16px;font-weight:900;cursor:pointer}.discovery{max-width:1240px;margin:0 auto;padding:54px 0;display:grid;grid-template-columns:1fr 1fr;gap:70px;border-bottom:1px solid var(--line)}.discovery h2{font:700 25px var(--serif);color:var(--navy)}.link-list,.need-list{display:flex;flex-wrap:wrap;gap:7px}.link-list button,.need-list button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;color:var(--navy);cursor:pointer}.link-list button:hover,.link-list button.active,.need-list button:hover{border-color:var(--gold);background:#fff8e8}.results-section{max-width:1240px;margin:0 auto;padding:62px 0 100px}.results-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.results-head h2{font:700 42px var(--serif);color:var(--navy);margin:0}.sort{display:flex;align-items:center;gap:10px}.sort label{font-weight:800}.sort select{border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff}.results-layout{display:grid;grid-template-columns:270px 1fr;gap:38px}.filters{border:1px solid var(--line);border-radius:12px;padding:22px;height:max-content;position:sticky;top:18px}.filters h3{font:700 23px var(--serif);color:var(--navy);margin:0 0 17px}.filters>label{display:block;font-weight:800;margin:16px 0}.filters select{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff}.filters fieldset{border:0;padding:0;margin:17px 0}.filters legend{font-weight:800;margin-bottom:7px}.filters fieldset label{display:block;margin:7px 0}.filters>button{width:100%;border:1px solid #9dafb3;border-radius:8px;background:#fff;color:var(--navy);padding:10px;font-weight:800;cursor:pointer}.result-count{display:flex;justify-content:space-between;gap:20px;color:var(--muted);margin-bottom:14px}.result-count strong{color:var(--navy);font-size:20px}.venue-card{display:grid;grid-template-columns:340px 1fr;border-top:2px solid var(--navy);border-bottom:1px solid var(--line);padding:20px 0;gap:26px}.venue-card[hidden]{display:none}.venue-card>img{width:100%;height:100%;min-height:310px;object-fit:cover;border-radius:8px}.venue-card-body{padding:2px 8px 2px 0}.venue-title{display:flex;justify-content:space-between;gap:18px}.venue-title p{margin:0;color:#a66c00;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.venue-title h3{font:700 31px var(--serif);color:var(--navy);margin:3px 0 18px}.sample{height:max-content;background:#fff3d8;color:#76500a;padding:5px 8px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.venue-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;margin:0}.venue-card dl div{display:grid;grid-template-columns:120px 1fr;border-bottom:1px solid #e4ebeb;padding-bottom:7px}.venue-card dt{text-transform:uppercase;font-size:11px;font-weight:900;color:var(--muted);letter-spacing:.04em}.venue-card dd{margin:0;font-weight:750}.description{color:#4d6268}.venue-card-body>a{display:inline-flex;align-items:center;gap:9px;background:var(--navy);color:#fff;border-radius:8px;padding:11px 15px;text-decoration:none;font-weight:900}.venue-card-body>a span{color:#f3c45e}.empty{text-align:center;padding:80px 20px;background:var(--soft);border-radius:12px}.empty h3{font:700 28px var(--serif);color:var(--navy)}footer{background:var(--navy);color:#fff;padding:30px max(24px,calc((100vw - 1240px)/2));display:flex;justify-content:space-between;align-items:center}footer strong,footer span{display:block}footer span{color:#c9dade;font-size:14px}footer a{color:#f3c45d;font-weight:800}@media(max-width:1280px){.discovery,.results-section{margin-left:24px;margin-right:24px}}@media(max-width:900px){.directory-intro{grid-template-columns:1fr;gap:30px}.discovery{grid-template-columns:1fr;gap:24px}.results-layout{grid-template-columns:1fr}.filters{position:static}.venue-card{grid-template-columns:280px 1fr}.result-count{display:block}.result-count span{display:block;margin-top:4px}}@media(max-width:680px){.site-header{padding:0 16px}.brand small,.operator-link{display:none}.directory-intro{padding:48px 20px}.search-box>div{display:grid}.search-box button{min-height:46px}.discovery,.results-section{margin-left:18px;margin-right:18px}.results-head{display:block}.sort{margin-top:15px}.venue-card{grid-template-columns:1fr}.venue-card>img{height:220px;min-height:0}.venue-card dl{grid-template-columns:1fr}.venue-card dl div{grid-template-columns:105px 1fr}.venue-title{display:block}.sample{display:inline-block;margin-bottom:12px}footer{display:block}footer a{display:inline-block;margin-top:15px}}
