* { box-sizing: border-box; }
html { color-scheme: light; scroll-padding-top: var(--e-24); }
body { margin: 0; color: var(--cor-tinta); background: var(--cor-base); font: 400 var(--texto-s)/1.65 var(--fonte-texto); -webkit-font-smoothing: antialiased; }
button,input,textarea,select { font: inherit; color: inherit; }
button,a,input,select,textarea { -webkit-tap-highlight-color: transparent; }
button,a { touch-action: manipulation; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
button { border: 0; }
img { max-width: 100%; display: block; }
svg { flex-shrink: 0; }
figure { margin: 0; }
h1,h2,h3,p { margin: 0; }
h1,h2,h3 { font-family: var(--fonte-titulo); font-weight: 400; letter-spacing: -.045em; line-height: 1.15; overflow-wrap: anywhere; }
h1 { font-size: clamp(2.6rem,5vw,4.6rem); }
h2 { font-size: clamp(1.8rem,3vw,2.75rem); }
h3 { font-size: var(--texto-l); letter-spacing: -.025em; }
p { color: var(--cor-tinta-suave); }
em { font-style: normal; color: var(--cor-apoio); }
small { font-size: var(--texto-xs); color: var(--cor-tinta-suave); }
:focus-visible { outline: 3px solid var(--cor-apoio); outline-offset: 4px; }
::selection { background: var(--cor-nevoa); }
.wrap { width: min(calc(100% - var(--e-24)),var(--largura-max)); margin-inline: auto; }
.eyebrow { font-size: var(--texto-xxs); font-weight: 600; letter-spacing: .14em; line-height: 1.7; color: var(--cor-apoio); }
.icon { width: 22px; height: 22px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: var(--e-4); min-height: 50px; padding: var(--e-3) var(--e-6); border-radius: var(--raio-pill); font-weight: 500; font-size: var(--texto-s); transition: background var(--t-micro),transform var(--t-micro); text-align: center; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: var(--cor-tinta); background: var(--cor-acao); }
.button-primary:hover { background: var(--cor-acao-hover); }
.button-secondary { border: var(--borda); background: var(--cor-superficie); }
.button-secondary:hover { background: var(--cor-apoio-claro); }
.text-link { display: inline-flex; align-items: center; gap: var(--e-3); font-weight: 500; font-size: var(--texto-s); }
.text-link:hover,.desktop-nav a:hover,.footer-top a:hover { color: var(--cor-apoio); }
.skip-link { position: fixed; top: var(--e-2); left: var(--e-2); transform: translateY(-200%); z-index: 100; padding: var(--e-4); background: var(--cor-acao); border-radius: var(--raio-s); }
.skip-link:focus { transform: none; }
.site-header { position: sticky; top: 0; z-index: 40; background: var(--vidro-fundo); backdrop-filter: blur(var(--vidro-blur)); border-bottom: var(--borda); }
.header-inner { height: 88px; width: min(calc(100% - var(--e-24)),var(--largura-max)); margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: var(--e-8); }
.brand { flex-shrink: 0; display: inline-flex; align-items: center; }
.brand img { object-fit: contain; height: auto; }
.desktop-nav { display: flex; gap: var(--e-8); font-size: var(--texto-xs); }
.desktop-nav a { padding-block: var(--e-3); }
.header-actions { display: flex; align-items: center; gap: var(--e-4); }
.icon-link { width: 44px; height: 44px; display: grid; place-items: center; border: var(--borda); border-radius: 50%; }
.language { font-size: var(--texto-xs); display: flex; gap: var(--e-2); }
.hero { display: grid; grid-template-columns: .85fr 1.15fr; gap: var(--e-12); padding-block: var(--e-10) var(--e-16); align-items: stretch; }
.hero-copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding-block: var(--e-6); }
.tiny-dot { width: 6px; height: 6px; background: var(--cor-apoio); border-radius: 50%; display: inline-block; margin-right: var(--e-2); vertical-align: middle; }
.hero h1 { font-size: clamp(3.2rem,5.7vw,5.6rem); line-height: 1.08; margin-block: var(--e-6); letter-spacing: -.06em; }
.hero-description { max-width: 340px; font-size: var(--texto-m); margin-bottom: var(--e-8); }
.hero-footnote { margin-top: var(--e-16); display: flex; flex-wrap: wrap; gap: var(--e-4); align-items: center; font-size: var(--texto-xxs); color: var(--cor-tinta-suave); }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--e-5); }
.coordinate { letter-spacing: .08em; padding-right: var(--e-4); border-right: var(--borda); }
.hero-scene { position: relative; border-radius: var(--raio-xl); overflow: hidden; min-height: 530px; background: var(--cor-apoio); isolation: isolate; }
.hero-scene > img,.hero-scene .intent-photo { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: 58% center; }
.hero-scene::after { content: ''; position: absolute; inset: 45% 0 0; background: var(--cor-gradiente); pointer-events: none; z-index: 1; }
.scene-caption { position: absolute; left: var(--e-8); right: var(--e-8); bottom: var(--e-16); z-index: 2; color: var(--cor-branco); display: flex; flex-direction: column; gap: var(--e-2); }
.scene-caption > span { font: 400 var(--texto-xl)/1.2 var(--fonte-titulo); letter-spacing: -.04em; max-width: 260px; }
.scene-caption a { font-size: var(--texto-xs); }
.image-credit { position: absolute; right: var(--e-4); bottom: var(--e-3); color: var(--cor-branco); text-shadow: 0 1px 4px var(--cor-foto-sombra); font-size: .625rem; z-index: 3; }
.intent-controls { position: absolute; top: var(--e-5); left: var(--e-5); right: var(--e-5); display: flex; padding: var(--e-1); gap: var(--e-1); border: 1px solid var(--cor-nevoa); border-radius: var(--raio-pill); background: var(--vidro-fundo); backdrop-filter: blur(var(--vidro-blur)); z-index: 4; width: fit-content; max-width: calc(100% - var(--e-10)); }
.intent-controls button { background: transparent; border-radius: var(--raio-pill); padding: var(--e-2) var(--e-4); font-size: var(--texto-xs); min-height: 40px; }
.intent-controls button[aria-pressed=true] { background: var(--cor-tinta); color: var(--cor-superficie); }
.intent-photo { animation: scene-in var(--t-editorial) var(--curva) both; }
@keyframes scene-in { from { opacity: .4; transform: scale(1.025); } to { opacity: 1; transform: scale(1); } }
.intent-section { display: grid; grid-template-columns: 1fr 1.15fr; gap: var(--e-20); padding-block: var(--e-12); border-top: var(--borda); border-bottom: var(--borda); }
.intent-section h2 { margin-top: var(--e-4); font-size: clamp(1.7rem,2.5vw,2.25rem); }
.intention-links { display: grid; }
.intention-links a { display: flex; align-items: center; gap: var(--e-5); padding: var(--e-5) 0; border-bottom: var(--borda); }
.intention-links a:last-child { border-bottom: 0; }
.intention-links a > span:first-of-type { flex: 1; font-size: var(--texto-m); }
.intention-links small { display: block; margin-top: var(--e-1); }
.intention-links img { object-fit: contain; }
.intention-links a:hover { color: var(--cor-apoio); }
.section { padding-block: var(--e-16); }
.section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--e-6); margin-bottom: var(--e-8); }
.section-heading h2,.section-heading h1 { margin-top: var(--e-3); }
.section-heading > .text-link { flex-shrink: 0; }
.empty-state { display: flex; align-items: center; gap: var(--e-8); background: var(--cor-superficie); padding: var(--e-10); border: var(--borda); border-radius: var(--raio-g); }
.empty-state p { max-width: 650px; margin-block: var(--e-3); font-size: var(--texto-s); }
.empty-mark { flex-shrink: 0; padding: var(--e-5); background: var(--cor-base); border-radius: 50%; }
.stay-story { display: grid; grid-template-columns: 1fr 1fr; gap: var(--e-16); align-items: center; padding-block: var(--e-8) var(--e-16); }
.story-visual { position: relative; height: 520px; overflow: hidden; border-radius: var(--raio-xl); }
.story-visual > img { width: 100%; height: 100%; object-fit: cover; }
.story-copy h2 { margin-block: var(--e-5); font-size: clamp(2rem,3.5vw,3.25rem); }
.story-copy > p:not(.eyebrow) { max-width: 440px; margin-bottom: var(--e-4); }
.story-copy > .button { margin-top: var(--e-4); }
.story-types { margin-top: var(--e-8); display: flex; flex-wrap: wrap; gap: var(--e-5); font-size: var(--texto-xs); }
.manifesto { display: flex; flex-direction: column; align-items: center; text-align: center; border-top: var(--borda); padding-block: var(--e-16) var(--e-20); gap: var(--e-6); }
.manifesto > p { color: var(--cor-tinta); font: 400 clamp(1.7rem,3vw,2.8rem)/1.35 var(--fonte-titulo); letter-spacing: -.045em; }
.site-footer { background: var(--cor-apoio-claro); padding: var(--e-16) var(--e-12) var(--e-6); }
.footer-top,.footer-bottom { max-width: var(--largura-max); margin-inline: auto; }
.footer-top { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: var(--e-12); }
.footer-top a { display: block; margin-block: var(--e-3); font-size: var(--texto-xs); }
.footer-top p:not(.eyebrow) { margin-top: var(--e-5); font-size: var(--texto-xs); }
.footer-top > div > img,.login-card > a > img { height: auto; }
.footer-bottom { border-top: var(--borda); margin-top: var(--e-12); padding-top: var(--e-6); display: flex; justify-content: space-between; gap: var(--e-4); font-size: var(--texto-xxs); color: var(--cor-tinta-suave); }
.mobile-nav { display: none; }
.page-intro { padding-block: var(--e-16) var(--e-10); }
.page-intro h1 { margin-block: var(--e-5); max-width: 880px; }
.page-intro > p:not(.eyebrow) { max-width: 650px; }
.results-section { padding-bottom: var(--e-20); min-height: 420px; }
.filter-panel { display: flex; align-items: flex-end; gap: var(--e-4); padding: var(--e-5); background: var(--cor-superficie); border: var(--borda); border-radius: var(--raio-g); box-shadow: var(--sombra-suave); }
label { display: flex; flex-direction: column; gap: var(--e-2); font-size: var(--texto-xs); font-weight: 500; min-width: 0; }
input,select,textarea { width: 100%; min-height: 46px; padding: var(--e-3); border: var(--borda); border-radius: var(--raio-s); background: var(--cor-superficie); font-weight: 400; min-width: 0; }
textarea { resize: vertical; }
input[type=checkbox],input[type=radio] { width: 18px; height: 18px; min-height: 18px; flex-shrink: 0; accent-color: var(--cor-tinta); }
.filter-panel label { flex: 1; }
.filter-panel .search-field { flex: 1.4; }
.filter-panel label:has(input[name=pessoas]) { max-width: 110px; }
.filter-panel .button { height: 46px; min-height: 46px; padding-inline: var(--e-5); flex-shrink: 0; }
.results-meta { display: flex; justify-content: space-between; font-size: var(--texto-xs); margin-block: var(--e-6); }
.cards-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--e-8); }
.item-card { min-width: 0; }
.card-image-wrap { position: relative; aspect-ratio: 1.32; overflow: hidden; border-radius: var(--raio-g); border: var(--borda); }
.card-image-wrap > a,.card-image { width: 100%; height: 100%; display: block; }
.card-image { object-fit: cover; transition: transform var(--t-editorial) var(--curva); }
.item-card:hover .card-image { transform: scale(1.035); }
.card-placeholder { background: var(--cor-apoio-claro); display: grid; place-content: center; justify-items: center; width: 100%; height: 100%; gap: var(--e-2); }
.card-placeholder > span { font-size: var(--texto-xxs); color: var(--cor-tinta-suave); }
.save-button { width: 44px; height: 44px; border-radius: 50%; background: var(--vidro-fundo); display: grid; place-items: center; backdrop-filter: blur(var(--vidro-blur)); border: var(--borda); }
.save-button[aria-pressed=true] { background: var(--cor-tinta); color: var(--cor-branco); }
.save-button[aria-pressed=true] svg { fill: currentColor; }
.card-image-wrap > [data-island=save] { position: absolute; top: var(--e-3); right: var(--e-3); }
.save-message { position: absolute; right: 0; top: 100%; min-width: 190px; background: var(--cor-superficie); border: var(--borda); padding: var(--e-3); border-radius: var(--raio-s); z-index: 10; font-size: var(--texto-xs); }
.card-copy { padding: var(--e-5) var(--e-1); }
.card-copy h3 { display: flex; gap: var(--e-2); justify-content: space-between; margin-block: var(--e-2) var(--e-3); }
.card-copy > p:not(.eyebrow) { font-size: var(--texto-xs); }
.labels { display: flex; gap: var(--e-2); flex-wrap: wrap; margin-block: var(--e-3); }
.label { font-size: var(--texto-xxs); padding: var(--e-1) var(--e-2); border-radius: var(--raio-s); border: var(--borda); }
.label-patrocinado { border-style: dashed; color: var(--cor-tinta-suave); }
.label-parceiro { background: var(--cor-apoio-claro); }
.label-dados_verificados { border-color: var(--cor-apoio); color: var(--cor-apoio); }
.label-escolha_editorial { color: var(--cor-superficie); background: var(--cor-tinta); }
.price { color: var(--cor-tinta); margin-top: var(--e-4); }
.price small { margin-left: var(--e-2); }
.pagination { display: flex; gap: var(--e-2); margin-top: var(--e-8); }
.pagination a { min-width: 44px; min-height: 44px; display: grid; place-items: center; border: var(--borda); border-radius: var(--raio-s); }
.pagination [aria-current] { background: var(--cor-tinta); color: var(--cor-superficie); }
.live-results { margin-top: var(--e-3); border: var(--borda); border-radius: var(--raio-m); background: var(--cor-superficie); padding: var(--e-5); }
.live-results ul { list-style: none; padding: 0; margin: var(--e-3) 0 0; }
.live-results li a { display: flex; justify-content: space-between; padding: var(--e-3); border-bottom: var(--borda); }
.live-results p { font-size: var(--texto-xs); }
.detail-intro { padding-block: var(--e-8) var(--e-5); }
.back-link { display: inline-flex; font-size: var(--texto-xs); margin-bottom: var(--e-8); }
.detail-title { display: flex; align-items: center; justify-content: space-between; gap: var(--e-6); }
.detail-title h1 { margin-block: var(--e-3); }
.detail-title p:not(.eyebrow) { max-width: 780px; }
.detail-kicker{display:inline-flex;align-items:center;gap:var(--e-2)}
.detail-kicker::before{content:'';width:9px;height:9px;border-radius:50%;background:var(--cor-acao);box-shadow:0 0 0 5px rgb(242 197 0 / .14)}
.detail-highlights{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:var(--e-8);padding-top:var(--e-8);border-top:1px solid rgb(242 197 0 / .7)}
.detail-highlights article{min-width:0;padding:var(--e-3) var(--e-5);border-right:var(--borda)}
.detail-highlights article:last-child{border-right:0}
.detail-highlights article>small{display:inline-grid;place-items:center;width:30px;height:30px;margin-bottom:var(--e-4);border-radius:50%;background:var(--cor-acao);color:var(--cor-tinta);font-weight:700}
.detail-highlights article>.eyebrow{margin-bottom:var(--e-2);color:var(--cor-apoio)}
.detail-highlights article>p:last-child{font-size:var(--texto-xs);line-height:1.55}
.detail-route-mark{position:absolute;top:-5px;right:0;display:flex;align-items:center;width:min(180px,28vw)}
.detail-route-mark span{width:9px;height:9px;border:2px solid var(--cor-acao);border-radius:50%;background:var(--cor-base)}
.detail-route-mark i{height:1px;flex:1;background:var(--cor-acao);transform:rotate(-2deg)}
.detail-cover { height: 470px; border-radius: var(--raio-xl); overflow: hidden; border: var(--borda); }
.detail-cover-placeholder { height: 280px; }
.detail-cover > img { width: 100%; height: 100%; object-fit: cover; }
.detail-placeholder { height: 100%; display: flex; flex-direction: column; gap: var(--e-3); justify-content: center; align-items: center; background: var(--cor-apoio-claro); padding: var(--e-8); text-align: center; }
.detail-placeholder > span { font: 400 var(--texto-xl)/1.2 var(--fonte-titulo); letter-spacing: -.03em; }
.detail-grid { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: var(--e-16); padding-block: var(--e-12) var(--e-16); align-items: start; }
.editorial-content > h2 { margin-block: var(--e-4) var(--e-6); }
.editorial-content > p { margin-bottom: var(--e-5); font-size: var(--texto-m); }
.editorial-content > section { margin-block: var(--e-8); }
.fact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--e-8); margin-block: var(--e-10); }
.fact-grid h3 { font-size: var(--texto-m); font-weight: 600; margin-bottom: var(--e-2); }
.notice { background: var(--cor-apoio-claro); border: var(--borda); padding: var(--e-5); border-radius: var(--raio-m); font-size: var(--texto-s); }
.notice h3 { font-size: var(--texto-m); margin-bottom: var(--e-3); }
.notice.error { border-color: var(--cor-erro); color: var(--cor-erro); }
.contact-card { position: sticky; top: 112px; background: var(--cor-superficie); border: var(--borda); border-radius: var(--raio-g); padding: var(--e-6); box-shadow: var(--sombra-suave); }
.contact-card{overflow:hidden}.contact-card::before{content:'';position:absolute;inset:0 auto auto 0;width:100%;height:4px;background:linear-gradient(90deg,var(--cor-acao) 0 38%,transparent 38%)}
.contact-card>.eyebrow{color:var(--cor-tinta);display:flex;align-items:center;gap:var(--e-2)}
.contact-card>.eyebrow::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--cor-acao)}
.contact-card h2 { font-size: var(--texto-xl); margin-block: var(--e-4); }
.contact-card > p:not(.eyebrow) { font-size: var(--texto-xs); margin-block: var(--e-4); }
.contact-card .button { width: 100%; margin-top: var(--e-3); font-size: var(--texto-xs); }
.contact-card > small { display: block; margin-top: var(--e-4); font-size: var(--texto-xxs); }
.feature-list { list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: var(--e-3); }
.feature-list li { display: flex; gap: var(--e-3); }
.provenance { border-top: var(--borda); padding-top: var(--e-6); }
.provenance h3 { font-size: var(--texto-m); }
.provenance p { font-size: var(--texto-xs); margin-top: var(--e-3); }
.gallery { display: grid; grid-template-columns: 1fr 1fr; gap: var(--e-4); }
.gallery img { border-radius: var(--raio-m); object-fit: cover; width: 100%; height: 230px; }
.gallery figcaption { font-size: var(--texto-xxs); padding-top: var(--e-2); }
.locale-notice,.preview-banner { background: var(--cor-apoio-claro); padding: var(--e-4) var(--e-6); font-size: var(--texto-xs); display: flex; justify-content: center; gap: var(--e-4); flex-wrap: wrap; }
.preview-banner a { text-decoration: underline; }
.error-page { padding-block: var(--e-20); min-height: 70vh; }
.error-page h1 { margin-block: var(--e-5); }
.error-page p { max-width: 700px; margin-bottom: var(--e-8); }
.actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--e-3); }
.admin-header { display: flex; align-items: center; gap: var(--e-8); padding: var(--e-4) var(--e-8); border-bottom: var(--borda); background: var(--cor-superficie); }
.admin-header > a:nth-last-of-type(1) { margin-left: auto; font-size: var(--texto-xs); }
.text-button { padding: var(--e-3); background: transparent; font-size: var(--texto-xs); }
.admin-shell { display: grid; grid-template-columns: 210px minmax(0,1fr); }
.admin-nav { padding: var(--e-8) var(--e-5); border-right: var(--borda); display: flex; flex-direction: column; gap: var(--e-2); }
.admin-nav > a { padding: var(--e-3); border-radius: var(--raio-s); font-size: var(--texto-xs); }
.admin-nav > a:hover { background: var(--cor-apoio-claro); }
.admin-nav > p { padding: var(--e-3); margin-top: var(--e-8); font-size: var(--texto-xs); }
.admin-content { padding: var(--e-10); max-width: 1200px; width: 100%; }
.admin-content h1 { font-size: clamp(2rem,3vw,3rem); margin-bottom: var(--e-4); }
.admin-content > .notice { margin-bottom: var(--e-6); }
.metric-row { display: grid; grid-template-columns: repeat(3,1fr); border: var(--borda); border-radius: var(--raio-m); background: var(--cor-superficie); margin-block: var(--e-6); }
.metric-row section { padding: var(--e-6); display: flex; flex-direction: column; border-right: var(--borda); }
.metric-row section:last-child { border-right: 0; }
.metric-row strong { font: 400 var(--texto-2xl)/1.3 var(--fonte-titulo); }
.metric-row span,.muted { font-size: var(--texto-xs); color: var(--cor-tinta-suave); }
.admin-list { margin-top: var(--e-8); }
.admin-list > article { display: flex; justify-content: space-between; gap: var(--e-6); padding: var(--e-6) 0; border-bottom: var(--borda); align-items: center; }
.admin-list h3 { margin-block: var(--e-2); }
.admin-list p,.admin-list .actions { font-size: var(--texto-xs); }
.editor-form { margin-top: var(--e-8); }
.editor-review-summary { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr); gap:var(--e-6); margin-block:var(--e-6); padding:var(--e-6); background:var(--cor-apoio-claro); border:var(--borda); border-radius:var(--raio-g); }
.editor-review-summary h2 { margin-block:var(--e-2); font-size:var(--texto-l); }
.editor-review-summary > div > p:not(.eyebrow),.editor-review-blockers { font-size:var(--texto-xs); }
.editor-review-summary dl { display:grid; gap:var(--e-3); margin:0; }
.editor-review-summary dl div { padding:var(--e-3); border:var(--borda); border-radius:var(--raio-s); background:var(--cor-superficie); }
.editor-review-summary dt { font-size:var(--texto-xxs); color:var(--cor-tinta-suave); }
.editor-review-summary dd { margin:var(--e-1) 0 0; font:600 var(--texto-s)/1.3 var(--fonte-titulo); text-transform:capitalize; }
.editor-review-blockers { grid-column:1/-1; padding-top:var(--e-4); border-top:var(--borda); }
.editor-review-blockers h3 { font-size:var(--texto-s); }
.editor-review-blockers ul { margin:var(--e-2) 0 0; padding-left:var(--e-5); }
.editor-form fieldset,.form-details { min-width: 0; background: var(--cor-superficie); border: var(--borda); border-radius: var(--raio-m); padding: var(--e-6); margin: 0 0 var(--e-6); }
.editor-form legend { font-family: var(--fonte-titulo); font-size: var(--texto-l); letter-spacing: -.02em; }
.editor-form label { margin-block: var(--e-3); }
.editor-form p { font-size: var(--texto-xs); margin-bottom: var(--e-4); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--e-6); }
.check-label { display: flex; flex-direction: row; align-items: center; gap: var(--e-3); }
.check-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--e-3); }
details { margin-block: var(--e-5); }
summary { padding-block: var(--e-3); cursor: pointer; font-weight: 500; }
.editor-save { display: flex; justify-content: space-between; align-items: center; background: var(--cor-superficie); border: var(--borda); padding: var(--e-4) var(--e-6); border-radius: var(--raio-m); }
.editor-save > span { font-size: var(--texto-xs); }
.workflow { margin-block: var(--e-12); padding-top: var(--e-8); border-top: var(--borda); }
.workflow p { margin-block: var(--e-4); font-size: var(--texto-xs); }
.media-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--e-5); }
.media-grid img { width: 100%; height: 180px; object-fit: cover; border-radius: var(--raio-m); }
.media-grid figcaption { padding-top: var(--e-3); font-size: var(--texto-xs); }
.media-picker { display: grid; grid-template-columns: 1fr 1fr; gap: var(--e-4); }
.media-picker img { object-fit: cover; border-radius: var(--raio-s); }
.login-body { min-height: 100dvh; display: grid; place-items: center; padding: var(--e-8); }
.login-card { max-width: 500px; border: var(--borda); padding: var(--e-10); border-radius: var(--raio-xl); background: var(--cor-superficie); box-shadow: var(--sombra-suave); }
.login-card .eyebrow { margin-top: var(--e-10); }
.login-card h1 { font-size: var(--texto-xl); margin-block: var(--e-4); }
.login-card p { font-size: var(--texto-xs); }
.login-card form { margin-block: var(--e-6); }
.login-card label { margin-bottom: var(--e-4); }
.login-card .button { width: 100%; margin-top: var(--e-3); }
@media(min-width:1600px) { .hero-scene { min-height: 650px; } }
@media(max-width:1024px) {
  .wrap,.header-inner { width: calc(100% - var(--e-12)); }
  .hero { gap: var(--e-6); }
  .hero-scene { min-height: 480px; }
  .hero h1 { font-size: clamp(2.75rem,5.8vw,4.3rem); }
  .hero-footnote { margin-top: var(--e-8); }
  .desktop-nav { gap: var(--e-4); }
  .header-inner { gap: var(--e-4); }
  .brand img { width: 175px; }
  .intent-section { gap: var(--e-10); }
  .stay-story { gap: var(--e-8); }
  .filter-panel { flex-wrap: wrap; }
  .filter-panel label { flex: 1 1 30%; }
  .cards-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .detail-grid { grid-template-columns: minmax(0,1fr) 290px; gap: var(--e-8); }
  .admin-shell { grid-template-columns: 170px minmax(0,1fr); }
  .admin-content { padding: var(--e-6); }
  .admin-content .section-heading { flex-direction: column; align-items: flex-start; }
  .admin-list > article { align-items: flex-start; flex-direction: column; }
  .intent-controls button { padding-inline: var(--e-3); font-size: var(--texto-xxs); }
}
@media(min-width:701px) and (max-width:1024px) {
  .filter-panel { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .filter-panel .search-field { grid-column: 1/-1; }
  .filter-panel label:has(input[name=pessoas]) { max-width: none; }
}
@media(max-width:700px) {
  .detail-highlights{grid-template-columns:1fr 1fr;padding-top:var(--e-6)}
  .detail-highlights article{padding:var(--e-4) var(--e-3);border-right:0;border-bottom:var(--borda)}
  .detail-highlights article:nth-child(odd){border-right:var(--borda)}
  body { padding-bottom: calc(62px + env(safe-area-inset-bottom)); }
  .wrap,.header-inner { width: calc(100% - var(--e-10)); }
  .header-inner { height: 76px; }
  .brand img { width: 190px; }
  .desktop-nav,.header-actions > a:nth-child(2),.language { display: none; }
  .site-header { position: relative; }
  .hero { grid-template-columns: 1fr; padding-top: var(--e-5); padding-bottom: var(--e-10); gap: var(--e-6); }
  .hero-copy { padding-block: var(--e-5) 0; }
  .hero h1 { font-size: clamp(2.9rem,12vw,4.4rem); margin-block: var(--e-5); }
  .hero-description { font-size: var(--texto-s); max-width: 300px; margin-bottom: var(--e-6); }
  .hero-footnote { margin-top: var(--e-6); font-size: .625rem; }
  .hero-scene { min-height: 390px; border-radius: var(--raio-g); }
  .scene-caption { left: var(--e-6); bottom: var(--e-12); }
  .scene-caption > span { font-size: var(--texto-xl); }
  .intent-controls { top: var(--e-4); left: var(--e-4); right: var(--e-4); max-width: calc(100% - var(--e-8)); }
  .intent-section { grid-template-columns: 1fr; gap: var(--e-5); padding-block: var(--e-8); }
  .intent-section h2 { font-size: var(--texto-xl); }
  .intention-links a { padding-block: var(--e-4); }
  .intention-links a > span:first-of-type { font-size: var(--texto-s); }
  .intention-links small { font-size: var(--texto-xxs); }
  .section { padding-block: var(--e-10); }
  .section-heading { flex-direction: column; align-items: flex-start; gap: var(--e-4); margin-bottom: var(--e-6); }
  .empty-state { align-items: flex-start; padding: var(--e-6); gap: var(--e-4); flex-direction: column; }
  .empty-mark { padding: var(--e-3); }
  .empty-mark img { width: 48px; height: 48px; }
  .empty-state h3 { font-size: var(--texto-l); }
  .empty-state p { font-size: var(--texto-xs); }
  .stay-story { grid-template-columns: 1fr; gap: var(--e-8); padding-block: var(--e-4) var(--e-10); }
  .story-visual { height: 340px; border-radius: var(--raio-g); }
  .story-copy h2 { font-size: 2.4rem; }
  .manifesto { padding-block: var(--e-10); }
  .site-footer { padding: var(--e-10) var(--e-5) var(--e-6); }
  .footer-top { grid-template-columns: 1fr 1fr; gap: var(--e-8) var(--e-4); }
  .footer-top > div:first-child { grid-column: 1/-1; }
  .footer-bottom { flex-direction: column; gap: var(--e-2); margin-top: var(--e-8); }
  .mobile-nav { --mobile-nav-control: 44px; display: flex; align-items: center; justify-content: space-around; position: fixed; bottom: 0; left: 0; right: 0; z-index: 50; background: rgb(255 252 247 / .88); backdrop-filter: blur(var(--vidro-blur)); border-top: 1px solid rgb(24 54 58 / .1); box-shadow: 0 -8px 24px rgb(24 54 58 / .045); padding: 5px var(--e-2) max(5px,env(safe-area-inset-bottom)); }
  .mobile-nav a { display: flex; flex-direction: column; align-items: center; justify-content:center; gap: 2px; font-size: .5625rem; min-width: 54px; min-height: var(--mobile-nav-control); }
  .mobile-nav svg { width: 19px; height: 19px; }
  .page-intro { padding-block: var(--e-10) var(--e-8); }
  .page-intro h1 { font-size: 2.6rem; }
  .page-intro > p:not(.eyebrow) { font-size: var(--texto-s); }
  .filter-panel { display: grid; grid-template-columns: 1fr 1fr; padding: var(--e-4); gap: var(--e-3); }
  .filter-panel .search-field { grid-column: 1/-1; }
  .filter-panel label:has(input[name=pessoas]) { max-width: none; }
  .filter-panel .button { grid-column: 1/-1; }
  .cards-grid { grid-template-columns: 1fr; gap: var(--e-6); }
  .detail-intro { padding-top: var(--e-6); }
  .detail-title { align-items: flex-start; }
  .detail-title h1 { font-size: 2.45rem; }
  .detail-title > [data-island=save] { margin-top: var(--e-8); }
  .detail-cover { height: 300px; border-radius: var(--raio-g); }
  .detail-cover-placeholder { height: 220px; }
  .detail-placeholder > span { font-size: var(--texto-l); }
  .detail-grid { display: flex; flex-direction: column; gap: var(--e-6); padding-top: var(--e-8); }
  .contact-card { position: static; width: 100%; }
  .fact-grid { grid-template-columns: 1fr; gap: var(--e-6); }
  .gallery img { height: 160px; }
  .admin-body { padding-bottom: 0; }
  .admin-header { padding: var(--e-4); gap: var(--e-3); flex-wrap: wrap; }
  .admin-header .eyebrow { display: none; }
  .admin-shell { display: flex; flex-direction: column; }
  .admin-nav { padding: var(--e-3); flex-direction: row; flex-wrap: wrap; border-right: 0; border-bottom: var(--borda); gap: var(--e-1); }
  .admin-nav > a { padding: var(--e-2); font-size: var(--texto-xxs); }
  .admin-nav > p { display: none; }
  .admin-content { padding: var(--e-5); }
  .admin-content h1 { font-size: var(--texto-xl); }
  .metric-row section { padding: var(--e-3); }
  .metric-row strong { font-size: var(--texto-xl); }
  .metric-row span { font-size: var(--texto-xxs); }
  .form-grid,.check-grid,.media-picker { grid-template-columns: 1fr; }
  .editor-form fieldset,.form-details { padding: var(--e-4); }
  .editor-review-summary { grid-template-columns:1fr; padding:var(--e-4); }
  .editor-form legend { font-size: var(--texto-m); }
  .editor-save { padding: var(--e-3); gap: var(--e-3); }
  .media-grid { grid-template-columns: 1fr 1fr; }
  .media-grid img { height: 130px; }
  .login-body { padding: var(--e-5); }
  .login-card { padding: var(--e-6); }
}
/* Authorship stays in opaque content, outside linked photo controls. */
.media-credit { font-size: var(--texto-xs); color: var(--cor-tinta-suave); margin-block: var(--e-2); overflow-wrap: anywhere; }
.media-credit summary { cursor: pointer; padding-block: var(--e-2); }
.media-credit div { display: grid; gap: var(--e-2); padding: var(--e-3); background: var(--cor-superficie); border: var(--borda); border-radius: var(--raio-s); }
.media-credit a { text-decoration: underline; text-underline-offset: var(--e-1); }
.provenance ul { padding-left: var(--e-5); }
.provenance li { margin-bottom: var(--e-3); overflow-wrap: anywhere; }
