@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--paper:#faf9f5;--ink:#182d4d;--red:#ae302b;--text:#424851;--line:#d2d2cd;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:6px}a:hover{color:var(--red)}p,h1,h2,h3,figure{margin:0}p+p{margin-top:20px}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04}em{font-weight:400}img{display:block;max-width:100%;height:auto}.skip{position:absolute;left:20px;top:-100px;z-index:10;background:var(--ink);color:white;padding:12px}.skip:focus{top:12px}.topline{display:flex;justify-content:space-between;padding:9px 4.7%;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.08em}.header{margin:0 4.7%;display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:118px;border-bottom:1px solid var(--ink)}.brand{width:300px;flex-shrink:0}.header nav{display:flex;align-items:center;gap:27px;font-size:14px}.nav-contact{border-bottom:1px solid var(--red);padding:9px 0}.nav-contact span{margin-left:14px;color:var(--red)}.menu-toggle{display:none}.hero{margin:44px 4.7% 0;display:grid;grid-template-columns:.92fr 1.08fr;gap:6%;align-items:center;padding-bottom:50px;border-bottom:1px solid var(--ink)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:600;line-height:1.5}.hero .eyebrow{color:var(--red);margin-bottom:23px}h1{font-size:clamp(60px,6.2vw,100px);letter-spacing:-.035em}h1 em{color:var(--red)}.intro{font:26px/1.35 var(--serif);max-width:430px;margin-top:27px}.hero-description{max-width:430px;color:var(--text);margin-top:17px;font-size:15px}.text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;font-size:14px;font-weight:600;border-bottom:1px solid var(--red);padding-bottom:8px}.hero .text-link{margin-top:30px}.text-link span{color:var(--red);font-size:20px}.hero-art img{width:100%;aspect-ratio:1.11;object-fit:cover}.hero-art figcaption{font-size:12px;color:#686c72;margin-top:10px;letter-spacing:.01em}.section{padding:76px 4.7%}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;margin-bottom:45px}.section-heading .eyebrow{padding-top:10px}.section-heading h2{font-size:46px;width:66%}.path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.path{border-top:3px solid var(--ink);scroll-margin-top:30px}.path-top{display:flex;align-items:center;justify-content:space-between;padding-top:22px}.number{font:20px var(--serif);color:var(--red)}.path h3{font-size:52px;margin-top:26px}.path-deck{font:26px/1.2 var(--serif);margin-top:18px;min-height:64px}.path>p:not(.path-deck){color:var(--text);margin-top:20px;font-size:16px;line-height:1.7}.path details{margin-top:24px;border-bottom:1px solid var(--line)}summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;font-size:14px;font-weight:600;padding:18px 0}summary::-webkit-details-marker{display:none}summary span{font-size:24px;font-weight:400;line-height:1;transition:transform .2s;color:var(--red)}details[open]>summary span{transform:rotate(45deg)}.detail-body{padding:3px 0 24px;color:var(--text);font-size:16px}.detail-body ul{padding-left:20px;margin:20px 0}.detail-body li+li{margin-top:6px}.detail-body a:not(.text-link){text-decoration:underline;overflow-wrap:anywhere}.detail-body .text-link{margin-top:20px;color:var(--ink)}.project{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:80px;padding-bottom:84px}.project h2{font-size:clamp(56px,5.5vw,86px);margin-top:35px;letter-spacing:-.02em}.project h2 em{color:#f3b7a6}.project-rule{display:block;width:70px;height:3px;background:#c95043;margin-top:40px}.project-copy{padding-top:48px;color:#e0e5ec;max-width:510px}.project-copy .lead{font:32px/1.25 var(--serif);color:white;margin-bottom:26px}.origin{border-top:1px solid #526077;margin-top:35px;padding-top:26px}.origin h3{font-size:28px;margin-bottom:15px;color:white}.origin p{font-size:15px}.questions{display:grid;grid-template-columns:1fr 1.45fr;gap:10%;padding-top:90px;padding-bottom:90px}.questions h2{font-size:44px;margin-top:24px}.faq-list{border-top:1px solid var(--ink)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{font-size:16px;padding:22px 0}.contact{background:#eeeae1;border-top:1px solid var(--line);padding-top:53px;padding-bottom:64px}.contact>.eyebrow{color:var(--red);margin-bottom:32px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.contact h2{font-size:clamp(50px,5.6vw,80px);letter-spacing:-.02em}.contact h2 em{color:var(--red)}.contact-grid p{font-size:18px;line-height:1.65}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:var(--ink);color:white;margin-top:28px;padding:16px 23px;font-size:14px}.button:hover{background:var(--red);color:white}.email{display:block;margin-top:16px;font-size:14px;overflow-wrap:anywhere}footer{padding:38px 4.7%;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:12px}.footer-brand{font:28px/1.15 var(--serif)}.footer-brand span{font:11px var(--sans);display:block;margin-top:9px;letter-spacing:.1em;text-transform:uppercase}footer>a:last-child{font-size:14px}
@media(min-width:1600px){.topline,.header,.hero,main>.section,footer{padding-left:max(4.7%,calc((100vw - 1500px)/2));padding-right:max(4.7%,calc((100vw - 1500px)/2))}.header,.hero{margin-left:0;margin-right:0}.hero{gap:80px}}
@media(max-width:1050px){.header nav{gap:16px}.brand{width:245px}.hero{gap:5%}h1{font-size:70px}.hero-art img{aspect-ratio:.9}.path-grid{gap:24px}.path-top .eyebrow{font-size:11px}.path h3{font-size:45px}.path-deck{font-size:24px}.header{min-height:105px}.nav-contact{max-width:135px}.project{gap:6%}}
@media(max-width:760px){.topline{padding:9px 6%;font-size:10px;letter-spacing:.07em}.topline span:last-child{display:none}.header{margin:0 6%;min-height:97px;position:relative;flex-wrap:wrap;gap:0}.brand{width:245px;max-width:74%}.menu-toggle{display:flex;gap:10px;background:none;border:0;padding:16px 0;color:var(--ink);font-size:14px}.header nav{display:none;flex-basis:100%;align-items:stretch;gap:0;padding:8px 0 20px}.header nav.is-open{display:flex;flex-direction:column}.header nav a{padding:13px 0;border-bottom:1px solid var(--line)}.nav-contact{max-width:none}.hero{margin:35px 6% 0;grid-template-columns:1fr;gap:35px;padding-bottom:35px}.hero .eyebrow{margin-bottom:20px}h1{font-size:clamp(57px,13.2vw,88px)}.intro{font-size:26px;max-width:520px}.hero-description{font-size:16px;max-width:520px}.hero-art img{aspect-ratio:1.2}.hero-art figcaption{font-size:11px}.section{padding:53px 6%}.section-heading{display:block;margin-bottom:32px}.section-heading h2{width:auto;font-size:39px;margin-top:20px}.path-grid{grid-template-columns:1fr;gap:35px}.path h3{font-size:49px;margin-top:16px}.path-deck{min-height:0;font-size:28px}.path-top .eyebrow{font-size:12px}.path>p:not(.path-deck){max-width:550px}.path details{margin-top:10px}.project{grid-template-columns:1fr;gap:30px}.project h2{font-size:62px;margin-top:25px}.project h2 br:nth-child(2){display:none}.project-copy{padding-top:0;max-width:none}.project-copy .lead{font-size:30px}.project-rule{margin-top:28px}.questions{grid-template-columns:1fr;gap:32px}.questions h2{font-size:39px}.contact-grid{grid-template-columns:1fr;gap:28px}.contact h2{font-size:59px}.button{width:100%;max-width:420px;gap:15px;padding:16px 18px}.email{font-size:13px}footer{padding:32px 6%;align-items:flex-start;flex-wrap:wrap}footer p{flex-basis:100%;order:3}.footer-brand{font-size:25px}footer>a:last-child{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Seletor de idiomas — compartilhado pelas três versões */
.topline {
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 24px;
}

.language-switcher {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 16px;
  margin-left: auto;
  font-size: 14px;
  letter-spacing: 0;
}

.language-switcher a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  border-bottom: 2px solid transparent;
}

.language-switcher a[aria-current="page"] {
  border-bottom-color: var(--red);
  font-weight: 700;
}

.language-switcher img {
  width: 24px;
  height: 16px;
  object-fit: cover;
  box-shadow: 0 0 0 1px rgb(24 45 77 / 15%);
}

html[lang="en"] .path h3,
html[lang="fr"] .path h3 {
  font-size: clamp(32px, 3.6vw, 52px);
  overflow-wrap: anywhere;
}

@media (max-width: 1050px) {
  .topline > span:nth-child(2) {
    display: none;
  }
}

@media (max-width: 760px) {
  .topline {
    justify-content: center;
    gap: 5px;
  }

  .topline > span:first-child {
    width: 100%;
    text-align: center;
  }

  .language-switcher {
    justify-content: center;
    margin: 0;
    gap: 16px;
  }

  .language-switcher a span {
    display: inline;
  }

  html[lang="en"] .path h3,
  html[lang="fr"] .path h3 {
    font-size: clamp(36px, 10vw, 49px);
  }
}

/* Navegação com espaço para os rótulos traduzidos em tablets. */
@media (min-width: 761px) and (max-width: 1050px) {
  .header {
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    padding-top: 18px;
    padding-bottom: 18px;
  }

  .header nav {
    flex-basis: 100%;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px 24px;
  }
}

/* Contato rápido — WhatsApp */
.whatsapp-float {
  position: fixed;
  right: max(24px, env(safe-area-inset-right));
  bottom: max(24px, env(safe-area-inset-bottom));
  z-index: 50;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 56px;
  min-height: 56px;
  padding: 14px 20px;
  border-radius: 32px;
  background: #146c43;
  color: #fff;
  box-shadow: 0 4px 18px rgb(0 0 0 / 20%);
  font-size: 14px;
  font-weight: 600;
}

.whatsapp-float:hover {
  background: #0e5232;
  color: #fff;
}

footer {
  padding-bottom: 100px;
}

@media (max-width: 760px) {
  .whatsapp-float {
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
    padding: 14px;
  }

  .whatsapp-float span {
    display: none;
  }
}

/* Título dos percursos alinhado à segunda coluna (Francês). */
.pathways .section-heading {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 36px;
}

.pathways .section-heading h2 {
  grid-column: 2 / 4;
  width: auto;
}

/* O projeto — quatro blocos em duas linhas. */
.project {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 9%;
  row-gap: 64px;
  align-items: start;
}

.project > .origin {
  margin-top: 0;
  padding-top: 28px;
  color: #e0e5ec;
}

.project > .origin h3 {
  font-size: 32px;
  margin-bottom: 24px;
}

.project > .origin p {
  font-size: 16px;
}

.project-art {
  align-self: center;
  width: 100%;
}

.project-art img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

@media (min-width: 761px) and (max-width: 1050px) {
  .pathways .section-heading {
    gap: 24px;
  }

  .project {
    column-gap: 6%;
    row-gap: 48px;
  }
}

@media (max-width: 760px) {
  .pathways .section-heading {
    display: block;
  }

  .project {
    grid-template-columns: minmax(0, 1fr);
    gap: 36px;
  }
}

/* Contato — e-mail e Instagram */
.contact-actions {
  display: grid;
  grid-template-columns: max-content;
  gap: 12px;
  margin-top: 28px;
}

.contact-actions .button {
  margin-top: 0;
}

.button-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.button--outline {
  background: transparent;
  color: var(--ink);
  box-shadow: inset 0 0 0 1px var(--ink);
}

.button--outline:hover {
  background: var(--ink);
  color: #fff;
}

.footer-social {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
}

@media (max-width: 760px) {
  .contact-actions {
    grid-template-columns: minmax(0, 420px);
  }

  .footer-social {
    font-size: 12px;
  }
}
