:root{--paper:#f8f6f0;--ink:#27362e;--green:#285646;--dark:#102e29;--gold:#c2a365;--line:#d8d9d0;--muted:#59645f;--mono:'IBM Plex Mono',monospace;--sans:'IBM Plex Sans',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 var(--sans)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.wrap{max-width:1320px;width:calc(100% - 88px);margin:auto}.site-header{background:#102e29;color:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #466156}.navrow{min-height:78px;display:flex;align-items:center;gap:36px}.logo{display:block;width:194px;flex-shrink:0}.logo img{width:100%;max-height:52px;object-fit:contain}.links{display:flex;align-items:center;gap:25px;margin-left:auto;font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.03em}.links a:hover{color:#e1c783}.nav-cta,.solid-btn{background:var(--gold);border:1px solid var(--gold);padding:13px 18px;font:600 11px var(--mono);text-transform:uppercase;color:#142b24;display:inline-flex;align-items:center;justify-content:center;gap:10px}.nav-cta:hover,.solid-btn:hover{background:#d4b87e}.outline-btn{border:1px solid #9aa69c;background:transparent;padding:12px 18px;font:600 11px var(--mono);text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:10px}.outline-btn:hover{border-color:var(--green);color:var(--green)}.mast{position:relative;padding:75px 0 56px;overflow:hidden;border-bottom:1px solid var(--line)}.mast:after,.grid-surface:before{content:'';position:absolute;right:0;top:0;width:260px;height:180px;opacity:.25;background-image:linear-gradient(#9da9a0 1px,transparent 1px),linear-gradient(90deg,#9da9a0 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(to left,#000,transparent);pointer-events:none}.eyebrow{font:600 11px var(--mono);letter-spacing:.09em;text-transform:uppercase;display:flex;gap:14px;align-items:center;color:#56655c}.eyebrow:before{content:'';width:3px;height:25px;background:var(--gold)}h1,h2,h3{font-family:var(--mono);line-height:1.15;letter-spacing:-.04em}h1{font-size:clamp(35px,5vw,69px);max-width:940px;margin:25px 0}h2{font-size:clamp(25px,3vw,39px)}.accent{color:var(--green)}.gold{color:#b08a34}.lede{font-size:17px;max-width:690px;color:#526159}.meta-line{font:11px var(--mono);color:#637067;text-transform:uppercase;letter-spacing:.04em}.section{padding:48px 0 82px}.filters{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:12px;padding:22px;background:#eeede6;border:1px solid var(--line);margin-bottom:28px}.filters label{font:600 10px var(--mono);display:block;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.filters input,.filters select,.form-grid input,.form-grid textarea,.form-grid select{background:#fff;border:1px solid #cbd0c9;border-radius:0;width:100%;padding:12px 14px;color:var(--ink);min-height:46px}.filters input:focus,.filters select:focus,.form-grid input:focus,.form-grid textarea:focus{outline:2px solid var(--gold);outline-offset:1px}.result-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:18px}.result-head strong{font:600 11px var(--mono);text-transform:uppercase}.list-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.biz-card{border:1px solid var(--line);background:#fffefa;display:flex;flex-direction:column;min-width:0;transition:transform .2s,border-color .2s}.biz-card:hover{transform:translateY(-3px);border-color:var(--gold)}.biz-art{height:190px;background:#efeee8;display:flex;align-items:center;justify-content:center;padding:18px;border-bottom:1px solid var(--line)}.biz-art img{height:100%;width:100%;object-fit:contain;mix-blend-mode:multiply}.biz-content{padding:20px;flex:1;display:flex;flex-direction:column}.biz-content h3{font-size:17px;line-height:1.35;margin:10px 0}.biz-content p{color:#536158;font-size:13px;line-height:1.6;margin:0 0 22px}.biz-content .outline-btn{margin-top:auto}.tag{font:600 9px var(--mono);text-transform:uppercase;letter-spacing:.04em;color:#6a6f62}.tiny-dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--gold);margin-right:7px}.empty{border:1px dashed var(--line);padding:45px;text-align:center}.foot{background:var(--dark);color:#fff;padding:55px 0 20px}.foot-top{display:flex;justify-content:space-between;gap:35px;align-items:start}.foot img{width:190px}.foot p{max-width:360px;color:#b9c7bf}.foot-links{display:flex;gap:28px;font:11px var(--mono);text-transform:uppercase}.foot-bottom{border-top:1px solid #365348;margin-top:35px;padding-top:18px;color:#afbeb4;font:10px var(--mono)}.breadcrumb{font:11px var(--mono);text-transform:uppercase;color:#67746b;margin-bottom:25px}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,.85fr);gap:42px;align-items:start}.detail-hero{display:grid;grid-template-columns:1fr 250px;gap:24px;align-items:center;padding-bottom:35px;border-bottom:1px solid var(--line)}.detail-hero h1{font-size:clamp(32px,4vw,56px);margin:18px 0}.detail-hero img{max-height:240px;object-fit:contain}.detail-block{padding:27px 0;border-bottom:1px solid var(--line)}.detail-block h2{font-size:24px;margin:0 0 14px}.detail-block p{color:#526158;max-width:680px}.services{display:grid;grid-template-columns:1fr 1fr;gap:12px}.service{border:1px solid var(--line);background:#fffefa;padding:13px 16px;font-size:13px}.service:before{content:'✓';color:var(--green);font-weight:bold;margin-right:12px}.side-panel{border:1px solid #c9cfc5;background:#fffefa;padding:28px;position:sticky;top:103px}.side-panel h2{font-size:25px;margin:12px 0}.side-panel p{font-size:13px;color:#57645c}.side-panel .solid-btn{width:100%;margin:15px 0 10px}.side-panel .outline-btn{width:100%}.notice{padding:13px 16px;border-left:3px solid var(--gold);background:#f0eee5;color:#5b645a;font-size:12px;margin-top:23px}.related{padding:40px 0 75px;border-top:1px solid var(--line)}dialog{border:1px solid var(--line);padding:0;max-width:570px;width:calc(100% - 30px);box-shadow:0 20px 80px #142b2455;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#081d18aa}.dialog-head{display:flex;justify-content:space-between;align-items:start;padding:23px 26px 18px;border-bottom:1px solid var(--line)}.dialog-head h2{font-size:23px;margin:7px 0 0}.close{border:0;background:transparent;font-size:28px;line-height:1}.form-grid{padding:24px 26px;display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label{font:600 10px var(--mono);text-transform:uppercase}.form-grid label input,.form-grid label textarea{margin-top:8px}.form-grid .full{grid-column:1/-1}.form-grid textarea{resize:vertical;min-height:90px}.form-grid button{grid-column:1/-1}.form-note{font-size:11px;color:#5a665d;grid-column:1/-1;margin:0}.mobile-menu{display:none}@media(max-width:1050px){.list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.links{gap:13px}.detail-grid{gap:22px}}@media(max-width:760px){.wrap{width:calc(100% - 36px)}.navrow{min-height:68px;flex-wrap:wrap;gap:12px}.logo{width:165px}.mobile-menu{display:block;margin-left:auto;background:none;border:1px solid #6c8476;color:white;padding:8px 12px}.links{display:none;order:3;flex-basis:100%;margin:0;flex-direction:column;align-items:stretch;padding:12px 0 20px}.links.open{display:flex}.nav-cta{display:none}.mast{padding:48px 0}.filters{grid-template-columns:1fr}.list-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.detail-hero{grid-template-columns:1fr}.detail-hero img{max-height:180px}.side-panel{position:static}.foot-top{display:block}.foot-links{margin-top:25px;flex-wrap:wrap}.services{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}
@media(max-width:1150px){.navrow{gap:15px}.links{gap:12px}}@media(max-width:1000px){.mobile-menu{display:block;margin-left:auto}.links{display:none}.links.open{display:flex;position:absolute;top:78px;left:0;right:0;background:#102e29;padding:18px;flex-wrap:wrap}.nav-cta{display:none}}
/* Directory cards show a short preview; the full description is on the profile page. */
.biz-content p{display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.biz-content .meta-line{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* Pagination (20 per page) */
.pager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:30px 0 6px}
.pager[hidden]{display:none}
.pager-btn{min-width:40px;height:40px;padding:0 12px;border:1px solid var(--line,#d8d9d0);background:#fffefa;color:var(--ink,#27362e);font:600 12px var(--mono);cursor:pointer;transition:border-color .15s,background .15s}
.pager-btn:hover:not(:disabled){border-color:var(--green,#285646)}
.pager-btn.is-current{background:var(--dark,#102e29);border-color:var(--dark,#102e29);color:#fff}
.pager-btn:disabled{opacity:.4;cursor:not-allowed}
.pager-btn:focus-visible{outline:3px solid var(--gold,#c2a365);outline-offset:2px}
.pager-gap{padding:0 4px;color:var(--muted,#59645f);font:600 12px var(--mono)}
