/* MyPlace visual 2026; Inter OFL, Lucide ISC; existing routes and forms preserved. */
@font-face{font-family:InterVariable;font-style:normal;font-weight:100 900;font-display:swap;src:url(assets/InterVariable.woff2) format("woff2")}
:root{--font:InterVariable,Inter,ui-sans-serif,system-ui,sans-serif;--radius:16px}
body.myplace-portal{font-size:14px;font-family:var(--font);background:var(--paper);font-feature-settings:"cv02","cv03","cv04","cv11";font-optical-sizing:auto}
.myplace-portal h1,.myplace-portal h2,.myplace-portal h3{letter-spacing:-.035em;text-wrap:balance}
.myplace-portal .container{width:calc(100% - 48px);max-width:1400px}
.myplace-portal .utility-bar{display:none}
.myplace-portal .site-header{background:var(--color-surface);border:0;border-bottom:1px solid var(--line);box-shadow:0 2px 12px var(--color-shadow)}
.myplace-portal .header-inner{height:72px;min-height:72px;gap:22px;padding-block:0}
.myplace-portal .brand{gap:9px;flex:none}
.myplace-portal .brand-mark{height:42px;width:42px;color:var(--blue)}
.myplace-portal .brand-mark svg{height:42px;width:42px}
.myplace-portal .brand-name{font-size:26px;font-weight:550;letter-spacing:-.06em;line-height:1.1;color:var(--color-text-strong)}
.myplace-portal .brand-name strong{font-weight:820;color:var(--color-primary)}
.myplace-portal .brand-tagline{font-size:10px;font-weight:500;letter-spacing:0;color:var(--muted);margin-top:3px}
.myplace-portal .main-nav{gap:2px;margin-left:auto}
.myplace-portal .main-nav a{display:flex;align-items:center;gap:6px;padding:10px 9px;font-size:12px;font-weight:600;white-space:nowrap;border-radius:9px;color:var(--color-primary-dark)}
.myplace-portal .main-nav .svg-icon{width:16px;height:16px}
.myplace-portal .main-nav a.active{color:var(--blue);background:var(--color-primary-faint)}
.myplace-portal .header-actions{gap:5px;margin-left:0}
.myplace-portal .location-pill{max-width:160px;font-size:11px;min-height:38px;border:0;background:var(--color-surface)}
.myplace-portal .header-actions .btn{min-height:40px;padding:9px 13px;font-size:12px;border-radius:10px}
.myplace-portal .header-actions>.btn .announce-label{display:none}
.myplace-portal .header-actions>.btn .announce-short{display:inline}
.myplace-portal .hero--home{height:205px!important;min-height:0!important;margin:16px auto 0;width:calc(100% - 48px);max-width:1400px;border-radius:20px;overflow:hidden}
.myplace-portal .hero--home .hero-content{padding-top:25px;width:calc(100% - 56px)}
.myplace-portal .hero--home .hero-title{font-size:38px;line-height:1.02;max-width:480px;font-weight:750}
.myplace-portal .hero--home .hero-copy{font-size:13px;margin-top:10px;max-width:430px;line-height:1.55}
.myplace-portal .hero-kicker{font-size:9px;letter-spacing:.11em;margin-bottom:10px}
.myplace-portal .hero--home .hero-actions{display:none}
.myplace-portal .hero--home .hero-bottom{bottom:16px;justify-content:flex-end}
.myplace-portal .hero--home .hero-location{margin-right:12px;font-size:10px}
.myplace-portal .hero--home .hero-controls{gap:6px}.myplace-portal .hero--home .hero-pause{height:28px;width:28px}
.myplace-portal .hero--home .hero-shade{background:linear-gradient(90deg,var(--color-overlay),var(--color-overlay) 65%,var(--color-shadow-medium))}
.myplace-portal .home-search-wrap{position:relative;z-index:2;margin-top:-10px;padding-inline:24px}
.myplace-portal .hero-search{min-height:66px;padding:10px 12px 10px 20px;border-radius:14px;border:1px solid var(--line);box-shadow:0 8px 22px var(--color-shadow);gap:12px}
.myplace-portal .search-field>span{font-size:9px;letter-spacing:.08em;margin-bottom:1px}
.myplace-portal .search-field input,.myplace-portal .search-field select{font-size:13px}
.myplace-portal .search-submit{min-height:42px;border-radius:10px}
.myplace-portal .category-strip{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;padding:18px 0 5px;border:0;overflow:visible}
.myplace-portal .category-item{display:flex;flex-direction:column;justify-content:center;gap:5px;font-size:11px;font-weight:600;min-width:0;white-space:nowrap}
.myplace-portal .category-icon{background:var(--color-surface);border:1px solid var(--line);border-radius:14px;width:42px;height:42px;box-shadow:none}
.myplace-portal .category-icon .svg-icon{width:21px;height:21px;stroke-width:1.8}
.myplace-portal .category-item:hover .category-icon{background:var(--color-primary-faint);color:var(--blue);border-color:var(--color-border)}
.myplace-portal .section{padding-block:26px}
.myplace-portal .section-tight{padding-block:20px}
.myplace-portal .section-top{margin-bottom:16px;gap:16px}
.myplace-portal .section-top h2{font-size:23px}
.myplace-portal .eyebrow{font-size:9px;letter-spacing:.11em;font-weight:700;margin-bottom:5px;color:var(--color-primary)}
.myplace-portal .text-link{font-size:12px;gap:6px;padding:7px 0}
.myplace-portal .compact-heading{padding-block:12px;margin-block:0}
.myplace-portal .page-heading{padding-top:24px;padding-bottom:4px}
.myplace-portal .compact-heading h1{font-size:29px;line-height:1.17;max-width:none}
.myplace-portal .compact-heading>p:last-child{font-size:13px;line-height:1.65;margin:7px 0 0;max-width:none}
.myplace-portal .breadcrumb{font-size:11px;gap:8px;margin:0 0 10px;padding:0}
.myplace-portal .breadcrumb .svg-icon{width:12px;height:12px}
.myplace-portal .page-intro{display:none}
.myplace-portal .filter-panel{border-radius:14px;padding:16px;background:var(--color-surface);border:1px solid var(--line);margin-bottom:12px;box-shadow:0 5px 18px var(--color-shadow)}
.myplace-portal .filter-row{gap:10px}
.myplace-portal .filter-control>span{font-size:11px;margin-bottom:4px}
.myplace-portal .filter-input,.myplace-portal .filter-select{font-size:13px;min-height:40px;border-radius:9px}
.myplace-portal .filter-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px;padding-top:0;border:0}
.myplace-portal .chip{font-size:12px;min-height:35px;border:1px solid var(--line);background:var(--color-surface);border-radius:9px;padding:6px 10px;gap:7px}
.myplace-portal .chip .svg-icon{width:17px;height:17px}
.myplace-portal .chip.active{background:var(--color-primary-faint);border-color:var(--color-border);color:var(--color-primary)}
.myplace-portal .results-bar{margin-bottom:12px}.myplace-portal .results-count,.myplace-portal .sort-control{font-size:12px}
.myplace-portal .listing-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.myplace-portal .listing-card{border-radius:14px;border:1px solid var(--line);background:var(--color-surface);box-shadow:0 4px 14px var(--color-shadow);overflow:hidden;transition:transform .18s,box-shadow .18s}
.myplace-portal .listing-card:hover{transform:translateY(-3px);box-shadow:0 10px 22px var(--color-shadow)}
.myplace-portal .listing-image{aspect-ratio:4/3;height:auto;overflow:hidden}
.myplace-portal .listing-image img{aspect-ratio:4/3;object-fit:contain;height:100%;width:100%;background:var(--color-primary-faint)}
.myplace-portal .listing-body{padding:12px}
.myplace-portal .listing-title{font-size:14px;line-height:1.35;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:7px 0 4px}
.myplace-portal .listing-category{font-size:10px}.myplace-portal .listing-category>span{font-size:9px}
.myplace-portal .listing-subtitle{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.myplace-portal .listing-meta{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin-top:10px}
.myplace-portal .listing-price{font-size:19px;letter-spacing:-.04em}
.myplace-portal .listing-location{font-size:11px}.myplace-portal .listing-location .svg-icon{width:12px;height:12px}
.myplace-portal .listing-badge{font-size:9px;padding:5px 7px;top:9px;left:9px;border-radius:7px}
.myplace-portal .favorite-button{height:34px;width:34px;top:8px;right:8px;box-shadow:0 2px 10px var(--color-shadow)}
.myplace-portal .favorite-button .svg-icon{width:18px;height:18px}
.myplace-portal .favorite-button.is-saved .svg-icon{fill:var(--color-primary-faint);stroke:var(--color-primary)}
.portal-daily-grid{display:grid;grid-template-columns:1.15fr 1fr .85fr;gap:18px}
.daily-news,.daily-agenda,.daily-utilities{min-width:0;border:1px solid var(--line);border-radius:16px;background:var(--color-surface);padding:16px}
.panel-title{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:var(--blue)}
.panel-title h3{font-size:14px;color:var(--ink);flex:1}.panel-title .svg-icon{width:20px;height:20px}
.myplace-portal .story-card{background:var(--color-surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 5px 20px var(--color-shadow);display:flex;flex-direction:column}
.myplace-portal .story-image{display:block;aspect-ratio:1.8;overflow:hidden;background:var(--color-primary-faint)}
.myplace-portal .story-image img{width:100%;height:100%;object-fit:contain;object-position:center}
.myplace-portal .story-content{padding:15px;min-width:0}
.myplace-portal .story-title{font-size:17px;line-height:1.35;margin:7px 0}
.myplace-portal .story-content>p{font-size:12px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.myplace-portal .story-category{font-size:10px;font-weight:650;line-height:1.5;letter-spacing:.01em}
.myplace-portal .story-meta{font-size:10px;line-height:1.6;display:flex;flex-wrap:wrap;gap:4px;margin-top:9px;color:var(--muted)}
.myplace-portal .story-meta .svg-icon{width:12px;height:12px}
.story-source{display:block;color:var(--color-primary);font-size:11px;font-weight:600;margin-top:8px}
.news-symbol{display:flex;align-items:center;justify-content:center;height:100%;background:var(--color-primary-faint);color:var(--color-primary)}
.news-symbol .svg-icon{width:46px;height:46px;stroke-width:1.2}
.myplace-portal .daily-news .story-card{flex-direction:row;border:0;box-shadow:none;border-radius:0;padding:12px 0;gap:12px;border-bottom:1px solid var(--color-primary-faint)}
.myplace-portal .daily-news .story-card:first-child{padding-top:0}.myplace-portal .daily-news .story-card:last-child{border:0;padding-bottom:0}
.myplace-portal .daily-news .story-image{width:82px;height:82px;aspect-ratio:1;flex:none;border-radius:10px}
.myplace-portal .daily-news .story-content{padding:0}
.myplace-portal .daily-news .story-title{font-size:13px;line-height:1.35;margin:3px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.myplace-portal .daily-news .story-content>p{display:none}.myplace-portal .daily-news .story-meta{font-size:9px;margin-top:5px}
.myplace-portal .daily-news .story-source{margin-top:4px;font-size:10px}
.utility-shortcut{display:flex;align-items:center;gap:9px;padding:11px 0;border-bottom:1px solid var(--color-primary-faint);font-size:12px;font-weight:650}
.utility-shortcut>span:nth-child(2){flex:1}.utility-shortcut small{display:block;font-size:10px;color:var(--muted);font-weight:400}
.utility-shortcut>.svg-icon{width:14px;height:14px;color:var(--color-primary-light)}
.utility-symbol{display:flex;align-items:center;justify-content:center;background:var(--color-primary-faint);border-radius:12px;width:44px;height:44px;color:var(--color-primary);flex:none}
.utility-symbol .svg-icon{width:22px;height:22px}
.utility-shortcut .utility-symbol{width:33px;height:33px;border-radius:9px}
.utility-shortcut .utility-symbol .svg-icon{width:18px;height:18px}
.myplace-portal .event-card{display:flex;align-items:center;gap:12px;padding:13px;background:var(--color-surface);border:1px solid var(--line);border-radius:13px;min-width:0;box-shadow:0 3px 12px var(--color-shadow)}
.myplace-portal .event-date{background:var(--color-primary-faint);border:0;border-radius:10px;min-width:47px;width:47px;min-height:55px;color:var(--color-primary);padding:7px;text-align:center}
.myplace-portal .event-date strong{font-size:21px;display:block;line-height:1.15}
.myplace-portal .event-date span{font-size:9px;font-weight:700;display:block;line-height:1.5}
.myplace-portal .event-info{min-width:0;flex:1}
.myplace-portal .event-info h3{font-size:13px;line-height:1.35;margin:2px 0 5px}
.myplace-portal .event-info p{font-size:11px;line-height:1.5;display:block}
.myplace-portal .event-info p .svg-icon{width:12px;height:12px;margin-right:3px}
.myplace-portal .event-info small{display:block;font-size:10px;color:var(--muted);margin-top:3px}
.myplace-portal .event-card>.svg-icon{width:14px;height:14px;color:var(--color-primary-light)}
.myplace-portal .daily-agenda .event-card{border:0;border-bottom:1px solid var(--color-primary-faint);box-shadow:none;border-radius:0;padding:11px 0;gap:9px}
.myplace-portal .daily-agenda .event-info small{display:none}
.myplace-portal .city-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.myplace-portal .city-card{height:205px;border-radius:16px;overflow:hidden;border:0}
.myplace-portal .city-body{padding:17px}.myplace-portal .city-body>span:first-child{font-size:8px}
.myplace-portal .city-name{font-size:26px;margin:4px 0}
.myplace-portal .city-link{font-size:10px;line-height:1.4}
.myplace-portal .community-banner{padding:24px 28px;border-radius:17px;border:1px solid var(--color-primary-faint);background:var(--color-primary-faint);gap:24px}
.myplace-portal .community-banner h2{font-size:23px}.myplace-portal .community-banner p{font-size:13px;margin-top:7px}
.offers-banner{display:flex;align-items:center;gap:14px;border:1px solid var(--line);padding:16px 20px;background:var(--color-surface);border-radius:14px;margin-top:16px;color:var(--blue)}
.offers-banner>span{flex:1}.offers-banner strong{font-size:13px}.offers-banner small{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.portal-search{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:var(--color-surface);border-radius:12px;padding:0 15px;max-width:530px;margin:14px 0 20px}
.portal-search input{min-width:0;width:100%;min-height:46px;border:0;background:transparent;font-size:14px;outline-offset:0}
.portal-search .svg-icon{color:var(--color-primary);width:19px;height:19px}
.myplace-portal .utility-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}
.myplace-portal .utility-card{display:flex;align-items:flex-start;gap:14px;padding:22px;background:var(--color-surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 4px 16px var(--color-shadow);transition:box-shadow .2s}
.myplace-portal .utility-card:hover{box-shadow:0 9px 24px var(--color-shadow)}
.myplace-portal .utility-card h2{font-size:17px;margin:4px 0 8px}
.myplace-portal .utility-card p{font-size:12px;margin:0 0 12px;line-height:1.6}
.myplace-portal .guide-link{font-size:12px;display:inline-flex;align-items:center;gap:7px;color:var(--blue);font-weight:600}
.guide-link .svg-icon{height:16px;width:16px}
.utility-detail-heading{display:flex;align-items:center;gap:16px;padding:16px 0 24px}
.utility-detail-heading>.utility-symbol{height:62px;width:62px;border-radius:17px}
.utility-detail-heading h1{font-size:29px}.utility-detail-heading p{font-size:13px;margin-top:7px}
.utility-detail-layout,.event-detail-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:24px}
.briefing-card,.agent-box,.provider-card{background:var(--color-surface);border:1px solid var(--line);border-radius:16px;padding:26px}
.briefing-card h2{font-size:20px;margin:0 0 14px}.briefing-card h2:not(:first-child){margin-top:28px}
.briefing-card p,.briefing-card li{font-size:14px;line-height:1.8}
.briefing-card>ul{padding-left:20px}
.briefing-steps{list-style:none;padding:0;margin:0}
.briefing-steps li{display:flex;gap:12px;margin:15px 0}
.briefing-steps li>span{display:flex;align-items:center;justify-content:center;background:var(--color-primary-faint);color:var(--blue);border-radius:9px;height:27px;min-width:27px;font-size:12px;font-weight:750;margin-top:4px}
.utility-aside{display:flex;flex-direction:column;gap:18px}
.visit-details{margin:0}.visit-details dt{display:flex;align-items:center;gap:8px;font-weight:650;font-size:12px;margin:18px 0 7px}.visit-details dt .svg-icon{width:17px;height:17px;color:var(--blue)}
.visit-details dd{margin:0;font-size:13px;line-height:1.7}
.agent-box{background:var(--color-primary-faint);border-color:var(--color-primary-faint);display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.agent-box h2{font-size:21px}.agent-box p{font-size:13px;line-height:1.7}.agent-box small{font-size:11px;color:var(--color-primary);line-height:1.6}
.agent-box .btn{white-space:normal;width:100%;border-radius:10px;font-size:13px}
.provider-card h3{font-size:18px;margin:5px 0 9px}.provider-card p{font-size:13px}.provider-card small{font-size:11px}
.source-footer{display:flex;align-items:flex-start;gap:12px;border-top:1px solid var(--line);margin-top:24px;padding-top:18px}
.source-footer>.svg-icon{width:20px;height:20px;color:var(--color-success-text)}.source-footer a{font-size:13px;color:var(--blue);font-weight:600}.source-footer small{font-size:11px;display:block;margin-top:6px;color:var(--muted)}
.source-footer a .svg-icon{width:13px;height:13px}
.portal-tabs{display:flex;gap:10px;margin:0 0 24px}
.portal-tabs a{display:flex;align-items:center;gap:9px;padding:10px 18px;border:1px solid var(--line);border-radius:11px;background:var(--color-surface);font-size:13px;font-weight:600}
.portal-tabs a.active{background:var(--color-primary);color:var(--color-surface);border-color:var(--color-primary)}.portal-tabs .svg-icon{height:18px;width:18px}
.news-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.news-toolbar h2{font-size:22px}
.news-toolbar label,.agenda-filters label{font-size:11px;font-weight:600;color:var(--color-primary-dark)}
.news-toolbar select,.agenda-filters select,.agenda-filters input{display:block;min-height:42px;max-width:100%;width:100%;padding:8px 12px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface);font-size:13px;margin-top:5px;min-width:0}
.news-feed-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:18px}
.myplace-portal .calendar-section{background:var(--color-primary-faint);border-block:1px solid var(--color-primary-faint)}
.agenda-filters{display:grid;grid-template-columns:1.1fr .5fr .7fr 1fr;gap:14px;margin-bottom:12px}
#agenda-status{min-height:18px;margin-bottom:14px}
.myplace-portal .calendar-and-events{grid-template-columns:300px minmax(0,1fr);gap:22px;align-items:start}
.myplace-portal .calendar-panel{padding:20px;border-radius:14px;border:1px solid var(--color-primary-faint)}
.myplace-portal .calendar-toolbar{margin-bottom:15px;gap:5px}.myplace-portal .calendar-toolbar h3{font-size:15px}
.myplace-portal .calendar-controls{gap:0}.myplace-portal .calendar-controls .icon-button{width:30px;height:36px}.myplace-portal .calendar-controls .text-button{font-size:10px}
.myplace-portal .calendar-day{min-height:35px;height:35px;font-size:12px;border-radius:9px}
.myplace-portal .calendar-weekday{font-size:9px}
.myplace-portal .calendar-legend{font-size:9px;margin-top:12px;gap:5px;flex-wrap:wrap}.calendar-legend .text-button{font-size:10px}
.myplace-portal .calendar-event-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.agenda-count{grid-column:1/-1}.calendar-event-list .empty-state{grid-column:1/-1}
#agenda-more{margin-top:14px}
.annual-calendar{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:20px}
.annual-calendar button{display:flex;flex-direction:column;gap:5px;text-align:left;background:var(--color-surface);border:1px solid var(--color-primary-faint);border-radius:11px;padding:13px;min-height:65px}
.annual-calendar strong{font-size:12px}.annual-calendar span{font-size:10px;color:var(--color-primary)}
.myplace-portal .calendar-and-events.annual-mode{display:block}.myplace-portal .annual-mode .calendar-event-list{grid-template-columns:repeat(3,minmax(0,1fr))}
.agenda-note{display:flex;gap:10px;margin-top:24px;color:var(--color-primary);max-width:850px}
.agenda-note .svg-icon{width:18px;height:18px;margin-top:3px}.agenda-note p{font-size:12px;line-height:1.7}
.city-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}
.city-directory-card{display:flex;align-items:center;gap:12px;padding:17px;background:var(--color-surface);border:1px solid var(--line);border-radius:13px}
.city-directory-card>div{min-width:0;flex:1}.city-directory-card h2{font-size:16px}.city-directory-card p{font-size:11px;margin:4px 0}
.city-directory-card small{font-size:10px;color:var(--muted)}.city-directory-card>.svg-icon{width:15px;height:15px;color:var(--color-primary-light)}
.city-profile{display:grid;grid-template-columns:minmax(240px,.9fr) 1.1fr;gap:30px;background:var(--color-surface);padding:24px;border:1px solid var(--line);border-radius:19px}
.city-profile>img{width:100%;height:245px;object-fit:cover;border-radius:13px}
.city-profile h1{font-size:38px;margin-bottom:12px}.city-profile p{font-size:14px;max-width:530px;margin-bottom:15px}
.city-profile-symbol{height:245px;display:flex;align-items:center;justify-content:center;background:var(--color-primary-faint);border-radius:13px;color:var(--color-primary)}
.city-profile-symbol .svg-icon{width:80px;height:80px;stroke-width:1.1}
.city-profile-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.city-events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.myplace-portal .article-page{max-width:1120px;padding-top:24px}
.myplace-portal .article-header{max-width:880px;margin-bottom:24px;padding:0}
.myplace-portal .article-header h1{font-size:32px;margin:10px 0}
.myplace-portal .article-deck{font-size:16px;line-height:1.6;margin-top:12px}
.myplace-portal .article-cover{max-width:880px;margin:0 0 24px}
.myplace-portal .article-cover img{max-height:350px;aspect-ratio:2.3;object-fit:cover;border-radius:15px}
.myplace-portal .article-content{max-width:760px;margin-left:0}
.myplace-portal .article-content>p{font-size:15px;line-height:1.9;margin-bottom:20px}
.myplace-portal .article-content>h2{font-size:24px;margin-bottom:12px}
.event-detail-icon{display:flex;align-items:center;justify-content:center;background:var(--color-primary-faint);border-radius:14px;height:55px;width:55px;margin-bottom:17px;color:var(--color-primary)}
.event-detail-icon .svg-icon{width:27px;height:27px}
.offers-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px}
.offer-card{overflow:hidden;background:var(--color-surface);border:1px solid var(--line);border-radius:15px}
.offer-visual{position:relative;aspect-ratio:4/3;background:var(--color-primary-faint)}
.offer-visual img{width:100%;height:100%;object-fit:contain}
.offer-visual>span{position:absolute;top:10px;left:10px;background:var(--color-surface);border-radius:8px;padding:5px 9px;font-size:11px;font-weight:700}
.offer-body{padding:16px;display:flex;flex-direction:column;gap:10px}
.offer-body h2{font-size:16px}.offer-body p{font-size:12px;line-height:1.6}.offer-body strong{font-size:20px}
.offer-body small{font-size:10px;color:var(--muted)}.offer-body .btn{font-size:12px;white-space:normal;padding:10px}
.myplace-portal .empty-state{padding:28px;border:1px dashed var(--color-border);background:var(--color-surface);border-radius:14px;grid-column:1/-1}
.myplace-portal .empty-state h2,.myplace-portal .empty-state h3{font-size:20px}
.myplace-portal .empty-state p{font-size:13px;line-height:1.7;max-width:530px;margin-inline:auto}
.myplace-portal .site-footer{border:0;border-top:1px solid var(--line);background:var(--color-surface);margin-top:20px}
.myplace-portal .footer-main{padding-block:32px;gap:25px}.myplace-portal .footer-main p{font-size:12px}
.myplace-portal .footer-column h2{font-size:12px}.myplace-portal .footer-column>a{font-size:11px}
.myplace-portal .footer-bottom{padding-block:15px}.myplace-portal .feedback-footer{padding-block:12px}
@media(prefers-reduced-motion:no-preference){.category-icon .svg-icon,.utility-symbol .svg-icon,.event-date{transition:transform .2s}.category-item:hover .svg-icon,.utility-card:hover .svg-icon{transform:translateY(-2px)}.event-card:hover .event-date{transform:rotate(-4deg)}.portal-tabs a:hover .motion-calendar,.panel-title .motion-calendar{animation:calendar-welcome .65s ease-out 1}.brand:hover .brand-mark{transform:translateY(-1px)}@keyframes calendar-welcome{0%,100%{transform:rotate(0)}30%{transform:rotate(-9deg)}65%{transform:rotate(7deg)}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.myplace-portal *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:1250px){.myplace-portal .location-pill{display:none}.myplace-portal .main-nav a{font-size:11px;padding:9px 7px}.myplace-portal .header-inner{gap:14px}.portal-daily-grid{grid-template-columns:1fr 1fr}.daily-utilities{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:16px}.daily-utilities .panel-title,.daily-utilities>.text-link{grid-column:1/-1}.myplace-portal .listing-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.myplace-portal .utility-card{padding:18px;gap:11px}}
@media(max-width:1000px){.myplace-portal .main-nav{display:none}.myplace-portal .menu-toggle{display:flex}.myplace-portal .header-actions{margin-left:auto}.myplace-portal .city-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.myplace-portal .city-card{height:180px}.myplace-portal .city-name{font-size:22px}.myplace-portal .city-link{font-size:9px}.myplace-portal .category-strip{grid-template-columns:repeat(6,minmax(0,1fr));row-gap:12px}.myplace-portal .utility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.news-feed-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.myplace-portal .calendar-and-events{grid-template-columns:270px minmax(0,1fr);gap:15px}.myplace-portal .calendar-event-list{grid-template-columns:1fr}.city-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.offers-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.utility-detail-layout{grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr)}}
@media(max-width:760px){.myplace-portal .container{width:calc(100% - 32px)}.myplace-portal .header-inner{height:62px;min-height:62px}.myplace-portal .brand-name{font-size:23px}.myplace-portal .brand-mark,.myplace-portal .brand-mark svg{width:36px;height:36px}.myplace-portal .brand-tagline{font-size:9px}.myplace-portal .hero--home{width:calc(100% - 32px);height:192px!important;border-radius:15px;margin-top:12px}.myplace-portal .hero--home .hero-content{width:calc(100% - 32px);padding-top:23px}.myplace-portal .hero--home .hero-title{font-size:32px}.myplace-portal .hero--home .hero-copy{max-width:240px;font-size:12px}.myplace-portal .hero-kicker{font-size:8px;letter-spacing:.06em}.myplace-portal .hero--home .hero-bottom{bottom:12px}.myplace-portal .hero--home .hero-location{display:none}.myplace-portal .home-search-wrap{padding-inline:8px;margin-top:-7px}.myplace-portal .hero-search{padding:8px 9px 8px 12px;min-height:58px;gap:6px}.myplace-portal .search-city{display:none}.myplace-portal .search-field>span{display:none}.myplace-portal .search-field input{font-size:12px}.myplace-portal .search-submit{font-size:12px;padding:8px 11px;min-height:38px}.myplace-portal .search-submit .svg-icon{display:none}.myplace-portal .category-strip{gap:12px 4px;padding:16px 0 0}.myplace-portal .category-item{font-size:10px}.myplace-portal .category-icon{width:38px;height:38px;border-radius:11px}.myplace-portal .category-icon .svg-icon{width:19px;height:19px}.portal-daily-grid{grid-template-columns:1fr}.daily-utilities{grid-template-columns:repeat(2,minmax(0,1fr))}.myplace-portal .section{padding-block:22px}.myplace-portal .section-tight{padding-block:16px}.myplace-portal .section-top{align-items:center;gap:10px}.myplace-portal .section-top h2{font-size:20px}.myplace-portal .section-top>.text-link{font-size:10px;max-width:105px;white-space:normal}.myplace-portal .listing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.myplace-portal .filter-row{display:grid;grid-template-columns:1fr 1fr}.myplace-portal .filter-query{grid-column:1/-1}.myplace-portal .filter-chips{gap:6px}.myplace-portal .chip{font-size:11px;min-height:36px;padding:6px 8px}.myplace-portal .compact-heading h1{font-size:25px}.myplace-portal .compact-heading>p:last-child{font-size:12px}.myplace-portal .page-heading{padding-top:20px;padding-bottom:0}.myplace-portal .city-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.myplace-portal .city-card{height:175px}.myplace-portal .city-link{font-size:10px}.myplace-portal .utility-grid{grid-template-columns:1fr}.myplace-portal .utility-card{padding:20px}.myplace-portal .utility-card h2{font-size:18px}.myplace-portal .utility-card p{font-size:13px}.utility-detail-heading{gap:12px;padding-top:12px}.utility-detail-heading h1{font-size:25px}.utility-detail-heading>.utility-symbol{width:48px;height:48px}.utility-detail-layout,.event-detail-layout{grid-template-columns:1fr}.briefing-card,.agent-box{padding:22px}.utility-aside{display:grid;grid-template-columns:1fr 1fr}.news-feed-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.myplace-portal .story-title{font-size:15px}.myplace-portal .story-content{padding:13px}.news-toolbar h2{font-size:19px}.news-toolbar select{font-size:12px;max-width:190px}.agenda-filters{grid-template-columns:1fr 1fr;gap:10px}.myplace-portal .calendar-and-events{display:block}.myplace-portal .calendar-panel{max-width:420px;margin-bottom:16px}.myplace-portal .calendar-event-list{grid-template-columns:repeat(2,minmax(0,1fr))}.annual-calendar{grid-template-columns:repeat(4,minmax(0,1fr))}.myplace-portal .annual-mode .calendar-event-list{grid-template-columns:repeat(2,minmax(0,1fr))}.city-profile{grid-template-columns:1fr;padding:18px;gap:20px}.city-profile>img,.city-profile-symbol{height:210px}.city-profile h1{font-size:30px}.city-profile p{font-size:13px}.city-events{grid-template-columns:1fr 1fr}.city-directory-card{padding:14px;gap:9px}.city-directory-card .utility-symbol{display:none}.city-directory-card h2{font-size:15px}.offers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.myplace-portal .article-header h1{font-size:27px}.myplace-portal .article-deck{font-size:14px}.myplace-portal .community-banner{padding:22px;flex-direction:column;align-items:flex-start;gap:18px}.myplace-portal .community-banner h2{font-size:22px}}
@media(max-width:480px){.myplace-portal .container{width:calc(100% - 28px)}.myplace-portal .favorites-link{display:none}.myplace-portal .header-actions .btn{font-size:11px;min-height:36px;padding:8px 10px}.myplace-portal .header-actions .btn .svg-icon{width:14px;height:14px}.myplace-portal .menu-toggle{width:34px;height:38px}.myplace-portal .header-inner{gap:9px}.myplace-portal .hero--home{width:calc(100% - 28px);height:185px!important}.myplace-portal .hero-kicker{max-width:240px}.myplace-portal .hero--home .hero-title{font-size:30px}.myplace-portal .hero--home .hero-copy{max-width:230px;font-size:11px}.myplace-portal .category-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 5px}.myplace-portal .category-item{flex-direction:row;justify-content:flex-start;font-size:10px;gap:5px}.myplace-portal .category-icon{height:29px;width:29px;border-radius:9px;flex:none}.myplace-portal .category-icon .svg-icon{width:16px;height:16px}.myplace-portal .listing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.myplace-portal .listing-body{padding:10px}.myplace-portal .listing-title{font-size:13px}.myplace-portal .listing-price{font-size:18px}.myplace-portal .listing-category>span{display:none}.myplace-portal .listing-badge{font-size:8px;top:7px;left:6px}.myplace-portal .favorite-button{width:34px;height:34px}.myplace-portal .filter-panel{padding:13px}.myplace-portal .filter-input,.myplace-portal .filter-select{font-size:16px;min-height:42px}.myplace-portal .filter-reset{min-height:42px;font-size:12px}.myplace-portal .chip{min-height:38px;font-size:11px}.myplace-portal .chip .svg-icon{width:16px;height:16px}.myplace-portal .compact-heading h1{font-size:24px}.myplace-portal .section-top h2{font-size:19px}.daily-news,.daily-agenda,.daily-utilities{padding:15px}.myplace-portal .daily-news .story-title{font-size:14px}.myplace-portal .daily-news .story-image{height:78px;width:78px}.utility-shortcut{font-size:11px;gap:7px}.myplace-portal .news-feed-grid{grid-template-columns:1fr}.myplace-portal .news-feed-grid .story-card{flex-direction:row}.myplace-portal .news-feed-grid .story-image{width:98px;min-height:130px;aspect-ratio:auto;flex:none}.myplace-portal .news-feed-grid .story-content{padding:13px}.myplace-portal .news-feed-grid .story-title{font-size:14px}.myplace-portal .news-feed-grid .story-content>p{font-size:11px}.news-toolbar{align-items:flex-start;gap:10px}.news-toolbar select{max-width:148px}.news-toolbar h2{font-size:18px;max-width:170px;margin-top:6px}.portal-tabs{gap:8px}.portal-tabs a{font-size:12px;padding:9px 12px}.annual-calendar{grid-template-columns:repeat(3,minmax(0,1fr))}.annual-calendar button{padding:12px;min-height:66px}.myplace-portal .calendar-event-list,.myplace-portal .annual-mode .calendar-event-list{grid-template-columns:1fr}.myplace-portal .calendar-day{height:38px;min-height:38px}.myplace-portal .calendar-controls .icon-button{width:38px;height:40px}.myplace-portal .calendar-controls .text-button{min-height:40px;padding-inline:6px}.myplace-portal .event-card{padding:13px}.myplace-portal .event-info h3{font-size:14px}.utility-aside{display:flex}.utility-detail-heading{align-items:flex-start}.utility-detail-heading h1{font-size:24px}.utility-detail-heading>.utility-symbol{width:40px;height:40px}.briefing-card p,.briefing-card li{font-size:14px}.city-directory{gap:9px}.city-directory-card{padding:13px 11px}.city-directory-card h2{font-size:14px}.city-directory-card p{font-size:10px}.city-directory-card small{font-size:9px}.city-directory-card>.svg-icon{width:12px;height:12px}.city-events{grid-template-columns:1fr}.myplace-portal .article-header h1{font-size:25px}.myplace-portal .article-header .article-meta{font-size:11px}.myplace-portal .article-content>p{font-size:14px}.myplace-portal .offers-banner{padding:14px;gap:10px}.offers-banner strong{font-size:12px}.offers-banner small{font-size:10px}.myplace-portal .footer-main{grid-template-columns:1fr 1fr;padding-block:25px}.myplace-portal .footer-brand{grid-column:1/-1}.myplace-portal .footer-column>a{font-size:12px;min-height:34px}.myplace-portal .footer-bottom{font-size:10px;gap:10px}.myplace-portal .footer-links{flex-wrap:wrap}.offer-body{padding:12px}.offer-body h2{font-size:14px}.offer-body .btn{font-size:11px}.offer-body strong{font-size:17px}}
/* Keep the previously validated single-screen publishing wizard measured by its own flow. */
body.myplace-portal[data-page="anunciar"] .container{max-width:1080px}
body.myplace-portal[data-page="anunciar"] .publish-page{padding-top:0}
body.myplace-portal[data-page="anunciar"] .site-footer{margin-top:0}
body.myplace-portal[data-page="anunciar"] .header-inner{min-height:58px;height:58px}

.myplace-portal .section-top{border:0;border-radius:0;padding:0;background:transparent;box-shadow:none;min-height:0}
.myplace-portal .city-grid{display:grid;overflow:visible}
.myplace-portal .city-card{width:auto;min-width:0;max-width:100%}
.myplace-portal .city-link{min-width:0;white-space:normal}

@media(max-width:600px){
  body.myplace-portal:not([data-page="inicio"]) .compact-heading{padding-top:12px;padding-bottom:4px}
  body.myplace-portal:not([data-page="inicio"]) .compact-heading p:not(.eyebrow){line-height:1.35}
}

/* MyPlace community typography and footer. Plus Jakarta Sans: SIL OFL 1.1.
   Public pages only. Footer links, legal text, credits, feedback and admin preserved. */
@font-face{font-family:MyPlaceJakarta;font-style:normal;font-weight:200 800;font-display:swap;src:url(assets/PlusJakartaSans-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--font:MyPlaceJakarta,InterVariable,Inter,ui-sans-serif,system-ui,sans-serif}
body.myplace-portal{font-family:var(--font);font-feature-settings:normal;line-height:1.65}
.myplace-portal h1,.myplace-portal h2,.myplace-portal h3{font-family:var(--font);font-weight:750;letter-spacing:-.04em}
.myplace-portal .hero-title,.myplace-portal .hero--home .hero-title{font-weight:800;letter-spacing:-.045em;line-height:1.09}
.myplace-portal .compact-heading h1,.myplace-portal .page-title,.myplace-portal .article-header h1{font-weight:800;letter-spacing:-.04em}
.myplace-portal .section-top h2,.myplace-portal .panel-title h3{font-weight:800;letter-spacing:-.035em}
.myplace-portal .brand-name{font-family:var(--font);font-weight:600;letter-spacing:-.065em}
.myplace-portal .brand-name strong{font-weight:800}
.myplace-portal .main-nav a,.myplace-portal .mobile-menu a,.myplace-portal .btn,.myplace-portal .text-link{font-weight:700}
.myplace-portal .listing-title,.myplace-portal .story-title,.myplace-portal .event-info h3,.myplace-portal .city-directory-card h2{font-weight:750;letter-spacing:-.025em}
.myplace-portal .listing-price,.myplace-portal .detail-price,.myplace-portal .offer-body strong{font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.045em}
.myplace-portal .eyebrow{font-weight:750;letter-spacing:.105em}
.myplace-portal .article-content>p,.myplace-portal .briefing-card p,.myplace-portal .briefing-card li,.myplace-portal .guide-content p{line-height:1.8}

body.myplace-portal:not([data-page="anunciar"]) .footer-community{position:relative;isolation:isolate;margin-top:28px;padding-top:0;border:0;background:var(--color-text-strong);color:var(--color-primary-faint);overflow:hidden}
body.myplace-portal:not([data-page="anunciar"]) .footer-community::before{content:"";display:block;height:5px;background:linear-gradient(90deg,var(--color-success) 0 37%,var(--color-primary-light) 37% 53%,var(--color-primary) 53% 100%)}
body.myplace-portal:not([data-page="anunciar"]) .footer-community::after{content:"";position:absolute;z-index:-1;left:-160px;top:-210px;width:610px;height:610px;border:1px solid var(--color-shadow);border-radius:50%;box-shadow:0 0 0 72px var(--color-shadow);pointer-events:none}
body.myplace-portal:not([data-page="anunciar"]) .footer-main{display:grid;grid-template-columns:minmax(250px,1.35fr) minmax(155px,.75fr) minmax(185px,.95fr) minmax(230px,1.05fr);gap:32px;align-items:start;padding-block:44px 36px}
.footer-community .footer-main>*{min-width:0}
body.myplace-portal:not([data-page="anunciar"]) .footer-brand .brand{display:inline-flex;margin-bottom:22px;align-items:center}
body.myplace-portal:not([data-page="anunciar"]) .footer-brand .brand-name{font-size:32px;color:var(--color-surface)}
body.myplace-portal:not([data-page="anunciar"]) .footer-brand .brand-name strong{color:var(--color-primary-light)}
body.myplace-portal:not([data-page="anunciar"]) .footer-brand .brand-tagline{font-size:11px;color:var(--color-border)}
body.myplace-portal:not([data-page="anunciar"]) .footer-brand .brand-mark{height:45px;width:45px}
body.myplace-portal:not([data-page="anunciar"]) .footer-brand .brand-mark svg{height:45px;width:45px}
body.myplace-portal:not([data-page="anunciar"]) .footer-brand .footer-manifesto{max-width:350px;margin:0 0 22px;font-size:clamp(22px,1.8vw,28px);font-weight:700;letter-spacing:-.045em;line-height:1.32;color:var(--color-surface);text-wrap:balance}
body.myplace-portal:not([data-page="anunciar"]) .footer-manifesto strong{color:var(--color-primary-light);font-weight:800}
body.myplace-portal:not([data-page="anunciar"]) .footer-location{display:inline-flex;gap:8px;align-items:center;max-width:100%;padding:9px 12px;border:1px solid var(--color-shadow-medium);border-radius:12px;font-size:11px;line-height:1.4;font-weight:650;letter-spacing:0;color:var(--color-border);background:var(--color-shadow)}
.footer-community .footer-location .svg-icon{width:18px;height:18px;color:var(--color-primary-light);flex:none}
body.myplace-portal:not([data-page="anunciar"]) .footer-column{display:flex;flex-direction:column;align-items:stretch;gap:2px}
body.myplace-portal:not([data-page="anunciar"]) .footer-column h2{display:flex;align-items:center;gap:9px;font-size:15px;line-height:1.4;margin:4px 0 14px;color:var(--color-surface);font-weight:800;letter-spacing:-.025em}
.footer-community .footer-column h2>.svg-icon{width:19px;height:19px;color:var(--color-primary-light)}
body.myplace-portal:not([data-page="anunciar"]) .footer-column>a{display:flex;align-items:center;gap:9px;min-height:37px;margin:0;padding:6px 0;max-width:100%;font-size:12px;font-weight:550;line-height:1.5;color:var(--color-border);transition:color .18s,transform .18s}
.footer-community .footer-column>a>.svg-icon{width:16px;height:16px;color:var(--color-primary-light)}
body.myplace-portal:not([data-page="anunciar"]) .footer-column>a:hover{color:var(--color-surface);transform:translateX(3px)}
.footer-community .footer-column>a:hover>.svg-icon{color:var(--color-primary-light)}
body.myplace-portal:not([data-page="anunciar"]) .footer-connect{position:relative;display:block;grid-column:auto;align-self:stretch;min-height:245px;border-radius:18px;overflow:hidden;background:linear-gradient(150deg,var(--color-overlay),var(--color-overlay)),url(assets/boston.jpg) center/cover;border:1px solid var(--color-shadow-medium)}
body.myplace-portal:not([data-page="anunciar"]) .footer-connect-copy{position:relative;padding:21px}
.footer-community .footer-connect-symbol{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:var(--color-shadow-medium);color:var(--color-primary-light);margin-bottom:13px}
.footer-community .footer-connect-symbol>.svg-icon{width:21px;height:21px}
body.myplace-portal:not([data-page="anunciar"]) .footer-connect h2{font-size:19px;margin:0 0 9px;letter-spacing:-.04em}
body.myplace-portal:not([data-page="anunciar"]) .footer-connect p{font-size:12px;line-height:1.75;color:var(--color-border);margin-bottom:16px}
.footer-community .footer-contact-link{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 12px;background:var(--color-primary-light);border:1px solid var(--color-primary-light);border-radius:10px;color:var(--color-text-strong);font-size:12px;font-weight:800;line-height:1.5;transition:background .18s,transform .18s}
.footer-community .footer-contact-link>.svg-icon{width:17px;height:17px}
.footer-community .footer-contact-link>.svg-icon:last-child{margin-left:auto}
.footer-community .footer-contact-link:hover{background:var(--color-primary-light);color:var(--color-text-strong);transform:translateY(-2px)}
.footer-community .footer-guide-link{display:flex;justify-content:center;align-items:center;gap:8px;font-size:11px;font-weight:650;color:var(--color-primary-faint);min-height:37px;margin-top:4px}
.footer-community .footer-guide-link>.svg-icon{width:14px;height:14px;color:var(--color-primary-light)}
.footer-community .footer-guide-link:hover{color:var(--color-surface);text-decoration:underline;text-underline-offset:4px}
body.myplace-portal:not([data-page="anunciar"]) .footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;margin-top:0;padding-block:18px 12px;border-top:1px solid var(--color-shadow-medium);color:var(--color-border);font-size:11px;line-height:1.5}
body.myplace-portal:not([data-page="anunciar"]) .footer-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
body.myplace-portal:not([data-page="anunciar"]) .footer-links a,body.myplace-portal:not([data-page="anunciar"]) .footer-links .text-button{display:inline-flex;align-items:center;min-height:32px;padding:3px 0;font-size:11px;font-weight:550;color:var(--color-border)}
body.myplace-portal:not([data-page="anunciar"]) .footer-links a:hover,body.myplace-portal:not([data-page="anunciar"]) .footer-links .text-button:hover{color:var(--color-surface);text-decoration:underline;text-underline-offset:4px}
.footer-community .footer-made{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.footer-community .footer-made .svg-icon{width:15px;height:15px;color:var(--color-primary-light)}
body.myplace-portal:not([data-page="anunciar"]) .admin-footer-link{padding:5px 0;font-size:11px;color:var(--color-border);opacity:1}
body.myplace-portal:not([data-page="anunciar"]) .footer-support-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:18px}
body.myplace-portal:not([data-page="anunciar"]) .prototype-footnote{padding:0;margin:0;border:0;font-size:10px;line-height:1.6;color:var(--color-border);max-width:760px}
body.myplace-portal:not([data-page="anunciar"]) .feedback-footer{flex:none;padding:0;margin:0;border:0}
body.myplace-portal:not([data-page="anunciar"]) .feedback-footer .text-button{display:inline-flex;align-items:center;gap:7px;min-height:35px;padding:5px 0;color:var(--color-primary-faint);font-size:11px;font-weight:600}
.footer-community .feedback-footer .svg-icon{width:16px;height:16px;color:var(--color-primary-light)}
body.myplace-portal:not([data-page="anunciar"]) .footer-community :is(a,button):focus-visible{outline:3px solid var(--color-primary-light);outline-offset:4px}
@media(max-width:1100px){body.myplace-portal:not([data-page="anunciar"]) .footer-main{grid-template-columns:minmax(220px,1.25fr) minmax(140px,.75fr) minmax(170px,1fr);gap:25px}body.myplace-portal:not([data-page="anunciar"]) .footer-connect{grid-column:1/-1;min-height:0}body.myplace-portal:not([data-page="anunciar"]) .footer-connect-copy{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;column-gap:15px;padding:20px 24px}.footer-community .footer-connect-symbol{grid-row:1/3;margin:0}body.myplace-portal:not([data-page="anunciar"]) .footer-connect h2{grid-column:2;margin:0 0 4px}body.myplace-portal:not([data-page="anunciar"]) .footer-connect p{grid-column:2;margin:0;max-width:420px}.footer-community .footer-contact-link{grid-column:3;grid-row:1;min-width:195px}.footer-community .footer-guide-link{grid-column:3;grid-row:2;min-height:28px;margin:0}.footer-community .footer-made{margin-left:auto}}
@media(max-width:760px){body.myplace-portal:not([data-page="anunciar"]) .footer-main{grid-template-columns:1fr 1fr;gap:25px 20px;padding-block:30px 26px}body.myplace-portal:not([data-page="anunciar"]) .footer-brand{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr);gap:0}body.myplace-portal:not([data-page="anunciar"]) .footer-brand .brand{margin-bottom:18px}body.myplace-portal:not([data-page="anunciar"]) .footer-brand .footer-manifesto{max-width:440px;font-size:27px;margin-bottom:18px}body.myplace-portal:not([data-page="anunciar"]) .footer-brand .footer-location{justify-self:start}body.myplace-portal:not([data-page="anunciar"]) .footer-column h2{font-size:15px;margin-bottom:9px}body.myplace-portal:not([data-page="anunciar"]) .footer-column>a{font-size:12px;min-height:40px;align-items:center}body.myplace-portal:not([data-page="anunciar"]) .footer-connect{grid-column:1/-1}body.myplace-portal:not([data-page="anunciar"]) .footer-connect-copy{display:block;padding:22px}.footer-community .footer-connect-symbol{margin-bottom:12px}body.myplace-portal:not([data-page="anunciar"]) .footer-connect h2{font-size:21px;margin-bottom:8px}body.myplace-portal:not([data-page="anunciar"]) .footer-connect p{font-size:13px;max-width:370px;margin-bottom:17px}.footer-community .footer-contact-link{min-height:44px;max-width:340px;font-size:13px}.footer-community .footer-guide-link{max-width:340px;min-height:40px;margin-top:4px}body.myplace-portal:not([data-page="anunciar"]) .footer-bottom{flex-direction:row;align-items:center;gap:8px 15px;padding-block:18px 10px}body.myplace-portal:not([data-page="anunciar"]) .footer-links{order:3;flex-basis:100%;gap:15px}.footer-community .footer-made{display:inline-flex;margin-left:auto;font-size:10px}body.myplace-portal:not([data-page="anunciar"]) .admin-footer-link{order:4}body.myplace-portal:not([data-page="anunciar"]) .footer-support-row{flex-direction:column;align-items:start;gap:5px;padding-bottom:20px}body.myplace-portal:not([data-page="anunciar"]) .prototype-footnote{font-size:10px;max-width:none}body.myplace-portal:not([data-page="anunciar"]) .feedback-footer .text-button{min-height:40px}}
@media(max-width:480px){.myplace-portal .hero--home .hero-title{font-size:29px;line-height:1.09}.myplace-portal .compact-heading h1{font-size:25px}.myplace-portal .section-top h2{font-size:20px}body.myplace-portal:not([data-page="anunciar"]) .footer-main{gap:24px 17px}body.myplace-portal:not([data-page="anunciar"]) .footer-brand .footer-manifesto{font-size:26px;max-width:330px}.footer-community .footer-column>a>.svg-icon{width:15px;height:15px}body.myplace-portal:not([data-page="anunciar"]) .footer-column>a{gap:7px;font-size:11px}body.myplace-portal:not([data-page="anunciar"]) .footer-column h2{font-size:14px}.footer-community .footer-column h2>.svg-icon{width:17px;height:17px}.footer-community .footer-made{flex-basis:100%;margin:0;order:4}body.myplace-portal:not([data-page="anunciar"]) .admin-footer-link{order:4}body.myplace-portal:not([data-page="anunciar"]) .footer-links{gap:13px}.footer-community .footer-contact-link{min-width:0}}
@media(prefers-reduced-motion:reduce){.footer-community a{transition:none!important}.footer-community a:hover{transform:none!important}}

/* Community palette: blue, green and warm paper across public content. */
:root{}
body.myplace-portal{background:var(--paper);color:var(--ink)}
.myplace-portal .site-header{background:var(--color-primary-faint);border-bottom-color:var(--color-border);box-shadow:0 3px 16px var(--color-shadow)}
.myplace-portal .main-nav a{color:var(--color-primary-dark)}
.myplace-portal .main-nav a.active{color:var(--color-primary-dark);background:var(--color-primary-faint)}
.myplace-portal .location-pill{background:var(--color-primary-faint);color:var(--color-text-strong);border:1px solid var(--color-border)}
.myplace-portal .mobile-nav{background:var(--color-primary-faint);border-color:var(--color-border)}
.myplace-portal .mobile-nav a{color:var(--color-primary-dark)}.myplace-portal .mobile-nav a.active{background:var(--color-primary-faint);color:var(--color-primary-dark)}
.myplace-portal main :is(h1,h2,h3){color:var(--color-text-strong)}
.myplace-portal main .section-top h2,.myplace-portal main .panel-title h3{color:var(--color-primary-dark)}
.myplace-portal main .compact-heading h1{color:var(--color-text-strong)}
.myplace-portal main .hero-title,.myplace-portal main .hero--home .hero-title{color:var(--color-primary-faint)}
.myplace-portal .hero-copy,.myplace-portal .hero-kicker,.myplace-portal .hero-location{color:var(--color-primary-faint)}
.myplace-portal .eyebrow{color:var(--color-success-text)}
.myplace-portal .btn-primary,.myplace-portal .search-submit{background:var(--color-primary);color:var(--color-primary-faint);border-color:var(--color-primary);box-shadow:0 4px 12px var(--color-shadow-medium)}
.myplace-portal .btn-primary:hover,.myplace-portal .search-submit:hover{background:var(--color-primary-dark);color:var(--color-primary-faint)}
.myplace-portal .btn-outline{background:var(--color-primary-faint);color:var(--color-primary-dark);border-color:var(--color-border)}
.myplace-portal .btn-light{background:var(--color-border);color:var(--color-primary-dark)}
.myplace-portal .hero-search,.myplace-portal .filter-panel{background:var(--color-primary-faint);border-color:var(--color-border);box-shadow:0 7px 20px var(--color-shadow)}
.myplace-portal .filter-control>span,.myplace-portal .search-field>span{color:var(--color-primary-dark)}
.myplace-portal .filter-input,.myplace-portal .filter-select,.myplace-portal .form-input,.myplace-portal .form-select,.myplace-portal .form-textarea{background:var(--color-primary-faint);border-color:var(--color-border);color:var(--color-text-strong)}
.myplace-portal .chip{background:var(--color-primary-faint);border-color:var(--color-border);color:var(--color-success-text)}
.myplace-portal .chip.active{background:var(--color-primary-faint);border-color:var(--color-primary-light);color:var(--color-primary-dark)}
.myplace-portal .listing-card{background:var(--color-primary-faint);border-color:var(--color-border);box-shadow:0 4px 15px var(--color-shadow)}
.myplace-portal .listing-card:nth-child(3n+2){background:var(--color-primary-faint);border-color:var(--color-border)}
.myplace-portal .listing-card:nth-child(3n){background:var(--color-primary-faint);border-color:var(--color-border)}
.myplace-portal .listing-title{color:var(--color-primary-dark)}.myplace-portal .listing-price{color:var(--color-text-strong)}
.myplace-portal .listing-category{color:var(--color-primary-dark)}.myplace-portal .listing-location{color:var(--color-primary-dark)}
.myplace-portal .listing-image img{background:var(--color-primary-faint)}.myplace-portal .listing-meta{border-top-color:var(--color-border)}
.myplace-portal .favorite-button{background:var(--color-primary-faint);color:var(--color-warning-text)}
.myplace-portal .favorite-button.active{background:var(--color-border);color:var(--color-danger-text)}
.myplace-portal .daily-news,.myplace-portal .news-feed-grid .story-card{background:var(--color-primary-faint);border-color:var(--color-border)}
.myplace-portal .daily-agenda,.myplace-portal .calendar-panel{background:var(--color-primary-faint);border-color:var(--color-border)}
.myplace-portal .daily-utilities{background:var(--color-primary-faint);border-color:var(--color-border)}
.myplace-portal .utility-shortcut{color:var(--color-primary-dark);border-color:var(--color-border)}
.myplace-portal .utility-card{background:var(--color-primary-faint);border-color:var(--color-border)}
.myplace-portal .utility-card:nth-child(3n+2){background:var(--color-primary-faint);border-color:var(--color-border)}
.myplace-portal .utility-card:nth-child(3n){background:var(--color-primary-faint);border-color:var(--color-border)}
.myplace-portal .event-card{background:var(--color-primary-faint);border-color:var(--color-border)}
.myplace-portal .event-date{background:var(--color-border);color:var(--color-text-strong)}
.myplace-portal .calendar-day{color:var(--color-primary-dark)}.myplace-portal .calendar-day.has-event{background:var(--color-border);color:var(--color-text-strong)}
.myplace-portal .calendar-day.selected,.myplace-portal .calendar-day.today{background:var(--color-primary);color:var(--color-primary-faint)}
.myplace-portal .city-directory-card{background:var(--color-primary-faint);border-color:var(--color-border)}
.myplace-portal .city-directory-card:nth-child(3n+2){background:var(--color-primary-faint);border-color:var(--color-border)}
.myplace-portal .city-directory-card:nth-child(3n){background:var(--color-primary-faint);border-color:var(--color-border)}
.myplace-portal .city-directory-card h2{color:var(--color-primary-dark)}.myplace-portal .city-directory-card p{color:var(--color-primary-dark)}
.myplace-portal .city-name,.myplace-portal .city-body,.myplace-portal .city-link{color:var(--color-primary-faint)}
.myplace-portal .guide-card,.myplace-portal .briefing-card,.myplace-portal .provider-card,.myplace-portal .contact-card,.myplace-portal .publish-panel,.myplace-portal .offer-card{background:var(--color-primary-faint);border-color:var(--color-border)}
.myplace-portal .community-banner{background:var(--color-border);border-color:var(--color-border)}
.myplace-portal .community-banner h2{color:var(--color-text-strong)}.myplace-portal .community-banner p{color:var(--color-success-text)}
.myplace-portal .offers-banner{background:var(--color-primary-faint);border-color:var(--color-border);color:var(--color-primary-dark)}
.myplace-portal .source-footer,.myplace-portal .article-content,.myplace-portal .article-header{border-color:var(--color-border)}
.myplace-portal .portal-tabs a{background:var(--color-primary-faint);color:var(--color-success-text);border-color:var(--color-border)}
.myplace-portal .portal-tabs a.active{background:var(--color-primary);color:var(--color-primary-faint);border-color:var(--color-primary)}
.myplace-portal dialog{background:var(--color-primary-faint);color:var(--color-text-strong);border-color:var(--color-border)}
.myplace-portal dialog :is(input,textarea,select){background:var(--color-primary-faint);color:var(--color-text-strong);border-color:var(--color-border)}
body.myplace-portal:not([data-page="anunciar"]) .footer-brand .brand-name,
body.myplace-portal:not([data-page="anunciar"]) .footer-brand .footer-manifesto,
body.myplace-portal:not([data-page="anunciar"]) .footer-column h2,
body.myplace-portal:not([data-page="anunciar"]) .footer-column>a:hover{color:var(--color-primary-faint)}

/* A short welcome, without a loading screen or a layout shift. */
@media(prefers-reduced-motion:no-preference){
body.myplace-portal[data-page="inicio"] .hero--home .hero-content{animation:myplace-welcome-in .55s cubic-bezier(.2,.75,.25,1) both}
body.myplace-portal[data-page="inicio"] .home-search-wrap{animation:myplace-welcome-in .5s .08s cubic-bezier(.2,.75,.25,1) both}
body.myplace-portal[data-page="inicio"] .category-item{animation:myplace-welcome-in .42s cubic-bezier(.2,.75,.25,1) both;animation-delay:calc(.09s + var(--welcome-order,0)*.025s)}
body.myplace-portal[data-page="inicio"] .category-item:nth-child(2){--welcome-order:1}body.myplace-portal[data-page="inicio"] .category-item:nth-child(3){--welcome-order:2}body.myplace-portal[data-page="inicio"] .category-item:nth-child(4){--welcome-order:3}body.myplace-portal[data-page="inicio"] .category-item:nth-child(5){--welcome-order:4}body.myplace-portal[data-page="inicio"] .category-item:nth-child(6){--welcome-order:5}body.myplace-portal[data-page="inicio"] .category-item:nth-child(7){--welcome-order:6}body.myplace-portal[data-page="inicio"] .category-item:nth-child(8){--welcome-order:7}body.myplace-portal[data-page="inicio"] .category-item:nth-child(9){--welcome-order:8}body.myplace-portal[data-page="inicio"] .category-item:nth-child(10){--welcome-order:9}body.myplace-portal[data-page="inicio"] .category-item:nth-child(11){--welcome-order:10}body.myplace-portal[data-page="inicio"] .category-item:nth-child(12){--welcome-order:11}
@keyframes myplace-welcome-in{from{opacity:.15;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
}

/* Keep the nested news rows on the green community surface. */
.myplace-portal .daily-news .story-card,.myplace-portal .daily-news .story-content{background:var(--color-primary-faint)}


/* MYPLACE-ICONS-20260915-01-R2: local vector pictograms; icon treatment only. */
.myplace-portal .svg-icon{stroke-width:1.9;flex-shrink:0}
.myplace-portal .category-icon{width:46px;height:46px;border-radius:14px;box-shadow:0 3px 8px var(--color-shadow)}
.myplace-portal .category-icon .svg-icon{width:25px;height:25px;stroke-width:1.9}
.myplace-portal .category-icon--imoveis,.myplace-portal .category-item:hover .category-icon--imoveis{color:var(--color-primary);background:var(--color-primary-faint);border-color:var(--color-border)}
.myplace-portal .chip[data-category="imoveis"]:not(.active) .svg-icon{color:var(--color-primary)}
.myplace-portal .category-icon--empregos,.myplace-portal .category-item:hover .category-icon--empregos{color:var(--color-primary);background:var(--color-primary-faint);border-color:var(--color-primary-faint)}
.myplace-portal .chip[data-category="empregos"]:not(.active) .svg-icon{color:var(--color-primary)}
.myplace-portal .category-icon--veiculos,.myplace-portal .category-item:hover .category-icon--veiculos{color:var(--color-primary-dark);background:var(--color-primary-faint);border-color:var(--color-border)}
.myplace-portal .chip[data-category="veiculos"]:not(.active) .svg-icon{color:var(--color-primary-dark)}
.myplace-portal .category-icon--produtos,.myplace-portal .category-item:hover .category-icon--produtos{color:var(--color-warning-text);background:var(--color-primary-faint);border-color:var(--color-border)}
.myplace-portal .chip[data-category="produtos"]:not(.active) .svg-icon{color:var(--color-warning-text)}
.myplace-portal .category-icon--servicos,.myplace-portal .category-item:hover .category-icon--servicos{color:var(--color-success-text);background:var(--color-primary-faint);border-color:var(--color-border)}
.myplace-portal .chip[data-category="servicos"]:not(.active) .svg-icon{color:var(--color-success-text)}
.myplace-portal .category-icon--repasses,.myplace-portal .category-item:hover .category-icon--repasses{color:var(--color-danger-text);background:var(--color-surface);border-color:var(--color-primary-faint)}
.myplace-portal .chip[data-category="repasses"]:not(.active) .svg-icon{color:var(--color-danger-text)}
.myplace-portal .category-icon--quartos,.myplace-portal .category-item:hover .category-icon--quartos{color:var(--color-primary);background:var(--color-primary-faint);border-color:var(--color-primary-faint)}
.myplace-portal .chip[data-category="quartos"]:not(.active) .svg-icon{color:var(--color-primary)}
.myplace-portal .category-icon--moveis,.myplace-portal .category-item:hover .category-icon--moveis{color:var(--color-warning-text);background:var(--color-primary-faint);border-color:var(--color-border)}
.myplace-portal .chip[data-category="moveis"]:not(.active) .svg-icon{color:var(--color-warning-text)}
.myplace-portal .category-icon--eletronicos,.myplace-portal .category-item:hover .category-icon--eletronicos{color:var(--color-primary-dark);background:var(--color-primary-faint);border-color:var(--color-border)}
.myplace-portal .chip[data-category="eletronicos"]:not(.active) .svg-icon{color:var(--color-primary-dark)}
.myplace-portal .category-icon--alimentacao,.myplace-portal .category-item:hover .category-icon--alimentacao{color:var(--color-danger-text);background:var(--color-primary-faint);border-color:var(--color-border)}
.myplace-portal .chip[data-category="alimentacao"]:not(.active) .svg-icon{color:var(--color-danger-text)}
.myplace-portal .category-icon--aulas,.myplace-portal .category-item:hover .category-icon--aulas{color:var(--color-warning-text);background:var(--color-primary-faint);border-color:var(--color-border)}
.myplace-portal .chip[data-category="aulas"]:not(.active) .svg-icon{color:var(--color-warning-text)}
.myplace-portal .category-icon--pets,.myplace-portal .category-item:hover .category-icon--pets{color:var(--color-success-text);background:var(--color-primary-faint);border-color:var(--color-border)}
.myplace-portal .chip[data-category="pets"]:not(.active) .svg-icon{color:var(--color-success-text)}
.myplace-portal .category-item:focus-visible{outline:2px solid var(--blue);outline-offset:5px;border-radius:10px}
.myplace-portal .location-pill>[data-icon="pin"]{color:var(--blue);width:20px;height:20px}
.myplace-portal .hero-location>[data-icon="pin"],.myplace-portal .footer-location>[data-icon="pin"]{width:18px;height:18px}
.myplace-portal .utility-symbol>.svg-icon,.myplace-portal .guide-icon>.svg-icon{stroke-width:1.9}
@media(max-width:760px){.myplace-portal .category-icon{height:40px;width:40px;border-radius:12px}.myplace-portal .category-icon .svg-icon{width:23px;height:23px}}
@media(max-width:480px){.myplace-portal .category-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 4px}.myplace-portal .category-item{flex-direction:column;justify-content:flex-start;gap:5px;min-width:0}.myplace-portal .category-icon{height:38px;width:38px;border-radius:12px}.myplace-portal .category-icon .svg-icon{height:22px;width:22px}}
@media(prefers-reduced-motion:no-preference){.myplace-portal .category-icon{transition:transform .18s ease,box-shadow .18s ease}.myplace-portal .category-item:hover .category-icon{transform:translateY(-2px);box-shadow:0 5px 12px var(--color-shadow)}}
@media(forced-colors:active){.myplace-portal .category-icon{border:1px solid ButtonText}.myplace-portal .icon-tone{opacity:0}}

/* Filled multicolor drawings: color is part of each vector, beyond its tile. */
.myplace-portal .category-icon .svg-icon{width:29px;height:29px}
.myplace-portal .category-icon{background:var(--color-surface);border-color:var(--color-primary-faint)}
.myplace-portal .main-nav .svg-icon{width:18px;height:18px}
.myplace-portal .btn-primary .svg-icon[data-icon-style="colored-stroke"],.myplace-portal .hero-secondary .svg-icon[data-icon-style="colored-stroke"]{stroke:var(--color-border)}
.myplace-portal .favorite-button .icon-color-fill{fill:var(--color-border)}.myplace-portal .favorite-button.is-saved .icon-color-fill{fill:var(--color-danger);stroke:var(--color-primary)}
@media(max-width:760px){.myplace-portal .category-icon .svg-icon{width:27px;height:27px}}
@media(max-width:480px){.myplace-portal .category-icon .svg-icon{width:26px;height:26px}}
@media(forced-colors:active){.myplace-portal .svg-icon,.myplace-portal .svg-icon *{stroke:ButtonText!important;fill:none!important}}

/* Restore photographs on community and city cards. */
.myplace-portal .story-image{position:relative}
.story-photo-caption{position:absolute;bottom:0;left:0;right:0;padding:3px 6px;background:var(--color-overlay);color:var(--color-surface);font-size:9px;line-height:1.3;letter-spacing:0;text-align:center}
.city-directory-card .city-directory-photo{width:82px;height:82px;flex:none;object-fit:cover;border-radius:9px}
@media(max-width:480px){.city-directory-card .city-directory-photo{width:68px;height:68px}}

.city-photo-credits{font-size:12px;line-height:1.65;padding-left:20px}.city-photo-credits li{margin-bottom:9px}.city-photo-credits a{color:var(--blue)}

/* Photographic choice thumbnails. Existing footer artwork stays unchanged. */
.myplace-portal .choice-icon{display:inline-block;object-fit:contain;flex:none;width:36px;height:36px;vertical-align:middle}
.myplace-portal .main-nav .choice-icon{width:27px;height:27px;margin-right:3px}
.myplace-portal .mobile-nav .choice-icon{width:30px;height:30px;margin-right:8px}
.myplace-portal .category-icon{width:52px;height:52px;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:0 2px 6px var(--color-shadow);border-radius:12px}
.myplace-portal .category-icon .choice-icon{width:46px;height:46px}
.myplace-portal .utility-symbol:has(.choice-icon){background:transparent;border:0;box-shadow:none;width:42px;height:42px}
.myplace-portal .utility-symbol .choice-icon{width:40px;height:40px}
.myplace-portal .guide-icon:has(.choice-icon){background:transparent;border:0;box-shadow:none}
.myplace-portal .guide-icon .choice-icon{width:48px;height:48px}
@media(max-width:480px){.myplace-portal .category-icon{width:46px;height:46px}.myplace-portal .category-icon .choice-icon{width:41px;height:41px}}

/* Accessible discovery carousels and focused community news search. */
.carousel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--color-primary-dark);margin:10px 0 5px}.carousel-controls{display:flex;gap:6px;flex:none}.carousel-arrow{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface);color:var(--color-primary-dark);cursor:pointer}.carousel-arrow:disabled{opacity:.3;cursor:default}.carousel-arrow:focus-visible,.category-item:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}.carousel-arrow .svg-icon{width:18px;height:18px}
.myplace-portal .category-strip{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;gap:12px;padding:8px 4px 14px;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.myplace-portal .category-item{flex:0 0 110px;white-space:normal;text-align:center;scroll-snap-align:start;justify-content:flex-start;font-size:12px;line-height:1.3;min-height:90px}.myplace-portal .category-item>span:last-child{max-width:108px}
.myplace-portal .featured-carousel{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;gap:16px;padding:6px 3px 18px;scrollbar-width:thin}.featured-carousel>.listing-card{flex:0 0 calc((100% - 48px)/4);min-width:245px;scroll-snap-align:start}.featured-carousel>.empty-state{width:100%}.category-pages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.category-page-card{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);color:var(--color-text-strong);min-width:0}.category-page-card .choice-icon{width:48px;height:48px;object-fit:contain}.category-page-card h3{font-size:16px;margin:0 0 5px}.category-page-card p{font-size:12px;margin:0;color:var(--color-primary-dark)}.category-page-card>.svg-icon{margin-left:auto;flex:none;width:18px}.category-intro{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding-top:16px}
.news-search{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(210px,1fr) auto;align-items:end;gap:12px;background:var(--color-surface);padding:16px;border:1px solid var(--color-border);border-radius:14px;margin:12px 0 18px}.news-search label{min-width:0}.news-search label>span{display:block;font-size:12px;font-weight:600;margin-bottom:6px}.news-search label>div{display:flex;align-items:center;border:1px solid var(--color-border);border-radius:8px;padding:0 10px;height:44px}.news-search input{border:0;background:transparent;min-width:0;width:100%;height:40px;font:inherit;font-size:14px;color:var(--color-text-strong)}.news-search .svg-icon{flex:none;width:18px;margin-right:8px}.news-search select{width:100%;height:44px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);padding:8px;font-size:13px;color:var(--color-text-strong)}.news-search .btn{min-height:44px}
@media(max-width:760px){.myplace-portal .category-item{flex-basis:90px;font-size:11px}.myplace-portal .category-strip{gap:8px;padding-top:8px}.myplace-portal .featured-carousel>.listing-card{flex-basis:76%;min-width:230px}.category-pages{grid-template-columns:repeat(2,minmax(0,1fr))}.category-page-card{gap:9px;padding:13px;flex-wrap:wrap}.category-page-card h3{font-size:14px}.news-search{grid-template-columns:1fr 1fr;padding:12px}.news-search label:first-child{grid-column:1/-1}.news-search .btn{font-size:12px;padding:8px}.news-search select{font-size:12px}.carousel-heading{font-size:11px}}
@media(max-width:400px){.category-page-card{display:block}.category-page-card>.svg-icon{display:none}.category-page-card .choice-icon{margin-bottom:8px}.news-search{grid-template-columns:1fr}.news-search .btn{width:100%}}

.community-topbar{display:flex;justify-content:space-between;align-items:center;min-height:38px;gap:16px}.member-header-link{font-size:12px;font-weight:650;color:var(--color-primary-dark)}.language-area{margin-left:auto;position:relative;z-index:60;font-size:12px}.language-area summary{display:flex;align-items:center;gap:7px;cursor:pointer;list-style:none;padding:6px 9px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:7px;min-height:32px}.language-area summary::-webkit-details-marker{display:none}.language-flag{display:inline-flex;width:24px;height:16px;flex:none}.language-flag svg{width:24px;height:16px;display:block}.language-options{position:absolute;right:0;top:38px;background:var(--color-surface);padding:7px;border:1px solid var(--color-border);border-radius:9px;box-shadow:0 8px 22px var(--color-shadow-medium);min-width:155px}.language-options button{display:flex;align-items:center;gap:9px;width:100%;padding:10px;border:0;background:var(--color-surface);text-align:left;cursor:pointer;border-radius:5px}.language-options button[aria-pressed=true]{background:var(--color-primary-faint);font-weight:700}.language-notice{font-size:10px;color:var(--color-primary-dark);margin:0;text-align:right;padding:0 24px;min-height:0}.language-notice:empty{display:none}.membership-page{display:grid;grid-template-columns:1fr 1fr;gap:38px;max-width:950px!important}.membership-intro h1{font-size:38px;color:var(--color-text-strong);line-height:1.1}.membership-intro p{line-height:1.6}.membership-page form{display:grid;gap:17px}.membership-consent{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.6}.membership-consent input{margin-top:4px;flex:none;width:18px;height:18px}.membership-page #membership-status{font-size:13px;line-height:1.5}.membership-page .briefing-card{padding:25px}.membership-banner .btn{flex:none}@media(max-width:760px){.membership-page{grid-template-columns:1fr;gap:15px}.membership-intro h1{font-size:30px}.membership-banner{gap:18px;flex-wrap:wrap}.language-notice{text-align:center;padding:0 16px}.community-topbar{min-height:39px}}

/* Sharper realistic thumbnails; integrate choices with the page background. */
.myplace-portal .category-strip .category-icon,.myplace-portal .category-strip .category-item:hover .category-icon{background:transparent!important;border-color:transparent!important;box-shadow:none!important}
.myplace-portal .main-nav .choice-icon{width:32px;height:32px}
.myplace-portal .chip .choice-icon{width:42px;height:42px}
.myplace-portal .utility-symbol .choice-icon{width:46px;height:46px}
.myplace-portal .utility-symbol:has(.choice-icon){width:48px;height:48px}
.myplace-portal .choice-icon{image-rendering:auto}

/* A news story without a verified article image has no substitute photo. */
.myplace-portal .story-without-photo .story-content{width:100%;min-width:0}.myplace-portal .daily-news .story-without-photo{padding-block:8px;border-bottom:1px solid var(--color-shadow-medium)}

/* Mouse drag on desktop, native horizontal swipe on touch screens. */
.myplace-portal :is(.category-strip,.featured-carousel,.services-carousel,.partners-carousel){scrollbar-width:none;cursor:grab}
.myplace-portal :is(.category-strip,.featured-carousel,.services-carousel,.partners-carousel)::-webkit-scrollbar{display:none}
.myplace-portal .is-dragging{cursor:grabbing!important;scroll-snap-type:none!important;scroll-behavior:auto!important;user-select:none}
.myplace-portal .is-dragging a{cursor:grabbing;user-select:none}
.myplace-portal .category-strip img{-webkit-user-drag:none;user-select:none}
@media(max-width:600px){.myplace-portal .category-strip{grid-auto-columns:84px;padding-right:28px}.myplace-portal .category-strip .category-item{flex-direction:column;justify-content:center;text-align:center;gap:6px;min-height:84px}.myplace-portal .category-strip .category-icon{width:48px;height:48px}.myplace-portal .category-strip .choice-icon{width:44px;height:44px}}

.community-topbar{gap:16px;align-items:center}.weather-current{margin-left:auto;font-size:11px;color:var(--color-primary-dark);min-width:0}.weather-current a{display:flex;align-items:center;gap:8px;color:inherit;text-decoration:none}.weather-current strong{white-space:nowrap;font-size:13px}.weather-current strong span{font-weight:400;opacity:.75}.weather-current small{font-size:10px}.language-area{margin-left:0}.location-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
@media(max-width:700px){.community-topbar{flex-wrap:wrap;gap:8px;padding-block:8px}.member-header-link{order:0}.language-area{order:1;margin-left:auto}.weather-current{order:2;flex-basis:100%;margin-left:0}.weather-current a{justify-content:center;flex-wrap:wrap;gap:4px 9px}.location-actions .btn{width:100%}}

.services-carousel,.partners-carousel{display:grid;grid-auto-flow:column;overflow-x:auto;gap:14px;padding:8px 2px 16px;scroll-snap-type:x mandatory}.services-carousel{grid-auto-columns:150px}.service-specialty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:18px 12px;border:1px solid var(--color-border);border-radius:16px;scroll-snap-align:start;text-align:center;background:var(--color-overlay);color:inherit;text-decoration:none;min-height:128px}.service-specialty .choice-icon{width:48px;height:48px}.service-specialty strong{font-size:13px}.partners-carousel{grid-auto-columns:minmax(250px,31%)}.partner-card{padding:22px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface);scroll-snap-align:start}.partner-card h3{margin-block:12px 8px}.partner-card small{display:block;margin-block:8px}.partners-invite{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border-radius:18px;background:var(--color-primary-faint)}.school-official-links{margin-top:24px;padding:20px;border-radius:14px;background:var(--color-primary-faint)}.school-official-links li{margin-bottom:12px}.school-official-links a{color:var(--color-primary)}
@media(max-width:600px){.services-carousel{grid-auto-columns:126px;padding-right:24px}.partners-carousel{grid-auto-columns:85%;padding-right:24px}.partners-invite{align-items:flex-start;flex-direction:column}}

/* Location is always reachable, including tablet and mobile. */
.myplace-portal .community-topbar>.location-pill{display:inline-flex;align-items:center;gap:6px;max-width:205px;min-width:0;min-height:30px;padding:5px 9px;flex-shrink:0;cursor:pointer}.community-topbar>.location-pill>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.community-topbar>.location-pill svg{flex-shrink:0;width:15px;height:15px}.community-topbar .weather-current{margin-left:auto}.community-topbar .weather-current a>span{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.community-topbar .weather-current small{display:none}
@media(max-width:1000px){.myplace-portal .community-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;padding-block:7px}.community-topbar>.member-header-link{grid-column:1;grid-row:1}.community-topbar>.language-area{grid-column:2;grid-row:1;justify-self:end}.myplace-portal .community-topbar>.location-pill{grid-column:1;grid-row:2;justify-self:start;max-width:100%;font-size:11px}.community-topbar>.weather-current{grid-column:2;grid-row:2;max-width:180px;font-size:10px;justify-self:end;margin:0}.community-topbar .weather-current a{justify-content:flex-end;gap:2px 6px}.community-topbar .weather-current a>span{max-width:110px}.community-topbar .weather-current strong{font-size:11px}.community-topbar .weather-current strong span{display:none}}

/* MyPlace discovery and location */
.related-heading{grid-column:1/-1;margin:24px 0 0}.related-searches{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:16px 0}.region-only{margin:12px 0;font-size:13px}#location-device{margin:8px 0}.related-searches .chip{white-space:normal}

/* Verified article thumbnails and draggable listing categories. */
.myplace-portal .daily-news .story-image{width:132px;height:104px;aspect-ratio:auto;border-radius:10px;align-self:flex-start;background:var(--color-primary-faint)}
.myplace-portal .story-image .news-thumbnail{display:block;width:100%;height:100%;object-fit:contain;image-rendering:auto;filter:none;transform:none}
.myplace-portal .daily-news .story-content{min-width:0;flex:1}
.myplace-portal .filter-chips.category-filter-carousel{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:10px;scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-x:contain;padding:6px 3px 12px;margin-top:0;cursor:grab;touch-action:pan-x pan-y pinch-zoom}
.myplace-portal .category-filter-carousel::-webkit-scrollbar{display:none}
.myplace-portal .category-filter-carousel>.chip{flex:0 0 auto;scroll-snap-align:start;white-space:nowrap}
.myplace-portal .category-filter-carousel.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.listing-category-heading{margin-top:18px}
@media(max-width:760px){.myplace-portal .daily-news .story-image{width:120px;height:96px}.myplace-portal .category-filter-carousel>.chip{min-height:46px}}
@media(max-width:480px){.myplace-portal .daily-news .story-image{width:104px;height:88px}.myplace-portal .news-feed-grid .story-image{width:112px;min-height:130px}.myplace-portal .daily-news .story-card{gap:12px}}

/* MA community: city choice, verified services and airport guides */
.ma-city-choice{padding:20px 24px;background:var(--color-primary-faint);border:1px solid var(--color-border);border-radius:16px;margin:22px 0}
.ma-city-choice>label{display:block;font-weight:700;margin-bottom:10px}.ma-city-choice>div{display:flex;gap:12px;flex-wrap:wrap}.ma-city-choice .select{flex:1;min-width:180px}.ma-city-choice small{display:block;margin-top:10px;color:var(--color-text-secondary)}
.ma-local-panel{border:1px solid var(--color-border);border-radius:20px;padding:26px;margin:26px 0;background:var(--color-surface)}.ma-local-panel>h2{margin-bottom:22px}
.ma-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.ma-service-grid article{padding:16px 0;border-top:1px solid var(--color-border);min-width:0}.ma-service-grid h3{font-size:18px;margin:0 0 10px}.ma-service-grid p{line-height:1.65;font-size:14px;margin-bottom:12px}
.ma-source-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:22px}.utility-detail .ma-source-links{flex-direction:column}
.ma-airports{max-width:1200px;margin-left:auto;margin-right:auto}.ma-airport-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}.ma-airport-card{display:block;background:var(--color-primary-faint);border:1px solid var(--color-border);border-radius:18px;padding:24px;color:inherit;text-decoration:none}.ma-airport-card>strong{font-size:32px;letter-spacing:.06em;color:var(--color-text-strong)}.ma-airport-card h3{font-size:20px;margin:16px 0 10px}.ma-airport-card p{line-height:1.6}.ma-airport-card>span{display:block;margin-top:20px;font-weight:600;font-size:13px}.ma-airport-card .icon{width:17px;height:17px}.ma-airport-featured{background:var(--color-primary-faint);border-color:var(--color-success-text)}.ma-airport-card:hover{border-color:var(--color-text-strong)}
@media(max-width:800px){.ma-service-grid,.ma-airport-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.ma-service-grid,.ma-airport-grid{grid-template-columns:1fr}.ma-city-choice,.ma-local-panel{padding:18px}.ma-city-choice>div{flex-direction:column}.ma-airports{padding-left:18px;padding-right:18px}}

/* USA / Brazil: existing vector flags stay sharp on high density displays. */
.footer-countries{display:inline-flex;align-items:center;gap:10px;flex:none}.footer-countries>span{display:inline-flex;align-items:center;justify-content:center;width:38px;height:26px;border:1px solid var(--color-shadow-medium);border-radius:3px;overflow:hidden}.footer-countries svg{display:block;width:100%;height:100%}

.city-directory-card--text{grid-template-columns:minmax(0,1fr) auto;min-height:95px}.city-profile--text{display:block!important}.ma-home-city{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:12px}.ma-home-city a{font-weight:700;color:var(--blue)}.ma-boston-agenda{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}

/* Six primary navigation links use the existing mobile menu before overlap. */
@media(min-width:1001px) and (max-width:1279px){.myplace-portal .main-nav{display:none}.myplace-portal .menu-toggle{display:flex}.myplace-portal .header-actions{margin-left:auto}}

/* Compiled from design-system/theme.css; single source of truth. */
/* MyPlace Design System 1.0 — sole UI palette authority. */
html.myplace-design-system .admin-nav :is(.nav-caption,summary){color:var(--color-text-secondary)}
html.myplace-design-system .myplace-visual .toolbar .mp-icon{--color-icon-blue-top:var(--color-inverse);--color-icon-blue-bottom:var(--color-primary-light);--color-icon-stroke:var(--color-inverse)}
:root{
 --color-primary:#1457E6;--color-primary-dark:#0A3EBF;--color-primary-hover:#0A47CC;
 --color-primary-light:#EAF2FF;--color-primary-faint:#F5F8FF;--color-primary-soft:#EEF5FF;
 --color-success:#18B86A;--color-success-text:#087545;--color-success-light:#EEFBF7;
 --color-teal:#18B9A0;--color-warning:#F5A524;--color-warning-text:#855100;--color-warning-light:#FFF9E8;
 --color-danger:#EF4444;--color-danger-text:#B42318;--color-danger-light:#FFF1F0;
 --color-background:#F7FAFF;--color-surface:#FFFFFF;--color-border:#D7E3F4;--color-card-border:#DCE7F5;
 --color-input-border:#C9DAF1;--color-text:#17345F;--color-text-strong:#12346B;--color-text-secondary:#60708A;
 --color-inverse:#FFFFFF;--color-transparent:transparent;
 --color-shadow:rgb(18 52 107 / .06);--color-shadow-medium:rgb(18 52 107 / .12);--color-overlay:rgb(18 52 107 / .5);
 --color-icon-stroke:#12346B;--color-icon-shadow:rgb(18 52 107 / .13);
 --color-icon-blue-top:color-mix(in srgb,var(--color-primary),white 30%);
 --color-icon-blue-bottom:var(--color-primary-dark);--color-icon-highlight:var(--color-primary-light);
 --radius-card:16px;--radius-control:11px;--shadow-card:0 3px 12px var(--color-shadow);
 --ink:var(--color-text);--blue:var(--color-primary);--blue-dark:var(--color-primary-dark);--muted:var(--color-text-secondary);
 --paper:var(--color-background);--white:var(--color-surface);--line:var(--color-border);--pale:var(--color-primary-light);--sky:var(--color-primary-light);
}
html.myplace-design-system body{background:var(--color-background);color:var(--color-text)}
html.myplace-design-system :is(h1,h2,h3){color:var(--color-text-strong)}
html.myplace-design-system :is(.hero-title,.hero-copy,.hero-kicker,.hero-location,.city-name,.city-link){color:var(--color-inverse)}
html.myplace-design-system :is(.section-top h2,.panel-title h3){color:var(--color-text-strong)}
html.myplace-design-system :is(.site-header,.mobile-nav,.admin-header,.admin-nav){background:var(--color-surface);border-color:var(--color-border);box-shadow:0 2px 9px var(--color-shadow)}
html.myplace-design-system :is(.main-nav a,.mobile-nav a,.admin-nav button){color:var(--color-text)}
html.myplace-design-system :is(.main-nav a.active,.mobile-nav a.active,.admin-nav button.active){background:var(--color-primary-light);color:var(--color-primary-dark);border-color:var(--color-border)}
html.myplace-design-system :is(.location-pill,.chip){background:var(--color-primary-faint);border-color:var(--color-border);color:var(--color-text)}
html.myplace-design-system .chip.active{background:var(--color-primary-light);color:var(--color-primary-dark);border-color:var(--color-input-border)}
html.myplace-design-system body :is(.btn-primary,.search-submit,button.primary,.primary),html.myplace-design-system .site-header .header-actions>.btn{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-inverse);border-radius:var(--radius-control);box-shadow:0 2px 8px var(--color-shadow)}
html.myplace-design-system body :is(.btn-primary,.search-submit,button.primary,.primary):hover:not(:disabled),html.myplace-design-system .site-header .header-actions>.btn:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-inverse)}
html.myplace-design-system .btn-outline{background:var(--color-surface);color:var(--color-primary-dark);border-color:var(--color-input-border);border-radius:var(--radius-control)}
html.myplace-design-system :is(.hero-search,.filter-panel,.news-search){background:var(--color-surface);border-color:var(--color-input-border);box-shadow:var(--shadow-card)}
html.myplace-design-system :is(input,select,textarea,.filter-input,.filter-select){background-color:var(--color-surface);color:var(--color-text);border-color:var(--color-input-border);accent-color:var(--color-primary)}
html.myplace-design-system :is(input,select,textarea,button,a):focus-visible{outline-color:var(--color-primary)}
html.myplace-design-system :is(input,select,textarea):focus{border-color:var(--color-primary)}
html.myplace-design-system :is(input,textarea)::placeholder{color:var(--color-text-secondary);opacity:1}
html.myplace-design-system body #main :is(.listing-card,.shop-card,.story-card,.utility-card,.event-card,.city-directory-card,.guide-card,.briefing-card,.provider-card,.contact-card,.publish-panel,.offer-card,.daily-news,.daily-agenda,.daily-utilities,.calendar-panel){background:var(--color-surface);border-color:var(--color-card-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}
html.myplace-design-system :is(.connection-card,.summary-grid>div,.social-card,.paid-panel,.table-scroll,.login-panel,.admin-shortcuts button){background:var(--color-surface);border-color:var(--color-card-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}
html.myplace-design-system :is(.community-banner,.offers-banner,.notice,.social-assistance,.event-date){background:var(--color-primary-soft);border-color:var(--color-border);color:var(--color-text)}
html.myplace-design-system :is(.community-banner h2,.community-banner p,.social-assistance p){color:var(--color-text)}
html.myplace-design-system :is(.listing-price,.access-chip.is-active){color:var(--color-success-text)}
html.myplace-design-system :is(.form-error,.danger,.overdue){color:var(--color-danger-text)}
html.myplace-design-system :is(.shop-update,.shop-detail,.filter-control>span,.form-hint,.listing-location,.eyebrow,.search-field>span){color:var(--color-text-secondary)}
html.myplace-design-system :is(.calendar-day.selected,.calendar-day.today,.portal-tabs a.active){background:var(--color-primary);color:var(--color-inverse)}
html.myplace-design-system .mp-icon{--icon-accent:var(--color-warning);display:inline-block;width:22px;height:22px;flex:none;vertical-align:middle;overflow:visible;stroke:none;filter:none;animation:none}
html.myplace-design-system .mp-icon[data-tone="success"]{--icon-accent:var(--color-success)}
html.myplace-design-system .mp-icon[data-tone="teal"]{--icon-accent:var(--color-teal)}
html.myplace-design-system .mp-icon[data-tone="danger"]{--icon-accent:var(--color-danger)}
html.myplace-design-system .mp-icon-art{filter:drop-shadow(0 1px .55px var(--color-icon-shadow))}
html.myplace-design-system .mp-icon .mp-stop-primary-top{stop-color:var(--color-icon-blue-top)}
html.myplace-design-system .mp-icon .mp-stop-primary-bottom{stop-color:var(--color-icon-blue-bottom)}
html.myplace-design-system .mp-icon .mp-stop-accent-top{stop-color:color-mix(in srgb,var(--icon-accent),white 24%)}
html.myplace-design-system .mp-icon .mp-stop-accent-bottom{stop-color:var(--icon-accent)}
html.myplace-design-system .mp-icon .mp-paint-highlight{fill:var(--color-icon-highlight)}
html.myplace-design-system .mp-icon .mp-paint-detail{stroke:var(--color-icon-stroke)}
html.myplace-design-system :is(button,.btn,.text-link,.shop-action,.breadcrumb) .mp-icon{width:20px;height:20px}
html.myplace-design-system :is(.main-nav,.mobile-nav) .mp-icon{width:28px;height:28px}
html.myplace-design-system :is(.hero-search,.search-field,.filter-control) .mp-icon{width:22px;height:22px}
html.myplace-design-system :is(.category-icon,.ui-icon){background:none;box-shadow:none;border-color:transparent}
html.myplace-design-system .category-icon:before{display:none}
html.myplace-design-system :is(.category-strip,.category-filter-carousel,.category-page-card) .category-vector{width:48px;height:48px}
html.myplace-design-system :is(.service-specialty,.utility-symbol,.guide-icon) .mp-icon{width:40px;height:40px}
html.myplace-design-system .admin-nav .mp-icon{width:26px;height:26px}
html.myplace-design-system .page-icon .mp-icon{width:36px;height:36px}
html.myplace-design-system .admin-nav>button:before{content:none;display:none}
html.myplace-design-system .social-network .mp-icon{width:30px;height:30px}
html.myplace-design-system .dialog-header button .mp-icon{width:20px;height:20px}
@media(max-width:760px){html.myplace-design-system :is(.category-strip,.category-filter-carousel,.category-page-card) .category-vector{width:40px;height:40px}html.myplace-design-system :is(.main-nav,.mobile-nav) .mp-icon{width:26px;height:26px}html.myplace-design-system .admin-nav .mp-icon{width:22px;height:22px}}
@media(forced-colors:active){html.myplace-design-system .mp-icon-art{filter:none}html.myplace-design-system .mp-icon path,html.myplace-design-system .mp-icon rect,html.myplace-design-system .mp-icon circle{fill:ButtonText;stroke:Canvas}}

html.myplace-design-system :is(.btn-primary,button.primary,.search-submit) .mp-icon{--color-icon-blue-top:var(--color-inverse);--color-icon-blue-bottom:var(--color-primary-light);--color-icon-stroke:var(--color-inverse)}
html.myplace-design-system .site-footer{background:var(--color-text-strong);color:var(--color-inverse)}
html.myplace-design-system .site-footer :is(h2,h3,p,a,.eyebrow){color:var(--color-inverse)}

/* MyPlace illustrated 2.5D: one material and lighting rig for the complete pack. */
:root{
 --color-icon-detail:color-mix(in srgb,var(--color-primary-dark),var(--color-primary-light) 35%);
 --color-icon-depth:color-mix(in srgb,var(--color-primary-dark),var(--color-primary) 28%);
 --color-icon-highlight-depth:color-mix(in srgb,var(--color-primary-light),var(--color-primary) 22%);
 --color-icon-sheen:var(--color-surface);
}
html.myplace-design-system .mp-icon{--color-icon-accent-depth:color-mix(in srgb,var(--icon-accent),var(--color-text-strong) 16%)}
html.myplace-design-system .mp-icon-art{filter:drop-shadow(.35px .8px .45px var(--color-icon-shadow))}
html.myplace-design-system .mp-icon .mp-stop-primary-middle{stop-color:var(--color-primary)}
html.myplace-design-system .mp-icon .mp-stop-primary-top{stop-color:color-mix(in srgb,var(--color-primary),var(--color-surface) 35%)}
html.myplace-design-system .mp-icon .mp-stop-highlight-top{stop-color:var(--color-surface)}
html.myplace-design-system .mp-icon .mp-stop-highlight-bottom{stop-color:var(--color-primary-light)}
html.myplace-design-system .mp-icon .mp-stop-sheen{stop-color:var(--color-icon-sheen)}
html.myplace-design-system :is(.btn-primary,button.primary,.search-submit,.myplace-visual .toolbar) .mp-icon{--color-icon-depth:var(--color-primary-light);--color-icon-detail:var(--color-inverse)}
html.myplace-design-system :is(.btn-primary,button.primary,.search-submit,.myplace-visual .toolbar) .mp-icon .mp-stop-primary-top{stop-color:var(--color-inverse)}
html.myplace-design-system :is(.btn-primary,button.primary,.search-submit,.myplace-visual .toolbar) .mp-icon .mp-stop-primary-middle{stop-color:var(--color-primary-light)}
@media(forced-colors:active){html.myplace-design-system .mp-icon-depth{display:none}html.myplace-design-system .mp-icon-art{filter:none}}

/* Shared native vector materials. Layout and icon sizing remain unchanged. */
:root{
 --color-icon-ink:var(--color-text-strong);
 --color-icon-depth:var(--color-primary-dark);
 --color-icon-surface-bottom:color-mix(in srgb,var(--color-primary-light),var(--color-primary) 12%);
}
html.myplace-design-system .mp-icon-art{filter:drop-shadow(.2px .6px .65px var(--color-icon-shadow))}
html.myplace-design-system .mp-icon .mp-stop-primary-top{stop-color:color-mix(in srgb,var(--color-primary),var(--color-surface) 26%)}
html.myplace-design-system .mp-icon .mp-stop-primary-middle{stop-color:var(--color-primary)}
html.myplace-design-system .mp-icon .mp-stop-primary-bottom{stop-color:var(--color-primary-dark)}
html.myplace-design-system .mp-icon .mp-stop-highlight-top{stop-color:var(--color-surface)}
html.myplace-design-system .mp-icon .mp-stop-highlight-bottom{stop-color:var(--color-icon-surface-bottom)}
html.myplace-design-system :is(.btn-primary,button.primary,.search-submit,.myplace-visual .toolbar) .mp-icon{--color-icon-depth:var(--color-primary-light);--color-icon-ink:var(--color-inverse)}
html.myplace-design-system :is(.btn-primary,button.primary,.search-submit,.myplace-visual .toolbar) .mp-icon .mp-stop-primary-top{stop-color:var(--color-inverse)}
html.myplace-design-system :is(.btn-primary,button.primary,.search-submit,.myplace-visual .toolbar) .mp-icon .mp-stop-primary-middle{stop-color:var(--color-inverse)}
html.myplace-design-system :is(.btn-primary,button.primary,.search-submit,.myplace-visual .toolbar) .mp-icon .mp-stop-primary-bottom{stop-color:var(--color-primary-light)}
@media(forced-colors:active){html.myplace-design-system .mp-icon-art{filter:none}}

/* MyPlace Plump Natural v3: object colors are intrinsic SVG artwork materials.
   No global blue tint, extrusion, drop shadow or circular category background. */
html.myplace-design-system .mp-icon-art{filter:none}
html.myplace-design-system .mp-icon{vertical-align:middle;flex-shrink:0}
html.myplace-design-system :is(.category-strip,.category-filter-carousel,.category-page-card) .category-vector{width:60px;height:60px;flex-shrink:0;align-self:center;object-fit:contain}
@media(max-width:760px){html.myplace-design-system :is(.category-strip,.category-filter-carousel,.category-page-card) .category-vector{width:50px;height:50px}}
/* Keep filled natural objects legible over saturated button surfaces. */
html.myplace-design-system :is(.btn-primary,button.primary,.search-submit) .mp-icon:is([data-icon="plus"],[data-icon="arrow"],[data-icon="chevron"]) .mp-icon-art>*{fill:var(--color-inverse)}
html.myplace-design-system :is(.btn-primary,button.primary,.search-submit) .mp-icon:is([data-icon="plus"],[data-icon="arrow"],[data-icon="chevron"]) .mp-icon-art>:last-child{fill:var(--color-primary-light)}
@media(forced-colors:active){html.myplace-design-system .mp-icon-art{filter:none;forced-color-adjust:none}}

/* Verified event photographs: source imagery only, no replacement artwork. */
.event-card:has(.event-thumbnail){display:grid;grid-template-columns:84px 48px minmax(0,1fr) 22px;gap:12px;align-items:center}
.event-card .event-thumbnail{display:block;width:84px;height:84px;object-fit:contain;border-radius:8px;background:var(--color-surface);margin:0}
.event-detail-photo{display:block;width:100%;height:auto;max-height:480px;object-fit:contain;border-radius:14px;background:var(--color-surface);margin:0 0 20px}
@media(max-width:760px){.event-card:has(.event-thumbnail){grid-template-columns:56px 40px minmax(0,1fr) 18px;gap:8px}.event-card .event-thumbnail{width:56px;height:70px}.event-detail-photo{max-height:360px}}

/* MyPlace Realistic v4. Artwork has intrinsic object colors; no global tint.
   Keep existing layout, icon dimensions, alignment, hit targets and breakpoints. */
html.myplace-design-system .mp-icon[data-icon-pack="myplace-realistic-v4"]{isolation:isolate;filter:none;overflow:visible}
html.myplace-design-system .mp-realistic-image{filter:none;opacity:1}
html.myplace-design-system .mp-realistic-native{filter:drop-shadow(.15px .3px .25px var(--color-icon-shadow))}
html.myplace-design-system :is(.btn-primary,button.primary,.search-submit,.myplace-visual .toolbar) .mp-realistic-stop-light{stop-color:var(--color-inverse)}
html.myplace-design-system :is(.btn-primary,button.primary,.search-submit,.myplace-visual .toolbar) .mp-realistic-stop-mid{stop-color:var(--color-primary-light)}
html.myplace-design-system :is(.btn-primary,button.primary,.search-submit,.myplace-visual .toolbar) .mp-realistic-stop-dark{stop-color:var(--color-border)}
@media(forced-colors:active){html.myplace-design-system .mp-realistic-native{filter:none}html.myplace-design-system .mp-realistic-face{fill:ButtonText;stroke:Canvas}html.myplace-design-system .mp-realistic-image,html.myplace-design-system .mp-realistic-brand{forced-color-adjust:none}}

/* Same-size language disclosure icon; no control or layout changes. */
html.myplace-design-system .language-caret.mp-icon { width: .7em; height: .7em; vertical-align: baseline; }

/* MYPLACE-LOGO-MA-PUBLISH-20260918-16: shared brand only. */
.myplace-portal .brand-mark svg{filter:none}
.myplace-portal .brand-name,
.myplace-portal .brand-name strong{color:var(--color-text-strong);font-weight:750;letter-spacing:-.045em}
body.myplace-portal:not([data-page="anunciar"]) .footer-brand .brand-name,
body.myplace-portal:not([data-page="anunciar"]) .footer-brand .brand-name strong{color:var(--color-surface)}
body.myplace-portal:not([data-page="anunciar"]) .footer-brand .brand-mark svg path:last-child{fill:var(--color-surface)}

/* MYPLACE-LOGO-MA-OUTER-PUBLISH-20260918-18: shared horizontal mark; height unchanged. */
html.myplace-design-system body.myplace-portal .brand .brand-mark,
html.myplace-design-system body.myplace-portal .brand .brand-mark svg{width:60px;flex-shrink:0}
@media(max-width:760px){html.myplace-design-system body.myplace-portal .brand .brand-mark,html.myplace-design-system body.myplace-portal .brand .brand-mark svg{width:48px}}

/* Official user-supplied PNG: original pixels and aspect ratio preserved. */
html.myplace-design-system body.myplace-portal .brand .brand-mark{display:block;width:48px;height:48px;flex:0 0 48px;filter:none;transform:none}
html.myplace-design-system body.myplace-portal .brand .brand-mark .myplace-official-logo{display:block;width:100%;height:100%;object-fit:contain;object-position:center;filter:none;transform:none;border:0;border-radius:0;padding:0;background:transparent}
@media(max-width:760px){html.myplace-design-system body.myplace-portal .brand .brand-mark{width:40px;height:40px;flex-basis:40px}}

/* Exact complete user logo: symbol, name and tagline are one original image. */
html.myplace-design-system body.myplace-portal .brand>.myplace-full-official-logo{display:block;width:180px;max-width:100%;height:auto;object-fit:contain;object-position:center;filter:none;transform:none;border:0;border-radius:0;padding:0;background:transparent}
html.myplace-design-system body.myplace-portal .footer-brand .brand>.myplace-full-official-logo{width:244px}
@media(max-width:760px){html.myplace-design-system body.myplace-portal .site-header .brand>.myplace-full-official-logo{width:156px}}

/* Official2172px PNG retained. Larger display + subtle contrast on name/tagline only. */
html.myplace-design-system body.myplace-portal .brand:has(>.myplace-full-official-logo){position:relative}
html.myplace-design-system body.myplace-portal .brand:has(>.myplace-full-official-logo)::after{content:"";position:absolute;inset:0;background-image:url('/assets/myplace-full-official-20260918.png');background-size:100% 100%;background-position:center;background-repeat:no-repeat;clip-path:inset(0 0 0 31%);filter:contrast(1.2);pointer-events:none}
html.myplace-design-system body.myplace-portal .site-header .brand>.myplace-full-official-logo{width:210px}
html.myplace-design-system body.myplace-portal .footer-brand .brand>.myplace-full-official-logo{width:280px}
@media(max-width:760px){html.myplace-design-system body.myplace-portal .site-header .brand>.myplace-full-official-logo{width:180px}}
@media(max-width:340px){html.myplace-design-system body.myplace-portal .site-header .brand>.myplace-full-official-logo{width:144px}}

/* New official original: no previous text-contrast layer may cover it. */
html.myplace-design-system body.myplace-portal .brand:has(>.myplace-full-official-logo)::after{content:none;display:none;background-image:none;filter:none;clip-path:none}

/* Scoped to the approved Destaques replacement; existing cards and photos are unchanged. */
.spotlight-heading{margin:0 0 20px}.spotlight-heading h1{margin:8px 0;font-size:clamp(1.6rem,3vw,2.5rem)}
.spotlight{background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;overflow:hidden}
.spotlight-slide{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);color:var(--color-text);text-decoration:none;min-height:360px}
.spotlight-slide[hidden],.spotlight-controls [hidden]{display:none!important}
.spotlight-picture{min-width:0;display:flex;align-items:center;justify-content:center;background:var(--color-primary-light)}
.spotlight .spotlight-image{display:block;width:100%;height:400px;object-fit:contain;object-position:center}
.spotlight-copy{padding:clamp(20px,3vw,40px);align-self:center;min-width:0;overflow-wrap:anywhere}
.spotlight-copy h2{font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.2;margin:12px 0}
.spotlight-description{color:var(--color-text-secondary);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.spotlight-location{display:flex;align-items:center;gap:8px}.spotlight-organizer{font-weight:600}
.spotlight-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:12px 20px;border-top:1px solid var(--color-border)}
.spotlight-controls>div{display:flex;align-items:center;gap:8px}.spotlight-controls button{min-height:44px;min-width:44px}
.spotlight a:focus-visible,.spotlight button:focus-visible{outline:3px solid var(--color-primary);outline-offset:-3px}
.spotlight-empty{padding:32px}.spotlight-empty h2{margin-top:0}
@media(max-width:760px){.spotlight-slide{grid-template-columns:minmax(0,1fr)}.spotlight .spotlight-image{height:clamp(200px,64vw,320px)}.spotlight-copy{padding:20px}.spotlight-copy h2{font-size:1.4rem}.spotlight-description{-webkit-line-clamp:3}.spotlight-controls{padding:12px}.spotlight-controls>.text-link{margin-left:auto}}
