:root{--ink:#1d3557;--sky:#e9f1f7;--accent:#e76f51;--sun:#f4a261;--muted:#4a5a6a;--card:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:#fafcfd;line-height:1.6}
a{color:var(--accent)}a:focus-visible,.btn:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:10}
.wrap{max-width:1080px;margin:0 auto;padding:0 1.25rem}
header.nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;max-width:1080px;margin:0 auto}
.brand{display:flex;gap:.5rem;align-items:center;font-weight:800;text-decoration:none;color:var(--ink);font-size:1.15rem}
.nav ul{list-style:none;display:flex;gap:1.25rem;margin:0;padding:0}.nav ul a{color:var(--ink);text-decoration:none;font-weight:600}
.hero{background:linear-gradient(180deg,#cfe3f1 0%,var(--sky) 60%,#fafcfd 100%);text-align:center;padding:4rem 1.25rem 0;overflow:hidden}
.hero h1{font-size:clamp(2.2rem,6vw,3.8rem);margin:0 0 .5rem;line-height:1.1}
.hero p{font-size:clamp(1.05rem,2.5vw,1.3rem);color:var(--muted);max-width:40rem;margin:0 auto 1.75rem}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:.8rem 1.5rem;border-radius:999px;text-decoration:none;font-weight:700}
.btn:hover{background:#c85a3f}
.mtn{display:block;width:100%;height:auto;margin-top:2.5rem}
section{padding:4rem 0}h2{font-size:2rem;margin:0 0 1rem}
.about p{max-width:46rem;font-size:1.1rem;color:var(--muted)}
.shops{background:var(--sky)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}
.card{background:var(--card);border-radius:18px;padding:1.75rem;box-shadow:0 6px 24px rgba(29,53,87,.08)}
.card svg{width:56px;height:56px}.card h3{margin:.75rem 0 .25rem;font-size:1.35rem}
.tag{display:inline-block;background:#fde8df;color:#9a3a22;font-size:.8rem;font-weight:700;padding:.2rem .65rem;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}
.card p{color:var(--muted)}
footer{background:var(--ink);color:#d6e2ec;text-align:center;padding:1.5rem;font-size:.95rem}
@media(max-width:600px){.nav ul{gap:.8rem;font-size:.9rem}.hero{padding-top:2.5rem}section{padding:3rem 0}}
.brand{white-space:nowrap}@media(max-width:420px){.brand{font-size:1rem}.nav ul{gap:.6rem;font-size:.85rem}}
