:root {
  --dark:#102b25;
  --ink:#17312a;
  --cream:#f7f5ed;
  --white:#fff;
  --olive:#ced8a9;
  --gold:#dec998;
  --muted:#56645c;
  --line:#d7ddd0;
  --sans:'DM Sans',Arial,sans-serif;
}
* {box-sizing:border-box}
html {scroll-behavior:smooth;scroll-padding-top:30px}
body {margin:0;font-family:var(--sans);font-size:17px;line-height:1.65;background:var(--cream);color:var(--ink)}
h1,h2,h3,p,figure {margin:0}
h1,h2,h3 {line-height:1.08;letter-spacing:-.055em}
h1,h2 {font-weight:750}
h2 {font-size:clamp(38px,4.2vw,64px)}
h3 {font-size:27px;font-weight:650;letter-spacing:-.04em}
p {color:var(--muted)}
p+p {margin-top:20px}
a {color:inherit;text-underline-offset:5px}
button,input,select,textarea {font:inherit}
button,summary {cursor:pointer}
button,a,input,select,textarea,summary {touch-action:manipulation}
img {display:block;max-width:100%;height:auto}
:focus-visible {outline:3px solid #8a731f;outline-offset:5px}
[hidden] {display:none!important}
.wrap {width:min(1260px,calc(100% - 100px));margin-inline:auto}
.section {padding-block:110px}
.section-kicker {font-size:15px;font-weight:550;margin-bottom:22px;color:#4f6659}
h2 span {color:#647646}
.text-link {display:inline-flex;align-items:center;gap:25px;font-size:15px;font-weight:650;text-decoration:none;padding:13px 0;border-bottom:1px solid currentColor}
.text-link:hover {color:#59713a}
.button,.lead-form__submit {display:inline-flex;justify-content:center;align-items:center;gap:28px;padding:17px 25px;min-height:57px;border:1px solid transparent;border-radius:100px;background:var(--dark);color:var(--white);font-size:14px;font-weight:650;text-decoration:none;transition:background .2s,transform .2s}
.button:hover,.lead-form__submit:hover {transform:translateY(-2px)}
.button span {font-size:23px;line-height:1}
.button-lime {background:var(--olive);color:var(--dark)}
.button-lime:hover {background:#e0e9c3}
.button-outline {border-color:#9ca997;background:transparent;color:var(--ink)}
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link {position:fixed;top:12px;left:12px;z-index:100;background:#fff;color:var(--ink);padding:12px;transform:translateY(-160%)}
.skip-link:focus {transform:none}

/* Abertura central, sem retratos ou ornamentos laterais. */
.dark-opening {background:var(--dark);color:var(--cream)}
.site-header {min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:35px}
.brand {font-size:56px;letter-spacing:-.075em;font-weight:800;line-height:1;text-decoration:none}
.brand>span {color:var(--gold)}
.site-header nav {display:flex;align-items:center;gap:27px;font-size:13px}
.site-header nav a {text-decoration:none;padding:12px 0}
.site-header nav a:hover {color:var(--olive)}
.site-header .nav-contact {padding:12px 19px;border:1px solid #759082;border-radius:100px;margin-left:12px}
.nav-contact span {margin-left:13px}
.menu-toggle {display:none;background:transparent;color:var(--cream);border:1px solid #789183;border-radius:100px;min-height:44px;padding:9px 17px}

/* Problemas da rotina em duas colunas de leitura. */

/* MAPA: quatro etapas abertas, adaptadas à leitura e ao teclado. */

/* Aplicações: grandes cartões em uma faixa escura. */
.services-section {background:var(--dark);color:var(--cream)}
.section-center {max-width:810px;text-align:center;margin:auto}
.section-center h2 {font-size:clamp(38px,4.4vw,66px)}
.section-center>p:not(.section-kicker) {max-width:590px;margin:26px auto 0}
.services-section .section-kicker {color:var(--olive)}
.services-section .section-center>p:last-child {color:#c3d0bf}
.service-cards {display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:55px}
.service-cards article {background:#263c33;border:1px solid #41564a;border-radius:16px;padding:32px;display:flex;flex-direction:column}
.service-cards article:nth-child(2) {background:#cbd5ae;color:var(--dark);border-color:#cbd5ae}
.service-cards h3 {font-size:27px;line-height:1.17}
.service-cards p {font-size:15px;color:#ccd6c7;margin-top:20px}
.service-cards article:nth-child(2) p {color:#3e5140}
.service-cards a {font-size:13px;text-decoration:none;margin-top:auto;padding-top:30px;display:flex;gap:12px;align-items:center;justify-content:space-between}
.service-cards a span {font-size:25px}
.service-symbol {height:175px;display:flex;align-items:center;justify-content:center;margin-bottom:24px}
.service-symbol img {display:block;width:100%;height:100%;object-fit:contain}
.delivery-strip {border-top:1px solid #4d6253;margin-top:50px;padding-top:28px;display:flex;gap:30px;align-items:center;justify-content:space-between}
.delivery-strip p {color:var(--cream);font-weight:650;font-size:16px;white-space:nowrap}
.delivery-strip ul {display:flex;flex-wrap:wrap;gap:18px 25px;list-style:none;margin:0;padding:0;font-size:12px;color:#d0d9c9}
.delivery-strip li::before {content:'✓';margin-right:9px;color:var(--olive)}

/* Convite por situação, sem segmentação de porte inventada. */

/* Trabalhos ocupam escala visual, não uma lista de títulos. */
.work-section {background:var(--dark);color:var(--cream);width:100%;max-width:none;padding-inline:max(50px,calc((100vw - 1260px)/2))}
.section-heading {display:flex;justify-content:space-between;gap:50px;align-items:end}
.work-section .section-kicker {color:var(--olive)}
.work-section h2 span {color:var(--olive)}
.work-section .button-outline {color:var(--cream);border-color:#82917a;flex-shrink:0}
.work-disclaimer {font-size:12px;color:#c4cebb;max-width:650px;margin-top:30px}
.projects {display:grid;grid-template-columns:minmax(0,1fr);gap:64px;margin-top:38px}
.project-visual {position:relative;display:flex;flex-direction:column;overflow:hidden;border-radius:18px;text-decoration:none;padding:32px;isolation:isolate;transition:transform .25s}
.project-visual:hover {transform:translateY(-4px)}
.project-client {display:flex;align-items:center;flex-wrap:wrap;gap:24px 36px}
.client-brand {display:inline-flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;width:min(280px,100%);padding:18px 20px;border-radius:10px;background:#fff;color:var(--ink)}
.client-brands {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:min(576px,100%);min-width:0}
.client-brands>.client-brand {width:100%;min-width:0}
.client-brand img {width:100%;height:auto;object-fit:contain}
.client-brand--dark {background:var(--dark);color:var(--cream);border:1px solid #496153}
.client-brand-label {font-size:12px;line-height:1.4;margin-top:10px}
.project-tag {font-size:12px;line-height:1.6;font-weight:650;letter-spacing:.035em;position:relative;z-index:2}
.visual-crm {background:#e0e5d2;color:var(--dark)}
.illustrative {position:relative;font-size:10px;align-self:start;line-height:1.3;max-width:calc(100% - 60px);z-index:2}
.project-arrow {position:absolute;right:25px;bottom:25px;border:1px solid currentColor;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;font-size:26px;line-height:1}
.project-description {display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:16px 36px;padding-top:28px}
.project-description h3,.portfolio-page .project-description h2 {font-size:clamp(32px,2.8vw,38px);line-height:1.15;min-width:0;letter-spacing:-.04em}
.project-description p,.project-context dd {color:#c8d3bf;font-size:18px;line-height:1.7;max-width:650px}
.project-company p {margin-top:16px;max-width:390px}
.project-context {display:grid;gap:24px;margin:0}
.project-context dt {font-size:14px;font-weight:650;color:var(--olive);line-height:1.5}
.project-context dd {margin:7px 0 0}
.project-story>a {display:inline-block;margin-top:24px}
.project-description a {font-size:16px;line-height:1.5;justify-self:start;white-space:normal}
.visual-solar {background:var(--gold);color:#3a3d26}
.visual-investment {background:#7f9470;color:#102b25}

/* Equipe e leituras: ativos próprios, espaço para respirar. */
.team-section {background:#eceee2}
.team-photos {display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:55px}
.team-photos figure>div {border-radius:150px 150px 16px 16px;overflow:hidden;background:#d2dbb7}
.team-photos figure:nth-child(2)>div {border-radius:18px;background:var(--gold)}
.team-photos figure:nth-child(3)>div {border-radius:16px 150px 16px 16px;background:#b4c4a7}
.team-photos img {width:100%;aspect-ratio:1.05;object-fit:cover;transition:transform .25s}
.team-photos figure:hover img {transform:scale(1.025)}
.team-photos figcaption {font-size:20px;font-weight:650;margin-top:22px;letter-spacing:-.025em}
.content-section .section-heading .text-link {white-space:nowrap}
.content-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:50px}
.content-grid>a {text-decoration:none;display:flex;flex-direction:column}
.content-cover {border-radius:15px;aspect-ratio:1.25;display:flex;align-items:center;justify-content:center;gap:12px;overflow:hidden;padding:30px;margin-bottom:23px;color:var(--dark)}
.cover-one {background:#dce1cb}
.cover-one>span {font-size:105px;font-weight:700;letter-spacing:-.1em;transform:rotate(-15deg)}
.content-cover b {font-size:27px;line-height:1.05;letter-spacing:-.04em;font-weight:650}
.cover-two {background:#e4d6b3}
.cover-two>span {font-size:120px;font-weight:300;line-height:1}
.cover-three {background:#b5c5aa}
.cover-three>span {font-size:60px;line-height:1;letter-spacing:-.05em;transform:rotate(-10deg)}
.content-grid>a>small {font-size:10px;font-weight:650;letter-spacing:.08em;color:#5e7250}
.content-grid h3 {font-size:26px;line-height:1.15;margin-top:12px}
.content-grid p {font-size:14px;margin-top:15px}
.read-link {font-size:12px;font-weight:650;margin-top:auto;padding-top:22px}
.content-grid>a:hover .read-link {text-decoration:underline}
.faq-section {display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;border-top:1px solid var(--line);padding-top:80px}
.faq-section>div>p:last-child {font-size:15px;margin-top:25px}
.faq-list details {border-bottom:1px solid #bac6b1}
.faq-list details:first-child {border-top:1px solid #bac6b1}
.faq-list summary {font-size:17px;font-weight:550;padding:23px 20px 23px 0}
.faq-list details p {font-size:15px;padding-bottom:24px;line-height:1.7}

/* Contato mantém o contrato de dados existente. */
.contact-section {position:relative;background:var(--olive)}
.anchor-alias {position:absolute;top:0}
.contact-grid {display:grid;grid-template-columns:.9fr 1.1fr;gap:85px;align-items:start}
.contact-copy h2 {font-size:clamp(50px,5.7vw,80px);line-height:1}
.contact-copy h2 span {color:#4d643d}
.contact-copy>p:not(.section-kicker) {font-size:17px;max-width:370px;margin-top:28px;color:#42543a}
.contact-copy .contact-note {font-size:14px!important;line-height:1.65}
.lead-form {background:var(--dark);color:var(--cream);padding:34px;border-radius:20px;min-width:0}
.lead-form fieldset {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px;border:0;margin:0;padding:0;min-width:0}
.lead-form__field {min-width:0}
.lead-form label {display:block;font-size:14px;font-weight:500;margin-bottom:8px}
.lead-form input:not([type=checkbox]),.lead-form select,.lead-form textarea {width:100%;background:#233c30;border:1px solid #6d806b;border-radius:7px;padding:12px;color:#f5f4e9;font-size:16px;min-height:47px}
.lead-form input::placeholder,.lead-form textarea::placeholder {color:#b3c0a7;opacity:1}
.lead-form select {padding-right:3px}
.lead-form textarea {resize:vertical}
.lead-form__field--full,.form-group {grid-column:1/-1}
.lead-form small,.lead-form label>span {color:#b6c5aa!important}
.lead-form .checkbox-label {display:flex;align-items:start;gap:10px;font-size:14px;line-height:1.6}
.checkbox-label input {width:18px;height:18px;margin:2px 0;flex-shrink:0;accent-color:var(--olive)}
.lead-form__submit {width:100%;margin-top:24px;background:var(--olive);color:var(--dark);border:0}
.lead-form__submit:disabled {opacity:.65;cursor:not-allowed}
.lead-form .contact-note {font-size:14px;line-height:1.7;margin-top:24px;color:var(--cream);overflow-wrap:anywhere}
.lead-form #form-status {font-size:15px;line-height:1.6;margin-top:15px;color:#e2ebd7}
.preview-notice {color:#2c412d!important;border:1px solid #9caa88;background:#e5eace;padding:12px;font-size:12px!important;margin:0 0 22px!important;border-radius:6px}
footer {background:var(--dark);color:var(--cream);padding:70px 0 28px}
.footer-top {display:grid;grid-template-columns:.65fr 1fr 1.1fr;gap:45px;padding-bottom:55px}
.footer-top>.brand {font-size:76px}
.footer-top>p {font-size:22px;color:#c7d3be;line-height:1.3}
.footer-top nav {display:grid;grid-template-columns:1fr 1fr;gap:13px 25px;font-size:12px}
.footer-top nav a {text-decoration:none}
.footer-bottom {border-top:1px solid #405647;padding-top:25px;display:flex;gap:30px;font-size:11px;color:#c4cdb9}
.footer-bottom>span:last-child {margin-left:auto}


@media(max-width:1150px) {
  .wrap {width:calc(100% - 64px)}
  .site-header nav {gap:18px;font-size:12px}
  .site-header .nav-contact {margin-left:0}
  .service-cards {gap:18px}
  .service-cards article {padding:25px}
  .service-cards h3 {font-size:24px}
  .work-section {padding-inline:32px}
  .project-description {gap:20px}
  .content-cover {padding:23px}
  .content-cover b {font-size:23px}
  .cover-one>span {font-size:85px}
  .contact-grid {gap:50px}
  .lead-form {padding:28px}
}
@media(max-width:850px) {
  .site-header {min-height:95px;flex-wrap:wrap;gap:0}
  .brand {font-size:47px}
  .site-header nav {width:100%;flex-wrap:wrap;gap:10px 22px;padding:12px 0 24px;font-size:14px}
  .js .site-header nav {display:none}
  .js .site-header nav.is-open {display:flex}
  .js .menu-toggle {display:block}
  .service-cards {grid-template-columns:1fr}
  .service-cards article {padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:15px 30px}
  .service-symbol {grid-column:1;grid-row:1/3;margin:0;height:175px}
  .service-cards h3 {grid-column:2;grid-row:1}
  .service-cards p {grid-column:2;margin:0}
  .service-cards a {grid-column:2;padding-top:10px}
  .delivery-strip {align-items:start;flex-direction:column;gap:20px}
  .section-heading {gap:30px}
  .section-heading .button {font-size:12px;padding:15px 20px}
  .projects {gap:48px}
  .project-visual {padding:25px}
  .project-description p {max-width:100%}
  .team-photos {gap:25px}
  .content-section .section-heading {display:block}
  .content-section .text-link {margin-top:25px}
  .content-grid {gap:20px}
  .content-cover {padding:15px;gap:6px}
  .content-cover b {font-size:19px}
  .cover-one>span {font-size:64px}
  .cover-two>span {font-size:80px}
  .cover-three>span {font-size:43px}
  .content-grid h3 {font-size:22px}
  .faq-section {gap:40px}
  .contact-grid {grid-template-columns:1fr;gap:40px}
  .contact-copy>p:not(.section-kicker) {max-width:610px}
  .contact-copy h2 br:nth-child(2) {display:none}
  .contact-copy h2 span::before {content:' '}
  .contact-copy h2 {font-size:64px}
  .lead-form {padding:35px}
  .footer-top {grid-template-columns:.7fr 1fr}
  .footer-top nav {grid-column:1/-1}
}
@media(max-width:600px) {
  .wrap {width:calc(100% - 40px)}
  .section {padding-block:74px}
  .site-header {min-height:86px}
  .brand {font-size:44px}
  h2 {font-size:42px}
  .section-kicker {font-size:13px;margin-bottom:20px}
  .section-center h2 {font-size:43px}
  .section-center>p:not(.section-kicker) {font-size:16px;margin-top:23px}
  .service-cards {margin-top:38px;gap:19px}
  .service-cards article {display:flex;padding:30px}
  .service-symbol {height:190px;margin-bottom:20px}
  .service-cards h3 {font-size:29px}
  .service-cards p {margin-top:20px}
  .service-cards a {padding-top:27px}
  .delivery-strip {margin-top:35px;padding-top:23px}
  .delivery-strip ul {gap:14px;font-size:12px;display:grid;grid-template-columns:1fr 1fr}
  .work-section {padding-inline:20px}
  .section-heading {display:block}
  .work-section h2 {font-size:43px}
  .section-heading .button {margin-top:27px}
  .work-disclaimer {font-size:11px;margin-top:25px}
  .projects {gap:44px;margin-top:28px}
  .project-visual {padding:23px}
  .project-client {align-items:flex-start;gap:18px}
  .client-brand {width:min(260px,100%);padding:16px}
  .client-brands {grid-template-columns:1fr;width:min(260px,100%);gap:12px}
  .project-client .project-tag {width:100%}
  .project-description {display:grid;gap:26px;padding-top:21px}
  .project-description p,.project-context dd {font-size:17px}
  .project-description a {display:inline-block;margin-top:17px;font-size:16px}
  .team-photos {grid-template-columns:1fr;gap:35px;max-width:390px;margin:40px auto 0}
  .team-photos figure>div {border-radius:150px 150px 15px 15px}
  .team-photos img {aspect-ratio:1.1}
  .team-photos figcaption {font-size:23px;margin-top:18px}
  .content-grid {grid-template-columns:1fr;gap:38px;margin-top:35px}
  .content-cover {aspect-ratio:1.5;padding:30px;margin-bottom:20px;gap:20px}
  .content-cover b {font-size:30px}
  .cover-one>span {font-size:110px}
  .cover-two>span {font-size:130px}
  .cover-three>span {font-size:67px}
  .content-grid h3 {font-size:28px}
  .content-grid p {font-size:15px}
  .faq-section {grid-template-columns:1fr;gap:32px;padding-top:65px}
  .faq-list summary {font-size:16px;padding:21px 15px 21px 0}
  .faq-list details p {font-size:14px}
  .contact-copy h2 {font-size:60px}
  .contact-copy h2 br:nth-child(2) {display:initial}
  .contact-copy h2 span::before {content:none}
  .contact-copy>p:not(.section-kicker) {font-size:16px}
  .lead-form {padding:24px;border-radius:16px}
  .lead-form fieldset {grid-template-columns:1fr;gap:19px}
  .lead-form__submit {font-size:12px;padding:16px;gap:15px}
  .footer-top {gap:25px;padding-bottom:35px}
  .footer-top>.brand {font-size:65px}
  .footer-top>p {font-size:18px}
  .footer-top nav {font-size:12px;gap:12px 15px}
  .footer-bottom {flex-wrap:wrap;font-size:10px;gap:13px 20px}
  .footer-bottom>span:last-child {width:100%;margin:0}
}
@media(max-width:360px) {
  .wrap {width:calc(100% - 32px)}
  .section-center h2 {font-size:39px}
  .project-visual {padding:20px}
  .contact-copy h2 {font-size:52px}
  .content-cover {gap:12px}
  .content-cover b {font-size:26px}
  .cover-one>span {font-size:90px}
}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  *,*::before,*::after {animation:none!important;transition:none!important}
}

/* Home sobre remains a short route to the single team presentation. */
.about-summary {background:#eceee2}
.about-summary .section-heading {align-items:center}
.about-summary-copy {max-width:520px}
.about-summary-copy p {font-size:17px}
.about-summary-copy .text-link {font-size:13px;margin-top:16px}
@media(max-width:600px) {
  .about-summary-copy {margin-top:25px}
  .about-summary-copy p {font-size:16px}
}


/* MAPA: one connected process, progressively enhanced phase controls. */
.method-section {border-top:1px solid var(--line);padding-top:80px}
.mapa-heading {display:flex;justify-content:space-between;align-items:center;gap:35px;margin-bottom:42px}
.mapa-heading h2 {font-size:clamp(32px,4vw,56px)}
.mapa-identity {text-align:right;flex-shrink:0}
.mapa-identity>span {font-size:clamp(65px,9vw,130px);font-weight:750;letter-spacing:-.09em;line-height:1}
.mapa-identity-dot {color:#657843}
.mapa-identity p {font-size:14px;margin-top:12px}
.mapa-controls {display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px}
.mapa-control-hint {grid-column:1/-1;font-size:14px;color:var(--muted);margin-bottom:5px}
.mapa-controls button {display:flex;align-items:center;gap:14px;padding:16px;background:transparent;border:1px solid #9cae96;border-radius:8px;color:var(--ink);text-align:left;font-size:16px;min-height:68px}
.mapa-controls b {font-size:30px;line-height:1;font-weight:650}
.mapa-controls button[aria-pressed=true] {background:var(--dark);border-color:var(--dark);color:var(--cream)}
.mapa-stage {display:grid;grid-template-columns:1.1fr 1fr;gap:0;background:#eeefe5;border-radius:16px;overflow:hidden;margin-bottom:20px}
.mapa-stage-copy {padding:40px;align-self:center;min-width:0}
.mapa-phase-name {font-size:14px;color:var(--muted);margin-bottom:15px}
.mapa-stage h3 {font-size:clamp(26px,2.8vw,39px);line-height:1.15;letter-spacing:-.045em}
.mapa-output {font-size:19px;line-height:1.5;margin-top:28px}
.mapa-output span {display:block;font-size:13px;color:var(--muted);margin-bottom:5px}
.mapa-details {border-top:1px solid #bdc8b3;margin-top:28px;padding-top:18px}
.mapa-details summary {cursor:pointer;font-size:15px;font-weight:600;line-height:1.5}
.mapa-details p {font-size:15px;line-height:1.6;margin-top:15px}
.mapa-details>div {margin-top:20px}
.mapa-detail-label {font-size:12px;font-weight:650;color:#45563d}
.mapa-details>div p {margin-top:5px}
.mapa-diagram {background:radial-gradient(ellipse at 50% 38%,#f7f6e9 0%,#dce3cd 80%);color:var(--dark);padding:28px 30px;min-width:0;display:flex;flex-direction:column;min-height:425px}
.mapa-scene {display:block;width:100%;height:310px;object-fit:contain;margin:10px auto;flex:1;min-height:0}
.mapa-scene-analysis {background:radial-gradient(ellipse at 50% 38%,#f8f1df 0%,#e7d6b4 80%)}
.mapa-scene-activation {background:radial-gradient(ellipse at 50% 38%,#eaf0dd 0%,#c6d4b8 80%)}
.mapa-diagram-label {font-size:13px;letter-spacing:.035em;color:#40543a;font-weight:550}
.mapa-caption {font-size:12px;color:#4c5b45;line-height:1.5;margin-top:13px}
.mapa-diagram-note {font-size:17px;line-height:1.45;text-align:left;max-width:380px;color:var(--dark)}
.mapa-bottom {display:flex;justify-content:space-between;align-items:start;gap:25px;margin-top:25px}
.mapa-bottom p {font-size:14px;max-width:580px;line-height:1.6}
.mapa-bottom .text-link {font-size:15px;flex-shrink:0}
@media(hover:hover) and (pointer:fine) {.mapa-controls button:hover {border-color:var(--dark);box-shadow:inset 0 0 0 1px var(--dark)}}
@media(max-width:900px) {
 .mapa-stage-copy {padding:30px}
 .mapa-controls button {gap:10px;padding:14px 12px;font-size:14px}
 .mapa-diagram {padding:25px}
 .mapa-bottom {display:block}
 .mapa-bottom .text-link {margin-top:15px}
}
@media(max-width:650px) {
 .method-section {padding-top:55px}
 .mapa-heading {align-items:start;flex-direction:column;gap:25px;margin-bottom:28px}
 .mapa-heading h2 {font-size:35px}
 .mapa-identity {text-align:left}
 .mapa-identity>span {font-size:80px}
 .mapa-identity p {margin-top:6px}
 .mapa-controls {grid-template-columns:1fr 1fr;gap:7px}
 .mapa-controls button {font-size:14px;gap:9px;min-height:65px;padding:12px 10px}
 .mapa-controls b {font-size:26px}
 .mapa-stage {grid-template-columns:1fr}
 .mapa-stage-copy {padding:27px 22px}
 .mapa-diagram {padding:24px 20px;min-height:370px}
 .mapa-scene {height:230px;flex:none}
 .mapa-diagram-note {font-size:16px}
 .mapa-output {font-size:18px;margin-top:22px}
}

/* Institutional opening and one concrete process handoff. */
.hero {padding:70px 0 90px}
.hero-copy {text-align:center;max-width:1120px}
.hero-intro {color:#d2ddc5;font-size:16px;margin-bottom:29px}
.hero h1 {font-size:clamp(60px,6.3vw,88px);line-height:1.035;font-weight:750;letter-spacing:-.055em;max-width:1060px;margin:auto}
.hero-lead {max-width:670px;margin:30px auto 0;font-size:18px;line-height:1.65;color:#d0d9cc}
.hero-actions {display:flex;align-items:center;justify-content:center;gap:30px;margin-top:35px;flex-wrap:wrap}
.hero-actions .button {font-size:14px}
.hero-secondary {font-size:14px;color:var(--cream);text-decoration:underline;text-underline-offset:5px;line-height:1.5;padding:12px 0}
.hero-secondary span {margin-left:8px}
.human-section {position:relative;display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}
.human-copy h2 {font-size:clamp(34px,3.5vw,48px);line-height:1.13;letter-spacing:-.045em}
.human-copy>p:not(.section-kicker) {font-size:17px;line-height:1.65;margin-top:25px;max-width:500px}
.human-copy>p.context-related {font-size:15px;color:var(--muted);margin-top:18px}
.context-flow {margin:0;padding:25px 30px 28px;background:#e8ecdf;border:1px solid #d4dcc9;border-radius:15px}
.context-flow figcaption {font-size:12px;color:#4c6046}
.context-route {display:flex;justify-content:space-between;align-items:center;gap:20px;margin:28px 0 23px;font-size:20px;font-weight:550;letter-spacing:-.03em}
.context-route>span:nth-child(2) {flex:1;color:#748462;text-align:center}
.context-order {background:#fffef9;padding:23px 25px;border:1px solid #cdd5c2;box-shadow:0 7px 0 -3px #d9dfce}
.context-document-label {font-size:13px;font-weight:650;margin-bottom:23px}
.context-field {display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;padding:12px 0;border-bottom:1px solid #dde2d4}
.context-field strong {font-size:13px;font-weight:550}
.context-missing {align-items:start}
.context-missing strong {color:#795322;border-bottom:1px dashed #99754b;white-space:nowrap}
.context-status {display:flex;align-items:center;gap:9px;margin-top:19px;font-size:13px;color:#725122}
.context-status>span {display:inline-flex;align-items:center;justify-content:center;border:1px solid #9f8051;border-radius:50%;width:19px;height:19px;flex-shrink:0;font-size:12px;font-weight:700}
.context-return {display:flex;align-items:center;gap:12px;max-width:325px;margin:24px auto 0;font-size:13px;line-height:1.5;color:#45573e}
.context-return>span {font-size:35px;color:#657a54}
@media(max-width:900px) {
 .hero {padding:52px 0 70px}
 .hero h1 {font-size:clamp(48px,7.4vw,66px)}
 .hero-lead {max-width:610px}
 .human-section {gap:32px}
 .context-flow {padding:23px 20px}
 .context-order {padding:20px 16px}
 .context-route {font-size:18px;gap:10px}
 .context-field {flex-wrap:wrap;gap:5px}
}
@media(max-width:650px) {
 .hero {padding:40px 0 56px}
 .hero-intro {font-size:13px;max-width:280px;margin:0 auto 25px;line-height:1.5}
 .hero h1 {font-size:clamp(32px,8.6vw,52px);line-height:1.08}
 .hero-lead {font-size:16px;line-height:1.6;max-width:420px;margin-top:25px}
 .hero-actions {flex-direction:column;gap:8px;margin-top:28px}
 .hero-actions .button {font-size:13px;padding:17px 23px}
 .hero-secondary {font-size:13px}
 .human-section {grid-template-columns:1fr;gap:32px}
 .human-copy h2 {font-size:35px}
 .human-copy>p:not(.section-kicker) {font-size:16px;margin-top:22px}
 .human-copy>p.context-related {font-size:14px;margin-top:16px}
 .context-flow {padding:23px}
 .context-route {font-size:20px}
 .context-field {flex-wrap:nowrap}
}
@media(max-width:360px) {
 .context-flow {padding:20px 16px}
 .context-field {flex-wrap:wrap}
 .human-copy h2 {font-size:32px}
}

/* The project renders illustrate context; titles and status remain readable HTML. */
#evidencias .illustrative {font-size:12px}
.project-art-layout {display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:36px;min-width:0;padding:36px 0 30px}
.project-art-layout img {display:block;width:100%;height:auto;object-fit:contain;min-width:0}
.project-art-layout>img {max-height:390px;max-width:580px;justify-self:center}
.project-art-copy p {font-size:clamp(32px,3.6vw,49px);line-height:1.09;letter-spacing:-.045em;font-weight:650;color:var(--dark)}
.project-art-copy>span {display:block;font-size:16px;margin-top:18px;line-height:1.5}
@media(max-width:900px) {
 .project-art-layout {grid-template-columns:minmax(0,1fr);gap:28px;padding:30px 0}
 .project-art-layout>img {max-width:540px}
 .project-art-copy p {font-size:clamp(32px,5vw,42px)}
 .project-description {grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px) {
 .project-art-copy>span {font-size:15px;margin-top:15px}
}

/* Client portfolio: shared cards and visible project status. */
.visual-easy {background:#e5dced;color:var(--dark)}
.visual-data {background:#dde6d7;color:var(--dark)}
.client-brand--credits {min-height:132px;padding-block:24px}
.project-status {display:inline-block;font-size:12px;line-height:1.5;font-weight:600;border:1px solid #758b6a;border-radius:100px;padding:8px 14px}
.easy-material-stack {display:grid;align-items:center;min-width:0;padding:20px 8% 28px;margin-block:10px}
.easy-material-stack img {grid-area:1/1;width:100%;height:auto;border:1px solid #ccc7d0;box-shadow:0 12px 18px -12px #44374955}
.easy-material-stack img:first-child {transform:translate(-6%,-8%) rotate(-8deg)}
.easy-material-stack img:last-child {transform:translate(5%,12%) rotate(7deg)}
.portfolio-page .work-section {padding-top:20px}
.portfolio-page .projects {margin-top:0}
.portfolio-page .illustrative {font-size:12px}
.portfolio-page .page-hero {padding-bottom:65px}
.portfolio-page .page-hero h1 {max-width:1100px}
.portfolio-page .page-hero>div>p:last-child {max-width:670px}
@media(max-width:600px) {
 .portfolio-page .page-hero h1 {font-size:clamp(36px,8.4vw,58px)}
}
