.mapping-page { --map-red: #8b0814; }
.mapping-page h2 { font-size: clamp(28px,3.2vw,44px); line-height:1.16; max-width:760px; }
.mapping-page p { line-height:1.8; }
.map-intro { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.map-intro figure { margin:0; }
.map-intro img { display:block; width:100%; height:auto; border-radius:20px; }
.map-lead { font-size:18px; }
.map-text-link { color:var(--map-red); font-weight:700; display:inline-block; margin-top:12px; text-decoration:underline; text-underline-offset:5px; }
.map-method { background:#e8e0d5; padding:64px 0; }
.map-method-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.map-method h2 { font-size:34px; }
.map-original { background:#f9f6f0; padding:32px; border-radius:16px; line-height:1.8; }
.map-original h3 { color:var(--map-red); margin-top:0; font-size:23px; }
.map-original ul { padding-left:22px; }
.map-steps { list-style:none; padding:0; margin:28px 0 0; display:grid; gap:20px; }
.map-steps li { border-top:1px solid #cbbba9; padding-top:16px; }
.map-steps strong,.map-steps span { display:block; }
.map-steps strong { color:var(--map-red); margin-bottom:6px; }
.map-steps span { line-height:1.7; }
.map-section-heading { max-width:780px; margin-bottom:36px; }
.map-cards { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.map-card { padding:32px; background:#faf7f2; border:1px solid #dfd3c6; border-radius:16px; display:flex; flex-direction:column; }
.map-number { color:var(--map-red); font-size:15px; font-weight:700; margin-bottom:14px; }
.map-card h3 { font-size:23px; line-height:1.3; margin:0; color:var(--map-red); }
.map-card h3 b { font-weight:inherit; }
.map-tags { padding:0; margin:8px 0 24px; list-style:none; display:flex; flex-wrap:wrap; gap:8px; }
.map-tags li { background:#eee5d9; padding:7px 11px; border-radius:6px; font-size:14px; line-height:1.4; }
.map-application { border-top:1px solid #dfd3c6; padding-top:18px; margin-top:auto; margin-bottom:0; }
.map-application strong { display:block; color:var(--map-red); font-size:14px; }
.map-disc { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:8px 0 26px; }
.map-disc span { display:grid; place-items:center; border-radius:10px; height:76px; font-size:34px; background:#8b0814; color:#fff; }
.map-disc span:nth-child(2) { background:#ac7751; }.map-disc span:nth-child(3) { background:#65745f; }.map-disc span:nth-child(4) { background:#4d6269; }
.map-time { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:8px 0 24px; }
.map-time span { padding:18px 12px; background:#e9dfd2; border-radius:8px; font-weight:600; }
.map-time span:first-child { background:var(--map-red); color:white; }
.map-context { font-size:14px; margin-top:-8px; color:#665e60; }
.map-card blockquote { margin:12px 0 30px; padding:24px; border-left:3px solid #be9673; font-size:25px; color:var(--map-red); line-height:1.4; }
.map-close { background:#8b0814; color:#fff7ee; border-radius:20px; padding:42px; margin-bottom:80px; display:flex; align-items:center; gap:48px; }
.map-close h2 { color:inherit; font-size:32px; }.map-close .eyebrow { color:#e6c9a4; }.map-close p { max-width:700px; }.map-close .button { background:#ebd5b9; color:#6b0711; flex-shrink:0; }
#assessments { scroll-margin-top:110px; }
@media(max-width:800px) { .map-intro,.map-method-grid,.map-cards { grid-template-columns:1fr; gap:28px; }.map-intro { padding-top:40px; }.map-intro figure { max-width:580px; }.map-method { padding:40px 0; }.map-card,.map-original { padding:24px; }.map-close { flex-direction:column; align-items:flex-start; padding:28px; width:calc(100% - 40px); gap:12px; }.map-card h3 { font-size:21px; } }

/* Assessment-specific vector artwork, replacing the introductory collage. */
.map-intro { display: block; }
.map-intro > div { max-width: 900px; }
.map-art { margin: 20px 0 24px; background: #f4eee5; border-radius: 12px; overflow: hidden; }
.map-art img { display: block; width: 100%; height: auto; }
.map-card .map-art { flex-shrink: 0; }
@media(max-width:800px) { .map-art { margin: 18px 0 22px; } }

.page-mapeamento-comportamental .inner-hero-picture img { object-fit: contain; height: auto; aspect-ratio: 3 / 2; }
