/* Uma linha de conexão entre pessoas, práticas e histórias. */
:root { --v23-pink:#edc3bf; --v23-olive:#819176; --v23-paper:#fbf6ec; }
body { overflow-x:clip; }
::selection { background:#aebfa5; color:#182417; }
.hero, .opening, .areas, .services, .council, .team, .faq, .final { position:relative; isolation:isolate; }
.hero { overflow:hidden; padding-top:clamp(20px,2.8vw,46px); padding-bottom:clamp(28px,4vw,60px); }
.hero::before { width:clamp(400px,48vw,720px); height:clamp(400px,48vw,720px); left:auto; right:-22%; top:-3%; border:0; background:#91a185; z-index:-1; }
.hero::after { left:45%; top:5%; width:clamp(180px,25vw,380px); height:clamp(180px,25vw,380px); border:1px solid #879b81; background:transparent; z-index:1; }
.hero-title { z-index:2; }
.hero-title h1 { letter-spacing:-.038em; }
.hero-photo { border-radius:32px 32px 32px 0; }
.hero-about { border-left:1px solid #819078; padding-left:24px; margin-top:22px; position:relative; }
.hero-about::before { content:''; position:absolute; left:-7px; top:29px; width:13px; height:13px; border-radius:50%; background:#839278; }
.opening { padding-top:clamp(62px,7vw,105px); padding-bottom:clamp(54px,5vw,80px); background:#f8f3e9; }
.opening::before { content:''; position:absolute; width:clamp(180px,24vw,350px); aspect-ratio:1; right:-8%; top:25%; border-radius:50%; background:#b4c1a8; z-index:-1; }
.opening::after { content:''; position:absolute; width:clamp(240px,29vw,440px); aspect-ratio:1; right:0; top:14%; border:1px solid #819078; border-radius:50%; z-index:-1; }
.opening>figure { border-radius:36px 36px 120px 36px; }
.opening-quote { background:transparent; border-top:1px solid #b4c4ad; padding:26px 0 0; max-width:23ch; font-size:clamp(27px,3.1vw,47px); }
.areas { overflow:hidden; background:#e9eee3; padding-top:clamp(68px,7vw,110px); }
.areas::before { content:''; position:absolute; width:300px; height:300px; border:1px solid #899a82; border-radius:50%; left:-220px; top:6%; z-index:-1; }
.areas-contents { grid-template-columns:minmax(0,1.22fr) minmax(280px,.78fr); gap:clamp(20px,3vw,46px); align-items:stretch; }
.area-list { grid-template-columns:1fr 1fr; gap:2px; }
.area-list details { border-radius:0; background:#d8e3d3; min-height:156px; transition:background .25s ease; }
.area-list details:nth-child(2), .area-list details:nth-child(3) { background:#e1e9dc; }
.area-list details[open] { background:#c7d7bf; }
.area-list summary { min-height:44px; align-items:flex-start; }
.areas-contents figure { position:relative; border-radius:180px 0 0 180px; }
.areas-contents figure img { transition:opacity .3s ease; }
.area-note { margin-top:25px; }
.services { grid-template-columns:minmax(280px,.86fr) minmax(0,1.14fr); gap:clamp(36px,6vw,100px); background:#faf5ec; }
.services>figure { border-radius:0 140px 140px 0; }
.services::after { content:''; position:absolute; right:-190px; bottom:-40px; width:370px; height:370px; border-radius:50%; border:1px solid #8c9b84; pointer-events:none; z-index:-1; }
.service-list article { padding:20px 0; }
.service-list h3 { font-size:clamp(23px,2vw,30px); }
.council { background:#e4ecdf; overflow:hidden; }
.council figure { height:clamp(350px,34vw,510px); border-radius:160px 0 0 160px; }
.council::before { content:''; position:absolute; right:-120px; top:-160px; width:360px; height:360px; border-radius:50%; background:#afbea5; z-index:-1; }
.council-list span { padding:18px; }
.voice { gap:clamp(40px,8vw,120px); padding-top:clamp(70px,7vw,110px); padding-bottom:clamp(70px,7vw,110px); }
.voice h2 { max-width:12ch; }
.questions { margin:25px 0; }
.questions span { font-size:clamp(22px,2vw,29px); }
.process { padding-top:clamp(66px,7vw,100px); padding-bottom:clamp(66px,7vw,100px); }
.process-steps { gap:clamp(8px,1vw,18px); background:none; margin:30px 0; }
.process-steps article { background:transparent; border-top:1px solid #a1b59a; padding:22px 10px 12px 0; position:relative; }
.process-steps article::before { content:''; position:absolute; top:-7px; left:0; width:13px; height:13px; background:#c2d3b8; border-radius:50%; }
.team { overflow:hidden; }
.team::before { content:''; position:absolute; top:-150px; right:5%; width:300px; height:300px; border-radius:50%; background:#d6e1d0; z-index:-1; }
.team-grid { gap:clamp(28px,4vw,64px); }
.team-grid article { grid-template-columns:.75fr 1fr; }
.team-grid img { border-radius:140px 140px 14px 14px; }
.values { background:#e2eadf; }
.instagram { align-items:center; }
.instagram-bio { border-radius:110px 18px 18px 110px; padding:35px 35px 35px 45px; }
.faq { background:#eef1e8; align-items:start; gap:clamp(35px,8vw,130px); }
.faq>div:first-child { position:sticky; top:28px; }
.faq-contact { border-radius:0 55px 0 0; }
.faq-contact a { display:inline-flex; flex-wrap:nowrap; align-items:center; gap:12px; }
.faq-contact a span { display:inline; font:inherit; white-space:nowrap; }
.faq-list { display:grid; gap:14px; }
.faq-group { padding:8px 22px; background:#f8f6ef; }
.faq-group:nth-child(2) { background:#e4ebdf; }
.faq-group:nth-child(3) { background:#dbe7d5; }
.faq-list summary { min-height:54px; align-items:center; line-height:1.2; }
.faq-list details:last-child { border-bottom:0; }
.final { overflow:hidden; gap:clamp(40px,7vw,100px); }
.final::before { content:''; position:absolute; right:-100px; bottom:-220px; width:440px; height:440px; border-radius:50%; background:#394c34; z-index:-1; }
.final::after { content:''; position:absolute; right:-90px; top:-150px; width:450px; height:450px; border:1px solid #afc1a6; border-radius:50%; z-index:-1; }
.final>figure { border-radius:0 180px 180px 0; }
@media(max-width:900px) and (min-width:761px) { .nav nav { gap:12px; } .nav nav a { font-size:12px; } .nav-cta { padding:13px 15px; } .hero-title h1 { font-size:clamp(58px,7vw,80px); } .team-grid article { grid-template-columns:1fr; } .team-grid img { max-height:330px; } }
@media(max-width:760px) {
 .hero { padding-top:28px; padding-bottom:45px; }
 .hero::before { display:block; width:310px; height:310px; right:-150px; top:300px; }
 .hero::after { display:block; width:230px; height:230px; left:auto; right:-115px; top:240px; }
 .hero-photo { height:clamp(300px,94vw,470px); border-radius:26px 26px 80px 26px; z-index:1; }
 .hero-about { margin-top:24px; padding:5px 0 5px 20px; }
 .hero-about::before { top:13px; }
 .opening, .areas, .services, .council, .voice, .process, .team, .values, .instagram, .faq, .final { padding-top:58px; padding-bottom:58px; }
 .opening { gap:24px; }
 .opening::before { width:220px; right:-125px; top:29%; }
 .opening::after { width:240px; right:-110px; top:26%; }
 .opening>figure { height:clamp(270px,78vw,420px); border-radius:25px 25px 90px 25px; }
 .opening-quote { padding-top:22px; }
 .areas header, .team header, .process header { gap:20px; }
 .areas-contents { grid-template-columns:1fr; }
 .area-list { grid-template-columns:1fr 1fr; }
 .area-list details { min-height:0; padding:17px; }
 .area-list summary { font-size:21px; }
 .areas-contents figure { height:clamp(250px,76vw,370px); border-radius:110px 0 0 110px; }
 .services { grid-template-columns:1fr; }
 .services>figure { height:clamp(250px,75vw,370px); border-radius:0 110px 110px 0; }
 .council figure { height:clamp(260px,75vw,380px); border-radius:110px 0 0 110px; }
 .voice h2 { max-width:unset; }
 #remotion-percurso { display:none; }
 .process-steps { display:grid; grid-template-columns:1fr; gap:0; margin:20px 0 28px 6px; }
 .process-steps article { border-top:0; border-left:1px solid #9daf96; padding:2px 0 26px 27px; }
 .process-steps article:last-child { padding-bottom:5px; }
 .process-steps article::before { top:7px; left:-7px; width:13px; height:13px; animation:occ-orbit-pulse 4s ease-in-out infinite; }
 .process-steps article:nth-child(2)::before { animation-delay:.6s; }
 .process-steps article:nth-child(3)::before { animation-delay:1.2s; }
 .process-steps article:nth-child(4)::before { animation-delay:1.8s; }
 .process-steps h3 { font-size:24px; }
 .process-steps p { max-width:42ch; font-size:16px; }
 .team-grid article { grid-template-columns:minmax(115px,.75fr) 1fr; }
 .team-grid img { height:auto; }
 .instagram-bio { border-radius:70px 12px 12px 70px; padding:24px 24px 24px 30px; }
 .faq>div:first-child { position:static; }
 .faq-contact { margin-bottom:0; }
 .final>figure { height:270px; }
}
@media(max-width:400px) { .area-list { grid-template-columns:1fr; } .team-grid article { grid-template-columns:1fr; } .team-grid img { height:300px; } }
@keyframes occ-orbit-pulse { 0%,100% { transform:scale(.85); background:#a3b79b; } 50% { transform:scale(1.3); background:#edc3bf; } }
@media(prefers-reduced-motion:reduce) { .process-steps article::before { animation:none; } }
/* Keep ornamental curves outside the text and the viewport. */
html { overflow-x:clip; }
.opening, .services, .council, .final { overflow:clip; }
.hero::after { top:-190px; left:46%; }
.areas::before { left:-290px; }
@media(max-width:760px) { .hero::after { left:auto; right:-200px; top:240px; } }

.values-grid .values-question { margin:0 0 18px; font-size:clamp(18px,1.7vw,23px); line-height:1.35; }
