/* Fotografia fornecida pelo usuário; texto e brasão são elementos independentes. */
.about {
  --about-bg: #241a12;
  --about-ink: #f7f3eb;
  --about-muted: #ede4d6;
  --about-photo-position: 84% center;
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: center;
  min-height: 560px;
  padding-block: clamp(48px, 4.5vw, 72px);
  background-color: var(--about-bg);
  background-image: url('../images/parque-bela-vista-background-1920.webp');
  background-size: cover;
  background-position: var(--about-photo-position);
  background-repeat: no-repeat;
  color: var(--about-ink);
}
.about::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(to right, rgba(36,26,18,.84) 0%, rgba(36,26,18,.74) 52%, rgba(36,26,18,.14) 100%);
  pointer-events: none;
}
.about-container { padding-inline: calc(var(--nav-side) + 8px); width: 100%; margin-inline: auto; }
.about-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(64px, 7vw, 112px); align-items: center; }
.about-story { min-width: 0; max-width: 520px; }
.about-story h2 { margin: 0; font-family: var(--serif); font-size: clamp(38px, 3.6vw, 52px); font-weight: 500; line-height: 1.15; letter-spacing: -.01em; color: var(--about-ink); }
.about-copy { max-width: 500px; margin-top: 32px; display: grid; gap: 24px; }
.about-copy p { margin: 0; font-family: var(--sans); font-size: 16.5px; font-weight: 400; line-height: 1.8; letter-spacing: normal; color: var(--about-muted); text-align: left; text-wrap: pretty; }
.about-identity { min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.about-crest { display: block; width: clamp(190px, 19vw, 260px); max-width: 100%; height: auto; aspect-ratio: 851 / 1029; object-fit: contain; }
.about-identity-location { --hero-space: 8px; --hero-cream: #f3e9d8; --hero-gold: #d9b27c; justify-content: center; }
@media (min-width: 1600px) {
  .about { background-image: url('../images/parque-bela-vista-background-2048.webp'); }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .about { --about-photo-position: 80% center; min-height: 540px; }
  .about-layout { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 40px; }
  .about-story h2 { font-size: clamp(40px, 4.3vw, 44px); }
  .about-copy p { font-size: 16px; }
  .about-crest { width: 190px; }
}
/* A mesma fotografia cobre toda a seção no celular, com leitura e marca equilibradas. */
@media (max-width:767px) {
 .about { display:grid; min-height:0; padding-block:34px 32px; background-color:#241a12; background-image:url('../images/parque-bela-vista-background-1200.webp'); background-size:cover; background-position:72% center; background-repeat:no-repeat; }
 .about::before { content:''; display:block; inset:0; background:linear-gradient(to right,rgba(25,18,12,.9),rgba(25,18,12,.73)); }
 .about-container { padding-inline:24px; }
 .about-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:26px; align-items:center; }
 .about-story { width:100%; max-width:38rem; margin-inline:auto; padding:0; }
 .about-story h2 { font:500 clamp(32px,8.5vw,38px)/1.15 var(--serif); color:#fff5e4; letter-spacing:-.015em; text-wrap:balance; }
 .about-copy { max-width:none; margin-top:20px; gap:18px; }
 .about-copy p { color:#f0e7d9; font:400 15.5px/1.75 var(--sans); letter-spacing:0; text-wrap:pretty; }
 .about-identity { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; margin:0; text-align:center; }
 .about-crest { width:128px; max-width:40vw; height:auto; flex:none; }
 .about-identity-location { display:flex; align-items:center; justify-content:center; gap:8px; min-width:0; margin:0; color:#ead7b5; font-size:12px; line-height:1.6; }
 .about-identity-location .hero-location-pin { width:15px; height:18px; flex:0 0 15px; }
 .about-identity-location span { min-width:0; white-space:normal; overflow-wrap:normal; }
}
@media (min-width:600px) and (max-width:767px) {
 .about { min-height:480px; padding-block:40px; background-position:78% center; }
 .about-layout { grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr); gap:28px; }
 .about-crest { width:144px; max-width:100%; }
 .about-identity-location { font-size:11.5px; }
}
@media (max-width:359px) {
 .about-container { padding-inline:20px; }
 .about-copy p { font-size:15px; }
 .about-crest { width:120px; }
}

/* Leitura e contato: ajustes restritos ao texto desta seção. */
.about::before { background:linear-gradient(to right,rgba(36,26,18,.92) 0%,rgba(36,26,18,.82) 52%,rgba(36,26,18,.14) 100%); }
.about .about-copy { max-width:540px; margin-top:32px; gap:24px; padding-inline-end:16px; }
.about .about-copy p { max-width:540px; line-height:1.8; letter-spacing:0; text-align:left; text-wrap:pretty; }
.about .about-copy strong { font-weight:600; }
.about .about-road { white-space:nowrap; }
.about .about-info-icon { display:inline-block; width:20px; height:20px; margin-right:8px; vertical-align:-.2em; color:#f3e9d8; opacity:.85; }
.about .about-copy p:first-child { font-size:18px; font-weight:500; color:rgba(243,233,216,.92); }
.about .about-copy p+p { font-size:16px; font-weight:400; color:rgba(243,233,216,.78); }
@media (max-width:767px) {
  .about::before { background:linear-gradient(to right,rgba(25,18,12,.94),rgba(25,18,12,.78)); }
  .about .about-container { padding-inline:20px; }
  .about .about-copy { padding-inline-end:0; margin-top:32px; gap:24px; }
}

/* Brasao em destaque, sem endereco ou acoes abaixo da marca. */
.about .about-crest { width:clamp(224px,22vw,300px); max-width:100%; height:auto; }
@media (max-width:767px) {
  .about .about-crest { width:200px; max-width:70vw; }
}

/* Acesso ao mapa abaixo do texto, independente do brasao. */
.about .about-story { position:relative; top:-12px; max-width:560px; }
.about .about-map-link { display:flex; align-items:center; gap:14px; width:fit-content; max-width:100%; min-height:64px; margin-top:28px; padding:12px 0; color:#f3e9d8; text-decoration:none; border-radius:4px; }
.about .about-map-link>img { display:block; flex:0 0 28px; width:28px; height:36px; object-fit:contain; opacity:.85; transition:opacity 180ms ease; }
.about .about-map-copy { display:grid; gap:4px; min-width:0; }
.about .about-map-copy strong { font:600 16px/1.5 var(--sans); letter-spacing:-.01em; text-wrap:pretty; text-decoration:underline; text-decoration-color:rgba(243,233,216,.35); text-decoration-thickness:1px; text-underline-offset:4px; }
.about .about-map-copy>span { color:rgba(243,233,216,.74); font:400 14px/1.6 var(--sans); text-wrap:pretty; }
.about .about-map-link:hover>img { opacity:1; }
.about .about-map-link:hover strong { text-decoration:underline; text-underline-offset:5px; text-decoration-color:rgba(243,233,216,.6); }
.about .about-map-link:focus-visible { outline:2px solid #d9b27c; outline-offset:6px; }
@media (max-width:767px) {
  .about .about-story { top:-8px; max-width:100%; }
  .about .about-map-link { width:100%; gap:12px; margin-top:24px; }
}

/* Titulo com a mesma familia, proporcao e tinta dos demais elementos da secao. */
.about .about-story h2 { font-family:'Inter',var(--sans); font-size:clamp(36px,3.6vw,48px); font-weight:500; color:#f3e9d8; letter-spacing:-.035em; line-height:1.15; font-kerning:normal; text-wrap:balance; text-shadow:0 2px 8px rgba(15,12,9,.2); }
