.geo{padding:0 20px 10px}.cat-page{--fs-prose:14.5px} .geo-crumbs{font:600 13px 'Libre Franklin';color:#2b2620;padding:16px 0 0;text-shadow:0 1px 6px rgba(244,238,225,.9)}.cat-page .geo-crumbs a{color:#2b2620} .geo-head{padding:18px 0 20px;border-bottom:1.5px solid #2b2620}.geo-head h1{font:900 40px/1.05 'Libre Franklin';letter-spacing:-.035em;margin:12px 0 0;color:#2b2620;text-wrap:balance}.geo-head .geo-sub{margin-top:14px;max-width:640px;font:500 16px/1.55 'Libre Franklin';color:#443d34;text-wrap:pretty}.geo-head.has-hero{border:0;padding:30px 0 10px;display:flex;flex-direction:column;align-items:center;text-align:center}.geo-head.has-hero h1{max-width:720px;margin:0;font-size:46px;text-shadow:0 2px 18px rgba(244,238,225,.95),0 0 40px rgba(244,238,225,.8)}.geo-head.has-hero .geo-sub{margin-top:22px;max-width:600px;padding:18px 24px;font-size:16.5px;color:#2b2620;background:rgba(244,238,225,.78);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px}.geo-stats{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 0}.geo-head.has-hero .geo-stats{justify-content:center}.geo-stat{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1.5px solid #2b2620;border-radius:999px;padding:9px 16px}.geo-stat svg{width:15px;height:15px;flex:0 0 15px}.geo-stat .v{font:900 19px/1 'Libre Franklin';color:#a33d2e}.geo-stat.f .v{color:#ca6702}.geo-stat.m .v{color:#b86f00}.geo-stat .l{font:700 12px 'Libre Franklin';letter-spacing:.06em;text-transform:uppercase;color:#2b2620}@media (max-width:640px){.geo-head.has-hero{padding:18px 0 6px}.geo-head h1,.geo-head.has-hero h1{font-size:34px}.geo-head.has-hero .geo-sub{font-size:16px;padding:14px 16px}.geo-head.has-hero .geo-stats{flex-direction:column;align-items:center}} .geo-nav{position:sticky;top:var(--hdr-h,74px);z-index:9;background:#f4eee1;display:flex;gap:6px;flex-wrap:wrap;padding:12px 0;margin:24px 0 0;border-bottom:1.5px solid #2b2620}.cat-page .geo-nav a{font:700 12.5px 'Libre Franklin';color:#2b2620;text-decoration:none;background:#fff;border:1.5px solid #2b2620;border-radius:999px;padding:6px 11px;white-space:nowrap}.geo-nav a b{color:#a33d2e;margin-right:4px}@media (hover:hover) and (pointer:fine){.cat-page .geo-nav a:hover{background:#2b2620;color:#f4eee1}.cat-page .geo-nav a:hover b{color:#f4eee1}}@media (max-width:640px){.geo-nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-top:18px}.geo-nav::-webkit-scrollbar{display:none}} .geo-sec{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;margin-top:40px;scroll-margin-top:calc(var(--hdr-h,74px) + 64px)}.geo-sec>.num{font:900 44px/1 'Libre Franklin';color:#a33d2e;letter-spacing:-.05em}.geo-sec>.sec{min-width:0}.cat-page .geo-sec h2{margin:4px 0 0;padding:0;border:0;font:800 26px/1.1 'Libre Franklin';letter-spacing:-.03em;text-transform:none;color:#2b2620}.geo-after{margin-left:88px} @media (max-width:640px){.geo-sec{grid-template-columns:40px minmax(0,1fr);gap:10px;margin-top:32px}.geo-sec>.num{font-size:28px;margin-top:4px}.cat-page .geo-sec h2{font-size:22px}.geo-after{margin-left:0}} .geo-filter{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:24px;margin-top:18px;align-items:start}.geo-filter .q{font:800 15px 'Libre Franklin';margin:0 0 10px}.geo-filter .opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.geo-filter .opts button,.geo-filter .opts a{cursor:pointer;text-decoration:none;text-align:left;border-radius:12px;padding:12px 16px;border:1.5px solid #2b2620;background:#fff;color:#2b2620;box-shadow:3px 3px 0 #d8cdb6;display:flex;flex-direction:column;justify-content:center;gap:3px;min-height:66px;box-sizing:border-box;font:800 14px/1.2 'Libre Franklin'}.geo-filter .opts .s{font:500 12.5px/1.3 'Libre Franklin';opacity:.8}.geo-filter .opts button.on{background:#2b2620;color:#f4eee1;box-shadow:3px 3px 0 #a33d2e}.geo-filter .gender .opts{gap:8px}.geo-filter .gender .opts button{flex-direction:row;align-items:center;justify-content:center;gap:6px;text-align:center;padding:12px 10px}.geo-filter .gender .opts svg{width:14px;height:14px;flex:0 0 14px}@media (hover:hover) and (pointer:fine){.geo-filter .opts button:not(.on):hover,.geo-filter .opts a:hover{background:#f4eee1}}@media (max-width:760px){.geo-filter{grid-template-columns:1fr;gap:16px}}@media (max-width:400px){.geo-filter .opts .s{display:none}.geo-filter .opts button,.geo-filter .opts a{min-height:0;padding:10px 12px}}.geo-beyond{font:600 14.5px 'Libre Franklin';color:#443d34;margin:22px 0 0} .geo-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-top:22px}.geo-provider{position:relative;background:#fff;border:1.5px solid #2b2620;border-radius:14px;padding:20px 20px 10px;color:#2b2620;box-shadow:3px 3px 0 #2b2620;display:grid;grid-template-columns:170px minmax(0,1fr) auto;grid-template-areas:"lg head nums" "lg t nums" "lg links nums" "extra extra extra";column-gap:20px;row-gap:0;align-items:center} .geo-provider .go{position:absolute;inset:0;z-index:1;border-radius:14px} .geo-provider .rank{position:absolute;top:-14px;left:16px;z-index:2;pointer-events:none;width:30px;height:30px;display:flex;align-items:center;justify-content:center;font:800 14px/1 'Libre Franklin';color:#fff;background:#2b2620;border:1.5px solid #fff;border-radius:50%} .geo-provider .lg{grid-area:lg;align-self:center;width:170px;height:64px;display:grid;place-items:center;background:#f4eee1;border-radius:8px;padding:0 8px;box-sizing:border-box;overflow:hidden}.geo-provider .lg img{max-width:154px;max-height:50px;object-fit:contain}.geo-provider.open .lg{width:170px;height:88px}.geo-provider.open .lg img{max-width:154px;max-height:70px}.geo-provider .head{grid-area:head;display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.geo-provider .n{font:800 17px/1.15 'Libre Franklin'} .geo-provider .imp{color:#fff;font:400 12px 'Libre Franklin';margin-left:6px}.geo-provider .stars{display:inline-flex;gap:2px;font-size:14px;line-height:1;letter-spacing:0}.geo-provider .stars .on{color:#ee9b00}.geo-provider .stars .off{color:#e8ddc8}.geo-provider .nums{grid-area:nums;text-align:right;align-self:center;padding-left:8px}.geo-provider .est{display:block}.geo-provider .est .v{display:block;font:900 24px/1 'Libre Franklin';color:#a33d2e;letter-spacing:-.03em;white-space:nowrap}.geo-provider .est .l{display:block;font:600 12px/1.3 'Libre Franklin';color:#443d34;margin-top:4px;max-width:150px;margin-left:auto}.geo-provider .split{display:block;font:400 12px 'Libre Franklin';color:#6d6455;margin-top:2px}#geo-providers.g-on .split{display:none}.geo-provider .t{grid-area:t;margin-top:6px;font:400 13.5px/1.45 'Libre Franklin';color:#443d34;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.geo-provider .t.one{display:block;font-weight:500;overflow:visible} .geo-provider.open .t{display:block;-webkit-line-clamp:unset;overflow:visible} .geo-provider .links{grid-area:links;display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin:10px 0 0}.geo-provider .cta-link{position:relative;z-index:2;display:inline-block;font:800 13.5px 'Libre Franklin';color:#fff;background:#a33d2e;border-radius:8px;padding:9px 16px;text-decoration:none;box-shadow:2px 2px 0 #2b2620}@media (hover:hover) and (pointer:fine){.geo-provider .cta-link:hover{opacity:.92}}.geo-provider .rev{position:relative;z-index:2;font:700 13px 'Libre Franklin';color:#a33d2e;text-decoration:underline}.geo-provider .more{position:relative;z-index:2;cursor:pointer;background:#fff;border:1.5px solid #2b2620;border-radius:999px;padding:7px 12px;font:700 12.5px 'Libre Franklin';color:#2b2620;white-space:nowrap}@media (hover:hover) and (pointer:fine){.geo-provider .more:hover{background:#f4eee1}}.geo-provider .more::after{content:' ▾'}.geo-provider.open .more::after{content:' ▴'}@media (max-width:760px){.geo-provider{grid-template-columns:120px minmax(0,1fr);grid-template-areas:"lg head" "lg nums" "t t" "links links" "extra extra";column-gap:14px;padding:18px 14px 10px;row-gap:0}.geo-provider .lg,.geo-provider.open .lg{width:120px;height:52px}.geo-provider .lg img,.geo-provider.open .lg img{max-width:106px;max-height:40px}.geo-provider .nums{text-align:left;padding-left:0;margin-top:6px}.geo-provider .est .l{margin-left:0}.geo-provider .est .v{font-size:20px}} .geo-provider .extra{grid-area:extra;display:none;text-align:left;border-top:1.5px dashed #b5aa93;margin-top:8px;padding-top:14px}.geo-provider.open .extra{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px 28px;align-items:start}.geo-provider .extra .cell{min-width:0}.geo-provider .extra .cell + .cell{border-left:1px dashed #d8cdb6;padding-left:22px;margin-left:-14px}.geo-provider .extra h4{font:700 12px 'Libre Franklin';letter-spacing:.09em;text-transform:uppercase;color:#8a7f6d;margin:0 0 8px}.geo-provider .extra .op{font:400 12.5px/1.55 'Libre Franklin';color:#443d34;grid-column:1/-1;margin:0;border-top:1px dashed #d8cdb6;padding-top:12px}@media (max-width:640px){.geo-provider .extra .cell + .cell{border-left:0;padding-left:0;margin-left:0;border-top:1px dashed #d8cdb6;padding-top:12px}.geo-provider.open .extra{grid-template-columns:1fr}}.geo-provider .agebar{display:flex;align-items:center;gap:7px;margin-bottom:3px;font:600 12px 'Libre Franklin';color:#6d6455}.geo-provider .agebar .al{flex:0 0 34px}.geo-provider .agebar .ab{flex:1;font:400 12px/1 monospace;letter-spacing:1px;color:#efe8d8;overflow:hidden;white-space:nowrap}.geo-provider .agebar .ab .on{color:#a33d2e}.geo-provider .agebar .ap{flex:0 0 30px;text-align:right}.geo-provider .facts{font:400 12.5px/1.9 'Libre Franklin';color:#443d34}.geo-provider .facts b{font-weight:800}.geo-provider .badge-free{display:inline-block;background:#d3e6c8;color:#2c5e17;border-radius:var(--r-ctl);font:700 12px 'Libre Franklin';padding:2px 7px}.geo-provider .tagrow{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:7px}.geo-provider .chip{background:#efe8d8;border:1px solid #b5aa93;border-radius:999px;font:600 12px 'Libre Franklin';color:#443d34;padding:3px 9px}.geo-provider .mini-map svg{width:100%;max-width:170px;height:auto;display:block;margin-top:2px}.geo-provider .mini-map svg path{stroke:#fff;stroke-width:1}.geo-provider .mini-note{font:400 12px/1.4 'Libre Franklin';color:#8a7f6d;margin:6px 0 0}.geo-provider .mini-legend{display:flex;align-items:center;gap:6px;font:600 12px 'Libre Franklin';color:#8a7f6d;margin-top:8px}.geo-provider .mini-legend .bar{display:flex;border:1px solid #b5aa93}.geo-provider .mini-legend .bar i{width:16px;height:8px;display:block} .geo-city{display:grid;grid-template-columns:340px minmax(0,1fr);gap:20px;margin-top:14px;align-items:start;grid-auto-flow:row dense}.geo-city .geo-map-card{grid-column:1}.geo-city .geo-body{grid-column:2;grid-row:1 / span 2}.geo-city .geo-figure-map{grid-column:1;margin:0;max-width:340px}.geo-city.nomap .geo-body{grid-column:1;grid-row:auto}.geo-city.nomap .geo-figure-map{max-width:600px;margin:20px auto 0}.geo-city.nomap{grid-template-columns:minmax(0,1fr)}.geo-city.notext{grid-template-columns:340px}.geo-map-card{background:#fff;border:1.5px solid #2b2620;border-radius:14px;padding:12px;box-shadow:3px 3px 0 #2b2620}.geo-map-flip{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}.geo-map-flip button{cursor:pointer;border-radius:999px;padding:10px 18px;font:700 14px 'Libre Franklin';border:1.5px solid #2b2620;background:#fff;color:#2b2620} .geo-map-flip button.on{background:#2b2620;color:#f4eee1}.geo-map{width:100%}.geo-mapsec svg{width:100%;height:auto;display:block}.geo-mapsec svg path{stroke:#f4eee1;stroke-width:1}@media (hover:hover) and (pointer:fine){.geo-mapsec svg path:hover{opacity:.82}}.geo-mapsec svg path.cur{stroke:#2b2620;stroke-width:2}.geo-map-legend{display:flex;align-items:center;justify-content:center;gap:8px;font:600 12px 'Libre Franklin';color:#8a7f6d;margin-top:10px}.geo-map-legend .bar{display:flex;border:1px solid #b5aa93}.geo-map-legend .bar i{width:26px;height:10px;display:block}.geo-map-cur{font:600 13px 'Libre Franklin';color:#443d34;margin:8px 0 0;text-align:center}.geo-map-tip{position:fixed;z-index:50;background:#2b2620;color:#f4eee1;font:600 12px 'Libre Franklin';padding:6px 9px;border-radius:var(--r-ctl);pointer-events:none;white-space:nowrap}@media (max-width:800px){.geo-city,.geo-city.notext{grid-template-columns:minmax(0,1fr)}.geo-map-card{width:100%;max-width:360px;margin:0 auto;box-sizing:border-box}.geo-city .geo-body{grid-column:1;grid-row:auto}.geo-city .geo-figure-map{grid-column:1;max-width:600px;margin:0 auto}}.geo-body{font:400 var(--fs-prose)/1.6 'Libre Franklin';color:#443d34}.geo-body p{margin:0 0 12px}.geo-body h3{font:800 17px/1.3 'Libre Franklin';color:#2b2620;margin:24px 0 8px}.geo-body h3:first-child{margin-top:0}.geo-body strong{color:#2b2620}.cat-page .geo-body a{text-decoration:underline;color:#a33d2e} .geo-videos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.geo-video{margin:0}.geo-video .frame{position:relative;aspect-ratio:16/9;border:1.5px solid #2b2620;border-radius:12px;overflow:hidden;background:#e8ddc8}.geo-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.geo-video figcaption{font:700 13.5px/1.35 'Libre Franklin';color:#2b2620;margin-top:8px}.geo-video figcaption .c{display:block;font:500 12.5px 'Libre Franklin';color:#8a7f6d;margin-top:2px}@media (max-width:600px){.geo-videos{grid-template-columns:1fr}} .geo-ideas{list-style:none;margin:16px 0 0;padding:0;border-top:1.5px solid #2b2620}.geo-ideas li{display:grid;grid-template-columns:44px 200px minmax(0,1fr);gap:14px;align-items:baseline;padding:12px 0;border-bottom:1px solid #d8cdb6;font:400 14.5px/1.5 'Libre Franklin';color:#443d34}.geo-ideas .n{font:900 22px/1 'Libre Franklin';color:#ca6702}.geo-ideas .p{color:#2b2620;font-size:15px}@media (max-width:640px){.geo-ideas li{grid-template-columns:36px minmax(0,1fr);gap:4px 10px;font-size:14px}.geo-ideas .w{grid-column:2}}.geo-figure{margin:24px auto 0;max-width:600px} .geo-figure picture{display:block;width:100%}.geo-figure img{width:100%;height:auto;display:block;border:1.5px solid #2b2620;border-radius:14px}.geo-caption{font:500 12.5px 'Libre Franklin';color:#8a7f6d;margin-top:6px;text-align:right} .geo-quiz{background:#2b2620;border-radius:14px;padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:24px 0 0 88px;box-shadow:4px 4px 0 #a33d2e;text-decoration:none}.geo-quiz .t{font:800 20px/1.2 'Libre Franklin';color:#f4eee1;flex:1;min-width:220px}.cat-page .geo-quiz{color:#f4eee1}.cat-page .geo-quiz .btn{background:#a33d2e;color:#fff;font:800 15px 'Libre Franklin';padding:12px 20px;border-radius:10px;white-space:nowrap}@media (hover:hover) and (pointer:fine){.cat-page .geo-quiz:hover .btn{opacity:.92}}@media (max-width:640px){.geo-quiz{margin-left:0;padding:18px 20px}.geo-quiz .t{font-size:18px}} .geo-faq details.faq:first-of-type{margin-top:10px}.geo-faq details.faq summary{align-items:center;gap:14px;min-height:44px}.geo-faq details.faq summary::after{content:"+";flex:0 0 34px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1.5px solid #2b2620;border-radius:50%;background:#fff;box-shadow:2px 2px 0 #2b2620;font:500 24px/1 'Libre Franklin';color:#a33d2e;transition:transform .24s cubic-bezier(.23,1,.32,1),background-color .15s}@media (hover:hover) and (pointer:fine){.geo-faq details.faq summary:hover::after{background:#f5dcd6}}.geo-faq details.faq[open]>summary::after{transform:rotate(45deg)}@media (prefers-reduced-motion:reduce){.geo-faq details.faq summary::after{transition:none}} .author-card{margin-top:24px;scroll-margin-top:calc(var(--hdr-h,74px) + 56px)} .geo-near{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.cat-page .geo-near a{font:700 13.5px 'Libre Franklin';color:#2b2620;text-decoration:none;background:#fff;border:1.5px solid #2b2620;border-radius:999px;padding:7px 13px}@media (hover:hover) and (pointer:fine){.cat-page .geo-near a:hover{background:#2b2620;color:#f4eee1}}.geo-method{margin:16px 0 0} .geo-method button{cursor:pointer;background:none;border:0;padding:0;font:500 13px 'Libre Franklin';color:#8a7f6d;text-decoration:underline;display:inline-flex;align-items:center;gap:6px}@media (hover:hover) and (pointer:fine){.geo-method button:hover{color:#443d34}}.geo-method .i{width:16px;height:16px;border:1.5px solid #8a7f6d;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font:800 12px/1 'Libre Franklin';flex-shrink:0;text-decoration:none}dialog.geo-calc{border:1.5px solid #2b2620;border-radius:var(--r-card);background:#f4eee1;color:#2b2620;max-width:560px;padding:24px}dialog.geo-calc::backdrop{background:rgba(24,19,14,.55)}dialog.geo-calc h3{font:800 18px 'Libre Franklin';margin:0 0 12px}dialog.geo-calc p{font:400 13.5px/1.65 'Libre Franklin';color:#443d34;margin:0 0 12px}dialog.geo-calc .x{margin-top:6px;background:#2b2620;color:#f4eee1;border:0;border-radius:var(--r-ctl);font:700 13px 'Libre Franklin';padding:10px 18px;cursor:pointer}