:root { --ink:#081018; --paper:#f3f1eb; --panel:#fff; --muted:#65707a; --line:#d7d3ca; --amber:#f5b942; }
* { box-sizing:border-box; }
body { min-width:320px; margin:0; color:var(--ink); background:var(--paper); font-family:Manrope,system-ui,sans-serif; }
.directory-hero { padding:88px 6vw 68px; color:#fff; background:#081018; }
.directory-hero .kicker { display:block; color:var(--amber); font:700 .7rem "Space Mono",monospace; letter-spacing:.12em; }
.directory-hero h1 { max-width:1000px; margin:17px 0; font-size:clamp(3rem,7vw,6.4rem); line-height:.94; letter-spacing:-.065em; }
.directory-hero p { max-width:720px; margin:0; color:#b8c3cb; font-size:1.02rem; line-height:1.7; }
.directory-main { max-width:1380px; margin:auto; padding:48px 5vw 96px; }
.directory-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:24px; }
.directory-count { color:var(--muted); font-size:.9rem; }
.directory-count strong { color:var(--ink); font-size:1.2rem; }
.directory-search { display:flex; align-items:center; width:min(100%,420px); gap:10px; padding:0 14px; border:1px solid var(--line); border-radius:10px; background:var(--panel); color:var(--muted); }
.directory-search input { width:100%; padding:12px 0; border:0; outline:0; background:transparent; color:var(--ink); }
.directory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.directory-card { display:flex; flex-direction:column; min-height:320px; padding:24px; border:1px solid var(--line); border-radius:18px; background:var(--panel); }
.directory-card .eyebrow { display:block; color:#9a721e; font:700 .66rem "Space Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
.directory-card h2 { margin:12px 0 9px; font-size:1.48rem; line-height:1.1; letter-spacing:-.04em; }
.directory-card p { margin:0 0 18px; color:var(--muted); line-height:1.55; }
.facts { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:auto; padding:16px 0; border-top:1px solid #ebe8df; }
.facts div { min-width:0; }
.facts span { display:block; color:#838c92; font:700 .61rem "Space Mono",monospace; letter-spacing:.06em; text-transform:uppercase; }
.facts strong { display:block; margin-top:4px; overflow-wrap:anywhere; font-size:.84rem; }
.offer { padding:10px 12px; border:1px solid #eadcae; border-radius:10px; background:#fff8dd; color:#665113; font-size:.84rem; line-height:1.45; }
.promo-row { display:flex; gap:9px; align-items:center; margin-top:12px; }
.promo-code { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:8px 10px; border:1px solid #ded1a0; border-radius:7px; background:#fff; color:#755811; font:700 .77rem "Space Mono",monospace; }
.copy-code { padding:8px 10px; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--ink); font-weight:800; font-size:.75rem; }
.directory-card .button { display:flex; justify-content:center; align-items:center; min-height:44px; margin-top:16px; padding:10px 14px; border-radius:10px; background:var(--amber); color:var(--ink); text-decoration:none; font-weight:800; }
.directory-empty { grid-column:1/-1; padding:48px 20px; border:1px dashed var(--line); border-radius:16px; color:var(--muted); text-align:center; }
@media (max-width:980px) { .directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:680px) { .directory-hero { padding:56px 22px 46px; } .directory-main { padding:32px 18px 70px; } .directory-toolbar { align-items:stretch; flex-direction:column; } .directory-search { width:100%; } .directory-grid { grid-template-columns:1fr; } }
