:root{--navy:#071c37;--blue:#073f75;--green:#008a62;--lime:#b8ef43;--ice:#edf4f5;--white:#fff;--ink:#0a2031;--muted:#567;--border:#cfdcda}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;color:var(--ink);background:#f7faf9}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.8rem;z-index:99}a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.topbar{height:82px;padding:0 clamp(1.25rem,4vw,4.5rem);display:flex;align-items:center;justify-content:space-between;background:var(--navy);color:#fff}.brand{display:flex;align-items:baseline;gap:.45rem;font-family:"Manrope",sans-serif;font-weight:800;letter-spacing:-.05em;font-size:1.35rem}.brand-mall{font-size:.72rem;letter-spacing:.14em;color:var(--lime)}.back-link{font-weight:700;font-size:.9rem;color:var(--lime)}.back-link:hover{text-decoration:underline}
.directory-hero{min-height:390px;position:relative;display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:var(--navy);padding:clamp(3rem,7vw,6rem) clamp(1.25rem,7vw,7.5rem)}.directory-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.directory-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,20,40,.96),rgba(3,20,40,.6) 60%,rgba(0,138,98,.35))}.directory-copy{position:relative;z-index:1;max-width:850px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-weight:700;font-size:.75rem;color:var(--lime);margin:0 0 1.1rem}.directory-copy h1{font-family:"Manrope",sans-serif;font-size:clamp(3.2rem,7vw,6.7rem);line-height:.94;letter-spacing:-.065em;margin:0}.directory-copy p:last-child{font-size:1.08rem;line-height:1.65;color:rgba(255,255,255,.82);max-width:600px;margin:1.4rem 0 0}
.directory{padding:clamp(4rem,7vw,7rem) clamp(1.25rem,7vw,7.5rem)}.directory-heading{display:grid;grid-template-columns:1fr .8fr;gap:3rem;align-items:end;margin-bottom:3rem}.directory-heading h2{font:800 clamp(2.3rem,4vw,4.6rem)/1 "Manrope",sans-serif;letter-spacing:-.055em;margin:0}.directory-heading p{color:var(--muted);line-height:1.7;margin:0}.store-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem}
.store-card{aspect-ratio:1/1;min-height:270px;border:1px solid var(--border);background:#fff;display:flex;flex-direction:column;padding:1.35rem;position:relative;overflow:hidden;transition:transform .25s,border-color .25s}.store-card:before{content:"";position:absolute;inset:0;background:var(--navy);transform:translateY(101%);transition:transform .35s}.store-card:hover,.store-card:focus-within{transform:translateY(-4px);border-color:var(--navy)}.store-card:hover:before,.store-card:focus-within:before{transform:translateY(0)}.store-card>*{position:relative;z-index:1}.store-logo{height:43%;display:grid;place-items:center;border:1px dashed #b8c7c5;background:var(--ice);color:var(--green);font:800 .72rem "Manrope",sans-serif;letter-spacing:.15em}.store-logo img,.store-card>img{width:100%;height:43%;object-fit:contain;background:#fff;padding:.7rem;border:1px solid var(--border)}.store-info{margin-top:auto}.store-type{display:block;color:var(--green);font-size:.68rem;text-transform:uppercase;letter-spacing:.15em;font-weight:700;margin-bottom:.45rem}.store-card h3{font:800 1.38rem "Manrope",sans-serif;letter-spacing:-.035em;margin:0}.store-links{display:flex;gap:.48rem;margin-top:1rem;flex-wrap:wrap}.contact-link{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--border);background:#fff;color:var(--navy);font-size:.7rem;font-weight:800;transition:.2s}.contact-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.contact-link:hover,.contact-link:focus-visible{background:var(--lime);border-color:var(--lime);outline:0}.contact-link.is-placeholder{opacity:.42;cursor:not-allowed}.store-card:hover .store-type,.store-card:focus-within .store-type{color:var(--lime)}.store-card:hover h3,.store-card:focus-within h3{color:#fff}.store-card:hover .store-logo,.store-card:focus-within .store-logo{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.35);color:#fff}
.edit-note{margin-top:2.4rem;padding:1rem 1.2rem;background:var(--ice);border-left:4px solid var(--green);color:var(--muted);line-height:1.6}.edit-note strong{color:var(--ink)}footer{padding:2.5rem clamp(1.25rem,7vw,7.5rem);background:#041225;color:#fff;display:flex;gap:2rem;justify-content:space-between;align-items:center}footer p{color:#9caebb;margin:0;font-size:.9rem}
@media(max-width:1100px){.store-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){.directory-heading{grid-template-columns:1fr}.store-grid{grid-template-columns:repeat(2,1fr)}footer{align-items:flex-start;flex-direction:column}}@media(max-width:540px){.topbar{height:70px}.brand{font-size:1.08rem}.back-link{font-size:.78rem}.directory-hero{min-height:340px}.store-grid{grid-template-columns:1fr}.store-card{aspect-ratio:auto;min-height:300px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before{transition:none!important}}
