.dir-section{padding:70px 0 95px;background:#fff;min-height:65vh}.dir-hero{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:18px 0 34px}.dir-hero h1{font-size:clamp(32px,4vw,52px);letter-spacing:-.045em}.dir-hero p{margin-top:15px;max-width:690px;font-size:16px;line-height:1.7}.dir-search{max-width:850px;margin-bottom:27px}.dir-search label{display:block;font-size:13px;font-weight:700;color:#213e4d;margin-bottom:9px}.dir-search__field{display:flex;min-height:58px;border:1px solid #b9cbd5;border-radius:9px;overflow:hidden;background:#fff;box-shadow:0 3px 18px rgba(20,42,57,.04)}.dir-search__field:focus-within{outline:3px solid rgba(11,109,142,.16);border-color:#0a637c}.dir-search__field input{flex:1;min-width:0;border:0;outline:0;font:inherit;font-size:16px;padding:13px 18px;color:#183140;background:#fff}.dir-search__field input:focus{outline:0}.dir-search__field button{border:0;background:#0a4356;color:#fff;font:inherit;font-weight:700;padding:0 26px;cursor:pointer}.dir-search__field button:hover{background:#0e6079}.dir-categories{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0 40px}.dir-categories a{display:inline-flex;align-items:center;padding:9px 15px;border:1px solid #d6e2e9;border-radius:50px;color:#294a5b;font-size:13px;font-weight:600;background:#fff}.dir-categories a:hover,.dir-categories a[aria-current]{background:#0a4356;color:#fff;border-color:#0a4356}.dir-list-title{display:flex;align-items:baseline;justify-content:space-between;gap:14px;border-bottom:1px solid #e3ebef;padding-bottom:18px;margin:24px 0}.dir-list-title h2{font-size:clamp(22px,2.2vw,30px);letter-spacing:-.025em;overflow-wrap:anywhere}.dir-list-title p{font-size:14px}.dir-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.dir-card{min-width:0;border:1px solid #e3eaf0;border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}.dir-card:hover{box-shadow:0 12px 28px rgba(20,44,62,.1);transform:translateY(-2px)}.dir-card__image{display:grid;place-items:center;aspect-ratio:1/1;background:#f3f6f8;overflow:hidden}.dir-card__image img{width:100%;height:100%;object-fit:contain;padding:18px}.dir-card__fallback{display:grid;place-items:center;width:66px;height:56px;border-radius:7px;background:#193a4a;color:#d9e8ef;font-size:20px;font-weight:700;letter-spacing:.08em}.dir-card__body{display:flex;flex:1;flex-direction:column;padding:18px}.dir-card__vendor{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#55717e}.dir-card h3{font-size:15px;line-height:1.45;margin:9px 0 12px;font-weight:700;letter-spacing:-.015em;overflow-wrap:anywhere}.dir-card h3 a:hover{color:#0b6d8e}.dir-card__price{font-size:15px;font-weight:700;color:#153947;margin-top:auto}.dir-card__detail{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:#0b607a;margin-top:14px}.dir-pagination{display:flex;justify-content:center;padding-top:34px}.dir-pagination .page,.dir-pagination .next,.dir-pagination .prev{display:inline-block;margin:0 4px;padding:8px 13px;border:1px solid #d3e0e7;border-radius:6px}.dir-pagination .current{background:#0a4356;color:#fff}.dir-quote-note{margin-top:45px;padding:23px;border-radius:10px;background:#f3f8fa;font-size:13px;color:#536b78;line-height:1.7}.dir-quote-note a,.dir-empty a{color:#076987;font-weight:700;text-decoration:underline}.dir-empty{padding:42px 24px;background:#f4f8fa;border-radius:10px;display:flex;justify-content:space-between;gap:20px;align-items:center}.dir-empty p{color:#536b78}@media(max-width:1000px){.dir-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.dir-section{padding:38px 0 65px}.dir-hero{display:block}.dir-hero .b2b-btn{margin-top:24px}.dir-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dir-card__body{padding:12px}.dir-card h3{font-size:13px}.dir-card__image img{padding:10px}.dir-search__field button{padding:0 15px}.dir-empty{display:block}.dir-empty a{display:block;margin-top:16px}}@media(max-width:420px){.dir-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dir-card__vendor{font-size:10px}.dir-card__price{font-size:13px}}@media(prefers-reduced-motion:reduce){.dir-card{transition:none}.dir-card:hover{transform:none}}