@font-face{font-family:Manrope;src:url('/assets/manrope-latin.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
:root{--green:#164b36;--green-dark:#103c2b;--yellow:#f1cb58;--paper:#f7f7f0;--ink:#202d25;--muted:#59645c;--line:#dce2d8;--white:#fff;--radius:14px;--ease:cubic-bezier(.16,1,.3,1);color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}
::selection{background:var(--yellow);color:var(--green-dark)}
:focus-visible{outline:3px solid var(--green);outline-offset:4px}
input,select,textarea{caret-color:var(--green)}
button,input,select,textarea{font:inherit}
button,select{cursor:pointer}
button,a,input,select{-webkit-tap-highlight-color:transparent}
button:disabled{opacity:.5;cursor:wait}
a{color:inherit;text-decoration:none;text-underline-offset:4px}
p{margin:0 0 18px}
h1,h2,h3{margin:0;line-height:1.2;font-weight:750;letter-spacing:-.035em;text-wrap:balance}
h1{font-size:clamp(34px,4.2vw,60px)}
h2{font-size:clamp(26px,2.5vw,36px)}
h3{font-size:21px;letter-spacing:-.02em}
img{display:block;max-width:100%;height:auto}
svg{flex-shrink:0}
figure{margin:0}
[hidden]{display:none!important}
.container{width:min(calc(100% - 80px),1360px);margin-inline:auto}
.icon{width:23px;height:23px;vertical-align:middle;flex-shrink:0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:49px;border:1px solid transparent;border-radius:9px;padding:13px 22px;background:var(--green);color:var(--white);font-size:14px;font-weight:750;line-height:1.4;transition:background .2s,color .2s,transform .2s}
.button:hover{background:var(--green-dark);transform:translateY(-1px)}
.button-outline{color:var(--green);background:transparent;border-color:var(--green)}
.button-outline:hover{background:var(--green);color:white}
.button-yellow{background:var(--yellow);color:var(--green-dark)}
.button-yellow:hover{background:#f8d979;color:var(--green-dark)}
.text-link{display:inline-flex;align-items:center;gap:18px;color:var(--green);font-weight:750;min-height:44px;font-size:14px}
.text-link:hover{text-decoration:underline}
.skip-link{position:fixed;z-index:30;left:20px;top:-100px;padding:12px 20px;background:var(--green);color:white;border-radius:8px}
.skip-link:focus{top:10px}
.site-header{background:var(--paper);border-bottom:1px solid var(--line)}
.header-scroll{width:100%;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#a9beae transparent}
.header-inner{width:min(calc(100% - 80px),1360px);margin-inline:auto;min-height:100px;display:flex;align-items:center;gap:40px;white-space:nowrap}
.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;line-height:1}
.brand strong{display:block;font-size:31px;font-weight:800;letter-spacing:-.05em;color:var(--green)}
.brand-cc{font-size:18px;letter-spacing:-.02em;margin-left:4px}
.brand small{display:block;font-size:9px;font-weight:700;letter-spacing:.035em;margin-top:7px;color:var(--muted)}
.header-inner nav{display:flex;align-items:center;gap:34px;margin-left:auto}
.header-inner nav a{font-size:14px;font-weight:650;display:flex;align-items:center;min-height:46px}
.header-inner nav a:hover,.header-inner nav a[aria-current]{color:var(--green);text-decoration:underline}
.header-action{margin-left:16px;flex-shrink:0}
.home-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center;padding-block:62px 66px}
.hero-copy h1{font-size:clamp(52px,5.9vw,86px);line-height:1.08;font-weight:800;letter-spacing:-.045em;color:var(--green-dark);margin-bottom:26px}
.hero-copy h1 span{position:relative;isolation:isolate;white-space:nowrap}
.hero-copy h1 span:after{content:'';position:absolute;bottom:6px;height:10px;left:0;right:0;background:var(--yellow);z-index:-1}
.hero-copy>p{font-size:17px;line-height:1.75;color:var(--muted);margin-bottom:28px}
.hero-search{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--white);border:1px solid #cdd9cd;border-radius:12px;padding:17px 18px 15px}
.field{min-width:0}
.field label{display:block;font-size:11px;font-weight:750;color:var(--green);margin-bottom:8px}
.field+.field{border-left:1px solid var(--line);padding-left:16px;margin-left:8px}
.field-control{display:flex;align-items:center;gap:8px;min-width:0}
.field-control .icon{width:18px;height:18px;color:var(--green)}
.field input,.field select{width:100%;min-width:0;border:0;background:transparent;font-size:13px;padding:7px 1px;color:var(--ink);min-height:40px}
.field input::placeholder{color:#687169;opacity:1}
.hero-search>.button{grid-column:1/-1;margin-top:14px;justify-content:space-between}
.hero-search>.button .icon{width:19px;height:19px}
.hero-shortcuts{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:11px;margin-top:18px;color:var(--muted)}
.hero-shortcuts a{font-weight:750;color:var(--green);text-decoration:underline}
.hero-photo{position:relative;padding-bottom:27px;align-self:stretch;min-height:505px}
.hero-photo>img{width:100%;height:calc(100% - 27px);position:absolute;object-fit:cover;border-radius:120px 16px 16px 16px;object-position:44% center}
.hero-photo figcaption{position:absolute;bottom:0;right:0;left:0;display:flex;align-items:center;gap:5px;font-size:10px;color:var(--muted)}
.hero-photo figcaption .icon{width:13px;height:13px}
.hero-photo figcaption a{margin-left:auto;text-decoration:underline}
.photo-note{position:absolute;right:-18px;bottom:68px;background:var(--yellow);padding:21px 25px;border-radius:12px;display:flex;align-items:center;gap:30px;color:var(--green-dark);line-height:1.5;font-size:17px;transform:rotate(-3deg)}
.photo-note strong{font-weight:800}
.photo-note svg{width:35px;height:35px}
.city-strip{background:var(--green);color:#e3eee5}
.city-strip>.container{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:21px;font-size:12px}
.city-strip a{font-weight:750;color:var(--yellow);display:flex;gap:24px;align-items:center;font-size:14px;min-height:28px}
.section{padding-block:65px 12px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:30px}
.section-heading p{color:var(--muted);margin:12px 0 0;font-size:14px}
.section-heading>.text-link{flex-shrink:0}
.category-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:44px}
.category-row{min-width:0;display:flex;align-items:center;gap:17px;border-bottom:1px solid var(--line);padding:19px 0;transition:background .2s}
.category-row:hover{background:#edf1e7}
.category-icon{height:47px;width:47px;display:grid;place-items:center;background:#e9eee2;color:var(--category-color,var(--green));border-radius:11px;flex-shrink:0}
.category-row>span:nth-child(2){flex:1;min-width:0}
.category-row strong{display:block;font-size:15px;font-weight:750;line-height:1.4}
.category-row small{display:block;font-size:11px;color:var(--muted);line-height:1.6;margin-top:5px}
.category-meta{font-size:11px;color:var(--green);display:flex;gap:12px;align-items:center;flex-shrink:0}
.category-meta>span{font-size:18px}
.featured-cities{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.city-image{overflow:hidden;border-radius:12px;background:#e3e7dd}
.city-feature img{width:100%;aspect-ratio:1.6;object-fit:cover;transition:transform .5s var(--ease)}
.city-feature:hover img{transform:scale(1.035)}
.city-feature h3{display:flex;justify-content:space-between;align-items:center;font-size:23px;margin:20px 0 7px}
.city-feature h3 span{font-size:19px;color:var(--green)}
.city-feature p{font-size:13px;color:var(--muted);margin-bottom:0}
.city-index{padding-bottom:65px}
.inline-search{display:flex;align-items:center;gap:10px;border-bottom:1px solid #a4b6a3;padding:7px 0;flex-shrink:0;width:265px}
.inline-search .icon{height:18px;width:18px;color:var(--green)}
.inline-search input{background:transparent;border:0;min-width:0;width:100%;padding:6px 0;font-size:13px;color:var(--ink);min-height:35px}
.inline-search input::placeholder{color:var(--muted);opacity:1}
.city-links{display:grid;grid-template-columns:repeat(4,1fr);column-gap:36px}
.city-links a{display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:58px;border-bottom:1px solid var(--line);font-size:13px;font-weight:650;line-height:1.5}
.city-links a:hover{color:var(--green);text-decoration:underline;background:#edf1e7}
.city-links a>span:last-child{color:#6a806b}
.section-action{margin-top:32px;text-align:center}
.city-filter-empty{padding:25px 0;color:var(--muted)}
.join-banner{background:var(--green);margin-top:52px;color:white}
.join-content{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:55px}
.join-content h2{font-size:clamp(26px,2.6vw,36px);line-height:1.3;letter-spacing:-.03em}
.join-content p{margin:17px 0 0;color:#dae8dc;font-size:13px}
.join-content>.button{flex-shrink:0}
.site-footer{padding-top:60px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:45px;padding-bottom:44px}
.footer-grid .brand{margin-bottom:22px}
.footer-grid p{font-size:12px;color:var(--muted)}
.footer-grid h2{font-size:13px;letter-spacing:0;margin-bottom:16px}
.footer-grid>div>a:not(.brand){display:block;width:fit-content;padding-block:5px;font-size:12px;color:var(--muted);min-height:32px}
.footer-grid>div>a:hover{text-decoration:underline;color:var(--green)}
.footer-bottom{border-top:1px solid var(--line);padding-block:23px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}
.breadcrumbs{display:flex;gap:11px;align-items:center;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-bottom:28px;line-height:1.5}
.breadcrumbs a:hover{text-decoration:underline;color:var(--green)}
.page-head{padding-block:36px 32px}
.page-head h1{color:var(--green-dark);margin-bottom:22px}
.page-head>p{font-size:17px;color:var(--muted);margin-bottom:0}
.page-head+.section{padding-top:25px}
.category-picker{margin-top:35px;display:grid;grid-template-columns:1fr 1fr auto;gap:20px;background:#e9eee2;padding:26px;border-radius:12px;align-items:end}
.category-picker label,.directory-sidebar label,.city-switch{display:block;font-size:12px;font-weight:750;color:var(--green)}
select,input[type=search]{color:var(--ink)}
.category-picker select,.directory-sidebar select,.directory-sidebar input,.city-switch select{display:block;width:100%;min-width:0;border:1px solid #bacab9;border-radius:7px;background:white;min-height:46px;padding:10px 12px;font-size:13px;font-weight:500;margin-top:9px}
.category-group{margin-bottom:48px}
.category-group>h2{font-size:25px;border-bottom:1px solid var(--green);padding-bottom:16px}
.directory-head{padding-block:30px 35px}
.directory-head .breadcrumbs{margin-bottom:22px}
.directory-title{display:flex;align-items:center;gap:35px;justify-content:space-between}
.directory-title>div{flex:1}
.directory-title h1{font-size:clamp(30px,3.2vw,45px);color:var(--green-dark)}
.directory-title p{color:var(--muted);font-size:14px;margin:17px 0 0}
.city-switch{width:220px;flex-shrink:0}
.directory{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:45px}
.directory-tabs{display:flex;gap:12px;padding-inline:20px;background:#eff2e9;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:thin;scrollbar-color:#a9beae transparent}
.directory-tabs button{display:flex;align-items:center;gap:10px;background:transparent;border:0;border-bottom:3px solid transparent;color:var(--muted);white-space:nowrap;padding:18px 17px;min-height:62px;font-size:13px;font-weight:750}
.directory-tabs button span{font-size:11px;font-variant-numeric:tabular-nums;background:#e0e7d9;padding:1px 6px;border-radius:4px}
.directory-tabs button .icon{width:17px;height:17px}
.directory-tabs button[aria-selected=true]{color:var(--green);border-bottom-color:var(--green)}
.directory-body{display:grid;grid-template-columns:245px 1fr;align-items:start}
.directory-sidebar{padding:25px 22px;background:#fafbf7;border-right:1px solid var(--line);align-self:stretch}
.directory-sidebar h2{font-size:16px;letter-spacing:-.02em;margin-bottom:24px}
.directory-sidebar label{margin-top:20px}
.directory-sidebar input,.directory-sidebar select{font-size:12px}
.directory-sidebar .button{width:100%;margin-top:22px;min-height:45px}
.directory-sidebar .button .icon{width:17px;height:17px}
.clear-filters{display:block;text-align:center;font-size:12px;margin-top:15px;text-decoration:underline;color:var(--green)}
.sidebar-note{border-top:1px solid var(--line);padding-top:24px;margin-top:30px;font-size:12px}
.sidebar-note p{font-size:12px;color:var(--muted);margin:10px 0}
.sidebar-note a{font-size:11px;text-decoration:underline;color:var(--green);font-weight:700}
.directory-results{padding:30px;min-width:0}
.directory-results h2{font-size:24px}
.panel-intro{font-size:13px;color:var(--muted);margin:11px 0 15px}
.directory-results .category-grid{column-gap:26px}
.directory-results .category-row{gap:12px;padding-block:17px}
.directory-results .category-row strong{font-size:13px}
.directory-results .category-row small{font-size:11px}
.directory-results .category-meta{font-size:0}
.directory-results .category-icon{height:38px;width:38px;border-radius:8px}
.directory-results .category-icon .icon{width:20px;height:20px}
.results-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}
.results-heading>span{font-size:12px;color:var(--muted);flex-shrink:0}
.empty-state{padding:65px 36px 72px;background:#f7f8f2;border-radius:12px;text-align:center;margin-bottom:10px}
.empty-state>.icon{width:46px;height:46px;color:var(--green);margin-bottom:22px}
.empty-state h3{font-size:25px;color:var(--green-dark);margin-bottom:16px}
.empty-state p{font-size:14px;color:var(--muted);margin-bottom:22px}
.empty-actions{display:flex;gap:15px;justify-content:center;align-items:center;flex-wrap:wrap}
.empty-actions .button{font-size:12px}
.empty-actions .text-link{font-size:12px}
.map-wrap{position:relative;isolation:isolate;width:100%;height:500px;border-radius:12px;background:#e8eddf;overflow:hidden}
.map-canvas{position:relative;overflow:hidden;width:100%;height:100%;cursor:grab;touch-action:none;outline-offset:-4px}
.map-canvas.is-dragging{cursor:grabbing}
.map-tiles,.map-markers{position:absolute;inset:0}
.map-tiles img{position:absolute;left:0;top:0;width:256px;height:256px;max-width:none;user-select:none}
.map-markers{pointer-events:none}
.map-controls{position:absolute;top:16px;left:16px;display:flex;flex-direction:column;gap:5px}
.map-controls button{background:white;border:1px solid #b4c1ad;color:var(--green);font-size:24px;font-weight:700;border-radius:7px;width:43px;height:43px;display:grid;place-items:center}
.map-controls button:hover{background:var(--green);color:white}
.map-controls .icon{width:19px;height:19px}
.map-status{position:absolute;bottom:30px;left:14px;right:14px;background:var(--paper);padding:12px 16px;border-radius:6px;color:var(--green-dark);font-size:12px;pointer-events:none}
.map-attribution{position:absolute;bottom:0;right:0;background:#fffffff0;padding:2px 7px;font:10px/1.6 Arial,sans-serif;color:#273f2d}

.map-note{font-size:12px;color:var(--muted);margin-top:13px}
.map-pin{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;background:none;border:0;padding:0;color:var(--green);width:32px;height:42px;cursor:pointer}
.map-pin svg{width:32px;height:42px;filter:drop-shadow(0 3px 3px #0003)}
.map-popup{position:absolute;top:20px;right:20px;width:260px;background:white;padding:22px;border-radius:12px;box-shadow:0 8px 30px #103c2b26;font-size:13px}
.map-popup strong{display:block;padding-right:20px}
.map-popup p{margin-top:12px;font-size:12px}
.map-popup small{display:block;font-size:10px;color:var(--muted)}
.map-popup a{display:block;color:var(--green);text-decoration:underline;font-weight:700;margin-top:10px}
.popup-close{position:absolute;top:7px;right:7px;border:0;background:transparent;min-height:30px;min-width:30px;color:var(--green);font-size:24px}
.business-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.business-card{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.business-card>img{width:100%;aspect-ratio:1.6;object-fit:cover}
.business-card>div{padding:20px}
.business-category{font-size:11px;color:var(--green);font-weight:750}
.business-card h3{font-size:20px;margin-top:8px}
.business-card h3>span{float:right}
.business-card p{font-size:12px;color:var(--muted);margin:12px 0}
.business-card small{font-size:11px;color:var(--muted)}
.business-card .icon{width:15px;height:15px}
.business-breadcrumb{padding-top:30px}
.business-cover{border-radius:15px;overflow:hidden;background:#e9eee2}
.business-cover img{width:100%;height:420px;object-fit:cover}
.profile-layout{display:grid;grid-template-columns:1fr 330px;gap:65px;align-items:start;padding-block:45px 65px}
.profile-main h1{font-size:clamp(32px,4vw,52px);margin-block:14px 20px}
.profile-summary{font-size:18px;line-height:1.7;color:var(--muted)}
.profile-section{margin-top:45px}
.profile-section h2{font-size:27px;margin-bottom:22px}
.profile-section p{color:var(--muted)}
.service-list{padding-left:20px;columns:2;column-gap:30px;color:var(--muted)}
.service-list li{padding-block:4px;break-inside:avoid}
.profile-gallery{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.profile-gallery img{width:100%;aspect-ratio:1.4;object-fit:cover;border-radius:10px}
.profile-contact{padding:25px;background:#e9eee2;border-radius:12px}
.profile-contact h2{font-size:20px;margin-bottom:22px}
.profile-contact>.button{width:100%;font-size:12px}
.contact-link{display:block;padding:12px 0;border-bottom:1px solid #cad6c6;font-size:13px;color:var(--green);text-decoration:underline}
.contact-address,.contact-hours{margin-top:28px}
.profile-contact h3{font-size:14px;letter-spacing:0;margin-bottom:12px}
.contact-address p{font-size:13px;color:var(--muted);margin-bottom:4px}
.contact-hours dl{font-size:12px}
.contact-hours dl>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #cad6c6}
.contact-hours dd{margin:0;text-align:right}
.contact-hours small{font-size:10px;color:var(--muted);display:block;margin-top:15px}
.pagination{display:flex;gap:15px;align-items:center;justify-content:center;padding-top:25px;font-size:12px}
.info-layout{display:grid;grid-template-columns:1fr 290px;gap:90px;padding-block:10px 65px}
.info-content{font-size:16px;color:var(--muted)}
.info-content h2{font-size:26px;color:var(--green-dark);margin-top:35px;margin-bottom:17px}
.info-content p{line-height:1.85}
.info-content a:not(.button){text-decoration:underline;color:var(--green)}
.info-content .button{margin-top:20px}
.info-content li{padding-block:6px}
.info-content .lead{font-size:23px;color:var(--green);font-weight:650}
.info-aside{background:#e9eee2;padding:25px;border-radius:12px;height:fit-content}
.info-aside h2{font-size:18px;margin-bottom:18px}
.info-aside a{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #cad6c6;padding-block:15px;font-size:12px;color:var(--green)}
.notice{padding:25px;background:#e9eee2;border-radius:12px;margin-top:30px;color:var(--green)}
.notice p{font-size:14px;margin:12px 0 0}
.error-page{padding-block:80px 100px}
.error-page p{margin-bottom:30px}
@media(min-width:1600px){.home-hero{padding-block:75px 85px}.hero-photo{min-height:570px}}
@media(max-width:1100px){.header-inner{gap:24px}.header-inner nav{gap:24px}.header-action{margin-left:0}.home-hero{gap:35px}.hero-photo{min-height:490px}.hero-copy h1{font-size:62px}.hero-search{grid-template-columns:1fr}.field+.field{border-left:0;padding-left:0;margin:12px 0 0;border-top:1px solid var(--line);padding-top:12px}.hero-search>.button{margin-top:13px}.hero-shortcuts{font-size:10px}.city-links{grid-template-columns:repeat(3,1fr)}.directory-results{padding:25px}.directory-results .category-grid{grid-template-columns:1fr}.info-layout{gap:50px}.profile-layout{gap:40px;grid-template-columns:1fr 290px}.join-content{gap:25px}.join-content .button{font-size:12px}.category-row small{font-size:11px}.category-meta{font-size:0}}
@media(max-width:800px){.container{width:calc(100% - 40px)}.header-inner{width:calc(100% - 40px);min-width:850px;min-height:82px;margin-left:20px;margin-right:20px;gap:30px}.header-inner nav{margin-left:auto}.brand svg{width:39px;height:39px}.brand strong{font-size:27px}.brand small{font-size:8px}.header-action{padding:12px 16px;font-size:12px;min-height:44px}.home-hero{padding-top:42px;padding-bottom:42px;gap:30px;grid-template-columns:1.1fr 1fr}.hero-copy h1{font-size:49px;letter-spacing:-.04em}.hero-copy>p{font-size:14px}.desktop-break{display:none}.hero-photo{min-height:470px}.hero-photo>img{border-top-left-radius:75px}.photo-note{font-size:14px;padding:17px;gap:15px;right:-8px;bottom:60px}.photo-note svg{width:25px;height:25px}.city-strip>.container{gap:20px;font-size:10px}.city-strip>.container>span:last-child{display:none}.city-strip a{font-size:12px}.section{padding-top:45px}.section-heading{gap:20px}.section-heading h2{font-size:27px}.section-heading p{font-size:12px}.section-heading>.text-link{font-size:11px;gap:8px}.category-grid{column-gap:25px}.category-row{gap:12px}.category-row strong{font-size:13px}.category-row small{font-size:10px}.category-icon{width:39px;height:39px}.category-icon .icon{height:20px;width:20px}.featured-cities{gap:17px}.city-feature h3{font-size:20px}.city-feature p{font-size:11px}.city-links{column-gap:24px}.city-links a{font-size:12px}.join-content{flex-direction:column;align-items:flex-start;padding-block:38px}.join-content h2{font-size:29px}.footer-grid{gap:30px;grid-template-columns:1.3fr 1fr 1fr}.footer-grid .brand{gap:8px}.footer-grid .brand strong{font-size:25px}.footer-grid .brand small{font-size:7px}.footer-grid .brand svg{width:34px;height:34px}.directory-body{grid-template-columns:200px 1fr}.directory-sidebar{padding:23px 16px}.directory-sidebar h2{font-size:14px}.directory-sidebar input,.directory-sidebar select{font-size:11px;padding:10px 8px}.directory-results{padding:23px 20px}.directory-results h2{font-size:20px}.city-switch{width:180px}.directory-title{align-items:flex-start}.directory-title p{font-size:12px}.empty-state{padding:42px 22px}.empty-state h3{font-size:22px}.empty-state p{font-size:12px}.results-heading{flex-direction:column;align-items:flex-start;gap:8px}.map-wrap{height:430px}.info-layout{grid-template-columns:1fr 230px;gap:30px}.info-content{font-size:14px}.info-aside{padding:20px}.business-grid{grid-template-columns:1fr}.profile-layout{grid-template-columns:1fr 260px;gap:25px}.profile-contact{padding:20px}.business-cover img{height:330px}}
@media(max-width:600px){body{font-size:14px}.home-hero{grid-template-columns:1fr;gap:32px}.hero-copy h1{font-size:58px;margin-bottom:20px}.hero-copy>p{font-size:15px;margin-bottom:24px}.hero-search{grid-template-columns:1fr 1fr;padding:15px}.field+.field{border-top:0;border-left:1px solid var(--line);padding:0 0 0 12px;margin:0 0 0 7px}.field label{font-size:10px}.field-control{gap:5px}.field input,.field select{font-size:11px}.field-control .icon{width:15px;height:15px}.hero-search>.button{min-height:45px}.hero-shortcuts{gap:7px 13px;font-size:10px}.hero-photo{min-height:285px}.hero-photo>img{border-radius:55px 12px 12px 12px;object-position:center 54%}.hero-photo figcaption{font-size:9px}.photo-note{bottom:53px;right:10px;font-size:14px;padding:14px 18px;gap:23px}.city-strip>.container{padding-block:17px;gap:15px}.city-strip>.container>span:first-child{font-size:10px}.city-strip a{font-size:11px;gap:8px}.section{padding-top:38px}.section-heading{align-items:flex-start;flex-wrap:wrap;margin-bottom:20px;gap:12px}.section-heading h2{font-size:27px}.section-heading .text-link{min-height:30px}.category-grid{grid-template-columns:1fr}.category-row{gap:14px;padding:17px 0}.category-row strong{font-size:14px}.category-row small{font-size:11px}.category-icon{width:43px;height:43px}.category-meta{font-size:11px}.category-meta>span{font-size:18px}.featured-cities{grid-template-columns:1fr;gap:28px}.city-feature img{aspect-ratio:1.85}.city-feature h3{font-size:23px;margin-top:14px}.city-feature p{font-size:12px}.inline-search{width:100%;margin-top:6px}.city-links{grid-template-columns:1fr 1fr;column-gap:22px}.city-links a{font-size:12px;min-height:60px}.city-index{padding-bottom:20px}.join-banner{margin-top:40px}.join-content h2{font-size:27px}.join-content p{font-size:12px}.join-content>.button{width:100%;justify-content:space-between;font-size:12px}.site-footer{padding-top:38px}.footer-grid{grid-template-columns:1fr 1fr;gap:27px;padding-bottom:30px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid .brand{margin-bottom:14px}.footer-grid h2{font-size:12px;margin-bottom:10px}.footer-grid>div>a:not(.brand){font-size:11px;min-height:40px;padding-block:8px}.footer-bottom{flex-direction:column;gap:5px;font-size:9px;padding-block:18px}.page-head{padding-block:27px 20px}.page-head h1{font-size:37px;margin-bottom:18px}.page-head>p{font-size:14px}.breadcrumbs{font-size:10px;gap:8px;margin-bottom:23px}.category-picker{grid-template-columns:1fr;gap:20px;padding:20px;margin-top:25px}.category-picker .button{margin-top:3px}.category-group{margin-bottom:32px}.category-group>h2{font-size:23px}.directory-head{padding-block:25px}.directory-title{flex-direction:column;gap:22px}.directory-title h1{font-size:33px}.directory-title p{font-size:13px;margin-top:13px}.city-switch{width:100%;display:flex;align-items:center;gap:15px;font-size:11px;white-space:nowrap}.city-switch select{margin:0;flex:1;font-size:12px;min-height:42px}.directory{width:calc(100% - 24px);border-radius:12px;margin-bottom:30px}.directory-tabs{gap:0;padding-inline:8px}.directory-tabs button{font-size:12px;padding:15px 12px;gap:7px;min-height:57px}.directory-tabs button span{font-size:10px}.directory-body{grid-template-columns:1fr}.directory-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:20px}.directory-sidebar h2{margin-bottom:15px;font-size:15px}.directory-sidebar form{display:grid;grid-template-columns:1fr 1fr;gap:13px}.directory-sidebar label{margin:0;font-size:11px}.directory-sidebar label:first-child{grid-column:1/-1}.directory-sidebar input,.directory-sidebar select{font-size:12px;margin-top:6px}.directory-sidebar .button{grid-column:1/-1;margin:2px 0 0}.sidebar-note{display:none}.clear-filters{grid-column:1/-1;margin-top:0}.directory-results{padding:25px 20px}.directory-results h2{font-size:23px}.directory-results .category-row strong{font-size:14px}.directory-results .category-row small{font-size:11px}.directory-results .category-meta{font-size:0}.empty-state{padding:35px 17px 40px}.empty-state h3{font-size:24px}.empty-state p{font-size:13px}.empty-actions{flex-direction:column;gap:8px}.map-wrap{height:410px}.map-popup{right:12px;width:230px;padding:19px}.results-heading{margin-bottom:20px}.info-layout{grid-template-columns:1fr;gap:30px;padding-bottom:40px}.info-content{font-size:15px}.info-content h2{font-size:25px;margin-top:30px}.info-content .lead{font-size:21px}.info-aside{padding:23px}.info-aside a{min-height:50px}.business-cover{border-radius:10px}.business-cover img{height:240px}.profile-layout{grid-template-columns:1fr;gap:32px;padding-block:28px 40px}.profile-main h1{font-size:35px}.profile-summary{font-size:16px}.profile-section{margin-top:30px}.profile-section h2{font-size:25px}.profile-contact{padding:25px;grid-row:1}.service-list{columns:1}.profile-gallery{gap:10px}.error-page{padding-block:65px 80px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(prefers-reduced-motion:no-preference){.hero-photo>img{animation:photo-reveal .9s var(--ease) both}@keyframes photo-reveal{from{clip-path:inset(0 0 8% 0 round 120px 16px 16px 16px)}to{clip-path:inset(0 0 0 0 round 120px 16px 16px 16px)}}}

/* Marca tipográfica e arquivos com navegação lateral. */
.brand{gap:0}
.brand strong{font-size:36px;letter-spacing:-.04em;line-height:1;font-weight:800}
.brand-dot{color:#99720d}
.brand-tld{font-size:1em;font-weight:650;letter-spacing:-.035em}
.brand small{font-size:9px;margin-top:9px;letter-spacing:.025em}
.footer-grid .brand strong{font-size:32px}
.footer-grid .brand small{font-size:8px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
html:has(.directory-page){height:100%;overflow:hidden}
.directory-page{height:100dvh;overflow:hidden;display:flex;flex-direction:column}
.directory-page>.site-header{flex:0 0 auto}
.directory-page #conteudo{display:flex;flex:1 1 auto;flex-direction:column;width:100%;min-width:0;min-height:0}
.directory-page .directory-head{flex:0 0 auto;padding:15px 24px 16px;background:var(--paper);border-bottom:1px solid var(--line)}
.directory-page .directory-head .breadcrumbs{font-size:10px;margin-bottom:8px}
.directory-page .directory-head h1{font-size:24px;letter-spacing:-.03em;line-height:1.3;color:var(--green-dark)}
.directory-page .directory-head p{font-size:12px;color:var(--muted);margin:7px 0 0;line-height:1.5}
.directory-page .directory{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;min-width:0;width:100%;margin:0;border:0;border-radius:0;overflow:hidden;background:var(--white)}
.directory-toolbar{display:flex;flex:0 0 auto;align-items:stretch;gap:16px;background:#eff2e9;border-bottom:1px solid var(--line);min-width:0}
.directory-page .directory-tabs{display:flex;flex:1 1 auto;min-width:0;gap:8px;padding:0 16px;border:0;background:transparent;overscroll-behavior-inline:contain}
.directory-page .directory-tabs button{min-height:52px;padding:13px 16px;font-size:13px}
.directory-tools{display:flex;align-items:center;gap:8px;padding-right:15px;flex:0 0 auto}
.directory-tools button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;min-width:38px;padding:8px;border:1px solid #bccbb7;border-radius:7px;background:#fff;color:var(--green);font-size:12px;font-weight:700}
.directory-tools button:hover{background:var(--green);color:#fff}
.directory-tools .icon{width:19px;height:19px}
.directory-tools .filters-toggle{display:none}
.directory-page .directory-body{display:grid;grid-template-columns:264px minmax(0,1fr);position:relative;flex:1 1 auto;min-height:0;min-width:0;align-items:stretch;overflow:hidden}
.directory-page .directory-sidebar{grid-column:1;grid-row:1;min-height:0;min-width:0;padding:23px 20px;overflow-y:auto;overscroll-behavior:contain;border-right:1px solid var(--line);border-bottom:0;background:#fafbf7;scrollbar-width:thin;scrollbar-color:#a9beae transparent}
.sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:23px}
.directory-sidebar .sidebar-heading h2{font-size:16px;margin:0}
.sidebar-heading button{display:none;min-height:40px;min-width:40px;align-items:center;justify-content:center;border:1px solid #bccbb7;border-radius:7px;background:white;color:var(--green)}
.directory-page .city-switch{display:block;width:100%;white-space:normal;margin:0}
.directory-page .city-switch select{margin-top:8px;font-size:13px;min-height:45px}
.directory-page .directory-sidebar form{display:block}
.directory-page .directory-sidebar form>label{display:block;margin:19px 0 0;font-size:12px}
.directory-page .directory-sidebar form input:not([type="checkbox"]),.directory-page .directory-sidebar form select{font-size:12px;margin-top:8px;min-height:45px;padding:10px 11px}
.directory-page .directory-sidebar form .button{margin-top:22px;font-size:12px;width:100%;min-height:45px}
.directory-page .clear-filters{margin-top:14px}
.directory-page .sidebar-note{display:block;margin-top:28px;padding-top:23px}
.sidebar-join{display:flex!important;align-items:center;justify-content:space-between;min-height:44px;margin-top:18px}
.directory-page .directory-results{display:flex;flex-direction:column;grid-column:2;grid-row:1;position:relative;min-height:0;min-width:0;overflow:hidden;padding:0}
.directory-results>[data-panel]{flex:1 1 auto;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:28px 30px;scrollbar-width:thin;scrollbar-color:#a9beae transparent}
.directory-page .directory-results .category-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px}
.directory-page .directory-results .category-row{padding-block:19px}
.directory-page .directory-results .category-row strong{font-size:14px}
.directory-page .directory-results .category-icon{height:43px;width:43px}
.directory-page .directory-results h2{font-size:25px}
.directory-page .results-heading{flex-direction:row;align-items:center}
.directory-page .empty-state{margin:0;padding:58px 35px}
.directory-page .directory-results>[data-panel=mapa]{display:flex;flex-direction:column;overflow:hidden;padding:0;background:#e8eddf}
.directory-page [data-panel=mapa] .map-wrap{flex:1 1 auto;min-height:0;width:100%;height:auto;border-radius:0}
.directory-map-footer{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:16px;min-height:35px;background:#fafbf7;border-top:1px solid var(--line);padding:7px 14px;font-size:10px;line-height:1.5;color:var(--muted)}
.directory-map-footer a{color:var(--green);text-decoration:underline;flex-shrink:0}
.directory-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:0 0 auto;min-height:38px;padding:5px 20px;background:var(--paper);border-top:1px solid var(--line);font-size:10px;line-height:1.5;color:var(--muted)}
.directory-footer-brand{color:var(--green);font-weight:800;font-size:14px;letter-spacing:-.035em}
.directory-footer nav{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.directory-footer nav a{display:flex;align-items:center;min-height:28px}
.directory-footer a:hover{text-decoration:underline}
.directory-scrim{position:absolute;inset:0;z-index:4;border:0;background:#103c2b55;cursor:pointer}
.directory-page.is-directory-expanded>.site-header,.directory-page.is-directory-expanded .directory-head{display:none}
.directory-page.is-directory-expanded [data-layout-toggle]{background:var(--green);color:white}
.directory-page.is-directory-expanded [data-layout-toggle] svg{transform:rotate(180deg)}
@media(min-width:1600px){.directory-page .directory-results .category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.directory-page .directory-results .category-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:25px}.directory-page .directory-results .category-row{gap:11px}.directory-page .directory-results .category-row strong{font-size:13px}.directory-page .directory-results .category-icon{width:36px;height:36px}.directory-page .directory-results .category-meta{display:none}}
@media(max-width:800px){
 .brand strong{font-size:32px}.brand small{font-size:8px}.footer-grid .brand strong{font-size:30px}.footer-grid .brand small{font-size:8px}
 .directory-page .directory-head{padding:13px 18px}
 .directory-page .directory-head h1{font-size:22px}
 .directory-page .directory-head p{font-size:11px}
 .directory-page .directory-body{grid-template-columns:minmax(0,1fr)}
 .directory-page .directory-results{grid-column:1}
 .directory-enhanced .directory-sidebar{position:absolute;inset:0 auto 0 0;z-index:5;width:min(320px,calc(100% - 28px));visibility:hidden;transform:translateX(-105%);box-shadow:6px 0 28px #103c2b24;transition:transform .25s var(--ease)}
 .directory-enhanced .is-filters-open .directory-sidebar{transform:translateX(0);visibility:visible}
 .directory-tools .filters-toggle{display:inline-flex}
 .sidebar-heading button{display:inline-flex}
 .directory-toolbar{gap:8px}
 .directory-page .directory-tabs{padding-inline:6px;gap:0}
 .directory-page .directory-tabs button{padding-inline:11px;gap:7px;font-size:12px;min-height:50px}
 .directory-tools{padding-right:10px;gap:6px}
 .directory-tools button{min-height:40px;min-width:40px}
 .directory-results>[data-panel]{padding:23px}
 .directory-page .directory-results .category-grid{column-gap:24px}
}
@media(max-width:600px){
 .directory-page .directory-head{padding:10px 14px 12px}
 .directory-page .directory-head h1{font-size:19px;line-height:1.3}
 .directory-page .directory-head .breadcrumbs{font-size:9px;margin-bottom:6px}
 .directory-page .directory-head p{font-size:10px;line-height:1.5;margin-top:5px}
 .directory-toolbar{gap:4px}
 .directory-page .directory-tabs{padding-inline:3px}
 .directory-page .directory-tabs button{font-size:11px;gap:5px;padding:12px 9px;min-height:48px}
 .directory-page .directory-tabs button .icon{width:14px;height:14px}
 .directory-page .directory-tabs button span{font-size:9px;padding-inline:4px}
 .directory-tools{gap:4px;padding-right:6px}
 .directory-tools button{min-width:38px;min-height:38px;padding:7px}
 .directory-tools .filters-toggle span{display:none}
 .directory-tools .icon{height:18px;width:18px}
 .directory-results>[data-panel]{padding:23px 17px}
 .directory-page .directory-results h2{font-size:23px}
 .directory-page .directory-results .category-grid{grid-template-columns:minmax(0,1fr)}
 .directory-page .directory-results .category-row strong{font-size:14px}
 .directory-page .directory-results .category-icon{width:40px;height:40px}
 .directory-page .directory-results .category-meta{display:flex}
 .directory-page .empty-state{padding:37px 20px}
 .directory-page .results-heading{flex-direction:column;align-items:flex-start;gap:7px}
 .directory-map-footer{gap:8px;font-size:9px;padding:7px 10px;min-height:33px}
 .directory-map-footer a{font-size:0}
 .directory-map-footer a>span{font-size:14px}
 .directory-footer{padding:4px 12px;gap:10px;min-height:36px;font-size:9px}
 .directory-footer nav{gap:12px}
 .directory-footer-brand{font-size:12px}
}
@media(max-width:380px){.directory-page .directory-tabs button>span{display:none}.directory-page .directory-tabs button{padding-inline:9px;font-size:10px}.directory-page .directory-tabs button .icon{display:none}}

/* Cadastro de empresas: apresentação e oferta do Anápolis Club, na identidade do goiás.cc. */
.join-section .section-head{display:grid;gap:12px;margin-bottom:28px}
.join-section .section-head h2{font-size:32px;color:var(--green-dark)}
.join-section .section-head p{margin:0;color:var(--muted);font-size:15px}
.join-section .section-kicker{font-size:11px!important;letter-spacing:.05em;text-transform:uppercase;font-weight:750;color:var(--green)!important}
.join-section .criteria-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.join-section .criteria{display:grid;align-content:start;gap:14px;padding:25px;border:1px solid var(--line);border-radius:14px;background:var(--white)}
.join-section .criteria h3{font-size:19px;letter-spacing:-.02em}
.join-section .criteria p{font-size:14px;color:var(--muted);margin:0}
.join-hero p,.join-benefit p,.join-cta p{margin-bottom:0}
.join-hero .breadcrumbs{margin-bottom:4px}
.join-hero .button.primary,.join-cta .button.primary{background:var(--yellow);color:var(--green-dark)}
.join-hero .button.primary:hover,.join-cta .button.primary:hover{background:#f8d979}
.join-hero {
  display: grid;
  justify-items: center;
  gap: 16px;
  width: min(calc(100% - 80px), 860px);
  margin-inline: auto;
  padding: 28px 0 0;
  text-align: center;
}

.join-hero .breadcrumbs {
  justify-content: center;
}

.join-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 6px 13px 6px 11px;
  border: 1px solid rgba(22, 75, 54, 0.14);
  border-radius: 999px;
  background: #e9eee2;
  color: var(--green);
  font-size: 0.82rem;
  font-weight: 700;
}

.join-kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #c79a22;
  box-shadow: 0 0 0 3px rgba(241,203,88,.35);
}

.join-hero h1 {
  color: var(--green-dark);
  font-size: clamp(2rem, 1.2rem + 2.6vw, 3.25rem);
  line-height: 1.06;
  letter-spacing: -0.03em;
}

.join-lead {
  color: var(--muted);
  font-size: clamp(1.02rem, 0.95rem + 0.3vw, 1.15rem);
  line-height: 1.6;
  text-wrap: pretty;
}

.join-offer {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 10px;
  width: min(100%, 420px);
  margin-top: 18px;
  padding: 34px clamp(20px, 4vw, 32px) 24px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(241,203,88,.14), rgba(255, 255, 255, 0) 130px),
    var(--white);
  box-shadow: 0 12px 30px rgba(16,60,43,.12);
}

.join-offer-badge {
  position: absolute;
  top: 0;
  left: 50%;
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  background: var(--green-dark);
  color: var(--yellow);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
  transform: translate(-50%, -50%);
}

.join-price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  gap: 2px 10px;
  color: var(--green-dark);
}

.join-price-old {
  color: var(--muted);
  font-size: 1.05rem;
  font-weight: 600;
}

.join-price strong {
  font-size: clamp(3rem, 2.4rem + 2vw, 3.75rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.04em;
}

.join-offer-note {
  color: var(--muted);
  font-size: 0.95rem;
  font-weight: 600;
}

.join-offer .button {
  width: 100%;
  min-height: 52px;
  margin-top: 6px;
  font-size: 1rem;
}

.join-offer-link,
.join-faq-link {
  color: var(--green);
  font-size: 0.95rem;
  font-weight: 700;
  text-decoration: none;
}

.join-offer-link:hover,
.join-faq-link:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.join-section .section-head {
  justify-items: center;
  text-align: center;
}

.join-benefits {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
}

.join-benefit {
  display: grid;
  grid-column: span 2;
  justify-items: center;
  align-content: start;
  gap: 10px;
  padding: 26px 22px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--white);
  box-shadow: none;
  text-align: center;
}

.join-benefit.is-soon {
  border-style: dashed;
  border-color: #bccbb7;
  background: #eef2e8;
  box-shadow: none;
}

.join-benefit-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: #e9eee2;
  color: var(--green);
}

.join-benefit.is-soon .join-benefit-icon {
  background: var(--white);
}

.join-benefit-icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.join-benefit h3 {
  color: var(--green-dark);
  font-size: 1.08rem;
  line-height: 1.3;
}

.join-benefit p {
  color: var(--muted);
  font-size: 0.95rem;
}

.join-soon {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  margin-left: 4px;
  padding: 0 8px;
  border-radius: 999px;
  background: var(--yellow);
  color: var(--green-dark);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  vertical-align: 0.15em;
}

.join-steps {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.join-steps .criteria {
  justify-items: center;
  text-align: center;
}

.join-steps .criteria span {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--yellow);
  color: var(--green-dark);
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0;
}

.join-cta {
  display: grid;
  justify-items: center;
  gap: 14px;
  width: min(calc(100% - 80px), 1360px);
  margin: 65px auto 0;
  padding: clamp(36px, 5vw, 60px) clamp(20px, 4vw, 48px);
  border-radius: 22px;
  background:
    radial-gradient(circle at 50% 0%, rgba(241,203,88,.18), transparent 55%),
    linear-gradient(135deg, var(--green) 0%, var(--green-dark) 100%);
  color: #fff;
  text-align: center;
}

.join-cta h2 {
  color: #fff;
}

.join-cta p {
  color: rgba(255, 255, 255, 0.86);
  font-size: 1.05rem;
}

.join-cta p strong {
  color: var(--yellow);
}

.join-cta .button.primary {
  min-height: 52px;
  padding-inline: 28px;
  font-size: 1rem;
}

.join-cta .join-cta-small {
  font-size: 0.92rem;
}

.join-cta-small a {
  color: #fff;
  font-weight: 700;
}

@media (max-width: 920px) {
  .join-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .join-benefit {
    grid-column: auto;
  }
}

@media (max-width: 760px) {
  .join-hero {
    padding-top: 18px;
  }

  .join-benefits,
  .join-steps {
    grid-template-columns: 1fr;
  }

  .join-benefit {
    padding: 22px 18px;
  }
}


/* Explicação complementar ao final do cadastro. */
.join-video-section { padding-block: 0; }
.join-video-panel { border: 1px solid var(--line); border-radius: var(--radius); background: #eef2e8; overflow: hidden; }
.join-video-content { display: grid; gap: 18px; padding: 24px; }
.join-video-content > p { margin: 0; color: var(--muted); font-size: .94rem; line-height: 1.65; }
.join-video-frame { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--green-dark); }
.join-video-frame iframe { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; }
.join-video-link { justify-self: start; font-size: .85rem; font-weight: 650; }
@media (max-width: 680px) {
  .join-video-content { padding: 18px; }
}
.join-video-heading { padding: 20px 24px; border-bottom: 1px solid var(--line); }
.join-video-heading h2 { margin: 0; font-size: 1.15rem; line-height: 1.4; }
@media (max-width: 680px) { .join-video-heading { padding: 18px; } }
.join-section .join-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
.join-cta{margin-bottom:55px}
.join-video-section{padding-top:65px;padding-bottom:0}
@media(max-width:800px){.join-hero,.join-cta{width:calc(100% - 40px)}.join-section .section-head h2{font-size:28px}}
@media(max-width:760px){.join-section .join-steps,.join-section .criteria-grid{grid-template-columns:minmax(0,1fr)}.join-section .section-head h2{font-size:27px}.join-hero{gap:16px}.join-hero h1{font-size:36px}.join-section .criteria{padding:23px}.join-offer{padding-inline:20px}.join-offer .button{font-size:14px}.join-cta{margin-top:45px}.join-cta h2{font-size:27px}.join-cta p{font-size:14px}}

.category-row .category-count{color:var(--green);font-weight:750;margin-top:6px;font-size:10px}
.directory-footer nav{column-gap:16px}
@media(max-width:600px){.directory-footer{flex-wrap:wrap;row-gap:0}.directory-footer nav{column-gap:10px}}

/* Navegação por disponibilidade e balões vinculados aos marcadores. */
.empty-categories{margin-top:28px;border-top:1px solid var(--line);padding-top:18px}
.empty-categories summary{cursor:pointer;color:var(--green);font-size:14px;font-weight:750;padding-block:12px}
.empty-categories summary span{font-size:12px;font-weight:500;margin-left:8px;color:var(--muted)}
.map-popup{top:0;left:0;right:auto;bottom:auto;width:min(290px,calc(100% - 24px));padding:18px;z-index:4;line-height:1.5;max-height:calc(100% - 24px);overflow:visible}
.map-popup strong{font-size:15px;padding-right:30px;overflow-wrap:anywhere}
.map-popup p{font-size:12px;margin:8px 0 0;color:var(--muted)}
.map-popup .map-popup-address{color:var(--ink);display:flex;gap:7px;align-items:flex-start;margin-top:12px}
.map-popup-address .icon{width:16px;height:16px;flex:0 0 16px;margin-top:2px}
.map-popup .map-popup-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin-top:14px}
.map-popup .map-popup-actions a{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin:0;text-underline-offset:3px}
.map-popup-actions .icon{width:17px;height:17px;flex-shrink:0}
.map-popup .popup-close{top:3px;right:3px;width:44px;height:44px;display:grid;place-items:center}
.map-popup::after{content:"";position:absolute;left:var(--popup-anchor-x,50%);bottom:-6px;width:12px;height:12px;background:white;transform:translateX(-50%) rotate(45deg)}
.map-popup.is-below::after{bottom:auto;top:-6px}
.map-pin.is-selected{color:#99720d;z-index:2}
.map-controls{z-index:2}.map-attribution{z-index:2}
@media(max-width:600px){.empty-categories summary span{display:block;margin:4px 0 0 18px}.map-popup{padding:16px}}

.map-popup-content{max-height:var(--popup-content-height,280px);overflow-y:auto;overscroll-behavior:contain}

/* Locais, seleção de atividades e agrupamento do mapa */
.category-multiple{border:1px solid var(--line);border-radius:8px;margin:0 0 20px;background:var(--paper,#f7f7f0)}
.category-multiple summary{cursor:pointer;padding:12px;font-size:12px;font-weight:750;min-height:44px}
.category-multiple summary>span{display:block;font-size:11px;font-weight:500;color:var(--muted);margin-top:5px}
.category-multiple fieldset{border:0;padding:0 10px;margin:0;max-height:270px;overflow-y:auto;overscroll-behavior:contain}
.directory-sidebar .category-choice{display:grid;grid-template-columns:18px 18px minmax(0,1fr);align-items:center;gap:8px;margin:0;padding:8px 0;font-size:11px;min-height:44px;line-height:1.5;cursor:pointer}
.directory-sidebar .category-choice input[type="checkbox"]{display:block;box-sizing:border-box;appearance:auto;width:18px;height:18px;min-width:18px;min-height:18px;margin:0;padding:0;accent-color:var(--green);cursor:pointer}
.category-choice-icon .icon{width:18px;height:18px}.category-choice>span:last-child{flex:1}.category-choice small{color:var(--muted);font-variant-numeric:tabular-nums}
.category-multiple>p{padding:10px 12px;margin:0;font-size:11px;line-height:1.6;color:var(--muted)}
.place-list{display:grid;gap:0}.place-list>.business-card{margin-bottom:20px;display:grid;grid-template-columns:160px 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden}.place-list>.business-card>img{height:100%;min-height:150px;object-fit:cover;width:100%}
.place-row{display:flex;align-items:flex-start;gap:15px;padding:20px 0;border-bottom:1px solid var(--line)}
.place-symbol{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border:1px solid currentColor;border-radius:50%;background:white}.place-symbol .icon{width:22px;height:22px}
.place-information{flex:1;min-width:0}.place-information small{font-size:11px;color:var(--muted)}.place-information h3{font-size:16px;margin:5px 0 8px;line-height:1.4;overflow-wrap:anywhere}.place-information p{font-size:12px;margin:4px 0;color:var(--muted);line-height:1.6}.place-actions{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.place-actions .text-link{font:inherit;font-size:11px;cursor:pointer;border:0;background:transparent;padding:10px 0;min-height:44px;color:var(--green)}.place-actions .icon{height:16px;width:16px}
.map-pin{width:36px;height:44px}.map-pin>svg{width:100%;height:100%}.map-pin svg svg{filter:none}
.map-cluster{position:absolute;transform:translate(-50%,-50%);border:3px solid var(--green);border-radius:50%;background:#fff;color:var(--green);width:49px;height:49px;cursor:pointer;font:800 15px/1 var(--font,Manrope,sans-serif);box-shadow:0 3px 8px #103c2b30;display:grid;place-content:center;gap:4px;font-variant-numeric:tabular-nums}.map-cluster:hover{background:#eef3e8;z-index:3}.map-cluster:focus-visible{outline:3px solid #f1cb58;outline-offset:3px}.cluster-colors{display:flex;gap:2px;justify-content:center}.cluster-colors i{width:5px;height:5px;border-radius:50%}.cluster-place{display:block;text-align:left;padding:12px 0;width:100%;border:0;border-bottom:1px solid var(--line);background:none;color:var(--green);font:inherit;font-size:12px;cursor:pointer;min-height:44px}
@media(max-width:800px){.directory-sidebar form .category-multiple{grid-column:1/-1}.category-multiple fieldset{max-height:230px}.category-choice>span:last-child{white-space:normal}.place-actions{align-items:flex-start;flex-direction:row;gap:16px}.place-row{flex-wrap:wrap;gap:12px}.place-actions{padding-left:52px;width:100%}.place-list>.business-card{grid-template-columns:100px 1fr}.place-list>.business-card>img{min-height:130px}.place-information h3{font-size:15px}}

.map-cluster{pointer-events:auto}.map-pin svg svg{width:22px;height:22px;filter:none}
@media(min-width:801px){.place-actions{flex-direction:row;align-items:center;gap:20px}.place-row{padding-block:16px}}

.category-choice-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px}
.category-multiple fieldset{min-inline-size:0;box-sizing:border-box;width:100%}

/* Opções compactas e alinhadas no painel lateral, inclusive em telas estreitas. */
.directory-page .directory-sidebar form details.category-multiple fieldset>label.category-choice{display:grid;grid-template-columns:18px minmax(0,1fr);grid-template-areas:"check content";align-items:center;gap:8px;min-height:44px;margin:0;padding:6px 0;line-height:1.4}
.directory-page .directory-sidebar form details.category-multiple fieldset>label.category-choice>input[type="checkbox"]{grid-area:check;display:block;box-sizing:border-box;appearance:auto;width:18px;height:18px;min-width:18px;min-height:18px;margin:0;padding:0;accent-color:var(--green)}
.category-choice-content{grid-area:content;display:flex;align-items:center;gap:6px;min-width:0}
.category-choice-content .category-choice-icon{flex:0 0 18px}
.category-choice-name{min-width:0;overflow-wrap:anywhere}
.category-choice-name small{margin-left:2px}
