@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--red:#ba1730;--ink:#242428;--muted:#68686f;--line:#e4e4e8;--paper:#fff;--wash:#f5f5f7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',Arial,sans-serif;font-size:16px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}header{max-width:1360px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:20px 44px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-family:Manrope,Arial,sans-serif;font-size:19px;font-weight:800;letter-spacing:.04em}.brand img{width:57px;height:57px;object-fit:contain}.brand b{color:var(--red)}.brand small{display:block;font-size:12px;font-weight:500;letter-spacing:.08em;margin-top:4px}nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:600}.outline{border:1px solid var(--line);background:white;border-radius:8px;padding:10px 16px}main{max-width:1272px;margin:auto;padding:0 32px}.intro{display:grid;grid-template-columns:1.4fr 1fr;gap:54px;padding:54px 0 38px;align-items:center}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:800;color:var(--red);margin:0 0 17px}h1,h2,h3{font-family:Manrope,Arial,sans-serif}h1{font-size:clamp(36px,4.5vw,64px);line-height:1.08;letter-spacing:-.055em;margin:0 0 22px;font-weight:800}h1 span{color:var(--red)}.lead{color:var(--muted);max-width:400px;line-height:1.65;margin:0}.intro aside{position:relative;background:var(--ink);color:white;padding:30px 32px;min-height:234px;overflow:hidden;border-radius:2px}.edition{font-size:11px;letter-spacing:.2em;color:#bcbcc4}.intro aside h2{font-size:29px;letter-spacing:-.035em;line-height:1.3;margin:26px 0 17px}.intro aside p{font-size:13px;color:#ceced4;max-width:245px;line-height:1.7}.stamp{position:absolute;right:24px;bottom:37px;border:1px solid #67676c;color:#ff637b;border-radius:50%;height:86px;width:86px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;text-align:center;transform:rotate(-15deg);line-height:1.2}.country-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.country{padding:21px 24px;text-align:left;display:flex;align-items:center;gap:16px;background:var(--wash);border:1px solid transparent;border-radius:8px;transition:.2s}.country:hover{border-color:#d3a4ae}.country.active{background:#fff6f7;border-color:var(--red);box-shadow:inset 0 -3px var(--red)}.country .flag{font-size:28px}.country b{display:block;font-size:16px}.country small{display:block;color:var(--muted);font-size:12px;margin-top:6px}.country .code{margin-left:auto;font-size:12px;font-weight:700;color:var(--muted)}.citybar{padding:24px 0 20px}.field-label{font-size:11px;letter-spacing:.14em;color:var(--muted);font-weight:700}.cities{display:flex;gap:8px;overflow-x:auto;padding:12px 0 5px;scrollbar-color:var(--red) var(--wash)}.cities button{white-space:nowrap;border:1px solid var(--line);background:white;padding:10px 15px;border-radius:6px;font-size:14px}.cities button.active{background:var(--ink);border-color:var(--ink);color:white}.finder{display:grid;grid-template-columns:1fr 280px;border:1px solid var(--line);border-radius:9px;background:var(--wash);overflow:hidden}.search{display:flex;align-items:center;padding:12px 19px;gap:13px}.search span{font-size:30px;color:var(--red)}.search input{border:0;outline:0;background:none;width:100%;padding:7px 0;min-width:0}.category{border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;padding:10px 18px}.category span{font-size:11px;color:var(--muted);margin-bottom:3px}.category select{border:0;background:none;max-width:100%;font-size:14px}#directory{padding:38px 0 36px;scroll-margin-top:20px}.directory-heading{display:flex;justify-content:space-between;align-items:center}.directory-heading .eyebrow{margin-bottom:8px}.directory-heading h2{font-size:28px;letter-spacing:-.04em;margin:0}.count{font-size:13px;color:var(--muted)}.tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin:21px 0 24px;overflow-x:auto}.tabs button{padding:13px 0;background:none;border:0;border-bottom:3px solid transparent;color:var(--muted);white-space:nowrap;font-size:14px;font-weight:600}.tabs button[aria-selected=true]{color:var(--red);border-bottom-color:var(--red)}.results{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.listing{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:white;text-align:left;padding:0;display:flex;flex-direction:column;transition:.2s}.listing:hover{transform:translateY(-3px);box-shadow:0 8px 24px #2222220c;border-color:#bbb}.card-top{height:116px;background:var(--wash);padding:22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.monogram{font-family:Manrope,sans-serif;font-size:36px;letter-spacing:-.08em;color:var(--red);font-weight:800}.pill{font-size:11px;background:white;border:1px solid var(--line);padding:6px 9px;border-radius:4px;color:var(--muted)}.card-body{padding:21px}.card-body .location{font-size:12px;color:var(--muted)}.card-body h3{font-size:20px;letter-spacing:-.025em;margin:10px 0}.card-body p{font-size:14px;color:var(--muted);line-height:1.6;margin:0 0 17px}.card-bottom{font-size:12px;display:flex;align-items:center;justify-content:space-between;padding-top:15px;border-top:1px solid var(--line)}.card-bottom b{color:var(--red)}.empty{grid-column:1/-1;background:var(--wash);padding:42px;text-align:center;border:1px dashed #cfcfd5;border-radius:8px}.empty h3{margin:0 0 12px;font-size:22px}.empty p{color:var(--muted);line-height:1.65;margin:0}.empty button{margin-top:20px;padding:10px 18px;border:1px solid var(--line);background:white;border-radius:5px}.note{color:var(--muted);font-size:12px;line-height:1.75;margin-top:20px}.manifesto{background:var(--wash);border-top:3px solid var(--red);padding:35px 40px;display:grid;grid-template-columns:1fr 1.5fr 1.2fr;gap:25px;align-items:center;margin-bottom:42px}.manifesto>span{font-size:11px;letter-spacing:.18em;font-weight:700;color:var(--red)}.manifesto h2{font-size:24px;letter-spacing:-.035em;line-height:1.35;margin:0}.manifesto p{font-size:14px;color:var(--muted);line-height:1.8;margin:0}footer{border-top:1px solid var(--line);max-width:1272px;margin:auto;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}footer .brand{font-size:14px}footer .brand img{width:38px;height:38px}footer p,footer small{font-size:12px;color:var(--muted)}dialog{max-width:540px;width:calc(100% - 32px);border:0;padding:36px;border-radius:12px;color:var(--ink);box-shadow:0 30px 100px #0003}dialog::backdrop{background:#18181ddd;backdrop-filter:blur(4px)}dialog h2{font-size:28px;letter-spacing:-.04em;margin:15px 0}dialog p,dialog li{line-height:1.7;color:var(--muted)}dialog li{margin:15px 0}dialog ol{padding-left:20px}.close{position:absolute;top:12px;right:14px;border:0;background:var(--wash);border-radius:50%;width:32px;height:32px;font-size:23px}.language-list{padding:17px;background:var(--wash);border-left:3px solid var(--red);line-height:1.9}.official-link{display:inline-block;background:var(--red);color:white;padding:13px 20px;border-radius:5px;margin-top:12px}.detail-location{font-size:14px;color:var(--red)!important}:focus-visible{outline:3px solid var(--red);outline-offset:4px}@media(max-width:800px){header{padding:16px 20px}nav{gap:16px}nav a:first-child{display:none}main{padding:0 20px}.intro{gap:24px;padding-top:35px;grid-template-columns:1fr}.intro aside{display:none}.country{padding:17px 13px;gap:10px;align-items:flex-start}.country .flag{font-size:22px}.country .code{display:none}.country b{font-size:14px}.country small{font-size:11px}.results{grid-template-columns:repeat(2,1fr)}.manifesto{grid-template-columns:1fr 1.5fr;padding:26px}.manifesto p{grid-column:1/-1}footer{flex-wrap:wrap}.finder{grid-template-columns:1fr 210px}}@media(max-width:500px){nav a{display:none}.brand{font-size:16px;gap:6px}.brand img{width:43px;height:43px}.brand small{font-size:10px}nav .outline{font-size:12px;padding:9px}.country-grid{gap:6px}.country{display:block;padding:13px 10px}.country .flag{display:block;margin-bottom:10px}.country b{font-size:12px;min-height:30px}.country small{font-size:10px}.finder{grid-template-columns:1fr}.category{border-left:0;border-top:1px solid var(--line);padding:11px 18px}.results{grid-template-columns:1fr}.tabs{gap:22px}.directory-heading h2{font-size:24px}.manifesto{grid-template-columns:1fr;gap:16px}footer{gap:8px}footer p{width:100%;margin:0}.empty{padding:30px 20px}dialog{padding:30px 24px}}

.country-grid{grid-template-columns:repeat(3,1fr)}.social-section{padding-top:34px}.social-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.social-heading .eyebrow{margin-bottom:8px}.social-heading h2{font-size:25px;letter-spacing:-.04em;margin:0}.social-heading>span{font-size:12px;color:var(--muted)}.social-pages{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.social-page{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:8px;padding:18px;transition:.2s}.social-page:hover{border-color:var(--red);background:#fff6f7}.facebook-mark{display:flex;justify-content:center;align-items:center;background:var(--ink);color:white;border-radius:5px;width:36px;height:36px;font-family:Arial,sans-serif;font-weight:700;font-size:28px;flex-shrink:0}.social-page b{font-size:15px;display:block}.social-page small{font-size:12px;color:var(--muted);display:block;margin-top:5px}.page-action{margin-left:auto;color:var(--red);font-size:12px;font-weight:700;white-space:nowrap}.social-empty{grid-column:1/-1;background:var(--wash);padding:20px;border-radius:8px;color:var(--muted);font-size:14px;margin:0}@media(max-width:600px){.social-pages{grid-template-columns:1fr}.social-heading{align-items:flex-start;flex-direction:column}.social-heading>span{font-size:12px}}

.country-map{width:44px;height:44px;object-fit:contain;margin:0;flex-shrink:0}
@media(max-width:600px){.country-map{width:36px;height:36px}}

.country .flag{margin-left:auto}
@media(max-width:500px){.country{display:flex;align-items:center;gap:8px}.country .flag{display:none}.country b{min-height:0}.country-map{width:30px;height:36px}}

.area-filters{display:flex;gap:16px;margin:18px 0}.area-filters[hidden]{display:none}.area-filters label{flex:1;font-size:14px;color:var(--muted)}.area-filters select{display:block;width:100%;margin-top:8px;padding:12px;background:white;border:1px solid var(--line);border-radius:6px;color:var(--ink)}@media(max-width:500px){.area-filters{flex-direction:column;gap:10px}}

.contact-links{display:flex;gap:8px;flex-wrap:wrap}.contact-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--wash);color:var(--ink);border:1px solid var(--line)}.contact-icon img,.contact-icon svg{width:20px;height:20px}.contact-icon.whatsapp{background:#e7f8ed;border-color:#b7e7c9}.contact-icon.facebook{background:#edf3ff}.contact-icon.instagram{background:#fff0f6}.detail-button{padding:10px 0;border:0;background:transparent;color:var(--red);font-size:13px;font-weight:700;white-space:nowrap}.card-bottom{gap:12px}dialog .contact-links{margin:20px 0}.listing{cursor:default}

.contact-icon.location{background:#fff0f1;color:var(--red);border-color:#efc6cd}

.google-review{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px;margin:10px 0;color:var(--muted)}.google-review b{color:#986b00;font-size:15px}.google-review>span:first-child{font-weight:700;color:var(--ink)}

.finder{grid-template-columns:1fr}.category-picker{margin-top:22px}.category-main{display:flex;gap:10px;overflow-x:auto;padding:4px 0 14px;scrollbar-color:var(--red) var(--wash)}.category-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;flex:0 0 112px;min-height:106px;padding:16px 10px;background:var(--wash);border:1px solid transparent;border-radius:9px;font-size:14px;color:var(--ink);text-align:center}.category-tile svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;color:var(--red)}.category-tile:hover,.category-tile.active{border-color:var(--red);background:#fff0f2}.category-tile.active{box-shadow:inset 0 -3px var(--red)}.category-children{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0 6px}.category-children button{border:1px solid var(--line);background:white;border-radius:6px;padding:10px 14px;font-size:14px}.category-children button.active{background:var(--red);border-color:var(--red);color:white}@media(max-width:600px){.category-tile{flex-basis:100px;min-height:100px}.category-picker{margin-top:16px}.category-children{flex-wrap:nowrap;overflow-x:auto;padding-bottom:12px}.category-children button{white-space:nowrap;flex-shrink:0}}

.location-levels{margin:0 0 20px;padding:0 0 0 16px;border-left:2px solid var(--line)}.location-levels[hidden],.location-level[hidden]{display:none}.location-level+.location-level{margin:12px 0 0 16px;padding-left:16px;border-left:2px solid var(--red)}.location-level .cities{padding-top:10px}.location-level .cities button.active{background:var(--red);border-color:var(--red)}@media(max-width:500px){.location-levels{padding-left:10px}.location-level+.location-level{margin-left:8px;padding-left:10px}}

.country-trigger{display:flex;align-items:center;gap:14px;border:1px solid var(--line);background:var(--wash);border-radius:8px;padding:14px 18px;min-width:260px;text-align:left}.country-trigger small{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.country-trigger b{display:block;font-size:16px}.country-trigger>span:last-child{margin-left:auto;font-size:20px;color:var(--red)}.country-list{display:flex;flex-direction:column;gap:8px}.country-list .country{width:100%;display:flex;align-items:center;padding:14px 16px}.country-list .country-map{width:38px;height:38px}.country-list .country b{font-size:15px;min-height:0}#country-dialog{max-height:85vh;overflow:auto}@media(max-width:500px){.country-trigger{width:100%;min-width:0}}

#cities{gap:12px;padding:16px 0 14px}#cities button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-width:124px;min-height:126px;padding:18px 16px;border-radius:12px;background:#fff;border:1px solid #dedee4;box-shadow:0 3px 10px #24242808;transition:background .2s,border-color .2s,box-shadow .2s}.city-emblem{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:15px;background:#fff0f2;color:var(--red);box-shadow:inset 0 0 0 1px #ba173018}.city-emblem svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.city-name{font-family:Manrope,Arial,sans-serif;font-size:15px;font-weight:700}#cities button:hover{border-color:var(--red);box-shadow:0 4px 14px #ba173014}#cities button.active{color:white;background:var(--red);border-color:var(--red);box-shadow:0 6px 18px #ba17302b}#cities button.active .city-emblem{background:#ffffff22;color:white;box-shadow:inset 0 0 0 1px #ffffff44}#cities button.active .city-name{font-weight:800}.citybar>.field-label{font-size:13px;color:var(--ink);font-weight:800}@media(max-width:500px){#cities button{min-width:108px;min-height:116px;padding:15px 12px}.city-emblem{width:48px;height:48px}.city-emblem svg{width:30px;height:30px}.city-name{font-size:14px}}

.city-landmark{display:block;width:38px;height:38px;background:currentColor;mask-image:var(--city-icon);mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-image:var(--city-icon);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center}@media(max-width:500px){.city-landmark{width:34px;height:34px}}

.listing-category-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;color:var(--red);flex-shrink:0}.listing-category-icon svg{width:44px;height:44px}

.card-body h3,#detail h2{color:var(--red)}.contact-icon,.contact-icon.whatsapp,.contact-icon.facebook,.contact-icon.instagram,.contact-icon.location{color:var(--red);background:#fff0f1;border-color:#efc6cd}.listing-category-icon{color:var(--red)}

.listing,.listing:hover{border-color:var(--red)}

.social-pages{display:grid;grid-template-columns:repeat(auto-fill,minmax(144px,1fr));gap:12px}.social-page{aspect-ratio:1;flex-direction:column;justify-content:center;text-align:center;gap:12px;padding:16px;background:#fff;border-color:var(--red);color:var(--muted)}.social-page:hover{background:#fff;border-color:var(--red);box-shadow:0 4px 16px #ba173012}.facebook-mark{width:48px;height:48px;border-radius:8px;background:#fff;color:var(--red);border:1px solid var(--red)}.facebook-mark img{width:30px;height:30px}.social-page b,.social-page small,.social-page .page-action{color:var(--muted)}.social-page .page-action{margin:0;font-size:11px}.contact-icon,.contact-icon.whatsapp,.contact-icon.facebook,.contact-icon.instagram,.contact-icon.location{border-radius:8px;background:#fff;color:var(--red);border-color:var(--red)}
.listing-photo{display:block;width:100%;height:190px;object-fit:cover}.detail-photo{display:block;width:100%;max-height:380px;object-fit:contain;border-radius:8px;margin:18px 0}

.photo-gallery{position:relative;overflow:hidden}.photo-track{aspect-ratio:16/9;width:100%;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.photo-track::-webkit-scrollbar{display:none}.photo-track img{width:100%;flex:0 0 100%;min-width:0;aspect-ratio:16/9;height:auto;object-fit:cover;scroll-snap-align:start}.gallery-detail .photo-track img{aspect-ratio:16/9;height:auto;object-fit:cover}.photo-gallery button{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border:1px solid var(--red);border-radius:8px;background:#fff;color:var(--red);font-size:27px;line-height:1}.gallery-prev{left:10px}.gallery-next{right:10px}

.has-photos .card-top{height:52px;padding:8px 18px}.has-photos .listing-category-icon{width:32px;height:32px}.has-photos .listing-category-icon svg{width:28px;height:28px}

.social-pages{grid-template-columns:repeat(auto-fill,144px);justify-content:start}.social-page{width:144px;height:144px;aspect-ratio:1;min-width:0}.social-page b{font-size:13px}.social-page small{font-size:10px}.social-page{gap:8px;padding:12px}
