:root{color-scheme:light;--ink:#25392d;--sage:#536b57;--line:#dce1d6}*{box-sizing:border-box}body{margin:0;background:#f6f5ef;color:var(--ink);font:15px/1.6 Arial,sans-serif}a{color:inherit}header{padding:23px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fffef9}.brand{text-decoration:none;font:34px Georgia,serif;display:flex;align-items:center;gap:16px}.brand span{font:11px Arial,sans-serif;letter-spacing:2px}nav{display:flex;align-items:center;gap:24px;font-size:13px}nav a{text-decoration:none}.private{background:#e9eee5;padding:6px 12px;border-radius:20px}main{max-width:1320px;margin:auto;padding:0 5%}.intro{padding:64px 0 36px;display:flex;align-items:center;justify-content:space-between;gap:24px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:bold;color:var(--sage)}h1{font:clamp(38px,5vw,64px)/1.08 Georgia,serif;margin:18px 0}h1 em{font-weight:normal;color:var(--sage)}.intro p:last-child{color:#647165}.stats{border-left:1px solid #b5c1ad;padding:12px 0 12px 40px;min-width:180px}.stats strong{display:block;font:64px Georgia,serif}.stats span{font-size:12px}.tools{display:flex;align-items:end;gap:20px;background:#e9ede3;padding:22px;border-radius:12px}.tools label{font-size:11px;font-weight:bold;letter-spacing:.5px;display:block}.tools label:first-child{flex:1}.tools input,.tools select{display:block;width:100%;margin-top:7px;border:1px solid #c8d0c1;border-radius:6px;background:#fffef9;padding:13px;font:14px Arial,sans-serif;color:var(--ink);min-height:46px}.tools select{min-width:210px}.tools p{font-size:12px;white-space:nowrap;padding-bottom:2px}.source{font-size:11px;color:#687367;margin:18px 0 36px}.section-title{display:flex;align-items:center;gap:14px;margin:28px 0 18px}.section-title>span:first-child{color:#7e8d75;font-size:12px}.section-title h2{font:28px Georgia,serif;margin:0}.count{font-size:11px;border:1px solid #c8d0c1;border-radius:50%;width:25px;height:25px;text-align:center;line-height:23px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{background:#fffefb;border:1px solid #dce1d6;border-top:3px solid var(--sage);padding:24px;border-radius:6px;box-shadow:0 6px 20px #25392d06;overflow-wrap:anywhere;display:flex;flex-direction:column}.card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.monogram{background:#eef0e6;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;font:17px Georgia,serif}.trade-tag{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#68765f}h3{font:23px/1.2 Georgia,serif;margin:20px 0 9px}.description{font-size:12px;color:#697568;margin:0 0 15px;min-height:20px}.person{font-size:13px;font-weight:bold;margin:0 0 8px}.contact-lines{margin-bottom:15px}.contact-lines a{display:block;text-decoration:none;font-size:13px;padding:6px 0}.contact-lines a:hover{text-decoration:underline}.contact-lines a span{font-size:9px;margin-left:7px}details{margin-top:auto;border-top:1px solid #e4e7de;padding-top:12px}summary{cursor:pointer;font-size:11px;font-weight:bold}summary span{color:#83917a;margin-left:6px}details p{font-size:12px;color:#5c6859;white-space:pre-line}footer{margin-top:64px;padding:28px 0;border-top:1px solid var(--line);font-size:10px;letter-spacing:1px;display:flex;justify-content:space-between}footer span{letter-spacing:0}a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #9c713f;outline-offset:4px}[hidden]{display:none!important}@media(max-width:1000px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{min-width:140px}}@media(max-width:640px){header{padding:16px 5%;align-items:flex-start}.brand span{display:none}nav{gap:10px;font-size:11px;flex-wrap:wrap;justify-content:flex-end}.intro{padding:36px 0 24px}.stats{display:none}.tools{flex-direction:column;align-items:stretch;gap:12px;padding:16px}.tools p{margin:0}.cards{grid-template-columns:1fr}.card{padding:22px}.source{line-height:1.7}.section-title h2{font-size:25px}footer{gap:16px;flex-direction:column}}

/* Compact directory and trade navigation */
main{max-width:1600px;padding:0 3%}.intro{padding:30px 0 20px}h1{font-size:clamp(30px,3.2vw,44px);margin:10px 0}.intro p:last-child{margin:8px 0}.stats strong{font-size:44px}.tools{padding:14px 18px}.source{margin:12px 0 20px}.directory-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:26px;align-items:start}.trade-sidebar{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow-y:auto;padding:12px 12px 12px 0;border-right:1px solid var(--line)}.trade-sidebar nav{display:flex;flex-direction:column;align-items:stretch;gap:2px}.trade-sidebar a{display:flex;justify-content:space-between;gap:8px;padding:7px 10px;border-radius:5px;font-size:12px}.trade-sidebar a span{font-size:10px;color:#788472}.trade-sidebar a:hover,.trade-sidebar a[aria-current]{background:#e3e9dc;color:#25392d}.trade-section{scroll-margin-top:20px}.section-title{margin:16px 0 12px}.section-title h2{font-size:24px}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.card{padding:15px 17px}.card-top{gap:6px}.monogram{width:30px;height:30px;font-size:13px}.trade-tag{font-size:8px;letter-spacing:.6px}h3{font-size:20px;margin:11px 0 5px}.description{font-size:11px;margin:0 0 8px;min-height:0}.person{font-size:12px;margin:0 0 3px}.contact-lines{margin-bottom:8px}.contact-lines a{font-size:12px;padding:3px 0}details{padding-top:8px}summary{font-size:10px}details p{margin:8px 0}footer{margin-top:36px}
@media(min-width:1500px){.cards{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1150px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-layout{grid-template-columns:170px minmax(0,1fr);gap:18px}}
@media(max-width:760px){.directory-layout{display:block}.trade-sidebar{position:static;max-height:none;border-right:0;padding:0 0 12px}.trade-sidebar nav{flex-direction:row;justify-content:flex-start;overflow-x:auto;gap:6px;padding-bottom:8px}.trade-sidebar a{flex-shrink:0;border:1px solid var(--line);padding:8px 10px}.trade-sidebar .eyebrow{margin:0 0 8px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.cards{grid-template-columns:1fr}.card{padding:14px 17px}.intro{padding-top:24px}}

/* Larger reading text on phones only; retain the compact desktop cards. */
@media(max-width:640px){
 .card h3{font-size:24px;line-height:1.25}
 .description,.person,.contact-lines a,details p{font-size:16px;line-height:1.5}
 .contact-lines a{padding:7px 0}
 .trade-tag{font-size:11px}
 summary,.trade-sidebar a{font-size:14px}
 .tools input,.tools select{font-size:16px}
 .source{font-size:13px}
}
