@import url('https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&display=swap');

:root{--purple:#512da8;--purple-dark:#30126f;--yellow:#ffd54f;--bg:#fafafc;--surface:#fff;--text:#202124;--muted:#5f6368;--line:#d8d1e3;--font-scale:1;scroll-behavior:smooth}*{box-sizing:border-box}html{font-size:calc(16px * var(--font-scale));scroll-padding-top:88px}body{margin:0;background:var(--bg);color:var(--text);font-family:"Atkinson Hyperlegible",Arial,sans-serif;line-height:1.55}button,input,select{font:inherit}a{color:inherit}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 40px));margin:auto}.skip-link{position:fixed;z-index:100;top:-70px;left:12px;padding:10px 16px;background:#fff;color:#000;font-weight:700}.skip-link:focus{top:12px}:focus-visible{outline:4px solid var(--yellow)!important;outline-offset:3px!important}.site-header{height:82px;display:flex;align-items:center;position:sticky;top:0;z-index:50;background:rgba(250,250,252,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{display:flex;align-items:center;gap:28px}.logo{display:inline-flex;align-items:center;text-decoration:none;font-weight:700;font-size:1.55rem;letter-spacing:-.05em}.main-nav{margin-left:auto;display:flex;gap:26px}.main-nav a{font-weight:700;text-decoration:none}.main-nav a:hover{text-decoration:underline;text-underline-offset:6px}.access-trigger,.menu-button{display:flex;gap:8px;align-items:center;border:0;border-radius:12px;min-height:46px;padding:10px 15px;background:var(--purple);color:#fff;font-weight:700;cursor:pointer}.menu-button{display:none}.access-panel{position:fixed;z-index:60;right:20px;top:94px;width:min(390px,calc(100% - 40px));padding:24px;background:var(--surface);border:2px solid var(--purple);border-radius:18px;box-shadow:0 20px 50px #1f0b4d33}.panel-heading,.panel-control{display:flex;align-items:center;justify-content:space-between;gap:15px}.panel-heading h2{font-size:1.3rem;margin:0}.icon-button{border:0;background:#eee8fb;border-radius:50%;width:42px;height:42px;display:grid;place-items:center}.panel-control{padding:18px 0;border-block:1px solid var(--line);font-weight:700}.panel-control div{display:flex;align-items:center;gap:8px}.panel-control button{width:40px;height:40px;border:2px solid var(--purple);border-radius:8px;background:transparent;color:var(--purple)}.panel-toggle,.reset-button{width:100%;min-height:48px;margin-top:10px;padding:10px 12px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-weight:700;text-align:left}.panel-toggle span{margin-left:auto;color:var(--muted);font-size:.82rem}.reset-button{justify-content:center;color:var(--purple);border:2px solid var(--purple)}.hero-new{min-height:620px;display:grid;place-items:center;position:relative;isolation:isolate;color:#fff;overflow:hidden}.hero-new>img,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-new>img{z-index:-2}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(18,7,45,.91),rgba(38,12,92,.64) 52%,rgba(20,10,45,.2))}.hero-content{padding:94px 0}.eyebrow{font-size:.8rem;letter-spacing:.1em;font-weight:700;text-transform:uppercase;color:var(--purple);margin:0 0 12px}.eyebrow.light{color:var(--yellow)}.hero-content h1{font-size:clamp(3.2rem,6.6vw,6rem);letter-spacing:-.065em;line-height:.9;margin:0 0 26px;max-width:780px}.hero-content h1 em{color:var(--yellow);font-style:normal}.hero-content>p:not(.eyebrow){font-size:1.25rem;max-width:620px}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:32px}.button{min-height:52px;padding:13px 20px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;border:0;font-weight:700;cursor:pointer}.button.primary{background:var(--purple);color:#fff}.button.yellow{background:var(--yellow);color:#281052}.hero-link{font-weight:700;color:#fff;text-underline-offset:5px}.quick-search{background:#fff}.search-shell{display:grid;grid-template-columns:.75fr 1.25fr;align-items:end;gap:40px;padding:34px 0}.search-shell h2{margin:0;font-size:1.85rem}.search-fields{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.search-fields label{display:grid;gap:6px;font-weight:700}.input-wrap,.select-wrap{height:54px;border:2px solid #bab2c8;border-radius:11px;display:flex;align-items:center;gap:10px;padding:0 13px}.input-wrap input,.select-wrap select{border:0;outline:0;background:transparent;color:var(--text);width:100%;height:100%}.needs-section,.places-section,.about-section,.accessibility-section{padding:88px 0}.section-heading{display:grid;grid-template-columns:1.35fr .65fr;gap:45px;align-items:end;margin-bottom:34px}.section-heading h2,.about-section h2{font-size:clamp(2.25rem,4vw,3.7rem);letter-spacing:-.05em;line-height:1.05;margin:0}.section-heading>p{color:var(--muted);font-size:1.08rem}.needs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.needs-grid button{padding:25px;min-height:185px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;border:1px solid var(--line);border-radius:17px;background:var(--surface);cursor:pointer}.needs-grid button:hover{border-color:var(--purple);transform:translateY(-2px)}.need-icon{width:52px;height:52px;display:grid;place-items:center;margin-bottom:18px;border-radius:15px;background:#eee9fc;color:var(--purple)}.needs-grid strong{font-size:1.14rem}.needs-grid small{color:var(--muted)}.places-section{background:#f0edf7}.places-heading{margin-bottom:18px}.filter-row{display:flex;gap:10px;flex-wrap:wrap;border-bottom:1px solid #c9c1d6;padding-bottom:22px}.filter-row button{min-height:43px;padding:8px 15px;background:#fff;border:1px solid #a49bab;border-radius:999px;font-weight:700;cursor:pointer}.filter-row .active{background:var(--purple);border-color:var(--purple);color:#fff}.result-count{color:var(--muted);margin:22px 0}.places-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.place-card{overflow:hidden;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:17px}.place-image{height:210px;position:relative;background:#d6cce9}.place-image img{width:100%;height:100%;object-fit:cover}.place-image span,.category-label{position:absolute;left:14px;top:14px;padding:5px 9px;border-radius:7px;background:#fff;color:#38167a;font-size:.79rem;font-weight:700}.place-content{height:100%;padding:21px;display:flex;flex-direction:column}.place-content h3{font-size:1.28rem;line-height:1.16;margin:0 0 10px}.place-content>p:not(.address){color:var(--muted)}.address{display:flex;gap:6px;align-items:flex-start;font-size:.88rem;color:#4e4854}.address svg{flex:none;color:var(--purple);margin-top:3px}.hours{padding:12px 0;border-top:1px solid var(--line);font-size:.91rem}.access-summary{padding-top:10px;border-top:1px solid var(--line);margin-top:auto}.access-summary strong{font-size:.82rem}.access-summary span{display:flex;align-items:flex-start;gap:6px;margin-top:6px;color:#40394a;font-size:.84rem}.access-summary svg{flex:none;color:var(--purple);margin-top:3px}.place-content button{display:flex;justify-content:space-between;align-items:center;border:0;border-top:1px solid var(--line);margin-top:16px;padding:14px 0 0;background:transparent;color:var(--purple);font-weight:700;cursor:pointer}.empty-state{padding:50px;text-align:center;background:#fff;border-radius:16px}.how-section{padding:90px 0;background:var(--purple-dark);color:#fff}.how-grid{display:grid;grid-template-columns:1fr .85fr;gap:100px;align-items:center}.how-grid h2{font-size:clamp(2.5rem,4.5vw,4.2rem);line-height:1.02;letter-spacing:-.05em;margin:0 0 22px}.how-grid>div>p:not(.eyebrow){font-size:1.16rem;color:#e0d9ee}.how-grid ol{list-style:none;margin:0;padding:0}.how-grid li{display:flex;gap:17px;padding:21px 0;border-bottom:1px solid #6b55a0}.how-grid li>span{height:42px;width:42px;display:grid;place-items:center;flex:none;border-radius:50%;background:var(--yellow);color:#281052;font-weight:700}.how-grid li strong{font-size:1.18rem}.how-grid li p{margin:3px 0;color:#dfd8ed}.about-grid{display:grid;grid-template-columns:.55fr 1.45fr;gap:86px;align-items:center}.about-section p:not(.eyebrow){color:var(--muted);font-size:1.13rem}.principles{display:flex;gap:16px;flex-wrap:wrap;margin-top:26px;font-weight:700}.principles span{display:flex;align-items:center;gap:5px}.principles svg{color:#137333}.accessibility-section{background:#fff}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature-grid article{padding:28px;border:1px solid var(--line);border-radius:17px}.feature-grid b{width:33px;height:33px;color:var(--purple)}.feature-grid h3{font-size:1.25rem;margin:15px 0 5px}.feature-grid p{margin:0;color:var(--muted)}footer{padding:58px 0 23px;background:#201330;color:#fff}.footer-grid{display:grid;grid-template-columns:1fr .65fr 1fr;gap:60px}.footer-grid p,.footer-grid a{color:#d7cfdf}.footer-grid nav{display:flex;flex-direction:column;gap:8px}.footer-bottom{margin-top:40px;padding-top:19px;border-top:1px solid #50425f;display:flex;justify-content:space-between;color:#c2b8cc;font-size:.88rem}.modal-backdrop{position:fixed;z-index:80;inset:0;overflow:auto;padding:20px;background:#160b26c9;display:grid;place-items:center}.place-modal{position:relative;width:min(880px,100%);max-height:92vh;overflow:auto;border-radius:20px;background:#fff}.modal-close{position:absolute;z-index:2;right:15px;top:15px;width:46px;height:46px;border:0;border-radius:50%;background:#fff;display:grid;place-items:center;cursor:pointer}.carousel{height:330px;position:relative;background:#160b26}.carousel>img{width:100%;height:100%;object-fit:cover}.carousel-count{position:absolute;bottom:13px;padding:4px 8px;border-radius:6px;background:#000b;color:#fff;font-size:.77rem}.carousel-count{right:13px}.carousel-button{position:absolute;top:50%;width:44px;height:44px;transform:translateY(-50%);border:0;border-radius:50%;background:#fffd;color:#281052;display:grid;place-items:center;cursor:pointer}.carousel-button.prev{left:15px}.carousel-button.next{right:15px}.modal-content{padding:29px}.modal-content .category-label{position:static;display:inline-block;background:#eee9fa}.modal-content h2{font-size:2.25rem;line-height:1.05;margin:14px 0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px;padding:18px 0;border-top:1px solid var(--line)}.detail-grid h3{margin:0 0 6px;font-size:1rem}.detail-grid p{margin:0}.modal-list{list-style:none;margin:0;padding:0}.modal-list li{display:flex;gap:7px;align-items:flex-start;margin-bottom:8px}.modal-list svg{color:#137333;flex:none;margin-top:3px}.source-box{display:flex;gap:12px;margin:20px 0;padding:18px;background:#f1edf8;border-left:5px solid var(--purple);border-radius:7px 14px 14px 7px}.source-box>svg{color:var(--purple);flex:none;margin-top:2px}.source-box p{margin:4px 0}.source-box a{display:inline-flex;align-items:center;gap:5px;color:var(--purple);font-weight:700}.map-button{width:100%}
[data-contrast="high"]{--bg:#000;--surface:#000;--text:#fff;--muted:#fff;--line:#fff;--purple:#ffdf61;--purple-dark:#000}[data-contrast="high"] .site-header,[data-contrast="high"] .quick-search,[data-contrast="high"] .accessibility-section,[data-contrast="high"] .place-card,[data-contrast="high"] .needs-grid button,[data-contrast="high"] .access-panel,[data-contrast="high"] .place-modal,[data-contrast="high"] .input-wrap,[data-contrast="high"] .select-wrap,[data-contrast="high"] input,[data-contrast="high"] select{background:#000!important;color:#fff!important}[data-contrast="high"] .places-section,[data-contrast="high"] .source-box{background:#000!important}[data-contrast="high"] .place-image{background:#222}[data-contrast="high"] .filter-row button,[data-contrast="high"] .panel-toggle{background:#000;color:#fff;border-color:#fff}[data-contrast="high"] .filter-row .active,[data-contrast="high"] .button.primary{background:#ffdf61;color:#000}[data-contrast="high"] .category-label,[data-contrast="high"] .place-image span{background:#ffdf61;color:#000}[data-contrast="high"] .how-section,[data-contrast="high"] footer{background:#000;color:#fff}[data-contrast="high"] .hero-shade{background:#000b}[data-contrast="high"] .access-summary span,[data-contrast="high"] .address,[data-contrast="high"] .place-content>p:not(.address),[data-contrast="high"] .about-section p:not(.eyebrow),[data-contrast="high"] .feature-grid p{color:#fff!important}[data-motion="reduced"] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:960px){.menu-button{display:flex;margin-left:auto}.main-nav{display:none;position:absolute;top:81px;left:0;right:0;padding:20px;background:#fff;border-bottom:1px solid var(--line);flex-direction:column}.main-nav.open{display:flex}.access-trigger span{display:none}.search-shell,.how-grid,.about-grid{grid-template-columns:1fr}.needs-grid,.places-grid{grid-template-columns:1fr 1fr}.section-heading{grid-template-columns:1fr;gap:3px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}}@media(max-width:620px){.container{width:min(100% - 28px,1180px)}.site-header{height:72px}.main-nav{top:71px}.hero-new{min-height:555px}.hero-content{padding:70px 0}.hero-content h1{font-size:3.45rem}.hero-actions{align-items:flex-start;flex-direction:column}.search-shell,.search-fields{grid-template-columns:1fr}.needs-section,.places-section,.about-section,.accessibility-section{padding:62px 0}.needs-grid,.places-grid,.feature-grid{grid-template-columns:1fr}.how-section{padding:64px 0}.about-grid{gap:34px}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:6px}.carousel{height:220px}.modal-content{padding:22px}.modal-content h2{font-size:1.85rem}.detail-grid{grid-template-columns:1fr}.access-panel{right:14px;top:82px;width:calc(100% - 28px)}}

/* Correções de contraste e fotografia do guia. */
.hero-new{background-image:url('assets/places/bauru-hero-2013.jpg');background-position:center;background-size:cover}
.hero-new>img{display:none}
[data-contrast="high"] .access-trigger,[data-contrast="high"] .need-icon{background:#ffdf61;color:#000}
.logo{letter-spacing:0}.logo img{width:128px;height:auto;display:block}.footer-grid .logo img{filter:none}

/* Direção visual editorial: maior hierarquia, profundidade e movimento acessível. */
:root{--lilac:#f3effc;--violet:#6935c5;--shadow:0 22px 60px rgba(39,14,82,.13);--soft-shadow:0 10px 35px rgba(39,14,82,.10)}
body{background:linear-gradient(180deg,#fbfaff 0%,#f6f3fb 48%,#fff 100%);letter-spacing:.003em}
.site-header{height:76px;background:rgba(255,255,255,.88);border-color:rgba(81,45,168,.12);box-shadow:0 4px 26px rgba(42,17,89,.05)}
.header-inner{gap:22px}.main-nav{gap:10px}.main-nav a{padding:8px 10px;border-radius:999px;font-size:.93rem}.main-nav a:hover{background:var(--lilac);text-decoration:none}.access-trigger{border-radius:999px;padding:11px 17px;box-shadow:0 8px 20px rgba(81,45,168,.26);transition:transform .22s ease,box-shadow .22s ease}.access-trigger:hover{transform:translateY(-2px);box-shadow:0 12px 27px rgba(81,45,168,.34)}
.hero-new{min-height:min(700px,calc(100vh - 76px));background-position:center 46%;border-radius:0 0 42px 42px}.hero-new:after{content:"";position:absolute;z-index:-1;right:-10vw;bottom:-17vw;width:50vw;aspect-ratio:1;border:1px solid rgba(255,255,255,.28);border-radius:50%;box-shadow:0 0 0 40px rgba(255,255,255,.06),0 0 0 88px rgba(255,255,255,.035);pointer-events:none}.hero-shade{background:linear-gradient(90deg,rgba(17,5,42,.94) 0%,rgba(35,11,82,.81) 48%,rgba(21,8,54,.18) 100%)}.hero-content{padding:108px 0 126px}.hero-content .eyebrow{display:flex;align-items:center;gap:10px}.hero-content .eyebrow:before{content:"";display:block;width:28px;height:2px;background:currentColor}.hero-content h1{max-width:780px;text-wrap:balance;text-shadow:0 5px 30px rgba(15,3,42,.24)}.hero-content>p:not(.eyebrow){max-width:575px;font-size:1.22rem;color:#f4effd;text-wrap:pretty}.hero-actions{margin-top:37px}.button{border-radius:999px;padding:14px 23px;transition:transform .2s ease,box-shadow .2s ease}.button:hover{transform:translateY(-3px);box-shadow:0 12px 25px rgba(10,4,32,.22)}.button.yellow{box-shadow:0 8px 20px rgba(0,0,0,.18)}.hero-link{opacity:.9}.hero-link:hover{opacity:1}
.quick-search{position:relative;z-index:2;background:transparent;margin-top:-53px}.search-shell{padding:25px 29px;align-items:center;grid-template-columns:.67fr 1.33fr;border:1px solid rgba(81,45,168,.14);border-radius:26px;background:rgba(255,255,255,.96);box-shadow:var(--shadow);backdrop-filter:blur(16px)}.search-shell h2{font-size:2rem;letter-spacing:-.04em}.search-fields label>span:first-child{font-size:.8rem;color:#4e3b6c;text-transform:uppercase;letter-spacing:.08em}.input-wrap,.select-wrap{height:57px;border:1px solid #d7ceea;background:#fbfaff;border-radius:14px;transition:border-color .2s ease,box-shadow .2s ease}.input-wrap:focus-within,.select-wrap:focus-within{border-color:var(--violet);box-shadow:0 0 0 4px rgba(105,53,197,.12)}
.needs-section,.places-section,.about-section,.accessibility-section{padding:112px 0}.section-heading{margin-bottom:44px}.section-heading h2,.about-section h2{max-width:760px}.section-heading>p{max-width:420px;margin:0 0 7px;line-height:1.65}.needs-section{position:relative;overflow:hidden}.needs-section:before{content:"";position:absolute;width:440px;height:440px;left:-255px;top:65px;border-radius:50%;background:radial-gradient(circle,rgba(155,106,255,.13),transparent 68%)}.needs-grid{gap:18px}.needs-grid button{position:relative;overflow:hidden;min-height:205px;padding:27px 25px;border:1px solid rgba(81,45,168,.14);border-radius:22px;box-shadow:0 6px 21px rgba(44,20,86,.04);transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}.needs-grid button:after{content:"";position:absolute;right:-28px;bottom:-38px;width:116px;height:116px;border-radius:50%;background:rgba(105,53,197,.06);transition:transform .3s ease}.needs-grid button:hover{border-color:#9d79e6;transform:translateY(-7px);box-shadow:var(--soft-shadow)}.needs-grid button:hover:after{transform:scale(1.5)}.need-icon{width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,#eee9ff,#ded2ff);position:relative;z-index:1}.needs-grid strong,.needs-grid small{position:relative;z-index:1}
.places-section{position:relative;background:linear-gradient(145deg,#f0ebfb,#f8f6fc 56%,#ede7f8);overflow:hidden}.places-section:before{content:"";position:absolute;right:-170px;top:-170px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(255,211,78,.35),rgba(255,211,78,0) 68%)}.places-section .container{position:relative}.places-heading h2{max-width:730px}.filter-row{padding:12px;border:1px solid rgba(81,45,168,.14);border-radius:18px;background:rgba(255,255,255,.7);backdrop-filter:blur(8px)}.filter-row button{border:0;background:transparent;border-radius:12px;transition:background .2s ease,transform .2s ease}.filter-row button:hover{background:#ece5fb;transform:translateY(-1px)}.filter-row .active{background:var(--purple);box-shadow:0 5px 12px rgba(81,45,168,.22)}.result-count{display:flex;align-items:center;gap:8px;color:#604f78}.result-count strong{display:grid;place-items:center;min-width:31px;height:31px;border-radius:50%;background:#e5dafc;color:#48238e}.places-grid{gap:27px}.place-card{border:1px solid rgba(81,45,168,.13);border-radius:23px;box-shadow:0 8px 25px rgba(48,18,111,.06);transition:transform .28s ease,box-shadow .28s ease}.place-card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}.place-image{height:230px}.place-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 56%,rgba(27,8,57,.25));pointer-events:none}.place-image img{transition:transform .55s cubic-bezier(.2,.8,.2,1)}.place-card:hover .place-image img{transform:scale(1.07)}.place-image span{z-index:1;left:16px;top:16px;border-radius:999px;padding:6px 11px;box-shadow:0 5px 13px rgba(20,8,47,.14)}.place-content{padding:23px}.place-content h3{font-size:1.42rem;letter-spacing:-.03em}.place-content>p:not(.address){font-size:.96rem;line-height:1.58}.hours{border-top-color:#ebe5f3}.access-summary{margin-top:4px;padding:12px 13px;border:0;border-radius:13px;background:#f6f2fd}.access-summary strong{color:#3c1c7d}.place-content button{padding-top:16px;color:#4c239b;transition:gap .2s ease}.place-content button:hover{gap:8px}
.how-section{position:relative;overflow:hidden;padding:118px 0;background:linear-gradient(120deg,#24104b 0%,#432180 50%,#2e1269 100%)}.how-section:before,.how-section:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.14);pointer-events:none}.how-section:before{width:590px;height:590px;right:-210px;top:-330px}.how-section:after{width:350px;height:350px;left:-190px;bottom:-180px}.how-grid{position:relative;z-index:1}.how-grid>div>p:not(.eyebrow){color:#eee9fa;max-width:590px}.how-grid li{padding:23px 0;border-bottom-color:rgba(255,255,255,.19)}.how-grid li>span{box-shadow:0 8px 20px rgba(0,0,0,.22)}.how-grid li strong{font-size:1.23rem}.about-section{background:linear-gradient(180deg,#fff,#fbfaff)}.about-grid{gap:92px}.principles span{padding:8px 12px;border-radius:999px;background:#f1ebfc}.accessibility-section{position:relative;background:#f7f4fc}.feature-grid article{border-color:rgba(81,45,168,.14);border-radius:21px;background:rgba(255,255,255,.8);box-shadow:0 7px 20px rgba(47,18,96,.04);transition:transform .22s ease,box-shadow .22s ease}.feature-grid article:hover{transform:translateY(-5px);box-shadow:var(--soft-shadow)}.feature-grid b{padding:9px;width:51px;height:51px;border-radius:16px;background:#eee7ff}
footer{position:relative;overflow:hidden;padding:66px 0 25px;background:linear-gradient(120deg,#170928,#2a1050)}.footer-grid{position:relative;z-index:1}.footer-grid>div:last-child p{max-width:310px;line-height:1.65}.footer-grid nav a{width:max-content;text-underline-offset:4px}.footer-grid nav a:hover{text-decoration:underline;color:#fff}.footer-bottom{position:relative;z-index:1}
.modal-backdrop{backdrop-filter:blur(8px)}.place-modal{border-radius:25px;box-shadow:0 35px 90px rgba(10,2,28,.55)}.carousel{height:360px}.modal-content{padding:35px}.source-box{border-left:0;border-radius:17px;background:#f2ecfc}.map-button{box-shadow:0 9px 20px rgba(81,45,168,.2)}
@keyframes rise-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes glow{0%,100%{box-shadow:0 0 0 0 rgba(255,211,78,0)}50%{box-shadow:0 0 0 10px rgba(255,211,78,.12)}}
.hero-content>*{animation:rise-in .7s both}.hero-content>.eyebrow{animation-delay:.05s}.hero-content>h1{animation-delay:.13s}.hero-content>p:not(.eyebrow){animation-delay:.21s}.hero-actions{animation-delay:.29s}.access-trigger{animation:glow 3.6s ease-in-out infinite}
[data-motion="reduced"] .hero-content>*,[data-motion="reduced"] .access-trigger{animation:none}
[data-contrast="high"] .quick-search,[data-contrast="high"] .search-shell,[data-contrast="high"] .needs-grid button,[data-contrast="high"] .feature-grid article,[data-contrast="high"] .filter-row,[data-contrast="high"] .access-summary{background:#000!important;border-color:#fff!important;box-shadow:none!important}[data-contrast="high"] .place-card{border-color:#fff;box-shadow:none}[data-contrast="high"] .place-card:hover{transform:none}[data-contrast="high"] .hero-new:after,[data-contrast="high"] .places-section:before,[data-contrast="high"] .needs-section:before, [data-contrast="high"] footer:before{display:none}[data-contrast="high"] .filter-row button:hover{background:#222}[data-contrast="high"] .result-count strong{background:#ffdf61;color:#000}
@media(max-width:960px){.site-header{height:72px}.main-nav{top:71px;border-radius:0 0 19px 19px;box-shadow:0 15px 22px rgba(35,9,75,.09)}.hero-new{min-height:620px}.search-shell{grid-template-columns:1fr;gap:18px}.about-grid{gap:45px}}
@media(max-width:620px){.hero-new{min-height:610px;border-radius:0 0 26px 26px}.hero-content{padding:85px 0 125px}.hero-content h1{font-size:3.7rem}.quick-search{margin-top:-42px}.search-shell{padding:21px 18px;border-radius:21px}.needs-section,.places-section,.about-section,.accessibility-section{padding:76px 0}.needs-grid button{min-height:150px}.place-image{height:210px}.places-grid{gap:18px}.how-section{padding:82px 0}.carousel{height:245px}.modal-content{padding:24px}}

/* O retrato amplia a narrativa social sem competir com o conteúdo. */
.about-section{background:#fff url('assets/about-woman.png') no-repeat center center;background-size:cover}.about-grid{grid-template-columns:minmax(310px,.8fr) 1.45fr;min-height:420px}.about-grid:before{content:"";min-height:400px}
@media(max-width:960px){.about-section{background-position:center center;background-size:cover;padding-bottom:0}.about-grid{grid-template-columns:1fr}.about-grid:before{display:none}}
@media(max-width:620px){.about-section{background-position:center center;background-size:cover;padding-bottom:0}}

@keyframes proposal-item-pop{0%{opacity:0;transform:scale(1.58)}58%{opacity:1;transform:scale(.91)}78%{transform:scale(1.09)}100%{opacity:1;transform:scale(1)}}
.how-section.is-animated .how-grid ol li>span{display:grid;place-items:center;animation:proposal-item-pop .68s cubic-bezier(.2,.9,.3,1.2) both}.how-section.is-animated .how-grid ol li strong{display:inline-block;animation:proposal-item-pop .68s cubic-bezier(.2,.9,.3,1.2) both}.how-section.is-animated .how-grid ol li:nth-child(2)>span,.how-section.is-animated .how-grid ol li:nth-child(2) strong{animation-delay:.74s}.how-section.is-animated .how-grid ol li:nth-child(3)>span,.how-section.is-animated .how-grid ol li:nth-child(3) strong{animation-delay:1.48s}
@media(prefers-reduced-motion:reduce){.how-section.is-animated .how-grid ol li>span,.how-section.is-animated .how-grid ol li strong{animation:none;transform:none}}
[data-motion="reduced"] .how-section.is-animated .how-grid ol li>span,[data-motion="reduced"] .how-section.is-animated .how-grid ol li strong{animation:none;transform:none}
.how-grid li>span{width:70px;height:70px;font-size:2.15rem;line-height:1}

/* Contraste alto: superfícies escuras e texto claro em toda a experiência. */
[data-contrast="high"] .site-header,[data-contrast="high"] .hero-new,[data-contrast="high"] .quick-search,[data-contrast="high"] .needs-section,[data-contrast="high"] .places-section,[data-contrast="high"] .how-section,[data-contrast="high"] .about-section,[data-contrast="high"] .accessibility-section,[data-contrast="high"] footer,[data-contrast="high"] .access-panel,[data-contrast="high"] .place-modal{background:#000!important;color:#fff!important}[data-contrast="high"] .hero-new>img{display:none}[data-contrast="high"] .hero-shade{background:#000!important}[data-contrast="high"] main :is(h1,h2,h3,p,span,strong,small,a,li,label,output),[data-contrast="high"] .site-header :is(a,span),[data-contrast="high"] footer :is(p,a,strong,span),[data-contrast="high"] .access-panel :is(h2,p,span,button,output){color:#fff!important}[data-contrast="high"] .search-shell,[data-contrast="high"] .needs-grid button,[data-contrast="high"] .filter-row,[data-contrast="high"] .place-card,[data-contrast="high"] .access-summary,[data-contrast="high"] .feature-grid article,[data-contrast="high"] .input-wrap,[data-contrast="high"] .select-wrap,[data-contrast="high"] .source-box{background:#000!important;border-color:#fff!important;box-shadow:none!important}[data-contrast="high"] .input-wrap input,[data-contrast="high"] .select-wrap select{background:#000!important;color:#fff!important}[data-contrast="high"] .access-trigger,[data-contrast="high"] .button.yellow,[data-contrast="high"] .filter-row .active,[data-contrast="high"] .button.primary,[data-contrast="high"] .need-icon,[data-contrast="high"] .category-label,[data-contrast="high"] .place-image span,[data-contrast="high"] .result-count strong{background:#ffdf61!important;color:#000!important;border-color:#ffdf61!important}[data-contrast="high"] .access-trigger *,[data-contrast="high"] .button.yellow *,[data-contrast="high"] .filter-row .active *,[data-contrast="high"] .button.primary *,[data-contrast="high"] .need-icon *,[data-contrast="high"] .category-label *,[data-contrast="high"] .place-image span *,[data-contrast="high"] .result-count strong *{color:#000!important}[data-contrast="high"] .eyebrow,[data-contrast="high"] .hero-content h1 em{color:#ffdf61!important}
[data-contrast="high"] .access-trigger,[data-contrast="high"] .access-trigger :is(span,svg){color:#000!important}[data-contrast="high"] .feature-grid b{background:#ffdf61!important;color:#000!important}[data-contrast="high"] .principles span,[data-contrast="high"] .principles span *{color:#000!important}

/* Sobre: versão clara no modo padrão; banner escuro exclusivo do alto contraste. */
.about-section :is(h2,p:not(.eyebrow)){color:#202124}.about-section .principles span{color:#000}[data-contrast="high"] .about-section{background:#101512 url('assets/about-banner.png') no-repeat center center!important;background-size:cover!important}[data-contrast="high"] .about-section :is(h2,p:not(.eyebrow)){color:#fff!important}

/* Estado do controle de contraste: permanece legível mesmo quando o navegador mantém o texto interno em cache. */
[data-contrast="high"] [data-contrast] span{font-size:0!important}[data-contrast="high"] [data-contrast] span:after{content:"Ativado";font-size:.82rem;color:#ffdf61;font-weight:700}

/* Ajustes finos do alto contraste e dos links de detalhe. */
.place-content button{color:#ac80ff}[data-contrast="high"] .place-content button{color:#ac80ff!important}[data-contrast="high"] .access-panel .icon-button,[data-contrast="high"] .access-panel .icon-button svg,[data-contrast="high"] .how-grid li>span{color:#000!important}[data-contrast="high"] .hero-new>img{display:block!important}[data-contrast="high"] .hero-shade{background:rgba(0,0,0,.72)!important}
@media(max-width:960px){[data-contrast="high"] .menu-button,[data-contrast="high"] .menu-button :is(span,svg){background:#ffdf61!important;color:#000!important}[data-contrast="high"] .main-nav{background:#000!important;border-color:#fff!important}[data-contrast="high"] .main-nav a{color:#fff!important}}
.logo img.header-logo-contrast{display:none!important}[data-contrast="high"] .logo img.header-logo-standard{display:none!important}[data-contrast="high"] .logo img.header-logo-contrast{display:block!important;width:117px;height:auto}

.modal-backdrop[hidden],.access-panel[hidden],.empty-state[hidden]{display:none!important}.feature-grid b{display:grid;place-items:center;padding:9px;width:51px;height:51px;border-radius:16px;background:#eee7ff;color:var(--purple)}.carousel-count{left:auto}.map-button{margin-top:15px}.header-logo-contrast{display:none}.icon,.need-icon img,.feature-grid b img{display:block;object-fit:contain;flex:none}.icon{width:1.25em;height:1.25em}.need-icon img{width:27px;height:27px}.feature-grid b img{width:100%;height:100%}[data-contrast="high"] .access-trigger .icon,[data-contrast="high"] .menu-button .icon,[data-contrast="high"] .need-icon img,[data-contrast="high"] .feature-grid b img{filter:brightness(0)}.panel-toggle.is-active{border-color:var(--purple);box-shadow:0 0 0 3px rgba(81,45,168,.16)}.panel-toggle.is-active span{color:var(--purple);font-weight:700}[data-contrast="high"] .panel-toggle.is-active{border-color:#ffdf61;box-shadow:0 0 0 3px rgba(255,223,97,.25)}[data-contrast="high"] .panel-toggle.is-active span{color:#ffdf61!important}
