:root{--black:#08090c;--panel:#121722;--blue:#2159e8;--glow:#7ab5ff;--ink:#141923;--soft:#f4f6fa;--muted:#495468}
*{box-sizing:border-box}
body{margin:0;background:var(--soft);color:var(--ink);font:16px/1.5 system-ui,sans-serif}
a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #408cff;outline-offset:4px}
img{display:block;max-width:100%}
h1,h2,h3,h4,p,figure{margin:0}
.wrap{width:min(1120px,calc(100% - 44px));margin-inline:auto}
header,footer{color:white;background:var(--black)}
.top,footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px}
.top{min-height:76px}
.brand{display:flex;align-items:center;gap:9px;font-weight:900;letter-spacing:.045em}
.brand img{border-radius:5px}.brand b{color:var(--glow)}
nav{display:flex;gap:22px;font-weight:700}
nav a:hover,footer a:hover{text-decoration:underline;text-underline-offset:4px}
.hero,.store{color:white;background:var(--panel)}
.hero{border-top:1px solid #29477f;background:radial-gradient(ellipse at 92% 28%,#162d5d,var(--panel) 58%)}
.store-grid{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:clamp(24px,5vw,72px);padding-block:clamp(34px,6vw,78px)}
.kicker{display:flex;align-items:center;gap:10px;font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;font-weight:850;color:#264b9c;margin-bottom:13px}
.kicker span{width:20px;height:2px;background:currentColor;flex:none}.hero .kicker,.store .kicker{color:var(--glow)}
h1,h2{line-height:.98;letter-spacing:-.055em;font-weight:900}
.hero-grid{padding-block:clamp(16px,3vw,38px) clamp(30px,5vw,64px)}
.hero-copy{margin-top:clamp(20px,3vw,36px)}
h1{font-size:clamp(1.3rem,6.6vw,5.3rem);white-space:nowrap;margin-bottom:19px}
h2{font-size:clamp(2.3rem,5vw,4rem);margin-bottom:13px}
.lead{color:#d5deef;font-size:clamp(1rem,2vw,1.18rem);max-width:34ch}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.button{display:inline-block;padding:11px 15px;border-radius:7px;border:1px solid transparent;font-weight:750}
.primary{background:var(--blue);color:white}.primary:hover{background:#1844ba}
.outline{border-color:#7786a1;color:white}.outline:hover{background:#ffffff17}
.shop-photo{overflow:hidden;border:1px solid #3967aa;border-radius:12px;background:#080c14}
.shop-photo img{width:100%;aspect-ratio:1.65;object-fit:cover;object-position:center 42%}
.catalogue{padding-block:56px 64px}.intro,.product-copy>p{color:var(--muted)}
.categories{margin-top:20px;gap:8px;flex-wrap:wrap}
.categories a{background:white;border:1px solid #d2dbeb;border-radius:6px;padding:7px 12px;color:#193f91}
.group{margin-top:32px;scroll-margin-top:18px}
h3{font-size:1.35rem;margin-bottom:11px;padding-bottom:8px;border-bottom:1px solid #d6dfec}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:880px}
.card{background:white;border:1px solid #d9e0eb;border-radius:10px;overflow:hidden}
.product-media{position:relative;background:#f4f4f5}.product-media>a:first-child{display:block}
.product-media>a:first-child img{width:100%;height:clamp(160px,32vw,290px);object-fit:contain}
.detail{position:absolute;bottom:8px;right:8px;display:flex;align-items:center;gap:6px;padding:4px 6px;background:white;border:1px solid #c8d2e4;border-radius:6px;font-size:.75rem;font-weight:700}
.detail img{width:32px;height:32px;object-fit:cover;border-radius:3px}
.product-copy{padding:13px 15px 16px}.product-title{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
h4,.price{font-size:clamp(.95rem,2.6vw,1.23rem);font-weight:850}.price{white-space:nowrap;color:#193f91}
.product-copy>p{font-size:.9rem}
address{font-style:normal;color:#d5deef}address strong{color:white}
footer .wrap{min-height:65px;font-size:.85rem;flex-wrap:wrap;padding-block:12px}
dialog{max-width:min(92vw,720px);max-height:92dvh;padding:0;border:1px solid #abbad3;border-radius:10px;background:white}
dialog::backdrop{background:#070b15d9}
dialog img{max-height:85dvh;object-fit:contain}
dialog button{position:absolute;top:8px;right:8px;border:0;border-radius:50%;width:40px;height:40px;background:#121722;color:white;cursor:pointer;font-size:1.4rem}
@media(max-width:720px){.store-grid{grid-template-columns:1fr}.shop-photo img{aspect-ratio:1.165}.catalogue{padding-block:40px 48px}}
@media(max-width:440px){.wrap{width:calc(100% - 28px)}.brand{font-size:.75rem;gap:5px}.brand img{width:43px;height:43px}.top{min-height:62px}.top nav{gap:10px;font-size:.83rem}.grid{gap:8px}.product-copy{padding:10px}.detail img{display:none}.detail{font-size:.68rem}.product-copy>p{font-size:.78rem}}

.hero-copy,.catalogue h2,.catalogue .intro,.group h3,.exchange-note,.store-grid{text-align:center}
.hero-copy .lead,.store-grid .lead{margin-inline:auto}
.hero-copy .actions,.store-grid .actions,.categories,.catalogue .kicker,.store .kicker{justify-content:center}
.hero-copy h1{margin-bottom:12px}
.hero-location{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px;color:var(--glow);font-size:clamp(.95rem,3vw,1.35rem);font-weight:800}
.hero-location::before,.hero-location::after{content:"";width:clamp(16px,5vw,50px);height:1px;background:currentColor}
.grid{margin-inline:auto}
.price-stack{text-align:right;flex:none}
.price-cdf{font-size:.75rem;color:var(--muted);white-space:nowrap}
.exchange-note{margin-top:25px;color:var(--muted);font-size:.8rem}
.exchange-note a{text-decoration:underline;text-underline-offset:3px}
.store-grid{grid-template-columns:minmax(0,1fr);gap:24px}
.store-map{width:min(100%,880px);margin-inline:auto}
.store-map iframe{display:block;width:100%;height:clamp(270px,48vw,410px);border:1px solid #3967aa;border-radius:10px;background:#f4f6fa}
.store-map p{color:#d5deef;font-size:.8rem;margin-top:10px}
@media(max-width:420px){.product-title{display:block}.price-stack{text-align:left;margin-block:4px}}

.hours-page{text-align:center;padding-block:clamp(30px,6vw,62px)}
.hours-page h1{font-size:clamp(1.65rem,6vw,3.6rem);white-space:normal}
.hours-page h2{font-size:clamp(1.4rem,4vw,2.2rem)}
.hours-poster{width:min(100%,480px);height:auto;margin:24px auto 30px;border-radius:8px}
.hours-page address,.hours-page address strong{color:var(--ink)}
.store-map .hours-summary{margin-top:15px;font-size:.75rem}
.hours-summary a{text-decoration:underline;text-underline-offset:3px}
nav [aria-current="page"]{color:var(--glow)}
@media(max-width:390px){.top{flex-wrap:wrap;justify-content:center;padding-block:7px;gap:4px 12px}}
