/* Directory uses V2 homepage tokens and category treatments, without loading its app. */
:root{--navy:#071f46;--blue:#1167d8;--muted:#5f7187;--line:#dce7f3;--white:#fff;--soft:#f0f8ff}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(115deg,#f0f8ff,#f5fbff);color:var(--navy);font:16px/1.5 Inter,system-ui,-apple-system,sans-serif}a{color:var(--blue)}button,input{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}h1,h2,p{margin-top:0}h1,h2{line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:12px}h2{font-size:1.4rem;margin-bottom:14px}p{color:var(--muted)}.directory-header{background:white;padding:12px max(20px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.directory-header img{display:block;width:170px;max-width:100%;height:auto}.directory-header>a:last-child{min-height:44px;display:flex;align-items:center;color:var(--navy);font-weight:750;text-decoration:none}main{max-width:1180px;margin:auto;padding:32px 20px 28px}.eyebrow{color:var(--blue);letter-spacing:.2em;font-weight:750;font-size:12px;margin-bottom:12px}.intro>p:last-child{margin-bottom:28px}section{margin-top:26px}.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tile{display:flex;align-items:center;gap:14px;min-height:86px;padding:14px 18px;background:white;border:1px solid var(--line);border-radius:16px;color:var(--navy);font-weight:700;font-size:14px;line-height:1.25;text-align:left}.tile:after{content:'›';margin-left:auto;color:var(--blue);font-size:24px;font-weight:400}.tile:hover{border-color:var(--blue);background:#f6faff;box-shadow:0 3px 10px #071f4608}.tile[aria-pressed=true]{border-color:var(--blue);background:#e8f2ff;box-shadow:inset 0 0 0 1px var(--blue)}.category-icon{display:grid;place-items:center;flex:0 0 52px;width:52px;height:54px;border-radius:12px;background:color-mix(in srgb,var(--category-accent) 13%,white);color:var(--category-accent)}.category-icon svg{width:32px;height:32px}.services{display:flex;gap:8px;flex-wrap:wrap}.services button{background:white;border:1px solid var(--line);border-radius:9px;padding:10px 13px;color:var(--blue);min-height:44px;text-align:left;max-width:100%;line-height:1.3;font-size:14px}.services button:hover{border-color:var(--blue)}.services button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:white}#postcode-step{background:white;border:1px solid var(--line);border-radius:14px;padding:20px}#postcode-step h2{margin-bottom:10px}label{display:block;margin-bottom:8px;color:var(--muted)}.postcode-input{display:flex;gap:10px;margin-bottom:8px}.postcode-input input{flex:1;min-width:0;text-transform:uppercase;border:1px solid #a9c8ee;border-radius:9px;padding:12px 16px;background:white;color:var(--navy);min-height:48px}.postcode-input button{padding:12px 24px;border:0;border-radius:9px;background:var(--blue);color:white;font-weight:750;min-height:48px}#postcode-help{color:var(--muted)}.directory-browse{margin:12px 0 0;font-size:14px}.directory-browse a:after{content:' →'}.alert{margin:22px 0;padding:20px;background:white;border:1px solid var(--line);border-radius:14px}.business-list{padding:0;list-style:none;display:grid;gap:8px}.business{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.business a{display:flex;align-items:center;gap:20px;padding:12px;color:var(--navy);text-decoration:none;min-height:84px}.business a:hover{background:#f6faff}.business a>span:last-child{margin-left:auto;font-size:26px;padding:0 8px}.avatar{position:relative;flex:none;width:58px;height:58px;display:grid;place-items:center;border-radius:10px;background:#e8f1fc;color:var(--blue);font-weight:750;overflow:hidden}.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.details{flex:1;min-width:0;display:grid;gap:2px}.details strong{font-size:16px}.details span,.details small{color:var(--muted);font-size:14px}.pagination{text-align:center;margin:16px 0}.more{border:1px solid #9bbfff;background:#e3efff;color:var(--blue);font-weight:750;border-radius:12px;padding:10px 28px;min-height:44px}.join{margin-top:24px;background:#e3efff;border-radius:14px;padding:20px;display:flex;align-items:center;gap:18px}.join-icon{color:var(--blue);padding:10px;background:#d8e9ff;border-radius:12px;display:grid;place-items:center}.join-icon svg{width:32px;height:32px}.join p{margin:4px 0 0;font-size:13px}.join a{margin-left:auto;flex:none;min-height:44px;display:flex;align-items:center;text-decoration:none;padding:10px 16px;border:1px solid var(--blue);border-radius:10px;background:white;font-weight:700;font-size:14px}.directory-footer{padding:30px max(20px,calc((100% - 1180px)/2));background:var(--navy);color:white;display:grid;grid-template-columns:1.3fr repeat(4,minmax(0,1fr));gap:24px;font-size:12px}.directory-footer img{filter:brightness(0) invert(1);max-width:150px;width:100%;height:auto}.directory-footer p{color:#cad7e7;line-height:1.5;margin:10px 0 0}.directory-footer h2{font-size:12px;letter-spacing:0;margin:0 0 12px;color:white}.directory-footer a,.directory-footer span{display:block;color:#cad7e7;margin:5px 0;overflow-wrap:anywhere}.directory-footer a:hover{color:white}.directory-footer a:focus-visible{outline-color:#7fbaff}
.refine{margin:0 0 22px}.refine>summary{display:flex;align-items:center;gap:18px;background:#e8f2ff;border:1px solid var(--line);padding:16px 20px;border-radius:14px;cursor:pointer;list-style:none;min-height:80px}.refine>summary::-webkit-details-marker{display:none}.refine>summary>span:nth-child(2){display:grid;gap:2px;min-width:0}.refine>summary strong{font-size:16px}.refine>summary>span:nth-child(2)>span{color:var(--muted)}.refine .edit{margin-left:auto;color:var(--blue);white-space:nowrap;min-height:44px;display:flex;gap:8px;align-items:center}.refine[open]>summary{margin-bottom:24px}.refine[open]>.intro{display:none}.methodology{font-size:12px;color:var(--muted);margin-top:20px}.methodology summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px}.methodology summary:before{content:'+'}.methodology[open] summary:before{content:'−'}.methodology p{margin:0 0 8px;max-width:760px}#results{margin-top:0}#results h1{font-size:clamp(1.7rem,3vw,2.2rem);margin-bottom:8px}#results>p{margin-bottom:16px}
@media(min-width:701px){.details{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,.95fr);gap:18px;align-items:center}.business a{min-height:80px}.details strong{font-size:15px}}
@media(max-width:700px){.refine>summary{padding:12px;gap:12px}.refine>summary strong{font-size:14px}.refine>summary>span:nth-child(2)>span{font-size:14px}.refine .edit{font-size:14px}.refine>summary .category-icon{flex-basis:42px;width:42px;height:46px}main{padding:24px 16px}.directory-header{padding:10px 16px}.directory-header img{width:150px}h1{font-size:32px}h2{font-size:22px}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tile{padding:10px;gap:9px;min-height:80px;font-size:12px;border-radius:11px}.tile:last-child:nth-child(odd){grid-column:1/-1}.tile:after{font-size:20px}.category-icon{flex-basis:36px;width:36px;height:42px;border-radius:9px}.category-icon svg{width:25px;height:25px}.postcode-input{flex-direction:column}.business a{gap:12px;padding:12px;min-height:94px}.avatar{width:54px;height:54px}.business a>span:last-child{padding:0;font-size:23px}.details strong{font-size:15px}.details span,.details small{font-size:13px}.more{width:100%;background:transparent}.join{padding:16px;gap:12px;flex-wrap:wrap}.join>div{flex:1;min-width:180px}.join a{margin-left:0;width:100%;justify-content:center}.directory-footer{grid-template-columns:repeat(2,minmax(0,1fr));padding:24px 20px;gap:20px}.directory-footer>div:first-child{grid-column:1/-1}}
